validate¶
Introduction¶
Takes the directory of a model and checks that it is a valid model. Any errors in the model are printed to the screen along with a description of why the model is invalid.
Requires that dotnet is installed.
Command Line Arguments¶
Required inputs for the publish-cs command (must be specified in order).
[CogsLocation]
The location of the folder containing the model.
Command Line Flags¶
Optional inputs for the publish-sphinx command.
-?|-h|--help
Displays all possible command arguments and flags for the validate command.
Command Line Usage¶
Format
$ validate (-h) [CogsLocation]
Examples
A few examples of how the command line arguments and flags can be used together.
$ validate -h $ validate MyCogsModelDirectory
Validation Tests¶
- CheckSettingsSlugToEnsureNoSpaces
- Checks if the slug in settings, if provided, is an invalid url containing whitespace.
- CheckDataTypesMustBeDefined
- Checks if any referenced data types are not defined in the model.
- CheckDataTypeNamesShouldMatchCase
- Checks if data types differ only by case.
- CheckDataTypeNamesShouldNotConflictWithBuiltins
- Checks if the model defines data types of the same name as built-in primitive types.
- CheckDataTypeNamesShouldBePascalCase
- Checks if any item types in the model do not start with a capital letter.
- CheckDuplicatePropertiesInSameItem
- Checks if an item has more than one property of the same name.
- CheckReusedPropertyNamesShouldHaveSameDatatype
- Checks if two properties of the same name have different data types in the model.
- CheckPropertyNamesShouldBePascalCase
- Checks if any property names in the model do not start with a capital letter.
- CheckAbstractDataTypePropertiesMustAllowSubtypes
- Checks if any referenced data types are abstract, and do not allow subtypes to be used.
- CheckOrderedCollectionsMustHaveCardinalityGreaterThanOne
- Checks if any properties are ordered that they allow for more than one relationship.