From b4f8c877e78d4335322ed8f7c5557a3850ef163d Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 15:50:57 +0900 Subject: [PATCH 01/38] rename vocab terms to include context; test, with alg --- .../td-vocab-alg--BearerSecurityScheme.json | 69 +++++++++++ .../td-vocab-alg--PoPSecurityScheme.json | 69 +++++++++++ AssertionTester/Assertions/td-vocab-alg.json | 108 ------------------ 3 files changed, 138 insertions(+), 108 deletions(-) create mode 100644 AssertionTester/Assertions/td-vocab-alg--BearerSecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-alg--PoPSecurityScheme.json delete mode 100644 AssertionTester/Assertions/td-vocab-alg.json diff --git a/AssertionTester/Assertions/td-vocab-alg--BearerSecurityScheme.json b/AssertionTester/Assertions/td-vocab-alg--BearerSecurityScheme.json new file mode 100644 index 000000000..9947a48aa --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-alg--BearerSecurityScheme.json @@ -0,0 +1,69 @@ +{ + "title": "td-vocab-alg", + "description": "alg: Encoding, encryption, or digest algorithm (one of MD5, ES256, or ES512-256). MUST be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "bearer" + ] + }, + "authorization": { + "$ref": "#/definitions/url" + }, + "alg": { + "type": "string", + "enum": ["MD5", "ES256", "ES512-256"] + }, + "format": { + "type": "string", + "enum": ["jwt", "jwe", "jws"] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme","alg" + ] + }, + "then": { + "const": "td-vocab-alg--BearerSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-alg--PoPSecurityScheme.json b/AssertionTester/Assertions/td-vocab-alg--PoPSecurityScheme.json new file mode 100644 index 000000000..96346028d --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-alg--PoPSecurityScheme.json @@ -0,0 +1,69 @@ +{ + "title": "td-vocab-alg", + "description": "alg: Encoding, encryption, or digest algorithm (one of MD5, ES256, or ES512-256). MUST be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "pop" + ] + }, + "authorization": { + "$ref": "#/definitions/url" + }, + "alg": { + "type": "string", + "enum": ["MD5", "ES256", "ES512-256"] + }, + "format": { + "type": "string", + "enum": ["jwt", "jwe", "jws"] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme","alg" + ] + }, + "then": { + "const": "td-vocab-alg--PoPSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-alg.json b/AssertionTester/Assertions/td-vocab-alg.json deleted file mode 100644 index 81a02f003..000000000 --- a/AssertionTester/Assertions/td-vocab-alg.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "title": "td-vocab-alg", - "description": "alg: Encoding, encryption, or digest algorithm (one of MD5, ES256, or ES512-256). MUST be included. Type: string.", - "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": true, - "type": "object", - "properties": { - "securityDefinitions": { - "type": "object", - "minProperties": 1, - "additionalProperties": { - "$ref": "#/definitions/securityScheme" - } - } - }, - "required": [ - "securityDefinitions" - ], - "additionalProperties": true, - "definitions": { - "securityScheme": { - "if": { - "oneOf": [{ - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "bearer" - ] - }, - "authorization": { - "$ref": "#/definitions/url" - }, - "alg": { - "type": "string", - "enum": ["MD5", "ES256", "ES512-256"] - }, - "format": { - "type": "string", - "enum": ["jwt", "jwe", "jws"] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - }, - "name": { - "type": "string" - } - }, - "required": [ - "scheme","alg" - ] - }, { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "pop" - ] - }, - "authorization": { - "$ref": "#/definitions/url" - }, - "format": { - "type": "string", - "enum": ["jwt", "jwe", "jws"] - }, - "alg": { - "type": "string", - "enum": ["MD5", "ES256", "ES512-256"] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - }, - "name": { - "type": "string" - } - }, - "required": [ - "scheme","alg" - ] - }] - }, - "then": { - "const": "td-vocab-alg=pass" - } - }, - "url": { - "type": "string", - "format": "uri-reference" - } - } -} \ No newline at end of file From eff5a37206fc191487dfaa56e00062a0ebd90925 Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 16:01:42 +0900 Subject: [PATCH 02/38] fix titles in test assertions --- .../Assertions/td-vocab-alg--BearerSecurityScheme.json | 2 +- AssertionTester/Assertions/td-vocab-alg--PoPSecurityScheme.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/AssertionTester/Assertions/td-vocab-alg--BearerSecurityScheme.json b/AssertionTester/Assertions/td-vocab-alg--BearerSecurityScheme.json index 9947a48aa..92b11fb02 100644 --- a/AssertionTester/Assertions/td-vocab-alg--BearerSecurityScheme.json +++ b/AssertionTester/Assertions/td-vocab-alg--BearerSecurityScheme.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-alg", + "title": "td-vocab-alg--BearerSecurityScheme", "description": "alg: Encoding, encryption, or digest algorithm (one of MD5, ES256, or ES512-256). MUST be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, diff --git a/AssertionTester/Assertions/td-vocab-alg--PoPSecurityScheme.json b/AssertionTester/Assertions/td-vocab-alg--PoPSecurityScheme.json index 96346028d..71d3fae28 100644 --- a/AssertionTester/Assertions/td-vocab-alg--PoPSecurityScheme.json +++ b/AssertionTester/Assertions/td-vocab-alg--PoPSecurityScheme.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-alg", + "title": "td-vocab-alg--PoPSecurityScheme", "description": "alg: Encoding, encryption, or digest algorithm (one of MD5, ES256, or ES512-256). MUST be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, From 77cbad3e5aaa728f1639f7b9de4bfca97807830f Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 16:18:32 +0900 Subject: [PATCH 03/38] a few more updates... still testing --- ...anchor.json => td-vocab-anchor--Link.json} | 6 +- ...b-authorization--BearerSecurityScheme.json | 69 ++++++++ ...b-authorization--OAuth2SecurityScheme.json | 69 ++++++++ ...ocab-authorization--PoPSecurityScheme.json | 69 ++++++++ .../Assertions/td-vocab-authorization.json | 147 ------------------ ...ab-base.json => td-vocab-base--Thing.json} | 4 +- 6 files changed, 212 insertions(+), 152 deletions(-) rename AssertionTester/Assertions/{td-vocab-anchor.json => td-vocab-anchor--Link.json} (92%) create mode 100644 AssertionTester/Assertions/td-vocab-authorization--BearerSecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-authorization--OAuth2SecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-authorization--PoPSecurityScheme.json delete mode 100644 AssertionTester/Assertions/td-vocab-authorization.json rename AssertionTester/Assertions/{td-vocab-base.json => td-vocab-base--Thing.json} (91%) diff --git a/AssertionTester/Assertions/td-vocab-anchor.json b/AssertionTester/Assertions/td-vocab-anchor--Link.json similarity index 92% rename from AssertionTester/Assertions/td-vocab-anchor.json rename to AssertionTester/Assertions/td-vocab-anchor--Link.json index f08daa806..44e6edb31 100644 --- a/AssertionTester/Assertions/td-vocab-anchor.json +++ b/AssertionTester/Assertions/td-vocab-anchor--Link.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-anchor", + "title": "td-vocab-anchor--Link", "description": "anchor: By default, the context of a link is the URL of the representation it is associated with, and is serialised as a URI. When present, the anchor parameter overrides this with another URI, such as a fragment of this resource, or a third resource (i.e., when the anchor value is an absolute URI).", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -27,7 +27,7 @@ ] }, "then": { - "const": "td-vocab-anchor=pass" + "const": "td-vocab-anchor--Link=pass" } }, "url": { @@ -35,4 +35,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-authorization--BearerSecurityScheme.json b/AssertionTester/Assertions/td-vocab-authorization--BearerSecurityScheme.json new file mode 100644 index 000000000..cddae0aa0 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-authorization--BearerSecurityScheme.json @@ -0,0 +1,69 @@ +{ + "title": "td-vocab-authorization--BearerSecurityScheme", + "description": "authorization: URI of the authorization server. MAY be included. Type: anyURI.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "bearer" + ] + }, + "authorization": { + "$ref": "#/definitions/url" + }, + "alg": { + "type": "string", + "enum": ["MD5", "ES256", "ES512-256"] + }, + "format": { + "type": "string", + "enum": ["jwt", "jwe", "jws"] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme", "authorization" + ] + }, + "then": { + "const": "td-vocab-authorization--BearerSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-authorization--OAuth2SecurityScheme.json b/AssertionTester/Assertions/td-vocab-authorization--OAuth2SecurityScheme.json new file mode 100644 index 000000000..55e5cc219 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-authorization--OAuth2SecurityScheme.json @@ -0,0 +1,69 @@ +{ + "title": "td-vocab-authorization--PoPSecurityScheme", + "description": "authorization: URI of the authorization server. MAY be included. Type: anyURI.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "pop" + ] + }, + "authorization": { + "$ref": "#/definitions/url" + }, + "alg": { + "type": "string", + "enum": ["MD5", "ES256", "ES512-256"] + }, + "format": { + "type": "string", + "enum": ["jwt", "jwe", "jws"] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme", "authorization" + ] + }, + "then": { + "const": "td-vocab-authorization--PoPSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-authorization--PoPSecurityScheme.json b/AssertionTester/Assertions/td-vocab-authorization--PoPSecurityScheme.json new file mode 100644 index 000000000..3e457efb0 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-authorization--PoPSecurityScheme.json @@ -0,0 +1,69 @@ +{ + "title": "td-vocab-authorization--OAuth2SecurityScheme", + "description": "authorization: URI of the authorization server. MAY be included. Type: anyURI.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "oauth2" + ] + }, + "authorization": { + "$ref": "#/definitions/url" + }, + "alg": { + "type": "string", + "enum": ["MD5", "ES256", "ES512-256"] + }, + "format": { + "type": "string", + "enum": ["jwt", "jwe", "jws"] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme", "authorization" + ] + }, + "then": { + "const": "td-vocab-authorization--OAuth2SecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-authorization.json b/AssertionTester/Assertions/td-vocab-authorization.json deleted file mode 100644 index 44049d0f5..000000000 --- a/AssertionTester/Assertions/td-vocab-authorization.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "title": "td-vocab-authorization", - "description": "authorization: URI of the authorization server. MAY be included. Type: anyURI.", - "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": true, - "type": "object", - "properties": { - "securityDefinitions": { - "type": "object", - "minProperties": 1, - "additionalProperties": { - "$ref": "#/definitions/securityScheme" - } - } - }, - "required": [ - "securityDefinitions" - ], - "additionalProperties": true, - "definitions": { - "securityScheme": { - "if": { - "oneOf": [{ - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "bearer" - ] - }, - "authorization": { - "$ref": "#/definitions/url" - }, - "alg": { - "type": "string", - "enum": ["MD5", "ES256", "ES512-256"] - }, - "format": { - "type": "string", - "enum": ["jwt", "jwe", "jws"] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - }, - "name": { - "type": "string" - } - }, - "required": [ - "scheme", "authorization" - ] - }, - { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "oauth2" - ] - }, - "authorization": { - "$ref": "#/definitions/url" - }, - "token": { - "$ref": "#/definitions/url" - }, - "refresh": { - "$ref": "#/definitions/url" - }, - "scopes": { - "type": "array", - "items": { - "type": "string" - } - }, - "flow": { - "type": "string", - "enum": ["implicit", "password", "client", "code"] - } - }, - "required": [ - "scheme", "authorization" - ] - }, { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "pop" - ] - }, - "authorization": { - "$ref": "#/definitions/url" - }, - "format": { - "type": "string", - "enum": ["jwt", "jwe", "jws"] - }, - "alg": { - "type": "string", - "enum": ["MD5", "ES256", "ES512-256"] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - }, - "name": { - "type": "string" - } - }, - "required": [ - "scheme", "authorization" - ] - }] - }, - "then": { - "const": "td-vocab-authorization=pass" - } - }, - "url": { - "type": "string", - "format": "uri-reference" - } - } -} \ No newline at end of file diff --git a/AssertionTester/Assertions/td-vocab-base.json b/AssertionTester/Assertions/td-vocab-base--Thing.json similarity index 91% rename from AssertionTester/Assertions/td-vocab-base.json rename to AssertionTester/Assertions/td-vocab-base--Thing.json index 495a6dfd5..98e1ee667 100644 --- a/AssertionTester/Assertions/td-vocab-base.json +++ b/AssertionTester/Assertions/td-vocab-base--Thing.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-base", + "title": "td-vocab-base--Thing", "description": "base: Define the base URI that is valid for all defined local interaction resources. All other URIs in the TD must then be resolved using the algorithm defined in [[!RFC3986]].", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": false, @@ -10,4 +10,4 @@ } }, "required": ["base"] -} \ No newline at end of file +} From 7234613d2d7623bc010ebef4ed51f0a1ef6429ff Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 16:30:59 +0900 Subject: [PATCH 04/38] cancellation, const, contentType --- ...n.json => td-vocab-cancellation--EventAffordance.json} | 4 ++-- ...d-vocab-const.json => td-vocab-const--DataSchema.json} | 8 ++++---- ...-2.json => td-vocab-contentType-ExpectedResponse.json} | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) rename AssertionTester/Assertions/{td-vocab-cancellation.json => td-vocab-cancellation--EventAffordance.json} (98%) rename AssertionTester/Assertions/{td-vocab-const.json => td-vocab-const--DataSchema.json} (97%) rename AssertionTester/Assertions/{td-vocab-contentType-2.json => td-vocab-contentType-ExpectedResponse.json} (97%) diff --git a/AssertionTester/Assertions/td-vocab-cancellation.json b/AssertionTester/Assertions/td-vocab-cancellation--EventAffordance.json similarity index 98% rename from AssertionTester/Assertions/td-vocab-cancellation.json rename to AssertionTester/Assertions/td-vocab-cancellation--EventAffordance.json index 32116fce8..e67aeea27 100644 --- a/AssertionTester/Assertions/td-vocab-cancellation.json +++ b/AssertionTester/Assertions/td-vocab-cancellation--EventAffordance.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-cancellation", + "title": "td-vocab-cancellation--EventAffordance", "description": "cancellation: Defines any data that needs to be passed to cancel a subscription, e.g., a specific message to remove a Webhook.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex":true, @@ -125,4 +125,4 @@ "type": "object" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-const.json b/AssertionTester/Assertions/td-vocab-const--DataSchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-const.json rename to AssertionTester/Assertions/td-vocab-const--DataSchema.json index 3b50a3417..2c1f81958 100644 --- a/AssertionTester/Assertions/td-vocab-const.json +++ b/AssertionTester/Assertions/td-vocab-const--DataSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-const", + "title": "td-vocab-const--DataSchema", "description": "const: Provides a constant value. MAY be included. Type: any type.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -36,7 +36,7 @@ } }, "then": { - "const": "td-vocab-const=pass" + "const": "td-vocab-const--DataSchema=pass" }, "else": { "properties": { @@ -91,7 +91,7 @@ } }, "then": { - "const": "td-vocab-const=pass" + "const": "td-vocab-const--DataSchema=pass" }, "else": { "properties": { @@ -192,4 +192,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-contentType-2.json b/AssertionTester/Assertions/td-vocab-contentType-ExpectedResponse.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-contentType-2.json rename to AssertionTester/Assertions/td-vocab-contentType-ExpectedResponse.json index e85d2aafe..c086105fa 100644 --- a/AssertionTester/Assertions/td-vocab-contentType-2.json +++ b/AssertionTester/Assertions/td-vocab-contentType-ExpectedResponse.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-contentType-2", + "title": "td-vocab-contentType--ExpectedResponse", "description": "contentType: Assign a content type based on a media type [[!MEDIATYPES]] (e.g., 'application/json) and (optional) parameters (e.g., 'charset=utf-8'). ", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -94,7 +94,7 @@ } }, "then": { - "const": "td-vocab-contentType-2=pass" + "const": "td-vocab-contentType-ExpectedResponse=pass" }, "else": { "properties": { @@ -142,4 +142,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} From db166708924c3e6577d9e59ef8e0baaf8496fb73 Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 16:32:46 +0900 Subject: [PATCH 05/38] contentType schema really only for forms, not ExpectedResponse --- ...e-ExpectedResponse.json => td-vocab-contentType-Form.json} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename AssertionTester/Assertions/{td-vocab-contentType-ExpectedResponse.json => td-vocab-contentType-Form.json} (97%) diff --git a/AssertionTester/Assertions/td-vocab-contentType-ExpectedResponse.json b/AssertionTester/Assertions/td-vocab-contentType-Form.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-contentType-ExpectedResponse.json rename to AssertionTester/Assertions/td-vocab-contentType-Form.json index c086105fa..23d43647f 100644 --- a/AssertionTester/Assertions/td-vocab-contentType-ExpectedResponse.json +++ b/AssertionTester/Assertions/td-vocab-contentType-Form.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-contentType--ExpectedResponse", + "title": "td-vocab-contentType--Form", "description": "contentType: Assign a content type based on a media type [[!MEDIATYPES]] (e.g., 'application/json) and (optional) parameters (e.g., 'charset=utf-8'). ", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -94,7 +94,7 @@ } }, "then": { - "const": "td-vocab-contentType-ExpectedResponse=pass" + "const": "td-vocab-contentType--Form=pass" }, "else": { "properties": { From 7a7900400d076f5a787ec11849adaa6ce5ff8fec Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 17:00:50 +0900 Subject: [PATCH 06/38] break up td-vocab-description definitions by context --- ...ated.json => td-vocab-created--Thing.json} | 4 +- ...on => td-vocab-data--EventAffordance.json} | 4 +- ... => td-vocab-description--DataSchema.json} | 139 ++++++------------ ...ab-description--InteractionAffordance.json | 130 ++++++++++++++++ .../td-vocab-description--Thing.json | 18 +++ 5 files changed, 195 insertions(+), 100 deletions(-) rename AssertionTester/Assertions/{td-vocab-created.json => td-vocab-created--Thing.json} (88%) rename AssertionTester/Assertions/{td-vocab-data.json => td-vocab-data--EventAffordance.json} (98%) rename AssertionTester/Assertions/{td-vocab-description.json => td-vocab-description--DataSchema.json} (59%) create mode 100644 AssertionTester/Assertions/td-vocab-description--InteractionAffordance.json create mode 100644 AssertionTester/Assertions/td-vocab-description--Thing.json diff --git a/AssertionTester/Assertions/td-vocab-created.json b/AssertionTester/Assertions/td-vocab-created--Thing.json similarity index 88% rename from AssertionTester/Assertions/td-vocab-created.json rename to AssertionTester/Assertions/td-vocab-created--Thing.json index 4bd7abf10..c05d79c0a 100644 --- a/AssertionTester/Assertions/td-vocab-created.json +++ b/AssertionTester/Assertions/td-vocab-created--Thing.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-created", + "title": "td-vocab-created--Thing", "description": "created: Provides information when the TD instance was created.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": false, @@ -10,4 +10,4 @@ } }, "required": ["created"] -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-data.json b/AssertionTester/Assertions/td-vocab-data--EventAffordance.json similarity index 98% rename from AssertionTester/Assertions/td-vocab-data.json rename to AssertionTester/Assertions/td-vocab-data--EventAffordance.json index c5e22f894..091274819 100644 --- a/AssertionTester/Assertions/td-vocab-data.json +++ b/AssertionTester/Assertions/td-vocab-data--EventAffordance.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-data", + "title": "td-vocab-data--EventAffordance", "description": "data: Defines the data schema of the Event instance messages pushed by the Thing.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex":true, @@ -125,4 +125,4 @@ "type": "object" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-description.json b/AssertionTester/Assertions/td-vocab-description--DataSchema.json similarity index 59% rename from AssertionTester/Assertions/td-vocab-description.json rename to AssertionTester/Assertions/td-vocab-description--DataSchema.json index 53f3f4ef2..a3ef19e75 100644 --- a/AssertionTester/Assertions/td-vocab-description.json +++ b/AssertionTester/Assertions/td-vocab-description--DataSchema.json @@ -1,125 +1,72 @@ { - "title": "td-vocab-description", + "title": "td-vocab-description--DataSchema", "description": "description: Provides additional (human-readable) information based on a default language. MAY be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, "type": "object", - "if": { - "required": ["description"], + "properties": { "properties": { - "description": { - "$ref": "#/definitions/description" + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/property_element" } - } - }, - "then": { - "const": "td-vocab-description=pass" - }, - "else": { - "properties": { - "properties": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/property_element" - } - }, - "actions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/action_element" - } - }, - "events": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/event_element" - } + }, + "actions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/action_element" } }, - "additionalProperties": true + "events": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/event_element" + } + } }, + "additionalProperties": true, "definitions": { "property_element": { "type": "object", - "if": { - "required": ["description"], + "properties": { "properties": { - "description": { - "$ref": "#/definitions/description" + "additionalProperties": { + "$ref": "#/definitions/dataSchema" } - } - }, - "then": { - "const": "td-vocab-description=pass" - }, - "else": { - "properties": { - "properties": { - "additionalProperties": { - "$ref": "#/definitions/dataSchema" - } - }, - "oneOf": { - "type": "array", - "items": { - "$ref": "#/definitions/dataSchema" - } - }, + }, + "oneOf": { + "type": "array", "items": { "$ref": "#/definitions/dataSchema" } + }, + "items": { + "$ref": "#/definitions/dataSchema" } } }, "action_element": { "type": "object", - "if": { - "required": ["description"], - "properties": { - "description": { - "$ref": "#/definitions/description" - } - } - }, - "then": { - "const": "td-vocab-description=pass" - }, - "else": { - - "properties": { - "input": { - "$ref": "#/definitions/dataSchema" - }, - "output": { - "$ref": "#/definitions/dataSchema" - } + "properties": { + "input": { + "$ref": "#/definitions/dataSchema" + }, + "output": { + "$ref": "#/definitions/dataSchema" } } }, "event_element": { "type": "object", - "if": { - "required": ["description"], - "properties": { - "description": { - "$ref": "#/definitions/description" - } - } - }, - "then": { - "const": "td-vocab-description=pass" - }, - "else": { - "properties": { - "subscription": { - "$ref": "#/definitions/dataSchema" - }, - "data": { - "$ref": "#/definitions/dataSchema" - }, - "cancellation": { - "$ref": "#/definitions/dataSchema" - } + "properties": { + "subscription": { + "$ref": "#/definitions/dataSchema" + }, + "data": { + "$ref": "#/definitions/dataSchema" + }, + "cancellation": { + "$ref": "#/definitions/dataSchema" } } }, @@ -134,7 +81,7 @@ } }, "then": { - "const": "td-vocab-description=pass" + "const": "td-vocab-description--DataSchema=pass" }, "else": { "properties": { @@ -233,4 +180,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-description--InteractionAffordance.json b/AssertionTester/Assertions/td-vocab-description--InteractionAffordance.json new file mode 100644 index 000000000..418f08db3 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-description--InteractionAffordance.json @@ -0,0 +1,130 @@ +{ + "title": "td-vocab-description--InteractionAffordance", + "description": "description: Provides additional (human-readable) information based on a default language. MAY be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "properties": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/property_element" + } + }, + "actions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/action_element" + } + }, + "events": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/event_element" + } + } + }, + "additionalProperties": true, + "definitions": { + "property_element": { + "type": "object", + "if": { + "required": ["description"], + "properties": { + "description": { + "$ref": "#/definitions/description" + } + } + }, + "then": { + "const": "td-vocab-description--InteractionAffordance=pass" + }, + "else": { + "properties": { + "properties": { + "additionalProperties": { + "$ref": "#/definitions/dataSchema" + } + }, + "oneOf": { + "type": "array", + "items": { + "$ref": "#/definitions/dataSchema" + } + }, + "items": { + "$ref": "#/definitions/dataSchema" + } + } + } + }, + "action_element": { + "type": "object", + "if": { + "required": ["description"], + "properties": { + "description": { + "$ref": "#/definitions/description" + } + } + }, + "then": { + "const": "td-vocab-description--InteractionAffordance=pass" + }, + "else": { + + "properties": { + "input": { + "$ref": "#/definitions/dataSchema" + }, + "output": { + "$ref": "#/definitions/dataSchema" + } + } + } + }, + "event_element": { + "type": "object", + "if": { + "required": ["description"], + "properties": { + "description": { + "$ref": "#/definitions/description" + } + } + }, + "then": { + "const": "td-vocab-description--InteractionAffordance=pass" + }, + "else": { + "properties": { + "subscription": { + "$ref": "#/definitions/dataSchema" + }, + "data": { + "$ref": "#/definitions/dataSchema" + }, + "cancellation": { + "$ref": "#/definitions/dataSchema" + } + } + } + }, + "description": { + "type": "string" + }, + "title": { + "type": "string" + }, + "descriptions": { + "type": "object" + }, + "titles": { + "type": "object" + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-description--Thing.json b/AssertionTester/Assertions/td-vocab-description--Thing.json new file mode 100644 index 000000000..665d95611 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-description--Thing.json @@ -0,0 +1,18 @@ +{ + "title": "td-vocab-description--Thing", + "description": "description: Provides additional (human-readable) information based on a default language. MAY be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "description": { + "$ref": "#/definitions/description" + } + }, + "required": ["description"], + "definitions": { + "description": { + "type": "string" + } + } +} From 8dcb0b7df313cab1a07e57b3d22bb8a5ba643630 Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 17:47:42 +0900 Subject: [PATCH 07/38] fix bugs in td-vocab-description schemas --- ...ab-description--InteractionAffordance.json | 84 ++++++++++++++++++- .../td-vocab-description--Thing.json | 4 +- 2 files changed, 83 insertions(+), 5 deletions(-) diff --git a/AssertionTester/Assertions/td-vocab-description--InteractionAffordance.json b/AssertionTester/Assertions/td-vocab-description--InteractionAffordance.json index 418f08db3..eb919ef11 100644 --- a/AssertionTester/Assertions/td-vocab-description--InteractionAffordance.json +++ b/AssertionTester/Assertions/td-vocab-description--InteractionAffordance.json @@ -31,7 +31,7 @@ "if": { "required": ["description"], "properties": { - "description": { + "title": { "$ref": "#/definitions/description" } } @@ -63,7 +63,7 @@ "if": { "required": ["description"], "properties": { - "description": { + "title": { "$ref": "#/definitions/description" } } @@ -88,7 +88,7 @@ "if": { "required": ["description"], "properties": { - "description": { + "title": { "$ref": "#/definitions/description" } } @@ -110,6 +110,84 @@ } } }, + "dataSchema": { + "type": "object", + "properties": { + "description": { + "$ref": "#/definitions/description" + }, + "title": { + "$ref": "#/definitions/title" + }, + "descriptions": { + "$ref": "#/definitions/descriptions" + }, + "titles": { + "$ref": "#/definitions/titles" + }, + "writeOnly": { + "type": "boolean" + }, + "readOnly": { + "type": "boolean" + }, + "oneOf": { + "type": "array", + "items": { + "$ref": "#/definitions/dataSchema" + } + }, + "unit": { + "type": "string" + }, + "enum": { + "type": "array", + "minItems": 1, + "uniqueItems": true + }, + "const": {}, + "type": { + "type": "string", + "enum": [ + "boolean", + "integer", + "number", + "string", + "object", + "array", + "null" + ] + }, + "items": { + "$ref": "#/definitions/dataSchema" + }, + "maxItems": { + "type": "integer", + "minimum": 0 + }, + "minItems": { + "type": "integer", + "minimum": 0 + }, + "minimum": { + "type": "number" + }, + "maximum": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "$ref": "#/definitions/dataSchema" + } + }, + "required": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, "description": { "type": "string" }, diff --git a/AssertionTester/Assertions/td-vocab-description--Thing.json b/AssertionTester/Assertions/td-vocab-description--Thing.json index 665d95611..535fd9e63 100644 --- a/AssertionTester/Assertions/td-vocab-description--Thing.json +++ b/AssertionTester/Assertions/td-vocab-description--Thing.json @@ -2,11 +2,11 @@ "title": "td-vocab-description--Thing", "description": "description: Provides additional (human-readable) information based on a default language. MAY be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": true, + "is-complex": false, "type": "object", "properties": { "description": { - "$ref": "#/definitions/description" + "$ref": "#/definitions/description" } }, "required": ["description"], From e72c4fccdd20fe65bbb5d80944201350cb6f148f Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 19:38:25 +0900 Subject: [PATCH 08/38] updated schemas for descriptions --- ...=> td-vocab-descriptions--DataSchema.json} | 139 ++++-------- ...b-descriptions--InteractionAffordance.json | 211 ++++++++++++++++++ .../td-vocab-descriptions--Thing.json | 19 ++ 3 files changed, 273 insertions(+), 96 deletions(-) rename AssertionTester/Assertions/{td-vocab-descriptions.json => td-vocab-descriptions--DataSchema.json} (59%) create mode 100644 AssertionTester/Assertions/td-vocab-descriptions--InteractionAffordance.json create mode 100644 AssertionTester/Assertions/td-vocab-descriptions--Thing.json diff --git a/AssertionTester/Assertions/td-vocab-descriptions.json b/AssertionTester/Assertions/td-vocab-descriptions--DataSchema.json similarity index 59% rename from AssertionTester/Assertions/td-vocab-descriptions.json rename to AssertionTester/Assertions/td-vocab-descriptions--DataSchema.json index ae5f03faf..e7469ee14 100644 --- a/AssertionTester/Assertions/td-vocab-descriptions.json +++ b/AssertionTester/Assertions/td-vocab-descriptions--DataSchema.json @@ -1,126 +1,73 @@ { - "title": "td-vocab-descriptions", + "title": "td-vocab-descriptions--DataSchema", "description": "descriptions: Can be used to support (human-readable) information in different languages. MAY be included. Type: MultiLanguage.", "$schema ": "http://json-schema.org/draft-06/schema#", "also": ["td-multi-languages_descriptions"], "is-complex": true, "type": "object", - "if": { - "required": ["descriptions"], + "properties": { "properties": { - "descriptions": { - "$ref": "#/definitions/descriptions" + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/property_element" } - } - }, - "then": { - "const": "td-vocab-descriptions=pass" - }, - "else": { - "properties": { - "properties": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/property_element" - } - }, - "actions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/action_element" - } - }, - "events": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/event_element" - } + }, + "actions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/action_element" } }, - "additionalProperties": true + "events": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/event_element" + } + } }, + "additionalProperties": true, "definitions": { "property_element": { "type": "object", - "if": { - "required": ["descriptions"], + "properties": { "properties": { - "descriptions": { - "$ref": "#/definitions/descriptions" + "additionalProperties": { + "$ref": "#/definitions/dataSchema" } - } - }, - "then": { - "const": "td-vocab-descriptions=pass" - }, - "else": { - "properties": { - "properties": { - "additionalProperties": { - "$ref": "#/definitions/dataSchema" - } - }, - "oneOf": { - "type": "array", - "items": { - "$ref": "#/definitions/dataSchema" - } - }, + }, + "oneOf": { + "type": "array", "items": { "$ref": "#/definitions/dataSchema" } + }, + "items": { + "$ref": "#/definitions/dataSchema" } } }, "action_element": { "type": "object", - "if": { - "required": ["descriptions"], - "properties": { - "descriptions": { - "$ref": "#/definitions/descriptions" - } - } - }, - "then": { - "const": "td-vocab-descriptions=pass" - }, - "else": { - - "properties": { - "input": { - "$ref": "#/definitions/dataSchema" - }, - "output": { - "$ref": "#/definitions/dataSchema" - } + "properties": { + "input": { + "$ref": "#/definitions/dataSchema" + }, + "output": { + "$ref": "#/definitions/dataSchema" } } }, "event_element": { "type": "object", - "if": { - "required": ["descriptions"], - "properties": { - "descriptions": { - "$ref": "#/definitions/descriptions" - } - } - }, - "then": { - "const": "td-vocab-descriptions=pass" - }, - "else": { - "properties": { - "subscription": { - "$ref": "#/definitions/dataSchema" - }, - "data": { - "$ref": "#/definitions/dataSchema" - }, - "cancellation": { - "$ref": "#/definitions/dataSchema" - } + "properties": { + "subscription": { + "$ref": "#/definitions/dataSchema" + }, + "data": { + "$ref": "#/definitions/dataSchema" + }, + "cancellation": { + "$ref": "#/definitions/dataSchema" } } }, @@ -135,7 +82,7 @@ } }, "then": { - "const": "td-vocab-descriptions=pass" + "const": "td-vocab-descriptions--DataSchema=pass" }, "else": { "properties": { @@ -234,4 +181,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-descriptions--InteractionAffordance.json b/AssertionTester/Assertions/td-vocab-descriptions--InteractionAffordance.json new file mode 100644 index 000000000..e5191a732 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-descriptions--InteractionAffordance.json @@ -0,0 +1,211 @@ +{ + "title": "td-vocab-descriptions--InteractionAffordance", + "description": "descriptions: Can be used to support (human-readable) information in different languages. MAY be included. Type: MultiLanguage.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "also": ["td-multi-languages_descriptions"], + "is-complex": true, + "type": "object", + "properties": { + "properties": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/property_element" + } + }, + "actions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/action_element" + } + }, + "events": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/event_element" + } + } + }, + "additionalProperties": true, + "definitions": { + "property_element": { + "type": "object", + "if": { + "required": ["descriptions"], + "properties": { + "descriptions": { + "$ref": "#/definitions/descriptions" + } + } + }, + "then": { + "const": "td-vocab-descriptions--InteractionAffordance=pass" + }, + "else": { + "properties": { + "properties": { + "additionalProperties": { + "$ref": "#/definitions/dataSchema" + } + }, + "oneOf": { + "type": "array", + "items": { + "$ref": "#/definitions/dataSchema" + } + }, + "items": { + "$ref": "#/definitions/dataSchema" + } + } + } + }, + "action_element": { + "type": "object", + "if": { + "required": ["descriptions"], + "properties": { + "descriptions": { + "$ref": "#/definitions/descriptions" + } + } + }, + "then": { + "const": "td-vocab-descriptions--InteractionAffordance=pass" + }, + "else": { + + "properties": { + "input": { + "$ref": "#/definitions/dataSchema" + }, + "output": { + "$ref": "#/definitions/dataSchema" + } + } + } + }, + "event_element": { + "type": "object", + "if": { + "required": ["descriptions"], + "properties": { + "descriptions": { + "$ref": "#/definitions/descriptions" + } + } + }, + "then": { + "const": "td-vocab-descriptions--InteractionAffordance=pass" + }, + "else": { + "properties": { + "subscription": { + "$ref": "#/definitions/dataSchema" + }, + "data": { + "$ref": "#/definitions/dataSchema" + }, + "cancellation": { + "$ref": "#/definitions/dataSchema" + } + } + } + }, + "dataSchema": { + "type": "object", + "properties": { + "description": { + "$ref": "#/definitions/description" + }, + "title": { + "$ref": "#/definitions/title" + }, + "descriptions": { + "$ref": "#/definitions/descriptions" + }, + "titles": { + "$ref": "#/definitions/titles" + }, + "writeOnly": { + "type": "boolean" + }, + "readOnly": { + "type": "boolean" + }, + "oneOf": { + "type": "array", + "items": { + "$ref": "#/definitions/dataSchema" + } + }, + "unit": { + "type": "string" + }, + "enum": { + "type": "array", + "minItems": 1, + "uniqueItems": true + }, + "const": {}, + "type": { + "type": "string", + "enum": [ + "boolean", + "integer", + "number", + "string", + "object", + "array", + "null" + ] + }, + "items": { + "$ref": "#/definitions/dataSchema" + }, + "maxItems": { + + "type": "integer", + "minimum": 0 + + }, + "minItems": { + "type": "integer", + "minimum": 0 + }, + "minimum": { + "type": "number" + }, + "maximum": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "$ref": "#/definitions/dataSchema" + } + }, + "required": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "description": { + "type": "string" + }, + "title": { + "type": "string" + }, + "descriptions": { + "type": "object" + }, + "titles": { + "type": "object" + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-descriptions--Thing.json b/AssertionTester/Assertions/td-vocab-descriptions--Thing.json new file mode 100644 index 000000000..09c5da253 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-descriptions--Thing.json @@ -0,0 +1,19 @@ +{ + "title": "td-vocab-descriptions--Thing", + "description": "descriptions: Can be used to support (human-readable) information in different languages. MAY be included. Type: MultiLanguage.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "also": ["td-multi-languages_descriptions"], + "is-complex": false, + "type": "object", + "properties": { + "descriptions": { + "$ref": "#/definitions/descriptions" + } + }, + "required": ["descriptions"], + "definitions": { + "descriptions": { + "type": "object" + } + } +} From dabc5fca3b6fd6ca19aeff5ac1a23c1a44784bd6 Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 19:44:39 +0900 Subject: [PATCH 09/38] enum --- ...{td-vocab-enum.json => td-vocab-enum--DataSchema.json} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename AssertionTester/Assertions/{td-vocab-enum.json => td-vocab-enum--DataSchema.json} (97%) diff --git a/AssertionTester/Assertions/td-vocab-enum.json b/AssertionTester/Assertions/td-vocab-enum--DataSchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-enum.json rename to AssertionTester/Assertions/td-vocab-enum--DataSchema.json index 46d12bdea..a018774ba 100644 --- a/AssertionTester/Assertions/td-vocab-enum.json +++ b/AssertionTester/Assertions/td-vocab-enum--DataSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-enum", + "title": "td-vocab-enum--DataSchema", "description": "enum: Restricted set of values provided as an array.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -40,7 +40,7 @@ } }, "then": { - "const": "td-vocab-enum=pass" + "const": "td-vocab-enum--DataSchema=pass" }, "else": { "properties": { @@ -99,7 +99,7 @@ } }, "then": { - "const": "td-vocab-enum=pass" + "const": "td-vocab-enum--DataSchema=pass" }, "else": { "properties": { @@ -200,4 +200,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} From 5b99aa6acbf28401061abd093273c79bdbf234c8 Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 19:46:50 +0900 Subject: [PATCH 10/38] flow --- ...b-flow.json => td-vocab-flow--OAuth2SecurityScheme.json} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename AssertionTester/Assertions/{td-vocab-flow.json => td-vocab-flow--OAuth2SecurityScheme.json} (94%) diff --git a/AssertionTester/Assertions/td-vocab-flow.json b/AssertionTester/Assertions/td-vocab-flow--OAuth2SecurityScheme.json similarity index 94% rename from AssertionTester/Assertions/td-vocab-flow.json rename to AssertionTester/Assertions/td-vocab-flow--OAuth2SecurityScheme.json index d8fc49a6f..1151e5446 100644 --- a/AssertionTester/Assertions/td-vocab-flow.json +++ b/AssertionTester/Assertions/td-vocab-flow--OAuth2SecurityScheme.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-flow", + "title": "td-vocab-flow--OAuth2SecurityScheme", "description": "flow: Authorization flow (one of implicit, password, client, or code). MUST be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -61,7 +61,7 @@ }] }, "then": { - "const": "td-vocab-flow=pass" + "const": "td-vocab-flow--OAuth2SecurityScheme=pass" } }, "url": { @@ -69,4 +69,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} From 92c77936661fae606f3fb71d33b2032f6c582ae0 Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 19:51:25 +0900 Subject: [PATCH 11/38] temporary... --- .../td-vocab-format-OAuth2SecurityScheme.json | 64 +++++++++++ .../Assertions/td-vocab-format.json | 108 ------------------ 2 files changed, 64 insertions(+), 108 deletions(-) create mode 100644 AssertionTester/Assertions/td-vocab-format-OAuth2SecurityScheme.json delete mode 100644 AssertionTester/Assertions/td-vocab-format.json diff --git a/AssertionTester/Assertions/td-vocab-format-OAuth2SecurityScheme.json b/AssertionTester/Assertions/td-vocab-format-OAuth2SecurityScheme.json new file mode 100644 index 000000000..75d7ba772 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-format-OAuth2SecurityScheme.json @@ -0,0 +1,64 @@ +{ + "title": "td-vocab-format--BearerSecurityScheme", + "description": "format: Specifies format of security authentication information (one of jwt, jwe, or jws). MUST be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": false, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "bearer" + ] + }, + "authorization": { + "$ref": "#/definitions/url" + }, + "alg": { + "type": "string", + "enum": ["MD5", "ES256", "ES512-256"] + }, + "format": { + "type": "string", + "enum": ["jwt", "jwe", "jws"] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme","format" + ] + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-format.json b/AssertionTester/Assertions/td-vocab-format.json deleted file mode 100644 index d12554ff6..000000000 --- a/AssertionTester/Assertions/td-vocab-format.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "title": "td-vocab-format", - "description": "format: Specifies format of security authentication information (one of jwt, jwe, or jws). MUST be included. Type: string.", - "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": true, - "type": "object", - "properties": { - "securityDefinitions": { - "type": "object", - "minProperties": 1, - "additionalProperties": { - "$ref": "#/definitions/securityScheme" - } - } - }, - "required": [ - "securityDefinitions" - ], - "additionalProperties": true, - "definitions": { - "securityScheme": { - "if": { - "oneOf": [{ - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "bearer" - ] - }, - "authorization": { - "$ref": "#/definitions/url" - }, - "alg": { - "type": "string", - "enum": ["MD5", "ES256", "ES512-256"] - }, - "format": { - "type": "string", - "enum": ["jwt", "jwe", "jws"] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - }, - "name": { - "type": "string" - } - }, - "required": [ - "scheme","format" - ] - }, { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "pop" - ] - }, - "authorization": { - "$ref": "#/definitions/url" - }, - "format": { - "type": "string", - "enum": ["jwt", "jwe", "jws"] - }, - "alg": { - "type": "string", - "enum": ["MD5", "ES256", "ES512-256"] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - }, - "name": { - "type": "string" - } - }, - "required": [ - "scheme", "format" - ] - }] - }, - "then": { - "const": "td-vocab-format=pass" - } - }, - "url": { - "type": "string", - "format": "uri-reference" - } - } -} \ No newline at end of file From 9bc78c3a12e2d0dfe1a53ee7d0903fe0e9a3301a Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 19:54:00 +0900 Subject: [PATCH 12/38] format in SecuritySchemes --- ...td-vocab-format-BearerSecurityScheme.json} | 0 .../td-vocab-format-PoPSecurityScheme.json | 64 +++++++++++++++++++ 2 files changed, 64 insertions(+) rename AssertionTester/Assertions/{td-vocab-format-OAuth2SecurityScheme.json => td-vocab-format-BearerSecurityScheme.json} (100%) create mode 100644 AssertionTester/Assertions/td-vocab-format-PoPSecurityScheme.json diff --git a/AssertionTester/Assertions/td-vocab-format-OAuth2SecurityScheme.json b/AssertionTester/Assertions/td-vocab-format-BearerSecurityScheme.json similarity index 100% rename from AssertionTester/Assertions/td-vocab-format-OAuth2SecurityScheme.json rename to AssertionTester/Assertions/td-vocab-format-BearerSecurityScheme.json diff --git a/AssertionTester/Assertions/td-vocab-format-PoPSecurityScheme.json b/AssertionTester/Assertions/td-vocab-format-PoPSecurityScheme.json new file mode 100644 index 000000000..f825e95c1 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-format-PoPSecurityScheme.json @@ -0,0 +1,64 @@ +{ + "title": "td-vocab-format--PoPSecurityScheme", + "description": "format: Specifies format of security authentication information (one of jwt, jwe, or jws). MUST be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": false, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "pop" + ] + }, + "authorization": { + "$ref": "#/definitions/url" + }, + "alg": { + "type": "string", + "enum": ["MD5", "ES256", "ES512-256"] + }, + "format": { + "type": "string", + "enum": ["jwt", "jwe", "jws"] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme","format" + ] + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} From 8a9d41ae483fa2a80b17d2275e86faa22e29b987 Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 20:02:49 +0900 Subject: [PATCH 13/38] forms --- ...json => td-vocab-forms--InteractionAffordance.json} | 10 +++++----- ...d-vocab-forms-1.json => td-vocab-forms--Thing.json} | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) rename AssertionTester/Assertions/{td-vocab-forms-2.json => td-vocab-forms--InteractionAffordance.json} (93%) rename AssertionTester/Assertions/{td-vocab-forms-1.json => td-vocab-forms--Thing.json} (98%) diff --git a/AssertionTester/Assertions/td-vocab-forms-2.json b/AssertionTester/Assertions/td-vocab-forms--InteractionAffordance.json similarity index 93% rename from AssertionTester/Assertions/td-vocab-forms-2.json rename to AssertionTester/Assertions/td-vocab-forms--InteractionAffordance.json index eae9acb97..199f79bf4 100644 --- a/AssertionTester/Assertions/td-vocab-forms-2.json +++ b/AssertionTester/Assertions/td-vocab-forms--InteractionAffordance.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-forms-2", + "title": "td-vocab-forms--InteractionAffordance", "description": "forms: Indicates one or more endpoints at which operation(s) on this resource are accessible. MUST be included. Type: array of Form.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -42,7 +42,7 @@ "required": ["forms"] }, "then": { - "const": "td-vocab-forms-2=pass" + "const": "td-vocab-forms--InteractionAffordance=pass" } }, "action_element": { @@ -60,7 +60,7 @@ "required": ["forms"] }, "then": { - "const": "td-vocab-forms-2=pass" + "const": "td-vocab-forms--InteractionAffordance=pass" } }, "event_element": { @@ -78,7 +78,7 @@ "required": ["forms"] }, "then": { - "const": "td-vocab-forms-2=pass" + "const": "td-vocab-forms--InteractionAffordance=pass" } }, "form_element": { @@ -128,4 +128,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-forms-1.json b/AssertionTester/Assertions/td-vocab-forms--Thing.json similarity index 98% rename from AssertionTester/Assertions/td-vocab-forms-1.json rename to AssertionTester/Assertions/td-vocab-forms--Thing.json index e7612b6b5..6c6ab83b7 100644 --- a/AssertionTester/Assertions/td-vocab-forms-1.json +++ b/AssertionTester/Assertions/td-vocab-forms--Thing.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-forms-1", + "title": "td-vocab-forms--Thing", "description": "forms: Indicates one or more endpoints at which operation(s) on this resource are accessible. In this version of TD, all operations that can be described at the Thing level are concerning how to interact with the Thing's Property interaction resources collectively at once. MAY be included. Type: array of Form.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": false, @@ -88,4 +88,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} From d17590c206734a1b07732a7e91a9b1cf89ed7234 Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 20:07:39 +0900 Subject: [PATCH 14/38] idempotent --- ...tent.json => td-vocab-idempotent--ActionAffordance.json} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename AssertionTester/Assertions/{td-vocab-idempotent.json => td-vocab-idempotent--ActionAffordance.json} (89%) diff --git a/AssertionTester/Assertions/td-vocab-idempotent.json b/AssertionTester/Assertions/td-vocab-idempotent--ActionAffordance.json similarity index 89% rename from AssertionTester/Assertions/td-vocab-idempotent.json rename to AssertionTester/Assertions/td-vocab-idempotent--ActionAffordance.json index 409b3b8fb..08a2b2410 100644 --- a/AssertionTester/Assertions/td-vocab-idempotent.json +++ b/AssertionTester/Assertions/td-vocab-idempotent--ActionAffordance.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-idempotent", + "title": "td-vocab-idempotent--ActionAffordance", "description": "idempotent: Indicates whether the action is idempotent (=true) or not. Informs whether the action can be called repeatedly with the same result, if present, based on the same input.", "$schema ": "http://json-schema.org/draft-06/schema#", "also": ["td-action-names_idempotent"], @@ -29,8 +29,8 @@ "additionalProperties": true }, "then": { - "const": "td-vocab-idempotent=pass" + "const": "td-vocab-idempotent--ActionAffordance=pass" } } } -} \ No newline at end of file +} From cbc79257a2fc0a7231e731d9ecca7c47dac5158a Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 20:13:08 +0900 Subject: [PATCH 15/38] identity --- ...td-vocab-identity--CertSecurityScheme.json | 49 +++++++++ .../td-vocab-identity--PSKSecurityScheme.json | 49 +++++++++ ...-vocab-identity--PublicSecurityScheme.json | 49 +++++++++ .../Assertions/td-vocab-identity.json | 101 ------------------ 4 files changed, 147 insertions(+), 101 deletions(-) create mode 100644 AssertionTester/Assertions/td-vocab-identity--CertSecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-identity--PSKSecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-identity--PublicSecurityScheme.json delete mode 100644 AssertionTester/Assertions/td-vocab-identity.json diff --git a/AssertionTester/Assertions/td-vocab-identity--CertSecurityScheme.json b/AssertionTester/Assertions/td-vocab-identity--CertSecurityScheme.json new file mode 100644 index 000000000..d12966209 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-identity--CertSecurityScheme.json @@ -0,0 +1,49 @@ +{ + "title": "td-vocab-identity--CertSecurityScheme", + "description": "identity: Pre-shared key identity. MAY be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": false, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "cert" + ] + }, + "identity": { + "type": "string" + } + }, + "required": [ + "scheme", "identity" + ] + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-identity--PSKSecurityScheme.json b/AssertionTester/Assertions/td-vocab-identity--PSKSecurityScheme.json new file mode 100644 index 000000000..84ef2f669 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-identity--PSKSecurityScheme.json @@ -0,0 +1,49 @@ +{ + "title": "td-vocab-identity--PSKSecurityScheme", + "description": "identity: Pre-shared key identity. MAY be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": false, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "psk" + ] + }, + "identity": { + "type": "string" + } + }, + "required": [ + "scheme", "identity" + ] + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-identity--PublicSecurityScheme.json b/AssertionTester/Assertions/td-vocab-identity--PublicSecurityScheme.json new file mode 100644 index 000000000..de42e3e71 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-identity--PublicSecurityScheme.json @@ -0,0 +1,49 @@ +{ + "title": "td-vocab-identity--PublicSecurityScheme", + "description": "identity: Pre-shared key identity. MAY be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": false, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "public" + ] + }, + "identity": { + "type": "string" + } + }, + "required": [ + "scheme", "identity" + ] + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-identity.json b/AssertionTester/Assertions/td-vocab-identity.json deleted file mode 100644 index 2b3c9bad1..000000000 --- a/AssertionTester/Assertions/td-vocab-identity.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "title": "td-vocab-identity", - "description": "identity: Pre-shared key identity. MAY be included. Type: string.", - "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": true, - "type": "object", - "properties": { - "securityDefinitions": { - "type": "object", - "minProperties": 1, - "additionalProperties": { - "$ref": "#/definitions/securityScheme" - } - } - }, - "required": [ - "securityDefinitions" - ], - "additionalProperties": true, - "definitions": { - "securityScheme": { - "if": { - "oneOf": [{ - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "psk" - ] - }, - "identity": { - "type": "string" - } - }, - "required": [ - "scheme","identity" - ] - }, - { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "public" - ] - }, - "identity": { - "type": "string" - } - }, - "required": [ - "scheme", "identity" - ] - }, { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "cert" - ] - }, - "identity": { - "type": "string" - } - }, - "required": [ - "scheme", "identity" - ] - }] - }, - "then": { - "const": "td-vocab-identity=pass" - } - }, - "url": { - "type": "string", - "format": "uri-reference" - } - } -} \ No newline at end of file From 5b6e018cfe300ac893054bfe7bdc90b4fb5e7195 Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 20:29:14 +0900 Subject: [PATCH 16/38] in --- .../td-vocab-in--APIKeySecurityScheme.json | 47 +++++++ .../td-vocab-in--BasicSecurityScheme.json | 47 +++++++ .../td-vocab-in--BearerSecurityScheme.json | 47 +++++++ .../td-vocab-in--DigestSecurityScheme.json | 47 +++++++ .../td-vocab-in--PoPSecurityScheme.json | 47 +++++++ AssertionTester/Assertions/td-vocab-in.json | 115 ------------------ 6 files changed, 235 insertions(+), 115 deletions(-) create mode 100644 AssertionTester/Assertions/td-vocab-in--APIKeySecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-in--BasicSecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-in--BearerSecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-in--DigestSecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-in--PoPSecurityScheme.json delete mode 100644 AssertionTester/Assertions/td-vocab-in.json diff --git a/AssertionTester/Assertions/td-vocab-in--APIKeySecurityScheme.json b/AssertionTester/Assertions/td-vocab-in--APIKeySecurityScheme.json new file mode 100644 index 000000000..b874fae85 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-in--APIKeySecurityScheme.json @@ -0,0 +1,47 @@ +{ + "title": "td-vocab-in--APIKeySecurityScheme", + "description": "in: Specifies the location of security authentication information (one of header, query, body, or cookie). MUST be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "scheme": { + "type": "string", + "enum": [ + "apikey" + ] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + } + }, + "required": ["in", "scheme"] + }, + "then": { + "const": "td-vocab-in--APIKeySecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-in--BasicSecurityScheme.json b/AssertionTester/Assertions/td-vocab-in--BasicSecurityScheme.json new file mode 100644 index 000000000..8bf2a6e16 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-in--BasicSecurityScheme.json @@ -0,0 +1,47 @@ +{ + "title": "td-vocab-in--BasicSecurityScheme", + "description": "in: Specifies the location of security authentication information (one of header, query, body, or cookie). MUST be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "scheme": { + "type": "string", + "enum": [ + "basic" + ] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + } + }, + "required": ["in", "scheme"] + }, + "then": { + "const": "td-vocab-in--BasicSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-in--BearerSecurityScheme.json b/AssertionTester/Assertions/td-vocab-in--BearerSecurityScheme.json new file mode 100644 index 000000000..e6a15d682 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-in--BearerSecurityScheme.json @@ -0,0 +1,47 @@ +{ + "title": "td-vocab-in--BearerSecurityScheme", + "description": "in: Specifies the location of security authentication information (one of header, query, body, or cookie). MUST be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "scheme": { + "type": "string", + "enum": [ + "bearer" + ] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + } + }, + "required": ["in", "scheme"] + }, + "then": { + "const": "td-vocab-in--BearerSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-in--DigestSecurityScheme.json b/AssertionTester/Assertions/td-vocab-in--DigestSecurityScheme.json new file mode 100644 index 000000000..c3ce5681c --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-in--DigestSecurityScheme.json @@ -0,0 +1,47 @@ +{ + "title": "td-vocab-in--DigestSecurityScheme", + "description": "in: Specifies the location of security authentication information (one of header, query, body, or cookie). MUST be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "scheme": { + "type": "string", + "enum": [ + "digest" + ] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + } + }, + "required": ["in", "scheme"] + }, + "then": { + "const": "td-vocab-in--DigestSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-in--PoPSecurityScheme.json b/AssertionTester/Assertions/td-vocab-in--PoPSecurityScheme.json new file mode 100644 index 000000000..5e47a023d --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-in--PoPSecurityScheme.json @@ -0,0 +1,47 @@ +{ + "title": "td-vocab-in--PoPSecurityScheme", + "description": "in: Specifies the location of security authentication information (one of header, query, body, or cookie). MUST be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "scheme": { + "type": "string", + "enum": [ + "pop" + ] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + } + }, + "required": ["in", "scheme"] + }, + "then": { + "const": "td-vocab-in--PoPSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-in.json b/AssertionTester/Assertions/td-vocab-in.json deleted file mode 100644 index 000e67e4e..000000000 --- a/AssertionTester/Assertions/td-vocab-in.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "title": "td-vocab-in", - "description": "in: Specifies the location of security authentication information (one of header, query, body, or cookie). MUST be included. Type: string.", - "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": true, - "type": "object", - "properties": { - "securityDefinitions": { - "type": "object", - "minProperties": 1, - "additionalProperties": { - "$ref": "#/definitions/securityScheme" - } - } - }, - "required": [ - "securityDefinitions" - ], - "additionalProperties": true, - "definitions": { - "securityScheme": { - "if": { - "oneOf": [{ - "type": "object", - "properties": { - "scheme": { - "type": "string", - "enum": [ - "basic" - ] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - } - }, - "required": ["in", "scheme"] - }, - { - "type": "object", - "properties": { - "scheme": { - "type": "string", - "enum": [ - "digest" - ] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - } - }, - "required": ["in", "scheme"] - }, - { - "type": "object", - "properties": { - "scheme": { - "type": "string", - "enum": [ - "bearer" - ] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - } - }, - "required": ["in", "scheme"] - }, - { - "type": "object", - "properties": { - "scheme": { - "type": "string", - "enum": [ - "apikey" - ] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - } - }, - "required": ["in", "scheme"] - }, - { - "type": "object", - "properties": { - "scheme": { - "type": "string", - "enum": [ - "pop" - ] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - } - }, - "required": ["in", "scheme"] - - } - ] - }, - "then": { - "const": "td-vocab-in=pass" - } - }, - "url": { - "type": "string", - "format": "uri-reference" - } - } -} \ No newline at end of file From 0eef1e356c50d7c2e1638e543bffe17f84a35e6a Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 20:39:20 +0900 Subject: [PATCH 17/38] fix identity --- ...td-vocab-identity--CertSecurityScheme.json | 45 ++++++++++--------- .../td-vocab-identity--PSKSecurityScheme.json | 45 ++++++++++--------- ...-vocab-identity--PublicSecurityScheme.json | 45 ++++++++++--------- 3 files changed, 75 insertions(+), 60 deletions(-) diff --git a/AssertionTester/Assertions/td-vocab-identity--CertSecurityScheme.json b/AssertionTester/Assertions/td-vocab-identity--CertSecurityScheme.json index d12966209..eb592b348 100644 --- a/AssertionTester/Assertions/td-vocab-identity--CertSecurityScheme.json +++ b/AssertionTester/Assertions/td-vocab-identity--CertSecurityScheme.json @@ -2,7 +2,7 @@ "title": "td-vocab-identity--CertSecurityScheme", "description": "identity: Pre-shared key identity. MAY be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": false, + "is-complex": true, "type": "object", "properties": { "securityDefinitions": { @@ -19,27 +19,32 @@ "additionalProperties": true, "definitions": { "securityScheme": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "cert" + ] + }, + "identity": { + "type": "string" + } }, - "scheme": { - "type": "string", - "enum": [ - "cert" - ] - }, - "identity": { - "type": "string" - } + "required": [ + "scheme", "identity" + ] }, - "required": [ - "scheme", "identity" - ] + "then": { + "const": "td-vocab-identity--CertSecurityScheme=pass" + } }, "url": { "type": "string", diff --git a/AssertionTester/Assertions/td-vocab-identity--PSKSecurityScheme.json b/AssertionTester/Assertions/td-vocab-identity--PSKSecurityScheme.json index 84ef2f669..bc727525d 100644 --- a/AssertionTester/Assertions/td-vocab-identity--PSKSecurityScheme.json +++ b/AssertionTester/Assertions/td-vocab-identity--PSKSecurityScheme.json @@ -2,7 +2,7 @@ "title": "td-vocab-identity--PSKSecurityScheme", "description": "identity: Pre-shared key identity. MAY be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": false, + "is-complex": true, "type": "object", "properties": { "securityDefinitions": { @@ -19,27 +19,32 @@ "additionalProperties": true, "definitions": { "securityScheme": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "psk" + ] + }, + "identity": { + "type": "string" + } }, - "scheme": { - "type": "string", - "enum": [ - "psk" - ] - }, - "identity": { - "type": "string" - } + "required": [ + "scheme", "identity" + ] }, - "required": [ - "scheme", "identity" - ] + "then": { + "const": "td-vocab-identity--PSKSecurityScheme=pass" + } }, "url": { "type": "string", diff --git a/AssertionTester/Assertions/td-vocab-identity--PublicSecurityScheme.json b/AssertionTester/Assertions/td-vocab-identity--PublicSecurityScheme.json index de42e3e71..c34f172b3 100644 --- a/AssertionTester/Assertions/td-vocab-identity--PublicSecurityScheme.json +++ b/AssertionTester/Assertions/td-vocab-identity--PublicSecurityScheme.json @@ -2,7 +2,7 @@ "title": "td-vocab-identity--PublicSecurityScheme", "description": "identity: Pre-shared key identity. MAY be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": false, + "is-complex": true, "type": "object", "properties": { "securityDefinitions": { @@ -19,27 +19,32 @@ "additionalProperties": true, "definitions": { "securityScheme": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "public" + ] + }, + "identity": { + "type": "string" + } }, - "scheme": { - "type": "string", - "enum": [ - "public" - ] - }, - "identity": { - "type": "string" - } + "required": [ + "scheme", "identity" + ] }, - "required": [ - "scheme", "identity" - ] + "then": { + "const": "td-vocab-identity--PublicSecurityScheme=pass" + } }, "url": { "type": "string", From 1cd32979f90edeb245cb6ea1fb5402b748de91ef Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 20:46:58 +0900 Subject: [PATCH 18/38] fix format --- ...td-vocab-format--BearerSecurityScheme.json | 69 +++++++++++++++++++ .../td-vocab-format--PopSecurityScheme.json | 69 +++++++++++++++++++ .../td-vocab-format-BearerSecurityScheme.json | 64 ----------------- .../td-vocab-format-PoPSecurityScheme.json | 64 ----------------- 4 files changed, 138 insertions(+), 128 deletions(-) create mode 100644 AssertionTester/Assertions/td-vocab-format--BearerSecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-format--PopSecurityScheme.json delete mode 100644 AssertionTester/Assertions/td-vocab-format-BearerSecurityScheme.json delete mode 100644 AssertionTester/Assertions/td-vocab-format-PoPSecurityScheme.json diff --git a/AssertionTester/Assertions/td-vocab-format--BearerSecurityScheme.json b/AssertionTester/Assertions/td-vocab-format--BearerSecurityScheme.json new file mode 100644 index 000000000..84e8fd5c4 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-format--BearerSecurityScheme.json @@ -0,0 +1,69 @@ +{ + "title": "td-vocab-format--BearerSecurityScheme", + "description": "format: Specifies format of security authentication information (one of jwt, jwe, or jws). MUST be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": false, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "bearer" + ] + }, + "authorization": { + "$ref": "#/definitions/url" + }, + "alg": { + "type": "string", + "enum": ["MD5", "ES256", "ES512-256"] + }, + "format": { + "type": "string", + "enum": ["jwt", "jwe", "jws"] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme","format" + ] + }, + "then": { + "const": "td-vocab-format--BearerSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-format--PopSecurityScheme.json b/AssertionTester/Assertions/td-vocab-format--PopSecurityScheme.json new file mode 100644 index 000000000..a585a333f --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-format--PopSecurityScheme.json @@ -0,0 +1,69 @@ +{ + "title": "td-vocab-format--PoPSecurityScheme", + "description": "format: Specifies format of security authentication information (one of jwt, jwe, or jws). MUST be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": false, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "pop" + ] + }, + "authorization": { + "$ref": "#/definitions/url" + }, + "alg": { + "type": "string", + "enum": ["MD5", "ES256", "ES512-256"] + }, + "format": { + "type": "string", + "enum": ["jwt", "jwe", "jws"] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme","format" + ] + }, + "then": { + "const": "td-vocab-format--PoPSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-format-BearerSecurityScheme.json b/AssertionTester/Assertions/td-vocab-format-BearerSecurityScheme.json deleted file mode 100644 index 75d7ba772..000000000 --- a/AssertionTester/Assertions/td-vocab-format-BearerSecurityScheme.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "title": "td-vocab-format--BearerSecurityScheme", - "description": "format: Specifies format of security authentication information (one of jwt, jwe, or jws). MUST be included. Type: string.", - "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": false, - "type": "object", - "properties": { - "securityDefinitions": { - "type": "object", - "minProperties": 1, - "additionalProperties": { - "$ref": "#/definitions/securityScheme" - } - } - }, - "required": [ - "securityDefinitions" - ], - "additionalProperties": true, - "definitions": { - "securityScheme": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "bearer" - ] - }, - "authorization": { - "$ref": "#/definitions/url" - }, - "alg": { - "type": "string", - "enum": ["MD5", "ES256", "ES512-256"] - }, - "format": { - "type": "string", - "enum": ["jwt", "jwe", "jws"] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - }, - "name": { - "type": "string" - } - }, - "required": [ - "scheme","format" - ] - }, - "url": { - "type": "string", - "format": "uri-reference" - } - } -} diff --git a/AssertionTester/Assertions/td-vocab-format-PoPSecurityScheme.json b/AssertionTester/Assertions/td-vocab-format-PoPSecurityScheme.json deleted file mode 100644 index f825e95c1..000000000 --- a/AssertionTester/Assertions/td-vocab-format-PoPSecurityScheme.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "title": "td-vocab-format--PoPSecurityScheme", - "description": "format: Specifies format of security authentication information (one of jwt, jwe, or jws). MUST be included. Type: string.", - "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": false, - "type": "object", - "properties": { - "securityDefinitions": { - "type": "object", - "minProperties": 1, - "additionalProperties": { - "$ref": "#/definitions/securityScheme" - } - } - }, - "required": [ - "securityDefinitions" - ], - "additionalProperties": true, - "definitions": { - "securityScheme": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "pop" - ] - }, - "authorization": { - "$ref": "#/definitions/url" - }, - "alg": { - "type": "string", - "enum": ["MD5", "ES256", "ES512-256"] - }, - "format": { - "type": "string", - "enum": ["jwt", "jwe", "jws"] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - }, - "name": { - "type": "string" - } - }, - "required": [ - "scheme","format" - ] - }, - "url": { - "type": "string", - "format": "uri-reference" - } - } -} From 74670cdcfbc0ef4cd3b6b42f1ef0f3d9fe8d625d Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 20:50:38 +0900 Subject: [PATCH 19/38] mark format rule as complex --- .../Assertions/td-vocab-format--BearerSecurityScheme.json | 2 +- .../Assertions/td-vocab-format--PopSecurityScheme.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/AssertionTester/Assertions/td-vocab-format--BearerSecurityScheme.json b/AssertionTester/Assertions/td-vocab-format--BearerSecurityScheme.json index 84e8fd5c4..bf75b7327 100644 --- a/AssertionTester/Assertions/td-vocab-format--BearerSecurityScheme.json +++ b/AssertionTester/Assertions/td-vocab-format--BearerSecurityScheme.json @@ -2,7 +2,7 @@ "title": "td-vocab-format--BearerSecurityScheme", "description": "format: Specifies format of security authentication information (one of jwt, jwe, or jws). MUST be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": false, + "is-complex": true, "type": "object", "properties": { "securityDefinitions": { diff --git a/AssertionTester/Assertions/td-vocab-format--PopSecurityScheme.json b/AssertionTester/Assertions/td-vocab-format--PopSecurityScheme.json index a585a333f..1fe2794e7 100644 --- a/AssertionTester/Assertions/td-vocab-format--PopSecurityScheme.json +++ b/AssertionTester/Assertions/td-vocab-format--PopSecurityScheme.json @@ -2,7 +2,7 @@ "title": "td-vocab-format--PoPSecurityScheme", "description": "format: Specifies format of security authentication information (one of jwt, jwe, or jws). MUST be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": false, + "is-complex": true, "type": "object", "properties": { "securityDefinitions": { From cb4b0c9d82bfe0525f2803f27b7222c483d245d0 Mon Sep 17 00:00:00 2001 From: Ege Korkan Date: Mon, 4 Mar 2019 14:56:06 +0100 Subject: [PATCH 20/38] Update td-vocab-cancellation--EventAffordance.json --- .../Assertions/td-vocab-cancellation--EventAffordance.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AssertionTester/Assertions/td-vocab-cancellation--EventAffordance.json b/AssertionTester/Assertions/td-vocab-cancellation--EventAffordance.json index e67aeea27..ef7799725 100644 --- a/AssertionTester/Assertions/td-vocab-cancellation--EventAffordance.json +++ b/AssertionTester/Assertions/td-vocab-cancellation--EventAffordance.json @@ -29,7 +29,7 @@ "additionalProperties": true }, "then":{ - "const": "td-event-names_cancellation=pass" + "const": "td-event-names_cancellation--EventAffordance=pass" } }, "dataSchema": { From bdc4655a0503c403c7e61e5ddfbf98dde06ee4e8 Mon Sep 17 00:00:00 2001 From: Ege Korkan Date: Mon, 4 Mar 2019 14:57:04 +0100 Subject: [PATCH 21/38] Update td-vocab-data--EventAffordance.json --- AssertionTester/Assertions/td-vocab-data--EventAffordance.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AssertionTester/Assertions/td-vocab-data--EventAffordance.json b/AssertionTester/Assertions/td-vocab-data--EventAffordance.json index 091274819..a94d948c9 100644 --- a/AssertionTester/Assertions/td-vocab-data--EventAffordance.json +++ b/AssertionTester/Assertions/td-vocab-data--EventAffordance.json @@ -29,7 +29,7 @@ "additionalProperties": true }, "then": { - "const": "td-event-names_data=pass" + "const": "td-vocab-data--EventAffordance=pass" } }, "dataSchema": { From 7b8cface761c69106b04c9f61c31129d0e6cb2bf Mon Sep 17 00:00:00 2001 From: Ege Korkan Date: Mon, 4 Mar 2019 15:30:54 +0100 Subject: [PATCH 22/38] Update td-vocab-description--InteractionAffordance.json --- .../td-vocab-description--InteractionAffordance.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/AssertionTester/Assertions/td-vocab-description--InteractionAffordance.json b/AssertionTester/Assertions/td-vocab-description--InteractionAffordance.json index eb919ef11..48e900425 100644 --- a/AssertionTester/Assertions/td-vocab-description--InteractionAffordance.json +++ b/AssertionTester/Assertions/td-vocab-description--InteractionAffordance.json @@ -31,7 +31,7 @@ "if": { "required": ["description"], "properties": { - "title": { + "description": { "$ref": "#/definitions/description" } } @@ -63,7 +63,7 @@ "if": { "required": ["description"], "properties": { - "title": { + "description": { "$ref": "#/definitions/description" } } @@ -88,7 +88,7 @@ "if": { "required": ["description"], "properties": { - "title": { + "description": { "$ref": "#/definitions/description" } } From 18fd03bdae64315e336f5f55d3250f93236a312b Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 21:09:53 +0900 Subject: [PATCH 23/38] updates to input, items, lastModified, maxItems, minItems --- ...b-input.json => td-vocab-input--ActionAffordance.json} | 6 +++--- ...-vocab-items.json => td-vocab-items--ArraySchema.json} | 8 ++++---- ...astModified.json => td-vocab-lastModified--Thing.json} | 4 ++-- ...-maxItems.json => td-vocab-maxItems--ArraySchema.json} | 8 ++++---- ...-minItems.json => td-vocab-minItems--ArraySchema.json} | 8 ++++---- 5 files changed, 17 insertions(+), 17 deletions(-) rename AssertionTester/Assertions/{td-vocab-input.json => td-vocab-input--ActionAffordance.json} (96%) rename AssertionTester/Assertions/{td-vocab-items.json => td-vocab-items--ArraySchema.json} (97%) rename AssertionTester/Assertions/{td-vocab-lastModified.json => td-vocab-lastModified--Thing.json} (87%) rename AssertionTester/Assertions/{td-vocab-maxItems.json => td-vocab-maxItems--ArraySchema.json} (97%) rename AssertionTester/Assertions/{td-vocab-minItems.json => td-vocab-minItems--ArraySchema.json} (97%) diff --git a/AssertionTester/Assertions/td-vocab-input.json b/AssertionTester/Assertions/td-vocab-input--ActionAffordance.json similarity index 96% rename from AssertionTester/Assertions/td-vocab-input.json rename to AssertionTester/Assertions/td-vocab-input--ActionAffordance.json index 44db55637..a6c8e9636 100644 --- a/AssertionTester/Assertions/td-vocab-input.json +++ b/AssertionTester/Assertions/td-vocab-input--ActionAffordance.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-input", + "title": "td-vocab-input--ActionAffordance", "description": "input: Used to define the input data schema of the action.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -29,7 +29,7 @@ "additionalProperties": true }, "then": { - "const": "td-vocab-input=pass" + "const": "td-vocab-input--ActionAffordance=pass" } }, "dataSchema": { @@ -125,4 +125,4 @@ "type": "object" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-items.json b/AssertionTester/Assertions/td-vocab-items--ArraySchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-items.json rename to AssertionTester/Assertions/td-vocab-items--ArraySchema.json index b68f38d46..e3d5c3d03 100644 --- a/AssertionTester/Assertions/td-vocab-items.json +++ b/AssertionTester/Assertions/td-vocab-items--ArraySchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-items", + "title": "td-vocab-items--ArraySchema", "description": "items: Used to define the characteristics of an array. MAY be included. Type: DataSchema.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -38,7 +38,7 @@ } }, "then": { - "const": "td-vocab-items=pass" + "const": "td-vocab-items--ArraySchema=pass" }, "else": { "properties": { @@ -95,7 +95,7 @@ } }, "then": { - "const": "td-vocab-items=pass" + "const": "td-vocab-items--ArraySchema=pass" }, "else": { "properties": { @@ -196,4 +196,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-lastModified.json b/AssertionTester/Assertions/td-vocab-lastModified--Thing.json similarity index 87% rename from AssertionTester/Assertions/td-vocab-lastModified.json rename to AssertionTester/Assertions/td-vocab-lastModified--Thing.json index eb0f0ae02..5bdea9bc9 100644 --- a/AssertionTester/Assertions/td-vocab-lastModified.json +++ b/AssertionTester/Assertions/td-vocab-lastModified--Thing.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-lastModified", + "title": "td-vocab-lastModified--Thing", "description": "lastModified: Provides information when the TD instance was last modified.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": false, @@ -10,4 +10,4 @@ } }, "required": ["lastModified"] -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-maxItems.json b/AssertionTester/Assertions/td-vocab-maxItems--ArraySchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-maxItems.json rename to AssertionTester/Assertions/td-vocab-maxItems--ArraySchema.json index 353bc08fc..be8a459b4 100644 --- a/AssertionTester/Assertions/td-vocab-maxItems.json +++ b/AssertionTester/Assertions/td-vocab-maxItems--ArraySchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-maxItems", + "title": "td-vocab-maxItems--ArraySchema", "description": "maxItems: Defines the maximum number of items that have to be in the array. MAY be included. Type: unsignedInt.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -39,7 +39,7 @@ } }, "then": { - "const": "td-vocab-maxItems=pass" + "const": "td-vocab-maxItems--ArraySchema=pass" }, "else": { "properties": { @@ -97,7 +97,7 @@ } }, "then": { - "const": "td-vocab-maxItems=pass" + "const": "td-vocab-maxItems--ArraySchema=pass" }, "else": { "properties": { @@ -196,4 +196,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-minItems.json b/AssertionTester/Assertions/td-vocab-minItems--ArraySchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-minItems.json rename to AssertionTester/Assertions/td-vocab-minItems--ArraySchema.json index b5c12d78a..2d584a2e1 100644 --- a/AssertionTester/Assertions/td-vocab-minItems.json +++ b/AssertionTester/Assertions/td-vocab-minItems--ArraySchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-minItems", + "title": "td-vocab-minItems--ArraySchema", "description": "minItems: Defines the minimum number of items that have to be in the array. MAY be included. Type: unsignedInt.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -39,7 +39,7 @@ } }, "then": { - "const": "td-vocab-minItems=pass" + "const": "td-vocab-minItems--ArraySchema=pass" }, "else": { "properties": { @@ -97,7 +97,7 @@ } }, "then": { - "const": "td-vocab-minItems=pass" + "const": "td-vocab-minItems--ArraySchema=pass" }, "else": { "properties": { @@ -198,4 +198,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} From 47c494f9f407e9144114578106603d0093cbc2bb Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 21:16:35 +0900 Subject: [PATCH 24/38] minimum and maximum --- ...aximum-2.json => td-vocab-maximum--IntegerSchema.json} | 8 ++++---- ...maximum-1.json => td-vocab-maximum--NumberSchema.json} | 8 ++++---- ...inimum-2.json => td-vocab-minimum--IntegerSchema.json} | 8 ++++---- ...minimum-1.json => td-vocab-minimum--NumberSchema.json} | 8 ++++---- 4 files changed, 16 insertions(+), 16 deletions(-) rename AssertionTester/Assertions/{td-vocab-maximum-2.json => td-vocab-maximum--IntegerSchema.json} (97%) rename AssertionTester/Assertions/{td-vocab-maximum-1.json => td-vocab-maximum--NumberSchema.json} (97%) rename AssertionTester/Assertions/{td-vocab-minimum-2.json => td-vocab-minimum--IntegerSchema.json} (97%) rename AssertionTester/Assertions/{td-vocab-minimum-1.json => td-vocab-minimum--NumberSchema.json} (97%) diff --git a/AssertionTester/Assertions/td-vocab-maximum-2.json b/AssertionTester/Assertions/td-vocab-maximum--IntegerSchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-maximum-2.json rename to AssertionTester/Assertions/td-vocab-maximum--IntegerSchema.json index 01577e6d1..db9619220 100644 --- a/AssertionTester/Assertions/td-vocab-maximum-2.json +++ b/AssertionTester/Assertions/td-vocab-maximum--IntegerSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-maximum-2", + "title": "td-vocab-maximum--IntegerSchema", "description": "maximum: Specifies a maximum numeric value. Only applicable for associated number or integer types. MAY be included. Type: integer.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -44,7 +44,7 @@ } }, "then": { - "const": "td-vocab-maximum-2=pass" + "const": "td-vocab-maximum--IntegerSchema=pass" }, "else": { "properties": { @@ -107,7 +107,7 @@ } }, "then": { - "const": "td-vocab-maximum-2=pass" + "const": "td-vocab-maximum--IntegerSchema=pass" }, "else": { "properties": { @@ -208,4 +208,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-maximum-1.json b/AssertionTester/Assertions/td-vocab-maximum--NumberSchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-maximum-1.json rename to AssertionTester/Assertions/td-vocab-maximum--NumberSchema.json index 691080723..06c0a1af3 100644 --- a/AssertionTester/Assertions/td-vocab-maximum-1.json +++ b/AssertionTester/Assertions/td-vocab-maximum--NumberSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-maximum-1", + "title": "td-vocab-maximum--NumberSchema", "description": "maximum: Specifies a maximum numeric value. Only applicable for associated number or integer types. MAY be included. Type: double.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -44,7 +44,7 @@ } }, "then": { - "const": "td-vocab-maximum-1=pass" + "const": "td-vocab-maximum--NumberSchema=pass" }, "else": { "properties": { @@ -107,7 +107,7 @@ } }, "then": { - "const": "td-vocab-maximum-1=pass" + "const": "td-vocab-maximum--NumberSchema=pass" }, "else": { "properties": { @@ -208,4 +208,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-minimum-2.json b/AssertionTester/Assertions/td-vocab-minimum--IntegerSchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-minimum-2.json rename to AssertionTester/Assertions/td-vocab-minimum--IntegerSchema.json index 5486c296d..b5a06af0b 100644 --- a/AssertionTester/Assertions/td-vocab-minimum-2.json +++ b/AssertionTester/Assertions/td-vocab-minimum--IntegerSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-minimum-2", + "title": "td-vocab-minimum--IntegerSchema", "description": "minimum: Specifies a minimum numeric value. Only applicable for associated number or integer types. MAY be included. Type: integer.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -44,7 +44,7 @@ } }, "then": { - "const": "td-vocab-minimum-2=pass" + "const": "td-vocab-minimum--IntegerSchema=pass" }, "else": { "properties": { @@ -107,7 +107,7 @@ } }, "then": { - "const": "td-vocab-minimum-2=pass" + "const": "td-vocab-minimum--IntegerSchema=pass" }, "else": { "properties": { @@ -208,4 +208,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-minimum-1.json b/AssertionTester/Assertions/td-vocab-minimum--NumberSchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-minimum-1.json rename to AssertionTester/Assertions/td-vocab-minimum--NumberSchema.json index 928505bfc..5237485e7 100644 --- a/AssertionTester/Assertions/td-vocab-minimum-1.json +++ b/AssertionTester/Assertions/td-vocab-minimum--NumberSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-minimum-1", + "title": "td-vocab-minimum--NumberSchema", "description": "minimum: Specifies a minimum numeric value. Only applicable for associated number or integer types. MAY be included. Type: double.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -44,7 +44,7 @@ } }, "then": { - "const": "td-vocab-minimum-1=pass" + "const": "td-vocab-minimum--NumberSchema=pass" }, "else": { "properties": { @@ -107,7 +107,7 @@ } }, "then": { - "const": "td-vocab-minimum-1=pass" + "const": "td-vocab-minimum--NumberSchema=pass" }, "else": { "properties": { @@ -208,4 +208,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} From 2a201009592ea7251daa1b40d9e49bff701c4d00 Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 21:42:31 +0900 Subject: [PATCH 25/38] name in SecurityScheme --- .../td-vocab-name--APIKeySecurityScheme.json | 58 ++++++ .../td-vocab-name--BasicSecurityScheme.json | 58 ++++++ .../td-vocab-name--BearerSecurityScheme.json | 69 +++++++ .../td-vocab-name--DigestSecurityScheme.json | 62 ++++++ .../td-vocab-name--PoPSecurityScheme.json | 69 +++++++ .../Assertions/td-vocab-name-2.json | 192 ------------------ 6 files changed, 316 insertions(+), 192 deletions(-) create mode 100644 AssertionTester/Assertions/td-vocab-name--APIKeySecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-name--BasicSecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-name--BearerSecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-name--DigestSecurityScheme.json create mode 100644 AssertionTester/Assertions/td-vocab-name--PoPSecurityScheme.json delete mode 100644 AssertionTester/Assertions/td-vocab-name-2.json diff --git a/AssertionTester/Assertions/td-vocab-name--APIKeySecurityScheme.json b/AssertionTester/Assertions/td-vocab-name--APIKeySecurityScheme.json new file mode 100644 index 000000000..e040ef805 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-name--APIKeySecurityScheme.json @@ -0,0 +1,58 @@ +{ + "title": "td-vocab-name--APIKeySecurityScheme", + "description": "name: Name for query, header, or cookie parameters. MAY be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "apikey" + ] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme","name" + ] + }, + "then": { + "const": "td-vocab-name--APIKeySecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-name--BasicSecurityScheme.json b/AssertionTester/Assertions/td-vocab-name--BasicSecurityScheme.json new file mode 100644 index 000000000..b760c1563 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-name--BasicSecurityScheme.json @@ -0,0 +1,58 @@ +{ + "title": "td-vocab-name--BasicSecurityScheme", + "description": "name: Name for query, header, or cookie parameters. MAY be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "basic" + ] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme","name" + ] + }, + "then": { + "const": "td-vocab-name--BasicSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-name--BearerSecurityScheme.json b/AssertionTester/Assertions/td-vocab-name--BearerSecurityScheme.json new file mode 100644 index 000000000..dfddfdf42 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-name--BearerSecurityScheme.json @@ -0,0 +1,69 @@ +{ + "title": "td-vocab-name--BearerSecurityScheme", + "description": "name: Name for query, header, or cookie parameters. MAY be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "bearer" + ] + }, + "authorization": { + "$ref": "#/definitions/url" + }, + "alg": { + "type": "string", + "enum": ["MD5", "ES256", "ES512-256"] + }, + "format": { + "type": "string", + "enum": ["jwt", "jwe", "jws"] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme","name" + ] + }, + "then": { + "const": "td-vocab-name--BearerSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-name--DigestSecurityScheme.json b/AssertionTester/Assertions/td-vocab-name--DigestSecurityScheme.json new file mode 100644 index 000000000..e1d92b317 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-name--DigestSecurityScheme.json @@ -0,0 +1,62 @@ +{ + "title": "td-vocab-name--DigestSecurityScheme", + "description": "name: Name for query, header, or cookie parameters. MAY be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "digest" + ] + }, + "qop": { + "type": "string", + "enum": ["auth", "auth-int"] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme","name" + ] + }, + "then": { + "const": "td-vocab-name--DigestSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-name--PoPSecurityScheme.json b/AssertionTester/Assertions/td-vocab-name--PoPSecurityScheme.json new file mode 100644 index 000000000..3e426c0ba --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-name--PoPSecurityScheme.json @@ -0,0 +1,69 @@ +{ + "title": "td-vocab-name--PoPSecurityScheme", + "description": "name: Name for query, header, or cookie parameters. MAY be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "pop" + ] + }, + "authorization": { + "$ref": "#/definitions/url" + }, + "alg": { + "type": "string", + "enum": ["MD5", "ES256", "ES512-256"] + }, + "format": { + "type": "string", + "enum": ["jwt", "jwe", "jws"] + }, + "in": { + "type": "string", + "enum": ["header", "query", "body", "cookie"] + }, + "name": { + "type": "string" + } + }, + "required": [ + "scheme","name" + ] + }, + "then": { + "const": "td-vocab-name--PoPSecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-name-2.json b/AssertionTester/Assertions/td-vocab-name-2.json deleted file mode 100644 index 8499e6496..000000000 --- a/AssertionTester/Assertions/td-vocab-name-2.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "title": "td-vocab-name-2", - "description": "name: Name for query, header, or cookie parameters. MAY be included. Type: string.", - "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": true, - "type": "object", - "properties": { - "securityDefinitions": { - "type": "object", - "minProperties": 1, - "additionalProperties": { - "$ref": "#/definitions/securityScheme" - } - } - }, - "required": [ - "securityDefinitions" - ], - "additionalProperties": true, - "definitions": { - "securityScheme": { - "if": { - "oneOf": [{ - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "basic" - ] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - }, - "name": { - "type": "string" - } - }, - "required": [ - "scheme","name" - ] - }, - { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "digest" - ] - }, - "qop": { - "type": "string", - "enum": ["auth", "auth-int"] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - }, - "name": { - "type": "string" - } - }, - "required": [ - "scheme","name" - ] - }, { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "bearer" - ] - }, - "authorization": { - "$ref": "#/definitions/url" - }, - "alg": { - "type": "string", - "enum": ["MD5", "ES256", "ES512-256"] - }, - "format": { - "type": "string", - "enum": ["jwt", "jwe", "jws"] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - }, - "name": { - "type": "string" - } - }, - "required": [ - "scheme","name" - ] - }, { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "apikey" - ] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - }, - "name": { - "type": "string" - } - }, - "required": [ - "scheme","name" - ] - }, { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "proxy": { - "$ref": "#/definitions/url" - }, - "scheme": { - "type": "string", - "enum": [ - "pop" - ] - }, - "authorization": { - "$ref": "#/definitions/url" - }, - "format": { - "type": "string", - "enum": ["jwt", "jwe", "jws"] - }, - "alg": { - "type": "string", - "enum": ["MD5", "ES256", "ES512-256"] - }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] - }, - "name": { - "type": "string" - } - }, - "required": [ - "scheme","name" - ] - } - ] - }, - "then": { - "const": "td-vocab-name=pass" - } - }, - "url": { - "type": "string", - "format": "uri-reference" - } - } -} \ No newline at end of file From f6103e3e49f0d20d995a9b464166d8afdfb92b97 Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 21:47:25 +0900 Subject: [PATCH 26/38] observable, oneOf --- ....json => td-vocab-observable--PropertyAffordance.json} | 6 +++--- ...d-vocab-oneOf.json => td-vocab-oneOf--DataSchema.json} | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) rename AssertionTester/Assertions/{td-vocab-observable.json => td-vocab-observable--PropertyAffordance.json} (88%) rename AssertionTester/Assertions/{td-vocab-oneOf.json => td-vocab-oneOf--DataSchema.json} (97%) diff --git a/AssertionTester/Assertions/td-vocab-observable.json b/AssertionTester/Assertions/td-vocab-observable--PropertyAffordance.json similarity index 88% rename from AssertionTester/Assertions/td-vocab-observable.json rename to AssertionTester/Assertions/td-vocab-observable--PropertyAffordance.json index 6c71c0dfe..639b80fad 100644 --- a/AssertionTester/Assertions/td-vocab-observable.json +++ b/AssertionTester/Assertions/td-vocab-observable--PropertyAffordance.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-observable", + "title": "td-vocab-observable--PropertyAffordance", "description": "observable: Indicates whether a remote servient can subscribe to (\"observe\") the Property, to receive change notifications or periodic updates (true/false).", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -28,8 +28,8 @@ } }, "then": { - "const": "td-property-names_observable=pass" + "const": "td-vocab-observable--PropertyAffordance=pass" } } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-oneOf.json b/AssertionTester/Assertions/td-vocab-oneOf--DataSchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-oneOf.json rename to AssertionTester/Assertions/td-vocab-oneOf--DataSchema.json index df1833ea4..032cb3958 100644 --- a/AssertionTester/Assertions/td-vocab-oneOf.json +++ b/AssertionTester/Assertions/td-vocab-oneOf--DataSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-oneOf", + "title": "td-vocab-oneOf--DataSchema", "description": "enum: Restricted set of values provided as an array.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -42,7 +42,7 @@ } }, "then": { - "const": "td-vocab-oneOf=pass" + "const": "td-vocab-oneOf--DataSchema=pass" }, "else": { "properties": { @@ -102,7 +102,7 @@ } }, "then": { - "const": "td-vocab-oneOf=pass" + "const": "td-vocab-oneOf--DataSchema=pass" }, "else": { "properties": { @@ -203,4 +203,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} From 0a1fb45d02cbc914d61771a7f39269deab7a179c Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 21:49:46 +0900 Subject: [PATCH 27/38] op --- .../Assertions/{td-vocab-op.json => td-vocab-op--Form.json} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename AssertionTester/Assertions/{td-vocab-op.json => td-vocab-op--Form.json} (98%) diff --git a/AssertionTester/Assertions/td-vocab-op.json b/AssertionTester/Assertions/td-vocab-op--Form.json similarity index 98% rename from AssertionTester/Assertions/td-vocab-op.json rename to AssertionTester/Assertions/td-vocab-op--Form.json index beda8a17b..1844fae37 100644 --- a/AssertionTester/Assertions/td-vocab-op.json +++ b/AssertionTester/Assertions/td-vocab-op--Form.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-op", + "title": "td-vocab-op--Form", "description": "op: Indicates the expected result of performing the operation described by the form. For example, the Property interaction allows get and set operations. The protocol binding may contain a form for the get operation and a different form for the set operation. The op attribute indicates which form is which and allows the client to select the correct form for the operation required. ", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -127,7 +127,7 @@ } }, "then": { - "const": "td-vocab-op=pass" + "const": "td-vocab-op--Form=pass" }, "else": { "properties": { @@ -211,4 +211,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} From 4e5a0138d97ea9c89a37686371f70a68b732f1ea Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 21:53:10 +0900 Subject: [PATCH 28/38] output --- ...b-output.json => td-vocab-output--ActionAffordance.json} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename AssertionTester/Assertions/{td-vocab-output.json => td-vocab-output--ActionAffordance.json} (96%) diff --git a/AssertionTester/Assertions/td-vocab-output.json b/AssertionTester/Assertions/td-vocab-output--ActionAffordance.json similarity index 96% rename from AssertionTester/Assertions/td-vocab-output.json rename to AssertionTester/Assertions/td-vocab-output--ActionAffordance.json index ffa58a8a2..a47dbf39e 100644 --- a/AssertionTester/Assertions/td-vocab-output.json +++ b/AssertionTester/Assertions/td-vocab-output--ActionAffordance.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-output", + "title": "td-vocab-output--ActionAffordance", "description": "output: Used to define the output data schema of the action.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -25,7 +25,7 @@ "additionalProperties": true }, "then": { - "const": "td-vocab-output=pass" + "const": "td-vocab-output--ActionAffordance=pass" } }, "dataSchema": { @@ -121,4 +121,4 @@ "type": "object" } } -} \ No newline at end of file +} From e0d17a45fb81d11631f96c7a0c17d9547dfcfeed Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 21:56:30 +0900 Subject: [PATCH 29/38] properties--ObjectSchema --- ...ties-2.json => td-vocab-properties--ObjectSchema.json} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename AssertionTester/Assertions/{td-vocab-properties-2.json => td-vocab-properties--ObjectSchema.json} (96%) diff --git a/AssertionTester/Assertions/td-vocab-properties-2.json b/AssertionTester/Assertions/td-vocab-properties--ObjectSchema.json similarity index 96% rename from AssertionTester/Assertions/td-vocab-properties-2.json rename to AssertionTester/Assertions/td-vocab-properties--ObjectSchema.json index 9f69c7c22..97e96f7d2 100644 --- a/AssertionTester/Assertions/td-vocab-properties-2.json +++ b/AssertionTester/Assertions/td-vocab-properties--ObjectSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-properties-2", + "title": "td-vocab-properties--ObjectSchema", "description": "properties: Data schema nested definitions. MAY be included. Type: DataSchema.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -40,7 +40,7 @@ } }, "then": { - "const": "td-vocab-properties-2=pass" + "const": "td-vocab-properties--ObjectSchema=pass" } }, "action_element": { @@ -81,7 +81,7 @@ } }, "then": { - "const": "td-vocab-properties-2=pass" + "const": "td-vocab-properties--ObjectSchema=pass" }, "else": { "properties": { @@ -182,4 +182,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} From bca95e55caae7bf30469c39c0a82034fc5c11c2d Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 22:08:14 +0900 Subject: [PATCH 30/38] proxy --- ...vocab-proxy.json => td-vocab-proxy--SecurityScheme.json} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename AssertionTester/Assertions/{td-vocab-proxy.json => td-vocab-proxy--SecurityScheme.json} (90%) diff --git a/AssertionTester/Assertions/td-vocab-proxy.json b/AssertionTester/Assertions/td-vocab-proxy--SecurityScheme.json similarity index 90% rename from AssertionTester/Assertions/td-vocab-proxy.json rename to AssertionTester/Assertions/td-vocab-proxy--SecurityScheme.json index 09377316d..819f3c10e 100644 --- a/AssertionTester/Assertions/td-vocab-proxy.json +++ b/AssertionTester/Assertions/td-vocab-proxy--SecurityScheme.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-proxy", + "title": "td-vocab-proxy--SecurityScheme", "description": "proxy: URI of the proxy server this security configuration provides access to. If not given, the corresponding security configuration is for the endpoint. MAY be included. Type: anyURI.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -27,7 +27,7 @@ "required": ["proxy"] }, "then": { - "const": "td-vocab-proxy=pass" + "const": "td-vocab-proxy--SecurityScheme=pass" } }, "url": { @@ -35,4 +35,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} From 19fec001a68c11c5377c36f1833dbba3f592298b Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 22:13:35 +0900 Subject: [PATCH 31/38] qop, readOnly, refresh --- ...b-qop.json => td-vocab-qop--DigestSecurityScheme.json} | 6 +++--- ...b-readOnly.json => td-vocab-readOnly--DataSchema.json} | 8 ++++---- ...h.json => td-vocab-refresh--OAuth2SecurityScheme.json} | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) rename AssertionTester/Assertions/{td-vocab-qop.json => td-vocab-qop--DigestSecurityScheme.json} (94%) rename AssertionTester/Assertions/{td-vocab-readOnly.json => td-vocab-readOnly--DataSchema.json} (97%) rename AssertionTester/Assertions/{td-vocab-refresh.json => td-vocab-refresh--OAuth2SecurityScheme.json} (94%) diff --git a/AssertionTester/Assertions/td-vocab-qop.json b/AssertionTester/Assertions/td-vocab-qop--DigestSecurityScheme.json similarity index 94% rename from AssertionTester/Assertions/td-vocab-qop.json rename to AssertionTester/Assertions/td-vocab-qop--DigestSecurityScheme.json index 4f6d2f6ed..a75cb2ced 100644 --- a/AssertionTester/Assertions/td-vocab-qop.json +++ b/AssertionTester/Assertions/td-vocab-qop--DigestSecurityScheme.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-qop", + "title": "td-vocab-qop--DigestSecurityScheme", "description": "qop: Quality of protection (one of auth or auth-int). MUST be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -53,7 +53,7 @@ }] }, "then": { - "const": "td-vocab-qop=pass" + "const": "td-vocab-qop--DigestSecurityScheme=pass" } }, "url": { @@ -61,4 +61,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-readOnly.json b/AssertionTester/Assertions/td-vocab-readOnly--DataSchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-readOnly.json rename to AssertionTester/Assertions/td-vocab-readOnly--DataSchema.json index dd289f965..8f11ac2cf 100644 --- a/AssertionTester/Assertions/td-vocab-readOnly.json +++ b/AssertionTester/Assertions/td-vocab-readOnly--DataSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-readOnly", + "title": "td-vocab-readOnly--DataSchema", "description": "readOnly: Boolean value that indicates whether a property interaction / value is read only (=true) or not (=false). MUST be included. Type: boolean.", "$schema ": "http://json-schema.org/draft-06/schema#", "also": ["td-data-schema_readOnly"], @@ -38,7 +38,7 @@ } }, "then": { - "const": "td-vocab-readOnly=pass" + "const": "td-vocab-readOnly--DataSchema=pass" }, "else": { "properties": { @@ -95,7 +95,7 @@ } }, "then": { - "const": "td-vocab-readOnly=pass" + "const": "td-vocab-readOnly--DataSchema=pass" }, "else": { "properties": { @@ -194,4 +194,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-refresh.json b/AssertionTester/Assertions/td-vocab-refresh--OAuth2SecurityScheme.json similarity index 94% rename from AssertionTester/Assertions/td-vocab-refresh.json rename to AssertionTester/Assertions/td-vocab-refresh--OAuth2SecurityScheme.json index 573a52e92..d65e45ed1 100644 --- a/AssertionTester/Assertions/td-vocab-refresh.json +++ b/AssertionTester/Assertions/td-vocab-refresh--OAuth2SecurityScheme.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-refresh", + "title": "td-vocab-refresh--OAuth2SecurityScheme", "description": "refresh: URI of the refresh server. MAY be included. Type: anyURI.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -61,7 +61,7 @@ }] }, "then": { - "const": "td-vocab-refresh=pass" + "const": "td-vocab-refresh--OAuth2SecurityScheme=pass" } }, "url": { @@ -69,4 +69,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} From f4dea1a3617c53326d25aad6db959cd03268475d Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 22:17:34 +0900 Subject: [PATCH 32/38] rel, required, response --- .../{td-vocab-rel.json => td-vocab-rel--Link.json} | 6 +++--- ...required.json => td-vocab-required--ObjectSchema.json} | 8 ++++---- ...d-vocab-response.json => td-vocab-response--Form.json} | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) rename AssertionTester/Assertions/{td-vocab-rel.json => td-vocab-rel--Link.json} (89%) rename AssertionTester/Assertions/{td-vocab-required.json => td-vocab-required--ObjectSchema.json} (97%) rename AssertionTester/Assertions/{td-vocab-response.json => td-vocab-response--Form.json} (97%) diff --git a/AssertionTester/Assertions/td-vocab-rel.json b/AssertionTester/Assertions/td-vocab-rel--Link.json similarity index 89% rename from AssertionTester/Assertions/td-vocab-rel.json rename to AssertionTester/Assertions/td-vocab-rel--Link.json index 5a6eebb13..def848a5a 100644 --- a/AssertionTester/Assertions/td-vocab-rel.json +++ b/AssertionTester/Assertions/td-vocab-rel--Link.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-rel", + "title": "td-vocab-rel--Link", "description": "rel: Indicates the relation to an other Thing.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -27,8 +27,8 @@ ] }, "then": { - "const": "td-vocab-rel=pass" + "const": "td-vocab-rel--Link=pass" } } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-required.json b/AssertionTester/Assertions/td-vocab-required--ObjectSchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-required.json rename to AssertionTester/Assertions/td-vocab-required--ObjectSchema.json index 8038c3afa..521c3e16e 100644 --- a/AssertionTester/Assertions/td-vocab-required.json +++ b/AssertionTester/Assertions/td-vocab-required--ObjectSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-required", + "title": "td-vocab-required--ObjectSchema", "description": "required: Defines which members of the object type are mandatory. MAY be included. Type: array of string.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -41,7 +41,7 @@ } }, "then": { - "const": "td-vocab-required=pass" + "const": "td-vocab-required--ObjectSchema=pass" }, "else": { "properties": { @@ -101,7 +101,7 @@ } }, "then": { - "const": "td-vocab-required=pass" + "const": "td-vocab-required--ObjectSchema=pass" }, "else": { "properties": { @@ -202,4 +202,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-response.json b/AssertionTester/Assertions/td-vocab-response--Form.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-response.json rename to AssertionTester/Assertions/td-vocab-response--Form.json index b67995b3d..baa908e0a 100644 --- a/AssertionTester/Assertions/td-vocab-response.json +++ b/AssertionTester/Assertions/td-vocab-response--Form.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-response", + "title": "td-vocab-response--Form", "description": "response: This optional term can be used if, e.g., the output communication metadata differ from input metdata (e.g., output contentType differ from the input contentType). The response name contains metadata that is only valid for the reponse messages.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -102,7 +102,7 @@ }, "then": { - "const": "td-vocab-response=pass" + "const": "td-vocab-response--Form=pass" }, "else": { "properties": { @@ -150,4 +150,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} From 06399ffef78f18785b6a10ec3d698ea7563197bd Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 22:38:43 +0900 Subject: [PATCH 33/38] safe, subprotocol, subscription, support, token, type --- ...cab-safe.json => td-vocab-safe--ActionAffordance.json} | 6 +++--- ...b-subprotocol.json => td-vocab-subprotocol--Form.json} | 6 +++--- ...n.json => td-vocab-subscription--EventAffordance.json} | 6 +++--- ...td-vocab-support.json => td-vocab-support--Thing.json} | 4 ++-- ...ken.json => td-vocab-token--OAuth2SecurityScheme.json} | 6 +++--- ...d-vocab-type-2.json => td-vocab-type--DataSchema.json} | 8 ++++---- .../{td-vocab-type-1.json => td-vocab-type--Link.json} | 6 +++--- 7 files changed, 21 insertions(+), 21 deletions(-) rename AssertionTester/Assertions/{td-vocab-safe.json => td-vocab-safe--ActionAffordance.json} (90%) rename AssertionTester/Assertions/{td-vocab-subprotocol.json => td-vocab-subprotocol--Form.json} (97%) rename AssertionTester/Assertions/{td-vocab-subscription.json => td-vocab-subscription--EventAffordance.json} (96%) rename AssertionTester/Assertions/{td-vocab-support.json => td-vocab-support--Thing.json} (89%) rename AssertionTester/Assertions/{td-vocab-token.json => td-vocab-token--OAuth2SecurityScheme.json} (94%) rename AssertionTester/Assertions/{td-vocab-type-2.json => td-vocab-type--DataSchema.json} (97%) rename AssertionTester/Assertions/{td-vocab-type-1.json => td-vocab-type--Link.json} (90%) diff --git a/AssertionTester/Assertions/td-vocab-safe.json b/AssertionTester/Assertions/td-vocab-safe--ActionAffordance.json similarity index 90% rename from AssertionTester/Assertions/td-vocab-safe.json rename to AssertionTester/Assertions/td-vocab-safe--ActionAffordance.json index 5569cf88c..9147635b2 100644 --- a/AssertionTester/Assertions/td-vocab-safe.json +++ b/AssertionTester/Assertions/td-vocab-safe--ActionAffordance.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-safe", + "title": "td-vocab-safe--ActionAffordance", "description": "safe: Signals if the action is safe (=true) or not. Used to signal if there is no internal state (cf. resource state) is changed when invoking an Action. In that case responses can be cached as example.", "$schema ": "http://json-schema.org/draft-06/schema#", "also": ["td-action-names_safe"], @@ -29,9 +29,9 @@ "additionalProperties": true }, "then": { - "const": "td-vocab-safe=pass" + "const": "td-vocab-safe--ActionAffordance=pass" } } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-subprotocol.json b/AssertionTester/Assertions/td-vocab-subprotocol--Form.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-subprotocol.json rename to AssertionTester/Assertions/td-vocab-subprotocol--Form.json index 05cfd0a70..d4b246e83 100644 --- a/AssertionTester/Assertions/td-vocab-subprotocol.json +++ b/AssertionTester/Assertions/td-vocab-subprotocol--Form.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-subprotocol", + "title": "td-vocab-subprotocol--Form", "description": "subprotocol: Indicates the exact mechanism by which an interaction will be accomplished for a given protocol when there are multiple options. For example, for HTTP and Events, it indicates which of several available mechanisms should be used for asynchronous notifications. ", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -97,7 +97,7 @@ } }, "then": { - "const": "td-vocab-subprotocol=pass" + "const": "td-vocab-subprotocol--Form=pass" }, "else": { "properties": { @@ -145,4 +145,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-subscription.json b/AssertionTester/Assertions/td-vocab-subscription--EventAffordance.json similarity index 96% rename from AssertionTester/Assertions/td-vocab-subscription.json rename to AssertionTester/Assertions/td-vocab-subscription--EventAffordance.json index 6a7d43b98..bfa09e4e2 100644 --- a/AssertionTester/Assertions/td-vocab-subscription.json +++ b/AssertionTester/Assertions/td-vocab-subscription--EventAffordance.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-subscription", + "title": "td-vocab-subscription--EventAffordance", "description": "subscription: Defines data that needs to be passed upon subscription, e.g., filters or message format for setting up Webhooks.", "$schema ": "http://json-schema.org/draft-06/schema#", "also": ["td-event-names_subscription", "td-event-objects_subscription"], @@ -29,7 +29,7 @@ "additionalProperties": true }, "then": { - "const": "td-event-names_subscription=pass" + "const": "td-vocab-subscription--EventAffordance=pass" } }, "dataSchema": { @@ -125,4 +125,4 @@ "type": "object" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-support.json b/AssertionTester/Assertions/td-vocab-support--Thing.json similarity index 89% rename from AssertionTester/Assertions/td-vocab-support.json rename to AssertionTester/Assertions/td-vocab-support--Thing.json index 8f359f4e8..4ff3b0e0b 100644 --- a/AssertionTester/Assertions/td-vocab-support.json +++ b/AssertionTester/Assertions/td-vocab-support--Thing.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-support", + "title": "td-vocab-support--Thing", "description": "support: Provides information about the TD maintainer (e.g., author, link or telephone number to get support, etc).", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": false, @@ -10,4 +10,4 @@ } }, "required": ["support"] -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-token.json b/AssertionTester/Assertions/td-vocab-token--OAuth2SecurityScheme.json similarity index 94% rename from AssertionTester/Assertions/td-vocab-token.json rename to AssertionTester/Assertions/td-vocab-token--OAuth2SecurityScheme.json index 12b19f1a8..80576fd81 100644 --- a/AssertionTester/Assertions/td-vocab-token.json +++ b/AssertionTester/Assertions/td-vocab-token--OAuth2SecurityScheme.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-token", + "title": "td-vocab-token--OAuth2SecurityScheme", "description": "token: URI of the token server. MAY be included. Type: anyURI.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -61,7 +61,7 @@ }] }, "then": { - "const": "td-vocab-token=pass" + "const": "td-vocab-token--OAuth2SecurityScheme=pass" } }, "url": { @@ -69,4 +69,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-type-2.json b/AssertionTester/Assertions/td-vocab-type--DataSchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-type-2.json rename to AssertionTester/Assertions/td-vocab-type--DataSchema.json index edad19490..d549426fa 100644 --- a/AssertionTester/Assertions/td-vocab-type-2.json +++ b/AssertionTester/Assertions/td-vocab-type--DataSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-type-2", + "title": "td-vocab-type--DataSchema", "description": "type: Assignment of JSON-based data types compatible with JSON Schema (one of boolean, integer, number, string, object, array, or null). MAY be included. Type: string (one of object, array, string, number, integer, boolean, or null).", "$schema ": "http://json-schema.org/draft-06/schema#", "also": ["td-data-schema_type"], @@ -47,7 +47,7 @@ } }, "then": { - "const": "td-vocab-type-2=pass" + "const": "td-vocab-type--DataSchema=pass" } }, "action_element": { @@ -95,7 +95,7 @@ } }, "then": { - "const": "td-vocab-type-2=pass" + "const": "td-vocab-type--DataSchema=pass" }, "else": { "properties": { @@ -196,4 +196,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-type-1.json b/AssertionTester/Assertions/td-vocab-type--Link.json similarity index 90% rename from AssertionTester/Assertions/td-vocab-type-1.json rename to AssertionTester/Assertions/td-vocab-type--Link.json index e47311da1..6dc4d17d9 100644 --- a/AssertionTester/Assertions/td-vocab-type-1.json +++ b/AssertionTester/Assertions/td-vocab-type--Link.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-type-1", + "title": "td-vocab-type--Link", "description": "Provides a hint indicating what the media type [MEDIATYPES] of the result of dereferencing the link should be.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -27,8 +27,8 @@ ] }, "then": { - "const": "td-vocab-type=pass" + "const": "td-vocab-type--Link=pass" } } } -} \ No newline at end of file +} From a6e3f642205dc487bf4c88086165c323aebab67d Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 22:48:39 +0900 Subject: [PATCH 34/38] unit, uriVariables, writeOnly --- ...-vocab-unit.json => td-vocab-unit--DataSchema.json} | 8 ++++---- ... td-vocab-uriVariables--InteractionAffordance.json} | 10 +++++----- ...teOnly.json => td-vocab-writeOnly--DataSchema.json} | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) rename AssertionTester/Assertions/{td-vocab-unit.json => td-vocab-unit--DataSchema.json} (97%) rename AssertionTester/Assertions/{td-vocab-uriVariables.json => td-vocab-uriVariables--InteractionAffordance.json} (93%) rename AssertionTester/Assertions/{td-vocab-writeOnly.json => td-vocab-writeOnly--DataSchema.json} (97%) diff --git a/AssertionTester/Assertions/td-vocab-unit.json b/AssertionTester/Assertions/td-vocab-unit--DataSchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-unit.json rename to AssertionTester/Assertions/td-vocab-unit--DataSchema.json index 8e70873ff..5123896c9 100644 --- a/AssertionTester/Assertions/td-vocab-unit.json +++ b/AssertionTester/Assertions/td-vocab-unit--DataSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-unit", + "title": "td-vocab-unit--DataSchema", "description": "unit: Provides unit information that is used, e.g., in international science, engineering, and business. MAY be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", "also": ["td-data-schema_unit"], @@ -39,7 +39,7 @@ } }, "then": { - "const": "td-vocab-unit=pass" + "const": "td-vocab-unit--DataSchema=pass" }, "else": { "properties": { @@ -96,7 +96,7 @@ } }, "then": { - "const": "td-vocab-unit=pass" + "const": "td-vocab-unit--DataSchema=pass" }, "else": { "properties": { @@ -197,4 +197,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-uriVariables.json b/AssertionTester/Assertions/td-vocab-uriVariables--InteractionAffordance.json similarity index 93% rename from AssertionTester/Assertions/td-vocab-uriVariables.json rename to AssertionTester/Assertions/td-vocab-uriVariables--InteractionAffordance.json index a868fb67c..1083e0172 100644 --- a/AssertionTester/Assertions/td-vocab-uriVariables.json +++ b/AssertionTester/Assertions/td-vocab-uriVariables--InteractionAffordance.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-uriVariables", + "title": "td-vocab-uriVariables--InteractionAffordance", "description": "uriVariables: Define URI template variables as collection based on DataSchema declarations.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -39,7 +39,7 @@ } }, "then": { - "const": "td-vocab-uriVariables=pass" + "const": "td-vocab-uriVariables--InteractionAffordance=pass" } }, "action_element": { @@ -53,7 +53,7 @@ } }, "then": { - "const": "td-vocab-uriVariables=pass" + "const": "td-vocab-uriVariables--InteractionAffordance=pass" } }, "event_element": { @@ -67,7 +67,7 @@ } }, "then": { - "const": "td-vocab-uriVariables=pass" + "const": "td-vocab-uriVariables--InteractionAffordance=pass" } }, "dataSchema": { @@ -163,4 +163,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-writeOnly.json b/AssertionTester/Assertions/td-vocab-writeOnly--DataSchema.json similarity index 97% rename from AssertionTester/Assertions/td-vocab-writeOnly.json rename to AssertionTester/Assertions/td-vocab-writeOnly--DataSchema.json index ab5b85acd..d3bab9042 100644 --- a/AssertionTester/Assertions/td-vocab-writeOnly.json +++ b/AssertionTester/Assertions/td-vocab-writeOnly--DataSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-writeOnly", + "title": "td-vocab-writeOnly--DataSchema", "description": "writeOnly: Boolean value that indicates whether a property interaction / value is write only (=true) or not (=false). MUST be included. Type: boolean.", "$schema ": "http://json-schema.org/draft-06/schema#", "also": ["td-data-schema_writeOnly"], @@ -38,7 +38,7 @@ } }, "then": { - "const": "td-vocab-writeOnly=pass" + "const": "td-vocab-writeOnly--DataSchema=pass" }, "else": { "properties": { @@ -95,7 +95,7 @@ } }, "then": { - "const": "td-vocab-writeOnly=pass" + "const": "td-vocab-writeOnly--DataSchema=pass" }, "else": { "properties": { @@ -194,4 +194,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} From 23c4c09a4317f94570914f7561a697b84c6a5db7 Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 23:34:57 +0900 Subject: [PATCH 35/38] scopes, authorization fixes --- ...b-authorization--OAuth2SecurityScheme.json | 29 +-- ...ocab-authorization--PoPSecurityScheme.json | 4 +- .../Assertions/td-vocab-scopes--Form.json | 81 +++++++ ...td-vocab-scopes--OAuth2SecurityScheme.json | 71 +++++++ .../Assertions/td-vocab-scopes.json | 197 ------------------ 5 files changed, 169 insertions(+), 213 deletions(-) create mode 100644 AssertionTester/Assertions/td-vocab-scopes--Form.json create mode 100644 AssertionTester/Assertions/td-vocab-scopes--OAuth2SecurityScheme.json delete mode 100644 AssertionTester/Assertions/td-vocab-scopes.json diff --git a/AssertionTester/Assertions/td-vocab-authorization--OAuth2SecurityScheme.json b/AssertionTester/Assertions/td-vocab-authorization--OAuth2SecurityScheme.json index 55e5cc219..692cb4a63 100644 --- a/AssertionTester/Assertions/td-vocab-authorization--OAuth2SecurityScheme.json +++ b/AssertionTester/Assertions/td-vocab-authorization--OAuth2SecurityScheme.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-authorization--PoPSecurityScheme", + "title": "td-vocab-authorization--OAuth2SecurityScheme", "description": "authorization: URI of the authorization server. MAY be included. Type: anyURI.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -31,26 +31,27 @@ "scheme": { "type": "string", "enum": [ - "pop" + "oauth2" ] }, "authorization": { "$ref": "#/definitions/url" }, - "alg": { - "type": "string", - "enum": ["MD5", "ES256", "ES512-256"] + "token": { + "$ref": "#/definitions/url" }, - "format": { - "type": "string", - "enum": ["jwt", "jwe", "jws"] + "refresh": { + "$ref": "#/definitions/url" }, - "in": { - "type": "string", - "enum": ["header", "query", "body", "cookie"] + "scopes": { + "type": "array", + "items": { + "type": "string" + } }, - "name": { - "type": "string" + "flow": { + "type": "string", + "enum": ["implicit", "password", "client", "code"] } }, "required": [ @@ -58,7 +59,7 @@ ] }, "then": { - "const": "td-vocab-authorization--PoPSecurityScheme=pass" + "const": "td-vocab-authorization--OAuth2SecurityScheme=pass" } }, "url": { diff --git a/AssertionTester/Assertions/td-vocab-authorization--PoPSecurityScheme.json b/AssertionTester/Assertions/td-vocab-authorization--PoPSecurityScheme.json index 3e457efb0..e54a6090d 100644 --- a/AssertionTester/Assertions/td-vocab-authorization--PoPSecurityScheme.json +++ b/AssertionTester/Assertions/td-vocab-authorization--PoPSecurityScheme.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-authorization--OAuth2SecurityScheme", + "title": "td-vocab-authorization--PoPSecurityScheme", "description": "authorization: URI of the authorization server. MAY be included. Type: anyURI.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -58,7 +58,7 @@ ] }, "then": { - "const": "td-vocab-authorization--OAuth2SecurityScheme=pass" + "const": "td-vocab-authorization--PopSecurityScheme=pass" } }, "url": { diff --git a/AssertionTester/Assertions/td-vocab-scopes--Form.json b/AssertionTester/Assertions/td-vocab-scopes--Form.json new file mode 100644 index 000000000..ff0f15557 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-scopes--Form.json @@ -0,0 +1,81 @@ +{ + "title": "td-vocab-scopes--Form", + "description": "scopes: Set of authorization scope identifiers, provided as an array. These are provided in tokens returned by an authorization server and associated with forms in order to identify what resources a client may access and how.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "also": ["td-arrays_scopes"], + "type": "object", + "properties": { + "forms": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/form_element" + } + } + }, + "additionalProperties": true, + "definitions": { + "form_element": { + "type": "object", + "if": { + "required": ["scopes"], + "properties": { + "scopes": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "then": { + "const": "td-vocab-scopes--Form=pass" + }, + "else": { + "properties": { + "href": { + "$ref": "#/definitions/url" + }, + "contentType": { + "type": "string" + }, + "security": { + "type": "array", + "items": { + "type": "string" + } + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + } + }, + "subProtocol": { + "type": "string", + "enum": [ + "longpoll" + ] + }, + "response": { + "type": "object", + "properties": { + "contentType": { + "type": "string" + } + } + } + }, + "required": [ + "href" + ], + "additionalProperties": true + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-scopes--OAuth2SecurityScheme.json b/AssertionTester/Assertions/td-vocab-scopes--OAuth2SecurityScheme.json new file mode 100644 index 000000000..bd81611af --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-scopes--OAuth2SecurityScheme.json @@ -0,0 +1,71 @@ +{ + "title": "td-vocab-scopes--OAuth2SecurityScheme", + "description": "scopes: Set of authorization scope identifiers, provided as an array. These are provided in tokens returned by an authorization server and associated with forms in order to identify what resources a client may access and how.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": true, + "also": ["td-arrays_scopes"], + "type": "object", + "properties": { + "securityDefinitions": { + "type": "object", + "minProperties": 1, + "additionalProperties": { + "$ref": "#/definitions/securityScheme" + } + } + }, + "required": [ + "securityDefinitions" + ], + "additionalProperties": true, + "definitions": { + "securityScheme": { + "if": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/url" + }, + "scheme": { + "type": "string", + "enum": [ + "oauth2" + ] + }, + "authorization": { + "$ref": "#/definitions/url" + }, + "token": { + "$ref": "#/definitions/url" + }, + "refresh": { + "$ref": "#/definitions/url" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + } + }, + "flow": { + "type": "string", + "enum": ["implicit", "password", "client", "code"] + } + }, + "required": [ + "scheme", "scopes" + ] + }, + "then": { + "const": "td-vocab-scopes--OAuth2SecurityScheme=pass" + } + }, + "url": { + "type": "string", + "format": "uri-reference" + } + } +} diff --git a/AssertionTester/Assertions/td-vocab-scopes.json b/AssertionTester/Assertions/td-vocab-scopes.json deleted file mode 100644 index fa1e0bec9..000000000 --- a/AssertionTester/Assertions/td-vocab-scopes.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "title": "td-vocab-scopes", - "description": "scopes: Set of authorization scope identifiers, provided as an array. These are provided in tokens returned by an authorization server and associated with forms in order to identify what resources a client may access and how.", - "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": true, - "also": ["td-arrays_scopes"], - "type": "object", - "properties": { - "forms": { - "type": "array", - "minItems": 1, - "items": { - "$ref": "#/definitions/form_element" - } - }, - "properties": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/property_element" - } - - }, - "actions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/action_element" - } - }, - "events": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/event_element" - } - } - - }, - "additionalProperties": true, - "definitions": { - "property_element": { - "type": "object", - "if": { - "required": ["scopes"], - "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "then": { - "const": "td-vocab-scopes=pass" - }, - "else": { - "properties": { - "forms": { - "type": "array", - "minItems": 1, - "items": { - "$ref": "#/definitions/form_element" - } - } - }, - "required": [ - "forms" - ], - "additionalProperties": true - } - }, - "action_element": { - "type": "object", - "if": { - "required": ["scopes"], - "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "then": { - "const": "td-vocab-scopes=pass" - }, - "else": { - "properties": { - "forms": { - "type": "array", - "minItems": 1, - "items": { - "$ref": "#/definitions/form_element" - } - } - }, - "required": [ - "forms" - ], - "additionalProperties": true - } - }, - "event_element": { - "type": "object", - "if": { - "required": ["scopes"], - "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "then": { - "const": "td-vocab-scopes=pass" - }, - "else": { - "properties": { - "forms": { - "type": "array", - "minItems": 1, - "items": { - "$ref": "#/definitions/form_element" - } - } - }, - "required": [ - "forms" - ], - "additionalProperties": true - } - }, - "form_element": { - "type": "object", - "if": { - "required": ["scopes"], - "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "then": { - "const": "td-vocab-scopes=pass" - }, - "else": { - "properties": { - "href": { - "$ref": "#/definitions/url" - }, - "contentType": { - "type": "string" - }, - "security": { - "type": "array", - "items": { - "type": "string" - } - }, - "scopes": { - "type": "array", - "items": { - "type": "string" - } - }, - "subProtocol": { - "type": "string", - "enum": [ - "longpoll" - ] - }, - "response": { - "type": "object", - "properties": { - "contentType": { - "type": "string" - } - } - } - }, - "required": [ - "href" - ], - "additionalProperties": true - } - }, - "url": { - "type": "string", - "format": "uri-reference" - } - } -} \ No newline at end of file From abee59ee9b160946789fa82eae64d1ef8224eb3f Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Mon, 4 Mar 2019 23:52:30 +0900 Subject: [PATCH 36/38] security --- ...ty-3.json => td-vocab-security--Form.json} | 6 +- .../Assertions/td-vocab-security--Thing.json | 18 ++++ .../Assertions/td-vocab-security-2.json | 86 ------------------- 3 files changed, 21 insertions(+), 89 deletions(-) rename AssertionTester/Assertions/{td-vocab-security-3.json => td-vocab-security--Form.json} (96%) create mode 100644 AssertionTester/Assertions/td-vocab-security--Thing.json delete mode 100644 AssertionTester/Assertions/td-vocab-security-2.json diff --git a/AssertionTester/Assertions/td-vocab-security-3.json b/AssertionTester/Assertions/td-vocab-security--Form.json similarity index 96% rename from AssertionTester/Assertions/td-vocab-security-3.json rename to AssertionTester/Assertions/td-vocab-security--Form.json index 451297044..f390cd3fe 100644 --- a/AssertionTester/Assertions/td-vocab-security-3.json +++ b/AssertionTester/Assertions/td-vocab-security--Form.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-security-3", + "title": "td-vocab-security--Form", "description": "security: Set of security definition names, chosen from those defined in securityDefinitions. These must all be satisfied for access to resources at or below the current level, if not overridden at a lower level. MAY be included. Type: array of string.", "$schema ": "http://json-schema.org/draft-06/schema#", "is-complex": true, @@ -99,7 +99,7 @@ "additionalProperties": true }, "then": { - "const": "td-vocab-security-3=pass" + "const": "td-vocab-security--Form=pass" } }, "url": { @@ -107,4 +107,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-security--Thing.json b/AssertionTester/Assertions/td-vocab-security--Thing.json new file mode 100644 index 000000000..a6cce6007 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-security--Thing.json @@ -0,0 +1,18 @@ +{ + "title": "td-vocab-security--Thing", + "description": "security: Set of security definition names, chosen from those defined in securityDefinitions. These must all be satisfied for access to resources at or below the current level, if not overridden at a lower level. MAY be included. Type: array of string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "is-complex": false, + "also": ["td-security-overrides_form"], + "type": "object", + "properties": { + "security": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["security"], + "additionalProperties": true +} diff --git a/AssertionTester/Assertions/td-vocab-security-2.json b/AssertionTester/Assertions/td-vocab-security-2.json deleted file mode 100644 index c7bd94e94..000000000 --- a/AssertionTester/Assertions/td-vocab-security-2.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "title": "td-vocab-security-2", - "description": "security: Set of security definition names, chosen from those defined in securityDefinitions. These must all be satisfied for access to resources at or below the current level, if not overridden at a lower level. MAY be included. Type: array of string.", - "$schema ": "http://json-schema.org/draft-06/schema#", - "is-complex": true, - "also": ["td-security-overrides_interaction"], - "type": "object", - "properties": { - "properties": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/property_element" - } - }, - "actions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/action_element" - } - }, - "events": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/event_element" - } - } - }, - "additionalProperties": true, - "definitions": { - "property_element": { - "type": "object", - "if": { - "required": ["security"], - "properties": { - "security": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "then": { - "const": "td-vocab-security-2=pass" - } - }, - "action_element": { - "type": "object", - "if": { - "required": ["security"], - "properties": { - "security": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "then": { - "const": "td-vocab-security-2=pass" - } - }, - "event_element": { - "type": "object", - "if": { - "required": ["security"], - "properties": { - "security": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "then": { - "const": "td-vocab-security-2=pass" - } - }, - "url": { - "type": "string", - "format": "uri-reference" - } - } -} \ No newline at end of file From 605251aac48ddbd8f4934282c4b3d5c458a10d4b Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Tue, 5 Mar 2019 00:07:14 +0900 Subject: [PATCH 37/38] title --- ...e.json => td-vocab-title--DataSchema.json} | 94 ++++++------------- ...td-vocab-title--InteractionAffordance.json | 76 +++++++++++++++ 2 files changed, 103 insertions(+), 67 deletions(-) rename AssertionTester/Assertions/{td-vocab-title.json => td-vocab-title--DataSchema.json} (69%) create mode 100644 AssertionTester/Assertions/td-vocab-title--InteractionAffordance.json diff --git a/AssertionTester/Assertions/td-vocab-title.json b/AssertionTester/Assertions/td-vocab-title--DataSchema.json similarity index 69% rename from AssertionTester/Assertions/td-vocab-title.json rename to AssertionTester/Assertions/td-vocab-title--DataSchema.json index 9c331e252..b19737665 100644 --- a/AssertionTester/Assertions/td-vocab-title.json +++ b/AssertionTester/Assertions/td-vocab-title--DataSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-title", + "title": "td-vocab-title--DataSchema", "description": "title: Provides a human-readable title (e.g., display a text for UI representation) of the interaction pattern based on a default language. MAY be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", "also": ["td-data-schema_title"], @@ -29,85 +29,45 @@ "definitions": { "property_element": { "type": "object", - "if": { - "required": ["title"], + "properties": { "properties": { - "title": { - "$ref": "#/definitions/title" + "additionalProperties": { + "$ref": "#/definitions/dataSchema" } - } - }, - "then": { - "const": "td-vocab-title=pass" - }, - "else": { - "properties": { - "properties": { - "additionalProperties": { - "$ref": "#/definitions/dataSchema" - } - }, - "oneOf": { - "type": "array", - "items": { - "$ref": "#/definitions/dataSchema" - } - }, + }, + "oneOf": { + "type": "array", "items": { "$ref": "#/definitions/dataSchema" } + }, + "items": { + "$ref": "#/definitions/dataSchema" } } }, "action_element": { "type": "object", - "if": { - "required": ["title"], - "properties": { - "title": { - "$ref": "#/definitions/title" - } - } - }, - "then": { - "const": "td-vocab-title=pass" - }, - "else": { - - "properties": { - "input": { - "$ref": "#/definitions/dataSchema" - }, - "output": { - "$ref": "#/definitions/dataSchema" - } + "properties": { + "input": { + "$ref": "#/definitions/dataSchema" + }, + "output": { + "$ref": "#/definitions/dataSchema" } } }, "event_element": { "type": "object", - "if": { - "required": ["title"], - "properties": { - "title": { - "$ref": "#/definitions/title" - } - } - }, - "then": { - "const": "td-vocab-title=pass" - }, - "else": { - "properties": { - "subscription": { - "$ref": "#/definitions/dataSchema" - }, - "data": { - "$ref": "#/definitions/dataSchema" - }, - "cancellation": { - "$ref": "#/definitions/dataSchema" - } + "properties": { + "subscription": { + "$ref": "#/definitions/dataSchema" + }, + "data": { + "$ref": "#/definitions/dataSchema" + }, + "cancellation": { + "$ref": "#/definitions/dataSchema" } } }, @@ -122,7 +82,7 @@ } }, "then": { - "const": "td-vocab-title=pass" + "const": "td-vocab-title--DataSchema=pass" }, "else": { "properties": { @@ -221,4 +181,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-title--InteractionAffordance.json b/AssertionTester/Assertions/td-vocab-title--InteractionAffordance.json new file mode 100644 index 000000000..46ead8508 --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-title--InteractionAffordance.json @@ -0,0 +1,76 @@ +{ + "title": "td-vocab-title--InteractionAffordance", + "description": "title: Provides a human-readable title (e.g., display a text for UI representation) of the interaction pattern based on a default language. MAY be included. Type: string.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "also": ["td-data-schema_title"], + "is-complex": true, + "type": "object", + "properties": { + "properties": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/property_element" + } + }, + "actions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/action_element" + } + }, + "events": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/event_element" + } + } + }, + "additionalProperties": true, + "definitions": { + "property_element": { + "type": "object", + "if": { + "required": ["title"], + "properties": { + "title": { + "$ref": "#/definitions/title" + } + } + }, + "then": { + "const": "td-vocab-title--InteractionAffordance=pass" + } + }, + "action_element": { + "type": "object", + "if": { + "required": ["title"], + "properties": { + "title": { + "$ref": "#/definitions/title" + } + } + }, + "then": { + "const": "td-vocab-title--InteractionAffordance=pass" + } + }, + "event_element": { + "type": "object", + "if": { + "required": ["title"], + "properties": { + "title": { + "$ref": "#/definitions/title" + } + } + }, + "then": { + "const": "td-vocab-title--InteractionAffordance=pass" + } + }, + "title": { + "type": "string" + } + } +} From e029ea61aa9b53c7ec33d03056c95a5aeb3b8cf5 Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Tue, 5 Mar 2019 00:15:16 +0900 Subject: [PATCH 38/38] titles --- ...td-vocab-title--InteractionAffordance.json | 1 - ....json => td-vocab-titles--DataSchema.json} | 94 ++++++------------- ...d-vocab-titles--InteractionAffordance.json | 76 +++++++++++++++ 3 files changed, 103 insertions(+), 68 deletions(-) rename AssertionTester/Assertions/{td-vocab-titles.json => td-vocab-titles--DataSchema.json} (70%) create mode 100644 AssertionTester/Assertions/td-vocab-titles--InteractionAffordance.json diff --git a/AssertionTester/Assertions/td-vocab-title--InteractionAffordance.json b/AssertionTester/Assertions/td-vocab-title--InteractionAffordance.json index 46ead8508..c92fb1fd8 100644 --- a/AssertionTester/Assertions/td-vocab-title--InteractionAffordance.json +++ b/AssertionTester/Assertions/td-vocab-title--InteractionAffordance.json @@ -2,7 +2,6 @@ "title": "td-vocab-title--InteractionAffordance", "description": "title: Provides a human-readable title (e.g., display a text for UI representation) of the interaction pattern based on a default language. MAY be included. Type: string.", "$schema ": "http://json-schema.org/draft-06/schema#", - "also": ["td-data-schema_title"], "is-complex": true, "type": "object", "properties": { diff --git a/AssertionTester/Assertions/td-vocab-titles.json b/AssertionTester/Assertions/td-vocab-titles--DataSchema.json similarity index 70% rename from AssertionTester/Assertions/td-vocab-titles.json rename to AssertionTester/Assertions/td-vocab-titles--DataSchema.json index 8c5a57b77..270043e06 100644 --- a/AssertionTester/Assertions/td-vocab-titles.json +++ b/AssertionTester/Assertions/td-vocab-titles--DataSchema.json @@ -1,5 +1,5 @@ { - "title": "td-vocab-titles", + "title": "td-vocab-titles--DataSchema", "description": "titles: Provides multi-language human-readable titles (e.g., display a text for UI representation in different languages) of the interaction pattern. MAY be included. Type: MultiLanguage.", "$schema ": "http://json-schema.org/draft-06/schema#", "also": ["td-data-schema_titles", "td-multi-languages_titles"], @@ -29,85 +29,45 @@ "definitions": { "property_element": { "type": "object", - "if": { - "required": ["titles"], + "properties": { "properties": { - "titles": { - "$ref": "#/definitions/titles" + "additionalProperties": { + "$ref": "#/definitions/dataSchema" } - } - }, - "then": { - "const": "td-vocab-titles=pass" - }, - "else": { - "properties": { - "properties": { - "additionalProperties": { - "$ref": "#/definitions/dataSchema" - } - }, - "oneOf": { - "type": "array", - "items": { - "$ref": "#/definitions/dataSchema" - } - }, + }, + "oneOf": { + "type": "array", "items": { "$ref": "#/definitions/dataSchema" } + }, + "items": { + "$ref": "#/definitions/dataSchema" } } }, "action_element": { "type": "object", - "if": { - "required": ["titles"], - "properties": { - "titles": { - "$ref": "#/definitions/titles" - } - } - }, - "then": { - "const": "td-vocab-titles=pass" - }, - "else": { - - "properties": { - "input": { - "$ref": "#/definitions/dataSchema" - }, - "output": { - "$ref": "#/definitions/dataSchema" - } + "properties": { + "input": { + "$ref": "#/definitions/dataSchema" + }, + "output": { + "$ref": "#/definitions/dataSchema" } } }, "event_element": { "type": "object", - "if": { - "required": ["titles"], - "properties": { - "titles": { - "$ref": "#/definitions/titles" - } - } - }, - "then": { - "const": "td-vocab-titles=pass" - }, - "else": { - "properties": { - "subscription": { - "$ref": "#/definitions/dataSchema" - }, - "data": { - "$ref": "#/definitions/dataSchema" - }, - "cancellation": { - "$ref": "#/definitions/dataSchema" - } + "properties": { + "subscription": { + "$ref": "#/definitions/dataSchema" + }, + "data": { + "$ref": "#/definitions/dataSchema" + }, + "cancellation": { + "$ref": "#/definitions/dataSchema" } } }, @@ -122,7 +82,7 @@ } }, "then": { - "const": "td-vocab-titles=pass" + "const": "td-vocab-titles--DataSchema=pass" }, "else": { "properties": { @@ -221,4 +181,4 @@ "format": "uri-reference" } } -} \ No newline at end of file +} diff --git a/AssertionTester/Assertions/td-vocab-titles--InteractionAffordance.json b/AssertionTester/Assertions/td-vocab-titles--InteractionAffordance.json new file mode 100644 index 000000000..9fe95ffba --- /dev/null +++ b/AssertionTester/Assertions/td-vocab-titles--InteractionAffordance.json @@ -0,0 +1,76 @@ +{ + "title": "td-vocab-titles--InteractionAffordance", + "description": "titles: Provides multi-language human-readable titles (e.g., display a text for UI representation in different languages) of the interaction pattern. MAY be included. Type: MultiLanguage.", + "$schema ": "http://json-schema.org/draft-06/schema#", + "also": ["td-multi-languages_titles"], + "is-complex": true, + "type": "object", + "properties": { + "properties": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/property_element" + } + }, + "actions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/action_element" + } + }, + "events": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/event_element" + } + } + }, + "additionalProperties": true, + "definitions": { + "property_element": { + "type": "object", + "if": { + "required": ["titles"], + "properties": { + "titles": { + "$ref": "#/definitions/titles" + } + } + }, + "then": { + "const": "td-vocab-titles--InteractionAffordance=pass" + } + }, + "action_element": { + "type": "object", + "if": { + "required": ["titles"], + "properties": { + "titles": { + "$ref": "#/definitions/titles" + } + } + }, + "then": { + "const": "td-vocab-titles--InteractionAffordance=pass" + } + }, + "event_element": { + "type": "object", + "if": { + "required": ["titles"], + "properties": { + "titles": { + "$ref": "#/definitions/titles" + } + } + }, + "then": { + "const": "td-vocab-titles--InteractionAffordance=pass" + } + }, + "titles": { + "type": "object" + } + } +}