diff --git a/CHANGELOG.md b/CHANGELOG.md index fbe86d8..224cea9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +# 0.12.0 + +- Updates to fury 3.0.0-beta.3 which supports Refract 1.0 serialisation + rules. + # 0.12.0-beta.3 - Updates to fury 3.0.0-beta.2. diff --git a/package.json b/package.json index 1bb7e48..51e3067 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fury-adapter-swagger", - "version": "0.12.0-beta.3", + "version": "0.12.0", "description": "Swagger 2.0 parser for Fury.js", "main": "./lib/adapter.js", "tonicExampleFilename": "tonic-example.js", @@ -25,15 +25,18 @@ "yaml-js": "^0.1.5", "media-typer": "^0.3.0" }, + "peerDependencies": { + "fury": "3.0.0-beta.3" + }, "devDependencies": { "babel-plugin-array-includes": "^2.0.3", "chai": "^3.2.0", - "fury": "3.0.0-beta.2", + "fury": "3.0.0-beta.3", "glob": "^7.1.1", - "minim": "^0.17.1", - "minim-parse-result": "^0.6.1", + "minim": "^0.18.0", + "minim-parse-result": "^0.7.0", "peasant": "^1.1.0", - "swagger-zoo": "2.3.1" + "swagger-zoo": "2.4.0" }, "engines": { "node": ">=4" diff --git a/test/fixtures/ast-path-with-reference-sibling.json b/test/fixtures/ast-path-with-reference-sibling.json index c01ef7b..5eaf1f0 100644 --- a/test/fixtures/ast-path-with-reference-sibling.json +++ b/test/fixtures/ast-path-with-reference-sibling.json @@ -4,33 +4,63 @@ { "element": "annotation", "meta": { - "classes": [ - "error" - ], - "links": [ - { - "element": "link", - "attributes": { - "relation": "origin", - "href": "http://docs.apiary.io/validations/swagger#swagger-validation" - }, - "content": [] - } - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "error" + } + ] + }, + "links": { + "element": "array", + "content": [ + { + "element": "link", + "attributes": { + "relation": { + "element": "string", + "content": "origin" + }, + "href": { + "element": "string", + "content": "http://docs.apiary.io/validations/swagger#swagger-validation" + } + }, + "content": [] + } + ] + } }, "attributes": { - "code": 4, - "sourceMap": [ - { - "element": "sourceMap", - "content": [ - [ - 247, - 0 + "code": { + "element": "number", + "content": 4 + }, + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 247 + }, + { + "element": "number", + "content": 0 + } + ] + } ] - ] - } - ] + } + ] + } }, "content": "Expected type string but found type null" } diff --git a/test/fixtures/circular-example.json b/test/fixtures/circular-example.json index 2bb7983..762093a 100644 --- a/test/fixtures/circular-example.json +++ b/test/fixtures/circular-example.json @@ -4,38 +4,59 @@ { "element": "category", "meta": { - "classes": [ - "api" - ], - "title": "Test circular reference in example" + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "api" + } + ] + }, + "title": { + "element": "string", + "content": "Test circular reference in example" + } }, "attributes": { - "meta": [ - { - "element": "member", - "meta": { - "classes": [ - "user" - ] - }, - "content": { - "key": { - "element": "string", - "content": "HOST" + "meta": { + "element": "array", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "user" + } + ] + } }, - "value": { - "element": "string", - "content": "petstore.swagger.io" + "content": { + "key": { + "element": "string", + "content": "HOST" + }, + "value": { + "element": "string", + "content": "petstore.swagger.io" + } } } - } - ] + ] + } }, "content": [ { "element": "resource", "attributes": { - "href": "/" + "href": { + "element": "string", + "content": "/" + } }, "content": [ { @@ -47,7 +68,10 @@ { "element": "httpRequest", "attributes": { - "method": "GET" + "method": { + "element": "string", + "content": "GET" + } }, "content": [] }, @@ -72,7 +96,10 @@ } ] }, - "statusCode": "200" + "statusCode": { + "element": "string", + "content": "200" + } }, "content": [ { @@ -92,33 +119,63 @@ { "element": "annotation", "meta": { - "classes": [ - "warning" - ], - "links": [ - { - "element": "link", - "attributes": { - "relation": "origin", - "href": "http://docs.apiary.io/validations/swagger#refract-not-supported" - }, - "content": [] - } - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "warning" + } + ] + }, + "links": { + "element": "array", + "content": [ + { + "element": "link", + "attributes": { + "relation": { + "element": "string", + "content": "origin" + }, + "href": { + "element": "string", + "content": "http://docs.apiary.io/validations/swagger#refract-not-supported" + } + }, + "content": [] + } + ] + } }, "attributes": { - "code": 3, - "sourceMap": [ - { - "element": "sourceMap", - "content": [ - [ - 231, - 88 + "code": { + "element": "number", + "content": 3 + }, + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 231 + }, + { + "element": "number", + "content": 88 + } + ] + } ] - ] - } - ] + } + ] + } }, "content": "Circular references in examples are not yet supported." } diff --git a/test/fixtures/consumes-invalid-type.json b/test/fixtures/consumes-invalid-type.json index f1074dd..a490549 100644 --- a/test/fixtures/consumes-invalid-type.json +++ b/test/fixtures/consumes-invalid-type.json @@ -4,16 +4,28 @@ { "element": "category", "meta": { - "classes": [ - "api" - ], - "title": "Consumes JSON with invalid content type" + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "api" + } + ] + }, + "title": { + "element": "string", + "content": "Consumes JSON with invalid content type" + } }, "content": [ { "element": "resource", "attributes": { - "href": "/test" + "href": { + "element": "string", + "content": "/test" + } }, "content": [ { @@ -25,18 +37,30 @@ { "element": "httpRequest", "attributes": { - "method": "GET" + "method": { + "element": "string", + "content": "GET" + } }, "content": [ { "element": "asset", "meta": { - "classes": [ - "messageBodySchema" - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "messageBodySchema" + } + ] + } }, "attributes": { - "contentType": "application/schema+json" + "contentType": { + "element": "string", + "content": "application/schema+json" + } }, "content": "{\"type\":\"object\"}" }, @@ -52,7 +76,10 @@ { "element": "httpResponse", "attributes": { - "statusCode": "200" + "statusCode": { + "element": "string", + "content": "200" + } }, "content": [ { @@ -72,33 +99,63 @@ { "element": "annotation", "meta": { - "classes": [ - "warning" - ], - "links": [ - { - "element": "link", - "attributes": { - "relation": "origin", - "href": "http://docs.apiary.io/validations/swagger#swagger-validation" - }, - "content": [] - } - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "warning" + } + ] + }, + "links": { + "element": "array", + "content": [ + { + "element": "link", + "attributes": { + "relation": { + "element": "string", + "content": "origin" + }, + "href": { + "element": "string", + "content": "http://docs.apiary.io/validations/swagger#swagger-validation" + } + }, + "content": [] + } + ] + } }, "attributes": { - "code": 6, - "sourceMap": [ - { - "element": "sourceMap", - "content": [ - [ - 101, - 29 + "code": { + "element": "number", + "content": 6 + }, + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 101 + }, + { + "element": "number", + "content": 29 + } + ] + } ] - ] - } - ] + } + ] + } }, "content": "Invalid content type 'application/hal+json; invalid', invalid parameter format" } diff --git a/test/fixtures/external-dereferencing.json b/test/fixtures/external-dereferencing.json index 99dc697..fea39ca 100644 --- a/test/fixtures/external-dereferencing.json +++ b/test/fixtures/external-dereferencing.json @@ -4,16 +4,28 @@ { "element": "category", "meta": { - "classes": [ - "api" - ], - "title": "Dereferencing a local file" + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "api" + } + ] + }, + "title": { + "element": "string", + "content": "Dereferencing a local file" + } }, "content": [ { "element": "resource", "attributes": { - "href": "/" + "href": { + "element": "string", + "content": "/" + } }, "content": [ { @@ -25,7 +37,10 @@ { "element": "httpRequest", "attributes": { - "method": "GET" + "method": { + "element": "string", + "content": "GET" + } }, "content": [] }, @@ -50,7 +65,10 @@ } ] }, - "statusCode": "200" + "statusCode": { + "element": "string", + "content": "200" + } }, "content": [ { @@ -60,9 +78,15 @@ { "element": "asset", "meta": { - "classes": [ - "messageBody" - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "messageBody" + } + ] + } }, "content": "{\n \"example\": {\n \"$ref\": \"package.json\"\n }\n}" } diff --git a/test/fixtures/invalid-media-type.json b/test/fixtures/invalid-media-type.json index e3d1c7a..af39c55 100644 --- a/test/fixtures/invalid-media-type.json +++ b/test/fixtures/invalid-media-type.json @@ -4,38 +4,59 @@ { "element": "category", "meta": { - "classes": [ - "api" - ], - "title": "Test bad media type" + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "api" + } + ] + }, + "title": { + "element": "string", + "content": "Test bad media type" + } }, "attributes": { - "meta": [ - { - "element": "member", - "meta": { - "classes": [ - "user" - ] - }, - "content": { - "key": { - "element": "string", - "content": "HOST" + "meta": { + "element": "array", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "user" + } + ] + } }, - "value": { - "element": "string", - "content": "petstore.swagger.io" + "content": { + "key": { + "element": "string", + "content": "HOST" + }, + "value": { + "element": "string", + "content": "petstore.swagger.io" + } } } - } - ] + ] + } }, "content": [ { "element": "resource", "attributes": { - "href": "/" + "href": { + "element": "string", + "content": "/" + } }, "content": [ { @@ -47,14 +68,20 @@ { "element": "httpRequest", "attributes": { - "method": "GET" + "method": { + "element": "string", + "content": "GET" + } }, "content": [] }, { "element": "httpResponse", "attributes": { - "statusCode": "204" + "statusCode": { + "element": "string", + "content": "204" + } }, "content": [ { @@ -74,33 +101,63 @@ { "element": "annotation", "meta": { - "classes": [ - "warning" - ], - "links": [ - { - "element": "link", - "attributes": { - "relation": "origin", - "href": "http://docs.apiary.io/validations/swagger#swagger-validation" - }, - "content": [] - } - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "warning" + } + ] + }, + "links": { + "element": "array", + "content": [ + { + "element": "link", + "attributes": { + "relation": { + "element": "string", + "content": "origin" + }, + "href": { + "element": "string", + "content": "http://docs.apiary.io/validations/swagger#swagger-validation" + } + }, + "content": [] + } + ] + } }, "attributes": { - "code": 6, - "sourceMap": [ - { - "element": "sourceMap", - "content": [ - [ - 107, - 9 + "code": { + "element": "number", + "content": 6 + }, + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 107 + }, + { + "element": "number", + "content": 9 + } + ] + } ] - ] - } - ] + } + ] + } }, "content": "Invalid content type 'form-data', invalid media type" } diff --git a/test/fixtures/non-existing-elm-in-sequence.json b/test/fixtures/non-existing-elm-in-sequence.json index cb16c36..819ca5f 100644 --- a/test/fixtures/non-existing-elm-in-sequence.json +++ b/test/fixtures/non-existing-elm-in-sequence.json @@ -4,66 +4,126 @@ { "element": "annotation", "meta": { - "classes": [ - "error" - ], - "links": [ - { - "element": "link", - "attributes": { - "relation": "origin", - "href": "http://docs.apiary.io/validations/swagger#swagger-validation" - }, - "content": [] - } - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "error" + } + ] + }, + "links": { + "element": "array", + "content": [ + { + "element": "link", + "attributes": { + "relation": { + "element": "string", + "content": "origin" + }, + "href": { + "element": "string", + "content": "http://docs.apiary.io/validations/swagger#swagger-validation" + } + }, + "content": [] + } + ] + } }, "attributes": { - "code": 4, - "sourceMap": [ - { - "element": "sourceMap", - "content": [ - [ - 226, - 1 + "code": { + "element": "number", + "content": 4 + }, + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 226 + }, + { + "element": "number", + "content": 1 + } + ] + } ] - ] - } - ] + } + ] + } }, "content": "Expected type string but found type object" }, { "element": "annotation", "meta": { - "classes": [ - "error" - ], - "links": [ - { - "element": "link", - "attributes": { - "relation": "origin", - "href": "http://docs.apiary.io/validations/swagger#swagger-validation" - }, - "content": [] - } - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "error" + } + ] + }, + "links": { + "element": "array", + "content": [ + { + "element": "link", + "attributes": { + "relation": { + "element": "string", + "content": "origin" + }, + "href": { + "element": "string", + "content": "http://docs.apiary.io/validations/swagger#swagger-validation" + } + }, + "content": [] + } + ] + } }, "attributes": { - "code": 4, - "sourceMap": [ - { - "element": "sourceMap", - "content": [ - [ - 226, - 0 + "code": { + "element": "number", + "content": 4 + }, + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 226 + }, + { + "element": "number", + "content": 0 + } + ] + } ] - ] - } - ] + } + ] + } }, "content": "Expected type string but found type null" } diff --git a/test/fixtures/operation-consumes-invalid-type.json b/test/fixtures/operation-consumes-invalid-type.json index e8d7093..b71848c 100644 --- a/test/fixtures/operation-consumes-invalid-type.json +++ b/test/fixtures/operation-consumes-invalid-type.json @@ -4,16 +4,28 @@ { "element": "category", "meta": { - "classes": [ - "api" - ], - "title": "Consumes JSON with invalid content type" + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "api" + } + ] + }, + "title": { + "element": "string", + "content": "Consumes JSON with invalid content type" + } }, "content": [ { "element": "resource", "attributes": { - "href": "/test" + "href": { + "element": "string", + "content": "/test" + } }, "content": [ { @@ -25,18 +37,30 @@ { "element": "httpRequest", "attributes": { - "method": "GET" + "method": { + "element": "string", + "content": "GET" + } }, "content": [ { "element": "asset", "meta": { - "classes": [ - "messageBodySchema" - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "messageBodySchema" + } + ] + } }, "attributes": { - "contentType": "application/schema+json" + "contentType": { + "element": "string", + "content": "application/schema+json" + } }, "content": "{\"type\":\"object\"}" }, @@ -52,7 +76,10 @@ { "element": "httpResponse", "attributes": { - "statusCode": "200" + "statusCode": { + "element": "string", + "content": "200" + } }, "content": [ { @@ -72,33 +99,63 @@ { "element": "annotation", "meta": { - "classes": [ - "warning" - ], - "links": [ - { - "element": "link", - "attributes": { - "relation": "origin", - "href": "http://docs.apiary.io/validations/swagger#swagger-validation" - }, - "content": [] - } - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "warning" + } + ] + }, + "links": { + "element": "array", + "content": [ + { + "element": "link", + "attributes": { + "relation": { + "element": "string", + "content": "origin" + }, + "href": { + "element": "string", + "content": "http://docs.apiary.io/validations/swagger#swagger-validation" + } + }, + "content": [] + } + ] + } }, "attributes": { - "code": 6, - "sourceMap": [ - { - "element": "sourceMap", - "content": [ - [ - 140, - 29 + "code": { + "element": "number", + "content": 6 + }, + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 140 + }, + { + "element": "number", + "content": 29 + } + ] + } ] - ] - } - ] + } + ] + } }, "content": "Invalid content type 'application/hal+json; invalid', invalid parameter format" } diff --git a/test/fixtures/operation-extension.json b/test/fixtures/operation-extension.json index 3d3dae2..5fcfb5b 100644 --- a/test/fixtures/operation-extension.json +++ b/test/fixtures/operation-extension.json @@ -4,31 +4,52 @@ { "element": "category", "meta": { - "classes": [ - "api" - ], - "title": "Simple API overview" + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "api" + } + ] + }, + "title": { + "element": "string", + "content": "Simple API overview" + } }, "content": [ { "element": "resource", "attributes": { - "href": "/path" + "href": { + "element": "string", + "content": "/path" + } }, "content": [ { "element": "extension", "meta": { - "links": [ - { - "element": "link", - "attributes": { - "relation": "profile", - "href": "https://help.apiary.io/profiles/api-elements/vendor-extensions/" - }, - "content": [] - } - ] + "links": { + "element": "array", + "content": [ + { + "element": "link", + "attributes": { + "relation": { + "element": "string", + "content": "profile" + }, + "href": { + "element": "string", + "content": "https://help.apiary.io/profiles/api-elements/vendor-extensions/" + } + }, + "content": [] + } + ] + } }, "content": { "x-k": null diff --git a/test/fixtures/operation-produces-invalid-type.json b/test/fixtures/operation-produces-invalid-type.json index a3e648e..abd6924 100644 --- a/test/fixtures/operation-produces-invalid-type.json +++ b/test/fixtures/operation-produces-invalid-type.json @@ -4,16 +4,28 @@ { "element": "category", "meta": { - "classes": [ - "api" - ], - "title": "Produces JSON with invalid content type" + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "api" + } + ] + }, + "title": { + "element": "string", + "content": "Produces JSON with invalid content type" + } }, "content": [ { "element": "resource", "attributes": { - "href": "/test" + "href": { + "element": "string", + "content": "/test" + } }, "content": [ { @@ -25,14 +37,20 @@ { "element": "httpRequest", "attributes": { - "method": "GET" + "method": { + "element": "string", + "content": "GET" + } }, "content": [] }, { "element": "httpResponse", "attributes": { - "statusCode": "200" + "statusCode": { + "element": "string", + "content": "200" + } }, "content": [ { @@ -42,12 +60,21 @@ { "element": "asset", "meta": { - "classes": [ - "messageBodySchema" - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "messageBodySchema" + } + ] + } }, "attributes": { - "contentType": "application/schema+json" + "contentType": { + "element": "string", + "content": "application/schema+json" + } }, "content": "{\"type\":\"object\"}" }, @@ -71,33 +98,63 @@ { "element": "annotation", "meta": { - "classes": [ - "warning" - ], - "links": [ - { - "element": "link", - "attributes": { - "relation": "origin", - "href": "http://docs.apiary.io/validations/swagger#swagger-validation" - }, - "content": [] - } - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "warning" + } + ] + }, + "links": { + "element": "array", + "content": [ + { + "element": "link", + "attributes": { + "relation": { + "element": "string", + "content": "origin" + }, + "href": { + "element": "string", + "content": "http://docs.apiary.io/validations/swagger#swagger-validation" + } + }, + "content": [] + } + ] + } }, "attributes": { - "code": 6, - "sourceMap": [ - { - "element": "sourceMap", - "content": [ - [ - 140, - 29 + "code": { + "element": "number", + "content": 6 + }, + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 140 + }, + { + "element": "number", + "content": 29 + } + ] + } ] - ] - } - ] + } + ] + } }, "content": "Invalid content type 'application/hal+json; invalid', invalid parameter format" } diff --git a/test/fixtures/parameter-array-default-warning.json b/test/fixtures/parameter-array-default-warning.json index 5f84e66..7541341 100644 --- a/test/fixtures/parameter-array-default-warning.json +++ b/test/fixtures/parameter-array-default-warning.json @@ -4,29 +4,47 @@ { "element": "category", "meta": { - "classes": [ - "api" - ], - "title": "Parameters" + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "api" + } + ] + }, + "title": { + "element": "string", + "content": "Parameters" + } }, "content": [ { "element": "resource", "attributes": { - "href": "/" + "href": { + "element": "string", + "content": "/" + } }, "content": [ { "element": "transition", "attributes": { - "href": "/{?arg}", + "href": { + "element": "string", + "content": "/{?arg}" + }, "hrefVariables": { "element": "hrefVariables", "content": [ { "element": "member", "meta": { - "description": "Query argument" + "description": { + "element": "string", + "content": "Query argument" + } }, "content": { "key": { @@ -54,14 +72,20 @@ { "element": "httpRequest", "attributes": { - "method": "GET" + "method": { + "element": "string", + "content": "GET" + } }, "content": [] }, { "element": "httpResponse", "attributes": { - "statusCode": "200" + "statusCode": { + "element": "string", + "content": "200" + } }, "content": [ { @@ -71,12 +95,21 @@ { "element": "asset", "meta": { - "classes": [ - "messageBodySchema" - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "messageBodySchema" + } + ] + } }, "attributes": { - "contentType": "application/schema+json" + "contentType": { + "element": "string", + "content": "application/schema+json" + } }, "content": "{\"type\":\"string\"}" }, @@ -100,33 +133,63 @@ { "element": "annotation", "meta": { - "classes": [ - "warning" - ], - "links": [ - { - "element": "link", - "attributes": { - "relation": "origin", - "href": "http://docs.apiary.io/validations/swagger#swagger-validation" - }, - "content": [] - } - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "warning" + } + ] + }, + "links": { + "element": "array", + "content": [ + { + "element": "link", + "attributes": { + "relation": { + "element": "string", + "content": "origin" + }, + "href": { + "element": "string", + "content": "http://docs.apiary.io/validations/swagger#swagger-validation" + } + }, + "content": [] + } + ] + } }, "attributes": { - "code": 6, - "sourceMap": [ - { - "element": "sourceMap", - "content": [ - [ - 249, - 10 + "code": { + "element": "number", + "content": 6 + }, + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 249 + }, + { + "element": "number", + "content": 10 + } + ] + } ] - ] - } - ] + } + ] + } }, "content": "Value of default should be an array" } diff --git a/test/fixtures/produces-invalid-type.json b/test/fixtures/produces-invalid-type.json index 56e95af..e6fd0b9 100644 --- a/test/fixtures/produces-invalid-type.json +++ b/test/fixtures/produces-invalid-type.json @@ -4,16 +4,28 @@ { "element": "category", "meta": { - "classes": [ - "api" - ], - "title": "Produces JSON with invalid content type" + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "api" + } + ] + }, + "title": { + "element": "string", + "content": "Produces JSON with invalid content type" + } }, "content": [ { "element": "resource", "attributes": { - "href": "/test" + "href": { + "element": "string", + "content": "/test" + } }, "content": [ { @@ -25,14 +37,20 @@ { "element": "httpRequest", "attributes": { - "method": "GET" + "method": { + "element": "string", + "content": "GET" + } }, "content": [] }, { "element": "httpResponse", "attributes": { - "statusCode": "200" + "statusCode": { + "element": "string", + "content": "200" + } }, "content": [ { @@ -42,12 +60,21 @@ { "element": "asset", "meta": { - "classes": [ - "messageBodySchema" - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "messageBodySchema" + } + ] + } }, "attributes": { - "contentType": "application/schema+json" + "contentType": { + "element": "string", + "content": "application/schema+json" + } }, "content": "{\"type\":\"object\"}" }, @@ -71,33 +98,63 @@ { "element": "annotation", "meta": { - "classes": [ - "warning" - ], - "links": [ - { - "element": "link", - "attributes": { - "relation": "origin", - "href": "http://docs.apiary.io/validations/swagger#swagger-validation" - }, - "content": [] - } - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "warning" + } + ] + }, + "links": { + "element": "array", + "content": [ + { + "element": "link", + "attributes": { + "relation": { + "element": "string", + "content": "origin" + }, + "href": { + "element": "string", + "content": "http://docs.apiary.io/validations/swagger#swagger-validation" + } + }, + "content": [] + } + ] + } }, "attributes": { - "code": 6, - "sourceMap": [ - { - "element": "sourceMap", - "content": [ - [ - 101, - 29 + "code": { + "element": "number", + "content": 6 + }, + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 101 + }, + { + "element": "number", + "content": 29 + } + ] + } ] - ] - } - ] + } + ] + } }, "content": "Invalid content type 'application/hal+json; invalid', invalid parameter format" } diff --git a/test/fixtures/yaml-error.json b/test/fixtures/yaml-error.json index 0a1a081..68a1e67 100644 --- a/test/fixtures/yaml-error.json +++ b/test/fixtures/yaml-error.json @@ -4,55 +4,103 @@ { "element": "annotation", "meta": { - "classes": [ - "error" - ], - "links": [ - { - "element": "link", - "attributes": { - "relation": "origin", - "href": "http://docs.apiary.io/validations/swagger#swagger-validation" - }, - "content": [] - } - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "error" + } + ] + }, + "links": { + "element": "array", + "content": [ + { + "element": "link", + "attributes": { + "relation": { + "element": "string", + "content": "origin" + }, + "href": { + "element": "string", + "content": "http://docs.apiary.io/validations/swagger#swagger-validation" + } + }, + "content": [] + } + ] + } }, "attributes": { - "code": 4 + "code": { + "element": "number", + "content": 4 + } }, "content": "Additional properties not allowed: invalid" }, { "element": "annotation", "meta": { - "classes": [ - "warning" - ], - "links": [ - { - "element": "link", - "attributes": { - "relation": "origin", - "href": "http://docs.apiary.io/validations/swagger#yaml-parser" - }, - "content": [] - } - ] + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "warning" + } + ] + }, + "links": { + "element": "array", + "content": [ + { + "element": "link", + "attributes": { + "relation": { + "element": "string", + "content": "origin" + }, + "href": { + "element": "string", + "content": "http://docs.apiary.io/validations/swagger#yaml-parser" + } + }, + "content": [] + } + ] + } }, "attributes": { - "code": 2, - "sourceMap": [ - { - "element": "sourceMap", - "content": [ - [ - 94, - 1 + "code": { + "element": "number", + "content": 2 + }, + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 94 + }, + { + "element": "number", + "content": 1 + } + ] + } ] - ] - } - ] + } + ] + } }, "content": "YAML Syntax Error: expected , but found " }