diff --git a/eiffel-vocabulary/EiffelTestExecutionRecipeCollectionCreatedEvent.md b/eiffel-vocabulary/EiffelTestExecutionRecipeCollectionCreatedEvent.md index ed8cd28e..db73c46a 100644 --- a/eiffel-vocabulary/EiffelTestExecutionRecipeCollectionCreatedEvent.md +++ b/eiffel-vocabulary/EiffelTestExecutionRecipeCollectionCreatedEvent.md @@ -90,12 +90,17 @@ __Description:__ The name of the test case tracker - typically a test management ###### data.batches.recipes.testCase.id __Type:__ String __Required:__ Yes -__Description:__ The unique identity of the test case. +__Description:__ The unique identity of the test case to be executed. + +###### data.batches.recipes.testCase.version +__Type:__ String +__Required:__ No +__Description:__ The unique version of the identified test case to be executed. Where this property is not used it is assumed that test cases are not version controlled. ###### data.batches.recipes.testCase.uri __Type:__ String __Required:__ No -__Description:__ A location where a description of the test case can be retrieved. +__Description:__ A location where a description of the test case can be retrieved. To the extent that multiple versions of the same test case co-exist, this property SHALL identify the exact version to be executed. ##### data.batches.recipes.constraints __Type:__ Object[] @@ -279,6 +284,7 @@ __Description:__ The number of the event within the named sequence. ## Version History | Version | Introduced in | Changes | | --------- | ------------------------------------------------------ | --------------------------------------- | +| 4.2.0 | No edition set | Add missing testCase.version member (see [Issue 288](https://github.com/eiffel-community/eiffel/issues/288)). | | 4.1.1 | [edition-lyon](../../../tree/edition-lyon) | Add missing validation pattern to links.target member (see [Issue 271](https://github.com/eiffel-community/eiffel/issues/271)). | | 4.1.0 | No edition set | Add links.domainId member (see [Issue 233](https://github.com/eiffel-community/eiffel/issues/233)). | | 4.0.0 | [edition-agen](../../../tree/edition-agen) | Improved information integrity protection | (see [Issue 185](https://github.com/eiffel-community/eiffel/issues/185)) | diff --git a/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.2.0.json b/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.2.0.json new file mode 100644 index 00000000..1a7e73fc --- /dev/null +++ b/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.2.0.json @@ -0,0 +1,284 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "meta": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" + }, + "type": { + "type": "string", + "enum": [ "EiffelTestExecutionRecipeCollectionCreatedEvent" ] + }, + "version": { + "type": "string", + "enum": [ "4.2.0" ], + "default": "4.2.0" + }, + "time": { + "type": "integer" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "source": { + "type": "object", + "properties": { + "domainId": { + "type": "string" + }, + "host": { + "type": "string" + }, + "name": { + "type": "string" + }, + "serializer": { + "type": "string", + "pattern": "^pkg:" + }, + "uri": { + "type": "string" + } + }, + "additionalProperties": false + }, + "security": { + "type": "object", + "properties": { + "authorIdentity": { + "type": "string" + }, + "integrityProtection": { + "type": "object", + "properties": { + "signature": { + "type": "string" + }, + "alg": { + "type": "string", + "enum": ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES384", "ES512", "PS256", "PS384", "PS512"] + }, + "publicKey": { + "type": "string" + } + }, + "required": [ + "signature", + "alg" + ], + "additionalProperties": false + }, + "sequenceProtection": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sequenceName": { + "type": "string" + }, + "position": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "sequenceName", + "position" + ] + } + } + }, + "additionalProperties": false, + "required": [ + "authorIdentity" + ] + } + }, + "required": [ + "id", + "type", + "version", + "time" + ], + "additionalProperties": false + }, + "data": { + "type": "object", + "properties": { + "selectionStrategy": { + "type": "object", + "properties": { + "tracker": { + "type": "string" + }, + "id": { + "type": "string" + }, + "uri": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "batchesUri": { + "type": "string" + }, + "batches": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "priority": { + "type": "integer" + }, + "recipes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" + }, + "testCase": { + "type": "object", + "properties": { + "tracker": { + "type": "string" + }, + "id": { + "type": "string" + }, + "version": { + "type": "string" + }, + "uri": { + "type": "string" + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + "constraints": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + } + }, + "required": [ + "key", + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "testCase" + ], + "additionalProperties": false + } + }, + "dependencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "dependent": { + "type": "string" + }, + "dependency": { + "type": "string" + } + }, + "required": [ + "dependent", + "dependency" + ], + "additionalProperties": false + } + } + }, + "required": [ + "priority", + "recipes" + ], + "additionalProperties": false + } + }, + "customData": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + } + }, + "required": [ + "key", + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "selectionStrategy" + ], + "additionalProperties": false + }, + "links": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "target": { + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" + }, + "domainId": { + "type": "string" + } + }, + "required": [ + "type", + "target" + ], + "additionalProperties": false + } + } + }, + "required": [ + "meta", + "data", + "links" + ], + "additionalProperties": false +}