From dcfdd5837c50bcacb37c7b88c16f2f27467eddc1 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 26 Jul 2024 13:13:02 +0400 Subject: [PATCH] test(definitions): MQTT bindings new tests structure https://github.com/asyncapi/spec-json-schemas/issues/551 --- test/bindings/mqtt/0.1.0/message/example.json | 1 - .../bindings/mqtt/0.1.0/message/extended.json | 7 -- .../message/only required properties.json | 1 - .../message/without required properties.json | 1 - .../mqtt/0.1.0/message/wrongly extended.json | 8 -- .../mqtt/0.1.0/operation/example.json | 4 - .../mqtt/0.1.0/operation/extended.json | 7 -- .../operation/only required properties.json | 1 - .../without required properties.json | 1 - .../0.1.0/operation/wrongly extended.json | 8 -- test/bindings/mqtt/0.1.0/server/example.json | 11 -- test/bindings/mqtt/0.1.0/server/extended.json | 7 -- .../server/only required properties.json | 1 - .../server/without required properties.json | 1 - .../mqtt/0.1.0/server/wrongly extended.json | 8 -- test/bindings/mqtt/0.2.0/message/example.json | 8 -- .../bindings/mqtt/0.2.0/message/extended.json | 7 -- .../message/only required properties.json | 1 - .../message/without required properties.json | 1 - .../mqtt/0.2.0/message/wrongly extended.json | 8 -- .../mqtt/0.2.0/operation/example.json | 5 - .../mqtt/0.2.0/operation/extended.json | 7 -- .../operation/only required properties.json | 1 - .../without required properties.json | 1 - .../0.2.0/operation/wrongly extended.json | 8 -- test/bindings/mqtt/0.2.0/server/example.json | 13 --- test/bindings/mqtt/0.2.0/server/extended.json | 7 -- .../server/only required properties.json | 1 - .../server/without required properties.json | 1 - .../mqtt/0.2.0/server/wrongly extended.json | 8 -- .../mqtt/mqtt message binding.test.mjs | 77 +++++++++++++ .../mqtt/mqtt operation binding.test.mjs | 76 ++++++++++++ .../mqtt/mqtt server binding.test.mjs | 91 +++++++++++++++ test/bindings/mqtt/mqtt.test.mjs | 109 ------------------ 34 files changed, 244 insertions(+), 253 deletions(-) delete mode 100644 test/bindings/mqtt/0.1.0/message/example.json delete mode 100644 test/bindings/mqtt/0.1.0/message/extended.json delete mode 100644 test/bindings/mqtt/0.1.0/message/only required properties.json delete mode 100644 test/bindings/mqtt/0.1.0/message/without required properties.json delete mode 100644 test/bindings/mqtt/0.1.0/message/wrongly extended.json delete mode 100644 test/bindings/mqtt/0.1.0/operation/example.json delete mode 100644 test/bindings/mqtt/0.1.0/operation/extended.json delete mode 100644 test/bindings/mqtt/0.1.0/operation/only required properties.json delete mode 100644 test/bindings/mqtt/0.1.0/operation/without required properties.json delete mode 100644 test/bindings/mqtt/0.1.0/operation/wrongly extended.json delete mode 100644 test/bindings/mqtt/0.1.0/server/example.json delete mode 100644 test/bindings/mqtt/0.1.0/server/extended.json delete mode 100644 test/bindings/mqtt/0.1.0/server/only required properties.json delete mode 100644 test/bindings/mqtt/0.1.0/server/without required properties.json delete mode 100644 test/bindings/mqtt/0.1.0/server/wrongly extended.json delete mode 100644 test/bindings/mqtt/0.2.0/message/example.json delete mode 100644 test/bindings/mqtt/0.2.0/message/extended.json delete mode 100644 test/bindings/mqtt/0.2.0/message/only required properties.json delete mode 100644 test/bindings/mqtt/0.2.0/message/without required properties.json delete mode 100644 test/bindings/mqtt/0.2.0/message/wrongly extended.json delete mode 100644 test/bindings/mqtt/0.2.0/operation/example.json delete mode 100644 test/bindings/mqtt/0.2.0/operation/extended.json delete mode 100644 test/bindings/mqtt/0.2.0/operation/only required properties.json delete mode 100644 test/bindings/mqtt/0.2.0/operation/without required properties.json delete mode 100644 test/bindings/mqtt/0.2.0/operation/wrongly extended.json delete mode 100644 test/bindings/mqtt/0.2.0/server/example.json delete mode 100644 test/bindings/mqtt/0.2.0/server/extended.json delete mode 100644 test/bindings/mqtt/0.2.0/server/only required properties.json delete mode 100644 test/bindings/mqtt/0.2.0/server/without required properties.json delete mode 100644 test/bindings/mqtt/0.2.0/server/wrongly extended.json create mode 100644 test/bindings/mqtt/mqtt message binding.test.mjs create mode 100644 test/bindings/mqtt/mqtt operation binding.test.mjs create mode 100644 test/bindings/mqtt/mqtt server binding.test.mjs delete mode 100644 test/bindings/mqtt/mqtt.test.mjs diff --git a/test/bindings/mqtt/0.1.0/message/example.json b/test/bindings/mqtt/0.1.0/message/example.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/mqtt/0.1.0/message/example.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/message/extended.json b/test/bindings/mqtt/0.1.0/message/extended.json deleted file mode 100644 index 2da8cc79..00000000 --- a/test/bindings/mqtt/0.1.0/message/extended.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "x-number": 0, - "x-string": "", - "x-object": { - "property": {} - } -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/message/only required properties.json b/test/bindings/mqtt/0.1.0/message/only required properties.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/mqtt/0.1.0/message/only required properties.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/message/without required properties.json b/test/bindings/mqtt/0.1.0/message/without required properties.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/mqtt/0.1.0/message/without required properties.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/message/wrongly extended.json b/test/bindings/mqtt/0.1.0/message/wrongly extended.json deleted file mode 100644 index e6738ad9..00000000 --- a/test/bindings/mqtt/0.1.0/message/wrongly extended.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "x-number": 0, - "x-string": "", - "x-object": { - "property": {} - }, - "ext-number": 1 -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/operation/example.json b/test/bindings/mqtt/0.1.0/operation/example.json deleted file mode 100644 index f1774992..00000000 --- a/test/bindings/mqtt/0.1.0/operation/example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "qos": 2, - "retain": true -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/operation/extended.json b/test/bindings/mqtt/0.1.0/operation/extended.json deleted file mode 100644 index 2da8cc79..00000000 --- a/test/bindings/mqtt/0.1.0/operation/extended.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "x-number": 0, - "x-string": "", - "x-object": { - "property": {} - } -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/operation/only required properties.json b/test/bindings/mqtt/0.1.0/operation/only required properties.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/mqtt/0.1.0/operation/only required properties.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/operation/without required properties.json b/test/bindings/mqtt/0.1.0/operation/without required properties.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/mqtt/0.1.0/operation/without required properties.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/operation/wrongly extended.json b/test/bindings/mqtt/0.1.0/operation/wrongly extended.json deleted file mode 100644 index e6738ad9..00000000 --- a/test/bindings/mqtt/0.1.0/operation/wrongly extended.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "x-number": 0, - "x-string": "", - "x-object": { - "property": {} - }, - "ext-number": 1 -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/server/example.json b/test/bindings/mqtt/0.1.0/server/example.json deleted file mode 100644 index 6a5958b6..00000000 --- a/test/bindings/mqtt/0.1.0/server/example.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "clientId": "guest", - "cleanSession": true, - "lastWill": { - "topic": "/last-wills", - "qos": 2, - "message": "Guest gone offline.", - "retain": false - }, - "keepAlive": 60 -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/server/extended.json b/test/bindings/mqtt/0.1.0/server/extended.json deleted file mode 100644 index 2da8cc79..00000000 --- a/test/bindings/mqtt/0.1.0/server/extended.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "x-number": 0, - "x-string": "", - "x-object": { - "property": {} - } -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/server/only required properties.json b/test/bindings/mqtt/0.1.0/server/only required properties.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/mqtt/0.1.0/server/only required properties.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/server/without required properties.json b/test/bindings/mqtt/0.1.0/server/without required properties.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/mqtt/0.1.0/server/without required properties.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/mqtt/0.1.0/server/wrongly extended.json b/test/bindings/mqtt/0.1.0/server/wrongly extended.json deleted file mode 100644 index e6738ad9..00000000 --- a/test/bindings/mqtt/0.1.0/server/wrongly extended.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "x-number": 0, - "x-string": "", - "x-object": { - "property": {} - }, - "ext-number": 1 -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/message/example.json b/test/bindings/mqtt/0.2.0/message/example.json deleted file mode 100644 index 54cee00c..00000000 --- a/test/bindings/mqtt/0.2.0/message/example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "contentType": "application/json", - "correlationData": { - "type": "string", - "format": "uuid" - }, - "responseTopic": "application/responses" -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/message/extended.json b/test/bindings/mqtt/0.2.0/message/extended.json deleted file mode 100644 index 2da8cc79..00000000 --- a/test/bindings/mqtt/0.2.0/message/extended.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "x-number": 0, - "x-string": "", - "x-object": { - "property": {} - } -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/message/only required properties.json b/test/bindings/mqtt/0.2.0/message/only required properties.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/mqtt/0.2.0/message/only required properties.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/message/without required properties.json b/test/bindings/mqtt/0.2.0/message/without required properties.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/mqtt/0.2.0/message/without required properties.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/message/wrongly extended.json b/test/bindings/mqtt/0.2.0/message/wrongly extended.json deleted file mode 100644 index e6738ad9..00000000 --- a/test/bindings/mqtt/0.2.0/message/wrongly extended.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "x-number": 0, - "x-string": "", - "x-object": { - "property": {} - }, - "ext-number": 1 -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/operation/example.json b/test/bindings/mqtt/0.2.0/operation/example.json deleted file mode 100644 index d754209c..00000000 --- a/test/bindings/mqtt/0.2.0/operation/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "qos": 2, - "retain": true, - "messageExpiryInterval": 60 -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/operation/extended.json b/test/bindings/mqtt/0.2.0/operation/extended.json deleted file mode 100644 index 2da8cc79..00000000 --- a/test/bindings/mqtt/0.2.0/operation/extended.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "x-number": 0, - "x-string": "", - "x-object": { - "property": {} - } -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/operation/only required properties.json b/test/bindings/mqtt/0.2.0/operation/only required properties.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/mqtt/0.2.0/operation/only required properties.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/operation/without required properties.json b/test/bindings/mqtt/0.2.0/operation/without required properties.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/mqtt/0.2.0/operation/without required properties.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/operation/wrongly extended.json b/test/bindings/mqtt/0.2.0/operation/wrongly extended.json deleted file mode 100644 index e6738ad9..00000000 --- a/test/bindings/mqtt/0.2.0/operation/wrongly extended.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "x-number": 0, - "x-string": "", - "x-object": { - "property": {} - }, - "ext-number": 1 -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/server/example.json b/test/bindings/mqtt/0.2.0/server/example.json deleted file mode 100644 index ee70de36..00000000 --- a/test/bindings/mqtt/0.2.0/server/example.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "clientId": "guest", - "cleanSession": true, - "lastWill": { - "topic": "/last-wills", - "qos": 2, - "message": "Guest gone offline.", - "retain": false - }, - "keepAlive": 60, - "sessionExpiryInterval": 120, - "maximumPacketSize": 1024 -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/server/extended.json b/test/bindings/mqtt/0.2.0/server/extended.json deleted file mode 100644 index 2da8cc79..00000000 --- a/test/bindings/mqtt/0.2.0/server/extended.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "x-number": 0, - "x-string": "", - "x-object": { - "property": {} - } -} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/server/only required properties.json b/test/bindings/mqtt/0.2.0/server/only required properties.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/mqtt/0.2.0/server/only required properties.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/server/without required properties.json b/test/bindings/mqtt/0.2.0/server/without required properties.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/mqtt/0.2.0/server/without required properties.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/mqtt/0.2.0/server/wrongly extended.json b/test/bindings/mqtt/0.2.0/server/wrongly extended.json deleted file mode 100644 index e6738ad9..00000000 --- a/test/bindings/mqtt/0.2.0/server/wrongly extended.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "x-number": 0, - "x-string": "", - "x-object": { - "property": {} - }, - "ext-number": 1 -} \ No newline at end of file diff --git a/test/bindings/mqtt/mqtt message binding.test.mjs b/test/bindings/mqtt/mqtt message binding.test.mjs new file mode 100644 index 00000000..ef791fc3 --- /dev/null +++ b/test/bindings/mqtt/mqtt message binding.test.mjs @@ -0,0 +1,77 @@ +import { + JsonSchemaTestSuite, + JsonSchemaTestSuiteConfig, + JsonSchemaTestSuiteData +} from '@test/definitions/base-schema-test.mjs'; +import {describe} from 'vitest'; + +const config = new JsonSchemaTestSuiteConfig( + false, + [], + true, + [] +); + +let data = { + "0.1.0": new JsonSchemaTestSuiteData( + require(`@bindings/mqtt/0.1.0/message.json`), + [ + {} + ], + {}, + {}, + { + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + } + }, + { + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 + } + ), + "0.2.0": new JsonSchemaTestSuiteData( + require(`@bindings/mqtt/0.2.0/message.json`), + [ + { + "contentType": "application/json", + "correlationData": { + "type": "string", + "format": "uuid" + }, + "responseTopic": "application/responses", + "bindingVersion": "0.2.0" + } + ], + {}, + {}, + { + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + } + }, + { + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 + } + ), +} + +describe.each([ + '0.1.0', + '0.2.0', +])('MQTT message binding v%s', (bindingVersion) => { + new JsonSchemaTestSuite(data[bindingVersion], config).testSuite() +}) diff --git a/test/bindings/mqtt/mqtt operation binding.test.mjs b/test/bindings/mqtt/mqtt operation binding.test.mjs new file mode 100644 index 00000000..921196e5 --- /dev/null +++ b/test/bindings/mqtt/mqtt operation binding.test.mjs @@ -0,0 +1,76 @@ +import { + JsonSchemaTestSuite, + JsonSchemaTestSuiteConfig, + JsonSchemaTestSuiteData +} from '@test/definitions/base-schema-test.mjs'; +import {describe} from 'vitest'; + +const config = new JsonSchemaTestSuiteConfig( + false, + [], + true, + [] +); + +let data = { + "0.1.0": new JsonSchemaTestSuiteData( + require(`@bindings/mqtt/0.1.0/operation.json`), + [ + { + "qos": 2, + "retain": true + } + ], + {}, + {}, + { + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + } + }, + { + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 + } + ), + "0.2.0": new JsonSchemaTestSuiteData( + require(`@bindings/mqtt/0.2.0/operation.json`), + [ + { + "qos": 2, + "retain": true, + "messageExpiryInterval": 60 + } + ], + {}, + {}, + { + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + } + }, + { + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 + } + ), +} + +describe.each([ + '0.1.0', + '0.2.0', +])('MQTT operation binding v%s', (bindingVersion) => { + new JsonSchemaTestSuite(data[bindingVersion], config).testSuite() +}) diff --git a/test/bindings/mqtt/mqtt server binding.test.mjs b/test/bindings/mqtt/mqtt server binding.test.mjs new file mode 100644 index 00000000..4cb89151 --- /dev/null +++ b/test/bindings/mqtt/mqtt server binding.test.mjs @@ -0,0 +1,91 @@ +import { + JsonSchemaTestSuite, + JsonSchemaTestSuiteConfig, + JsonSchemaTestSuiteData +} from '@test/definitions/base-schema-test.mjs'; +import {describe} from 'vitest'; + +const config = new JsonSchemaTestSuiteConfig( + false, + [], + true, + [] +); + +let data = { + "0.1.0": new JsonSchemaTestSuiteData( + require(`@bindings/mqtt/0.1.0/server.json`), + [ + { + "clientId": "guest", + "cleanSession": true, + "lastWill": { + "topic": "/last-wills", + "qos": 2, + "message": "Guest gone offline.", + "retain": false + }, + "keepAlive": 60 + } + ], + {}, + {}, + { + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + } + }, + { + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 + } + ), + "0.2.0": new JsonSchemaTestSuiteData( + require(`@bindings/mqtt/0.2.0/server.json`), + [ + { + "clientId": "guest", + "cleanSession": true, + "lastWill": { + "topic": "/last-wills", + "qos": 2, + "message": "Guest gone offline.", + "retain": false + }, + "keepAlive": 60, + "sessionExpiryInterval": 120, + "maximumPacketSize": 1024 + } + ], + {}, + {}, + { + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + } + }, + { + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 + } + ), +} + +describe.each([ + '0.1.0', + '0.2.0', +])('MQTT server binding v%s', (bindingVersion) => { + new JsonSchemaTestSuite(data[bindingVersion], config).testSuite() +}) diff --git a/test/bindings/mqtt/mqtt.test.mjs b/test/bindings/mqtt/mqtt.test.mjs deleted file mode 100644 index 33e4da7e..00000000 --- a/test/bindings/mqtt/mqtt.test.mjs +++ /dev/null @@ -1,109 +0,0 @@ -import {it} from 'vitest'; -import TestHelper from '@test/test-helper.mjs'; -import path from 'path'; - -describe.each([ - '0.1.0', - '0.2.0' -])('MQTT bindings v%s', async (bindingVersion) => { - - const messageSchema = await import(`@bindings/mqtt/${bindingVersion}/message.json`); - const operationSchema = await import(`@bindings/mqtt/${bindingVersion}/operation.json`); - const serverSchema = await import(`@bindings/mqtt/${bindingVersion}/server.json`); - - describe('message', () => { - it(TestHelper.exampleIsValidTestName, () => TestHelper.objectIsValid( - messageSchema, - path.resolve(__dirname, `./${bindingVersion}/message/example.json`), - )); - - it(TestHelper.canBeEmptyTestName, () => TestHelper.objectIsValid( - messageSchema, - {} - )); - - it(TestHelper.isValidWithoutRequiredPropertiesTestName, () => TestHelper.objectIsValid( - messageSchema, - path.resolve(__dirname, `./${bindingVersion}/message/without required properties.json`), - )); - - it(TestHelper.isValidWithOnlyRequiredPropertiesTestName, () => TestHelper.objectIsValid( - messageSchema, - path.resolve(__dirname, `./${bindingVersion}/message/only required properties.json`), - )); - - it(TestHelper.isValidWhenIsExtendedTestName, () => TestHelper.objectIsValid( - messageSchema, - path.resolve(__dirname, `./${bindingVersion}/message/extended.json`), - )); - - it(TestHelper.isNotValidWhenIsWronglyExtendedTestName, () => TestHelper.wronglyExtended( - messageSchema, - path.resolve(__dirname, `./${bindingVersion}/message/wrongly extended.json`), - )); - }) - - describe('operation', () => { - it(TestHelper.exampleIsValidTestName, () => TestHelper.objectIsValid( - operationSchema, - path.resolve(__dirname, `./${bindingVersion}/operation/example.json`), - )); - - it(TestHelper.canBeEmptyTestName, () => TestHelper.objectIsValid( - operationSchema, - {} - )); - - it(TestHelper.isValidWithoutRequiredPropertiesTestName, () => TestHelper.objectIsValid( - operationSchema, - path.resolve(__dirname, `./${bindingVersion}/operation/without required properties.json`), - )); - - it(TestHelper.isValidWithOnlyRequiredPropertiesTestName, () => TestHelper.objectIsValid( - operationSchema, - path.resolve(__dirname, `./${bindingVersion}/operation/only required properties.json`), - )); - - it(TestHelper.isValidWhenIsExtendedTestName, () => TestHelper.objectIsValid( - operationSchema, - path.resolve(__dirname, `./${bindingVersion}/operation/extended.json`), - )); - - it(TestHelper.isNotValidWhenIsWronglyExtendedTestName, () => TestHelper.wronglyExtended( - operationSchema, - path.resolve(__dirname, `./${bindingVersion}/operation/wrongly extended.json`), - )); - }) - - describe('server', () => { - it(TestHelper.exampleIsValidTestName, () => TestHelper.objectIsValid( - serverSchema, - path.resolve(__dirname, `./${bindingVersion}/server/example.json`), - )); - - it(TestHelper.canBeEmptyTestName, () => TestHelper.objectIsValid( - serverSchema, - {} - )); - - it(TestHelper.isValidWithoutRequiredPropertiesTestName, () => TestHelper.objectIsValid( - serverSchema, - path.resolve(__dirname, `./${bindingVersion}/server/without required properties.json`), - )); - - it(TestHelper.isValidWithOnlyRequiredPropertiesTestName, () => TestHelper.objectIsValid( - serverSchema, - path.resolve(__dirname, `./${bindingVersion}/server/only required properties.json`), - )); - - it(TestHelper.isValidWhenIsExtendedTestName, () => TestHelper.objectIsValid( - serverSchema, - path.resolve(__dirname, `./${bindingVersion}/server/extended.json`), - )); - - it(TestHelper.isNotValidWhenIsWronglyExtendedTestName, () => TestHelper.wronglyExtended( - serverSchema, - path.resolve(__dirname, `./${bindingVersion}/server/wrongly extended.json`), - )); - }) -}) \ No newline at end of file