From 0c42257d122007c621809329507c9cda6ff688c3 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 14 Jun 2024 18:36:36 +0400 Subject: [PATCH] test(definitions): use .each for kafka tests https://github.com/asyncapi/spec-json-schemas/issues/539 --- test/bindings/bindings.suite.mjs | 1 - test/bindings/kafka/0.1.0/message/empty.json | 1 - test/bindings/kafka/0.1.0/message/index.mjs | 37 ----- .../bindings/kafka/0.1.0/operation/empty.json | 1 - test/bindings/kafka/0.1.0/operation/index.mjs | 37 ----- test/bindings/kafka/0.3.0/channel/empty.json | 1 - test/bindings/kafka/0.3.0/channel/index.mjs | 37 ----- test/bindings/kafka/0.3.0/message/empty.json | 1 - test/bindings/kafka/0.3.0/message/index.mjs | 37 ----- .../bindings/kafka/0.3.0/operation/empty.json | 1 - test/bindings/kafka/0.3.0/operation/index.mjs | 37 ----- test/bindings/kafka/0.3.0/server/empty.json | 1 - test/bindings/kafka/0.3.0/server/index.mjs | 37 ----- test/bindings/kafka/0.5.0/channel/empty.json | 1 - test/bindings/kafka/0.5.0/channel/index.mjs | 37 ----- test/bindings/kafka/0.5.0/message/empty.json | 1 - test/bindings/kafka/0.5.0/message/index.mjs | 37 ----- .../bindings/kafka/0.5.0/operation/empty.json | 1 - test/bindings/kafka/0.5.0/operation/index.mjs | 37 ----- test/bindings/kafka/0.5.0/server/empty.json | 1 - test/bindings/kafka/0.5.0/server/index.mjs | 37 ----- test/bindings/kafka/index.mjs | 29 ---- test/bindings/kafka/kafka.test.mjs | 148 ++++++++++++++++++ vite.config.ts | 1 + 24 files changed, 149 insertions(+), 410 deletions(-) delete mode 100644 test/bindings/kafka/0.1.0/message/empty.json delete mode 100644 test/bindings/kafka/0.1.0/message/index.mjs delete mode 100644 test/bindings/kafka/0.1.0/operation/empty.json delete mode 100644 test/bindings/kafka/0.1.0/operation/index.mjs delete mode 100644 test/bindings/kafka/0.3.0/channel/empty.json delete mode 100644 test/bindings/kafka/0.3.0/channel/index.mjs delete mode 100644 test/bindings/kafka/0.3.0/message/empty.json delete mode 100644 test/bindings/kafka/0.3.0/message/index.mjs delete mode 100644 test/bindings/kafka/0.3.0/operation/empty.json delete mode 100644 test/bindings/kafka/0.3.0/operation/index.mjs delete mode 100644 test/bindings/kafka/0.3.0/server/empty.json delete mode 100644 test/bindings/kafka/0.3.0/server/index.mjs delete mode 100644 test/bindings/kafka/0.5.0/channel/empty.json delete mode 100644 test/bindings/kafka/0.5.0/channel/index.mjs delete mode 100644 test/bindings/kafka/0.5.0/message/empty.json delete mode 100644 test/bindings/kafka/0.5.0/message/index.mjs delete mode 100644 test/bindings/kafka/0.5.0/operation/empty.json delete mode 100644 test/bindings/kafka/0.5.0/operation/index.mjs delete mode 100644 test/bindings/kafka/0.5.0/server/empty.json delete mode 100644 test/bindings/kafka/0.5.0/server/index.mjs delete mode 100644 test/bindings/kafka/index.mjs create mode 100644 test/bindings/kafka/kafka.test.mjs diff --git a/test/bindings/bindings.suite.mjs b/test/bindings/bindings.suite.mjs index d8089bf7..1007f51c 100644 --- a/test/bindings/bindings.suite.mjs +++ b/test/bindings/bindings.suite.mjs @@ -1,7 +1,6 @@ import {describe} from 'vitest'; describe('Bindings Test Suite', async () => { - await import('@test/bindings/kafka/index.mjs'); await import('@test/bindings/mqtt/index.mjs'); await import('@test/bindings/nats/index.mjs'); await import('@test/bindings/pulsar/index.mjs'); diff --git a/test/bindings/kafka/0.1.0/message/empty.json b/test/bindings/kafka/0.1.0/message/empty.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/kafka/0.1.0/message/empty.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/kafka/0.1.0/message/index.mjs b/test/bindings/kafka/0.1.0/message/index.mjs deleted file mode 100644 index 66d2aa3f..00000000 --- a/test/bindings/kafka/0.1.0/message/index.mjs +++ /dev/null @@ -1,37 +0,0 @@ -import {describe, it} from 'vitest'; -import TestHelper from '@test/test-helper'; -import path from 'path'; - -const jsonSchema = require('@bindings/kafka/0.1.0/message.json'); - -describe('Message', () => { - it('example', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './example.json'), - )); - - it('empty', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './empty.json'), - )); - - it('without required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './without required properties.json'), - )); - - it('only required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './only required properties.json'), - )); - - it('extended', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './extended.json'), - )); - - it('wrongly extended', () => TestHelper.wronglyExtended( - jsonSchema, - path.resolve(__dirname, './wrongly extended.json'), - )); -}); diff --git a/test/bindings/kafka/0.1.0/operation/empty.json b/test/bindings/kafka/0.1.0/operation/empty.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/kafka/0.1.0/operation/empty.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/kafka/0.1.0/operation/index.mjs b/test/bindings/kafka/0.1.0/operation/index.mjs deleted file mode 100644 index e03ad247..00000000 --- a/test/bindings/kafka/0.1.0/operation/index.mjs +++ /dev/null @@ -1,37 +0,0 @@ -import {describe, it} from 'vitest'; -import TestHelper from '@test/test-helper'; -import path from 'path'; - -const jsonSchema = require('@bindings/kafka/0.1.0/operation.json'); - -describe('Operation', () => { - it('example', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './example.json'), - )); - - it('empty', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './empty.json'), - )); - - it('without required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './without required properties.json'), - )); - - it('only required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './only required properties.json'), - )); - - it('extended', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './extended.json'), - )); - - it('wrongly extended', () => TestHelper.wronglyExtended( - jsonSchema, - path.resolve(__dirname, './wrongly extended.json'), - )); -}); diff --git a/test/bindings/kafka/0.3.0/channel/empty.json b/test/bindings/kafka/0.3.0/channel/empty.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/kafka/0.3.0/channel/empty.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/kafka/0.3.0/channel/index.mjs b/test/bindings/kafka/0.3.0/channel/index.mjs deleted file mode 100644 index 91324f70..00000000 --- a/test/bindings/kafka/0.3.0/channel/index.mjs +++ /dev/null @@ -1,37 +0,0 @@ -import {describe, it} from 'vitest'; -import TestHelper from '@test/test-helper'; -import path from 'path'; - -const jsonSchema = require('@bindings/kafka/0.3.0/channel.json'); - -describe('Channel', () => { - it('example', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './example.json'), - )); - - it('empty', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './empty.json'), - )); - - it('without required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './without required properties.json'), - )); - - it('only required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './only required properties.json'), - )); - - it('extended', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './extended.json'), - )); - - it('wrongly extended', () => TestHelper.wronglyExtended( - jsonSchema, - path.resolve(__dirname, './wrongly extended.json'), - )); -}); diff --git a/test/bindings/kafka/0.3.0/message/empty.json b/test/bindings/kafka/0.3.0/message/empty.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/kafka/0.3.0/message/empty.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/kafka/0.3.0/message/index.mjs b/test/bindings/kafka/0.3.0/message/index.mjs deleted file mode 100644 index 503d8f0f..00000000 --- a/test/bindings/kafka/0.3.0/message/index.mjs +++ /dev/null @@ -1,37 +0,0 @@ -import {describe, it} from 'vitest'; -import TestHelper from '@test/test-helper'; -import path from 'path'; - -const jsonSchema = require('@bindings/kafka/0.3.0/message.json'); - -describe('Message', () => { - it('example', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './example.json'), - )); - - it('empty', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './empty.json'), - )); - - it('without required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './without required properties.json'), - )); - - it('only required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './only required properties.json'), - )); - - it('extended', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './extended.json'), - )); - - it('wrongly extended', () => TestHelper.wronglyExtended( - jsonSchema, - path.resolve(__dirname, './wrongly extended.json'), - )); -}); diff --git a/test/bindings/kafka/0.3.0/operation/empty.json b/test/bindings/kafka/0.3.0/operation/empty.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/kafka/0.3.0/operation/empty.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/kafka/0.3.0/operation/index.mjs b/test/bindings/kafka/0.3.0/operation/index.mjs deleted file mode 100644 index 50e997fc..00000000 --- a/test/bindings/kafka/0.3.0/operation/index.mjs +++ /dev/null @@ -1,37 +0,0 @@ -import {describe, it} from 'vitest'; -import TestHelper from '@test/test-helper'; -import path from 'path'; - -const jsonSchema = require('@bindings/kafka/0.3.0/operation.json'); - -describe('Operation', () => { - it('example', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './example.json'), - )); - - it('empty', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './empty.json'), - )); - - it('without required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './without required properties.json'), - )); - - it('only required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './only required properties.json'), - )); - - it('extended', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './extended.json'), - )); - - it('wrongly extended', () => TestHelper.wronglyExtended( - jsonSchema, - path.resolve(__dirname, './wrongly extended.json'), - )); -}); diff --git a/test/bindings/kafka/0.3.0/server/empty.json b/test/bindings/kafka/0.3.0/server/empty.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/kafka/0.3.0/server/empty.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/kafka/0.3.0/server/index.mjs b/test/bindings/kafka/0.3.0/server/index.mjs deleted file mode 100644 index 159d1a69..00000000 --- a/test/bindings/kafka/0.3.0/server/index.mjs +++ /dev/null @@ -1,37 +0,0 @@ -import {describe, it} from 'vitest'; -import TestHelper from '@test/test-helper'; -import path from 'path'; - -const jsonSchema = require('@bindings/kafka/0.3.0/server.json'); - -describe('Server', () => { - it('example', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './example.json'), - )); - - it('empty', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './empty.json'), - )); - - it('without required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './without required properties.json'), - )); - - it('only required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './only required properties.json'), - )); - - it('extended', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './extended.json'), - )); - - it('wrongly extended', () => TestHelper.wronglyExtended( - jsonSchema, - path.resolve(__dirname, './wrongly extended.json'), - )); -}); diff --git a/test/bindings/kafka/0.5.0/channel/empty.json b/test/bindings/kafka/0.5.0/channel/empty.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/kafka/0.5.0/channel/empty.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/kafka/0.5.0/channel/index.mjs b/test/bindings/kafka/0.5.0/channel/index.mjs deleted file mode 100644 index 6d213a8f..00000000 --- a/test/bindings/kafka/0.5.0/channel/index.mjs +++ /dev/null @@ -1,37 +0,0 @@ -import {describe, it} from 'vitest'; -import TestHelper from '@test/test-helper'; -import path from 'path'; - -const jsonSchema = require('@bindings/kafka/0.5.0/channel.json'); - -describe('Channel', () => { - it('example', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './example.json'), - )); - - it('empty', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './empty.json'), - )); - - it('without required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './without required properties.json'), - )); - - it('only required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './only required properties.json'), - )); - - it('extended', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './extended.json'), - )); - - it('wrongly extended', () => TestHelper.wronglyExtended( - jsonSchema, - path.resolve(__dirname, './wrongly extended.json'), - )); -}); diff --git a/test/bindings/kafka/0.5.0/message/empty.json b/test/bindings/kafka/0.5.0/message/empty.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/kafka/0.5.0/message/empty.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/kafka/0.5.0/message/index.mjs b/test/bindings/kafka/0.5.0/message/index.mjs deleted file mode 100644 index 8bcfd500..00000000 --- a/test/bindings/kafka/0.5.0/message/index.mjs +++ /dev/null @@ -1,37 +0,0 @@ -import {describe, it} from 'vitest'; -import TestHelper from '@test/test-helper'; -import path from 'path'; - -const jsonSchema = require('@bindings/kafka/0.5.0/message.json'); - -describe('Message', () => { - it('example', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './example.json'), - )); - - it('empty', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './empty.json'), - )); - - it('without required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './without required properties.json'), - )); - - it('only required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './only required properties.json'), - )); - - it('extended', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './extended.json'), - )); - - it('wrongly extended', () => TestHelper.wronglyExtended( - jsonSchema, - path.resolve(__dirname, './wrongly extended.json'), - )); -}); diff --git a/test/bindings/kafka/0.5.0/operation/empty.json b/test/bindings/kafka/0.5.0/operation/empty.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/kafka/0.5.0/operation/empty.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/kafka/0.5.0/operation/index.mjs b/test/bindings/kafka/0.5.0/operation/index.mjs deleted file mode 100644 index 4b21cd69..00000000 --- a/test/bindings/kafka/0.5.0/operation/index.mjs +++ /dev/null @@ -1,37 +0,0 @@ -import {describe, it} from 'vitest'; -import TestHelper from '@test/test-helper'; -import path from 'path'; - -const jsonSchema = require('@bindings/kafka/0.5.0/operation.json'); - -describe('Operation', () => { - it('example', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './example.json'), - )); - - it('empty', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './empty.json'), - )); - - it('without required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './without required properties.json'), - )); - - it('only required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './only required properties.json'), - )); - - it('extended', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './extended.json'), - )); - - it('wrongly extended', () => TestHelper.wronglyExtended( - jsonSchema, - path.resolve(__dirname, './wrongly extended.json'), - )); -}); diff --git a/test/bindings/kafka/0.5.0/server/empty.json b/test/bindings/kafka/0.5.0/server/empty.json deleted file mode 100644 index 9e26dfee..00000000 --- a/test/bindings/kafka/0.5.0/server/empty.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/bindings/kafka/0.5.0/server/index.mjs b/test/bindings/kafka/0.5.0/server/index.mjs deleted file mode 100644 index 8c1fde4f..00000000 --- a/test/bindings/kafka/0.5.0/server/index.mjs +++ /dev/null @@ -1,37 +0,0 @@ -import {describe, it} from 'vitest'; -import TestHelper from '@test/test-helper'; -import path from 'path'; - -const jsonSchema = require('@bindings/kafka/0.5.0/server.json'); - -describe('Server', () => { - it('example', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './example.json'), - )); - - it('empty', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './empty.json'), - )); - - it('without required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './without required properties.json'), - )); - - it('only required properties', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './only required properties.json'), - )); - - it('extended', () => TestHelper.objectIsValid( - jsonSchema, - path.resolve(__dirname, './extended.json'), - )); - - it('wrongly extended', () => TestHelper.wronglyExtended( - jsonSchema, - path.resolve(__dirname, './wrongly extended.json'), - )); -}); diff --git a/test/bindings/kafka/index.mjs b/test/bindings/kafka/index.mjs deleted file mode 100644 index 5b353007..00000000 --- a/test/bindings/kafka/index.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import {describe} from 'vitest'; - -describe('Kafka Test Suite', () => { - describe('0.1.0', async () => { - await import('./0.1.0/message'); - await import('./0.1.0/operation'); - }); - - describe('0.3.0', async () => { - await import('./0.3.0/channel'); - await import('./0.3.0/message'); - await import('./0.3.0/operation'); - await import('./0.3.0/server'); - }); - - describe('0.4.0', async () => { - await import('./0.4.0/channel'); - await import('./0.4.0/message'); - await import('./0.4.0/operation'); - await import('./0.4.0/server'); - }); - - describe('0.5.0', async () => { - await import('./0.5.0/channel'); - await import('./0.5.0/message'); - await import('./0.5.0/operation'); - await import('./0.5.0/server'); - }); -}) \ No newline at end of file diff --git a/test/bindings/kafka/kafka.test.mjs b/test/bindings/kafka/kafka.test.mjs new file mode 100644 index 00000000..e4d5ef58 --- /dev/null +++ b/test/bindings/kafka/kafka.test.mjs @@ -0,0 +1,148 @@ +import {it} from 'vitest'; +import TestHelper from '@test/test-helper.mjs'; +import path from 'path'; + +describe.each([ + '0.1.0', + '0.3.0', + '0.4.0', + '0.5.0', +])('Kafka bindings v%s', async (bindingVersion) => { + + const channelSchema = bindingVersion === '0.1.0' + ? null + : await import(`@bindings/kafka/${bindingVersion}/channel.json`); + const messageSchema = await import(`@bindings/kafka/${bindingVersion}/message.json`); + const operationSchema = await import(`@bindings/kafka/${bindingVersion}/operation.json`); + const serverSchema = bindingVersion === '0.1.0' + ? null + : await import(`@bindings/kafka/${bindingVersion}/server.json`); + + describe.skipIf(bindingVersion === '0.1.0')('channel', () => { + it(TestHelper.exampleIsValidTestName, () => TestHelper.objectIsValid( + channelSchema, + path.resolve(__dirname, `./${bindingVersion}/channel/example.json`), + )); + + it(TestHelper.canBeEmptyTestName, () => TestHelper.objectIsValid( + channelSchema, + {}, + )); + + it(TestHelper.isValidWithoutRequiredPropertiesTestName, () => TestHelper.objectIsValid( + channelSchema, + path.resolve(__dirname, `./${bindingVersion}/channel/without required properties.json`), + )); + + it(TestHelper.isValidWithOnlyRequiredPropertiesTestName, () => TestHelper.objectIsValid( + channelSchema, + path.resolve(__dirname, `./${bindingVersion}/channel/only required properties.json`), + )); + + it(TestHelper.isValidWhenIsExtendedTestName, () => TestHelper.objectIsValid( + channelSchema, + path.resolve(__dirname, `./${bindingVersion}/channel/extended.json`), + )); + + it(TestHelper.isNotValidWhenIsWronglyExtendedTestName, () => TestHelper.wronglyExtended( + channelSchema, + path.resolve(__dirname, `./${bindingVersion}/channel/wrongly extended.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.skipIf(bindingVersion === '0.1.0')('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 diff --git a/vite.config.ts b/vite.config.ts index 8ab0040c..0adc14eb 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -17,6 +17,7 @@ export default defineConfig({ '**/test/bindings/ibmmq/ibmmq.test.mjs', '**/test/bindings/http/http.test.mjs', '**/test/bindings/jms/jms.test.mjs', + '**/test/bindings/kafka/kafka.test.mjs', '**/test/definitions/3.0.0/definitions.suite.mjs', ], reporters: ['verbose'] // https://vitest.dev/guide/reporters#custom-reporters