Skip to content

Commit 97ab8dc

Browse files
authored
move schema check openapi tests into feature directories (github#35932)
1 parent 8111a37 commit 97ab8dc

File tree

4 files changed

+58
-39
lines changed

4 files changed

+58
-39
lines changed

.github/workflows/test.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ jobs:
4646
{ name: 'graphql', path: 'tests/graphql', },
4747
{ name: 'events', path: 'src/events/tests', },
4848
{ name: 'automated-pipelines', path: 'src/automated-pipelines/tests', },
49+
{ name: 'rest', path: 'src/rest/tests', },
50+
{ name: 'webhooks', path: 'src/webhooks/tests', },
4951
{ name: 'linting', path: 'tests/linting', },
5052
{ name: 'meta', path: 'tests/meta', },
5153
{ name: 'routing', path: 'tests/routing', },

src/rest/tests/get-schema-files.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { describe, expect } from '@jest/globals'
2+
3+
import { getOpenApiSchemaFiles } from '../scripts/utils/sync.js'
4+
import { allVersions } from '../../../lib/all-versions.js'
5+
6+
const supportedReleases = Object.keys(allVersions).map(
7+
(version) => allVersions[version].openApiVersionName
8+
)
9+
describe('rest data files are generated correctly from dereferenced openapi files', () => {
10+
test('rest schema list should include calendar date versions', async () => {
11+
const schemas = [
12+
'fpt-2022-08-09.json',
13+
'fpt-2022-10-09.json',
14+
'fpt-2022-11-09.json',
15+
'ghec-2022-09-09.json',
16+
...supportedReleases,
17+
]
18+
19+
const expectedRestSchemas = [
20+
'fpt-2022-08-09.json',
21+
'fpt-2022-10-09.json',
22+
'fpt-2022-11-09.json',
23+
'ghec-2022-09-09.json',
24+
...supportedReleases
25+
.filter((release) => release !== 'ghec' && release !== 'fpt')
26+
.map((release) => `${release}.json`),
27+
]
28+
29+
const { restSchemas } = await getOpenApiSchemaFiles(schemas)
30+
expect(restSchemas.sort()).toEqual(expectedRestSchemas.sort())
31+
})
32+
})
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { describe, expect } from '@jest/globals'
2+
3+
import { getOpenApiSchemaFiles } from '../../rest/scripts/utils/sync.js'
4+
import { allVersions } from '../../../lib/all-versions.js'
5+
6+
describe('webhook data files are generated correctly from dereferenced openapi files', () => {
7+
test('webhook schema list should not include calendar date versions', async () => {
8+
const supportedReleases = Object.keys(allVersions).map(
9+
(version) => allVersions[version].openApiVersionName
10+
)
11+
const schemas = [
12+
'fpt-2022-08-09.json',
13+
'fpt-2022-10-09.json',
14+
'fpt-2022-11-09.json',
15+
'ghec-2022-09-09.json',
16+
...supportedReleases,
17+
]
18+
19+
const { webhookSchemas } = await getOpenApiSchemaFiles(schemas)
20+
expect(webhookSchemas.sort()).toEqual(
21+
supportedReleases.sort().map((release) => `${release}.json`)
22+
)
23+
})
24+
})

tests/unit/openapi-decorator.js

Lines changed: 0 additions & 39 deletions
This file was deleted.

0 commit comments

Comments
 (0)