Skip to content

Commit

Permalink
test(definitions): Models Test Suite
Browse files Browse the repository at this point in the history
  • Loading branch information
Pakisan committed Jun 2, 2024
1 parent 0e15db2 commit f2e4ae7
Show file tree
Hide file tree
Showing 23 changed files with 79 additions and 71 deletions.
1 change: 1 addition & 0 deletions test/definitions/3.0.0/definitions.suite.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import {describe} from 'vitest';

describe('AsyncAPI 3.0.0 Test Suite', async () => {
await import('./models/index.mjs');
await import('./security/index.mjs');
})
10 changes: 5 additions & 5 deletions test/definitions/3.0.0/models/channel/index.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {describe, test} from 'vitest';
import {describe} from 'vitest';

describe('Channel test suite', () => {
test('Channel', require('./channel'));
test('Message', require('./message'));
test('Parameter', require('./parameter'));
describe('Channel Test Suite', async () => {
await import('./channel');
await import('./message');
await import('./parameter');
});
12 changes: 6 additions & 6 deletions test/definitions/3.0.0/models/channel/message/index.mjs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import {describe, test} from 'vitest';
import {describe} from 'vitest';

describe('Message test suite', () => {
test('Correlation Id', require('./correlationId'));
test('Message', require('./message'));
test('Message Example', require('./messageExample'));
test('Message Trait', require('./messageTrait'));
describe('Message Test Suite', async () => {
await import('./correlationId');
await import('./message');
await import('./messageExample');
await import('./messageTrait');
});
10 changes: 10 additions & 0 deletions test/definitions/3.0.0/models/index.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import {describe} from 'vitest';

describe('Models Test Suite', async () => {
await import('./channel');
await import('./info');
await import('./operation');
await import('./reference');
await import('./server');
await import('./tag');
});
10 changes: 5 additions & 5 deletions test/definitions/3.0.0/models/info/index.mjs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import {describe} from 'vitest';

describe('Info Test Suite', () => {
test('Info', require('./info'));
test('Info Extensions', require('./info extensions'));
test('Contact', require('./contact'));
test('License', require('./license'));
describe('Info Test Suite', async () => {
await import('./info');
await import('./info extensions');
await import('./contact');
await import('./license');
});
10 changes: 5 additions & 5 deletions test/definitions/3.0.0/models/operation/index.mjs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import {describe} from 'vitest';

describe('Operation test suite', () => {
test('Operation', require('./operation'));
test('Operation Reply', require('./operationReply'));
test('Operation Reply Address', require('./operationReplyAddress'));
test('Operation Operation Trait', require('./operationTrait'));
describe('Operation Test Suite', async () => {
await import('./operation');
await import('./operationReply');
await import('./operationReplyAddress');
await import('./operationTrait');
});
42 changes: 5 additions & 37 deletions test/definitions/3.0.0/models/reference/index.mjs
Original file line number Diff line number Diff line change
@@ -1,38 +1,6 @@
import path from 'path';
import TestHelper from '@test/test-helper.js';
import {describe} from 'vitest';

const jsonSchema = require('@definitions/3.0.0/Reference.json');

describe('Reference', () => {
it('example', () => TestHelper.objectIsValid(
jsonSchema,
path.resolve(__dirname, './example.json'),
));

it('empty', () => TestHelper.objectIsNotValid(
jsonSchema,
path.resolve(__dirname, './empty.json'),
['must have required property \'$ref\'']
));

it('without required properties', () => TestHelper.objectIsNotValid(
jsonSchema,
path.resolve(__dirname, './without required properties.json'),
['must have required property \'$ref\'']
));

it('only required properties', () => () => TestHelper.objectIsValid(
jsonSchema,
path.resolve(__dirname, './only required properties.json.json'),
));

it.skip('extended. Reason: schema doesn\'t check for extensions', () => TestHelper.objectIsValid(
jsonSchema,
path.resolve(__dirname, '../../../extended.json')
));

it.skip('wrongly extended. Reason: schema doesn\'t check for extensions', () => TestHelper.wronglyExtended(
jsonSchema,
path.resolve(__dirname, '../../../../wrongly extended.json')
));
});
describe('Reference Test Suite', async () => {
await import('./reference');
await import('./reference object');
});
38 changes: 38 additions & 0 deletions test/definitions/3.0.0/models/reference/reference/index.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import path from 'path';
import TestHelper from '@test/test-helper.js';

const jsonSchema = require('@definitions/3.0.0/Reference.json');

describe('Reference', () => {
it('example', () => TestHelper.objectIsValid(
jsonSchema,
path.resolve(__dirname, './example.json'),
));

it('empty', () => TestHelper.objectIsNotValid(
jsonSchema,
path.resolve(__dirname, './empty.json'),
['must have required property \'$ref\'']
));

it('without required properties', () => TestHelper.objectIsNotValid(
jsonSchema,
path.resolve(__dirname, './without required properties.json'),
['must have required property \'$ref\'']
));

it('only required properties', () => () => TestHelper.objectIsValid(
jsonSchema,
path.resolve(__dirname, './only required properties.json.json'),
));

it.skip('extended. Reason: schema doesn\'t check for extensions', () => TestHelper.objectIsValid(
jsonSchema,
path.resolve(__dirname, '../../../extended.json')
));

it.skip('wrongly extended. Reason: schema doesn\'t check for extensions', () => TestHelper.wronglyExtended(
jsonSchema,
path.resolve(__dirname, '../../../../wrongly extended.json')
));
});
8 changes: 4 additions & 4 deletions test/definitions/3.0.0/models/server/index.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import {describe, it} from 'vitest';
import {describe} from 'vitest';

describe('Server test suite', () => {
it('Server', () => require('./server'));
it('Server Variable', () => require('./serverVariable'));
describe('Server Test Suite', async () => {
await import('./server');
await import('./serverVariable');
});
9 changes: 0 additions & 9 deletions test/index.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,6 @@ const fs = require('fs');
const path = require('path');

suite('AsyncAPI: 3.0.0', () => {
suite('Models', () => {
test('Info Test Suite', () => require('./definitions/3.0.0/models/info'));
test('Channel Test Suite', () => require('./definitions/3.0.0/models/channel'));
test('Operation Test Suite', () => require('./definitions/3.0.0/models/operation'));
test('Server Test Suite', () => require('./definitions/3.0.0/models/server'));
test('Tag Test Suite', () => require('./definitions/3.0.0/models/tag'));
test('Reference Test Suite', () => require('./definitions/3.0.0/models/reference'));
test('Reference Object Test Suite', () => require('./definitions/3.0.0/models/reference object'));
});
suite('Bundler', () => {
test('Validator Test Suite', () => require('@test/schemas.mjs'));
})
Expand Down

0 comments on commit f2e4ae7

Please sign in to comment.