@redocly/openapi-core 1.0.0-beta.125 → 1.0.0-beta.127

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/lib/bundle.js +5 -2
  2. package/lib/config/all.js +8 -1
  3. package/lib/resolve.js +5 -1
  4. package/lib/rules/common/required-string-property-missing-min-length.d.ts +1 -1
  5. package/lib/rules/common/required-string-property-missing-min-length.js +3 -3
  6. package/lib/rules/common/spec.js +1 -0
  7. package/lib/rules/oas2/index.js +1 -1
  8. package/lib/rules/oas2/request-mime-type.d.ts +1 -1
  9. package/lib/rules/oas2/response-mime-type.d.ts +1 -1
  10. package/lib/rules/oas3/index.js +1 -1
  11. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.d.ts +2 -2
  12. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js +3 -3
  13. package/lib/rules/oas3/request-mime-type.d.ts +1 -1
  14. package/lib/rules/oas3/response-mime-type.d.ts +1 -1
  15. package/lib/walk.d.ts +6 -5
  16. package/lib/walk.js +23 -27
  17. package/package.json +1 -1
  18. package/__tests__/utils.ts +0 -88
  19. package/src/__tests__/__snapshots__/bundle.test.ts.snap +0 -437
  20. package/src/__tests__/bundle.test.ts +0 -236
  21. package/src/__tests__/codeframes.test.ts +0 -530
  22. package/src/__tests__/fixtures/.redocly.lint-ignore.yaml +0 -5
  23. package/src/__tests__/fixtures/extension.js +0 -24
  24. package/src/__tests__/fixtures/refs/definitions.yaml +0 -3
  25. package/src/__tests__/fixtures/refs/examples.yaml +0 -8
  26. package/src/__tests__/fixtures/refs/external-request-body.yaml +0 -13
  27. package/src/__tests__/fixtures/refs/externalref.yaml +0 -35
  28. package/src/__tests__/fixtures/refs/hosted.yaml +0 -35
  29. package/src/__tests__/fixtures/refs/openapi-with-external-refs-conflicting-names.yaml +0 -21
  30. package/src/__tests__/fixtures/refs/openapi-with-external-refs.yaml +0 -33
  31. package/src/__tests__/fixtures/refs/openapi-with-url-refs.yaml +0 -18
  32. package/src/__tests__/fixtures/refs/param-b.yaml +0 -1
  33. package/src/__tests__/fixtures/refs/param-c.yaml +0 -1
  34. package/src/__tests__/fixtures/refs/rename.yaml +0 -1
  35. package/src/__tests__/fixtures/refs/requestBody.yaml +0 -9
  36. package/src/__tests__/fixtures/refs/schema-a.yaml +0 -1
  37. package/src/__tests__/fixtures/refs/simple.yaml +0 -1
  38. package/src/__tests__/fixtures/refs/vendor.schema.yaml +0 -20
  39. package/src/__tests__/fixtures/resolve/External.yaml +0 -10
  40. package/src/__tests__/fixtures/resolve/External2.yaml +0 -4
  41. package/src/__tests__/fixtures/resolve/description.md +0 -3
  42. package/src/__tests__/fixtures/resolve/externalInfo.yaml +0 -4
  43. package/src/__tests__/fixtures/resolve/externalLicense.yaml +0 -1
  44. package/src/__tests__/fixtures/resolve/openapi-with-back.yaml +0 -13
  45. package/src/__tests__/fixtures/resolve/openapi-with-md-description.yaml +0 -5
  46. package/src/__tests__/fixtures/resolve/openapi.yaml +0 -28
  47. package/src/__tests__/fixtures/resolve/schemas/type-a.yaml +0 -10
  48. package/src/__tests__/fixtures/resolve/schemas/type-b.yaml +0 -6
  49. package/src/__tests__/fixtures/resolve/transitive/a.yaml +0 -1
  50. package/src/__tests__/fixtures/resolve/transitive/components.yaml +0 -5
  51. package/src/__tests__/fixtures/resolve/transitive/schemas.yaml +0 -3
  52. package/src/__tests__/format.test.ts +0 -76
  53. package/src/__tests__/js-yaml.test.ts +0 -73
  54. package/src/__tests__/lint.test.ts +0 -388
  55. package/src/__tests__/logger-browser.test.ts +0 -53
  56. package/src/__tests__/logger.test.ts +0 -47
  57. package/src/__tests__/login.test.ts +0 -17
  58. package/src/__tests__/normalizeVisitors.test.ts +0 -151
  59. package/src/__tests__/output-browser.test.ts +0 -18
  60. package/src/__tests__/output.test.ts +0 -15
  61. package/src/__tests__/ref-utils.test.ts +0 -120
  62. package/src/__tests__/resolve-http.test.ts +0 -77
  63. package/src/__tests__/resolve.test.ts +0 -408
  64. package/src/__tests__/utils-browser.test.ts +0 -11
  65. package/src/__tests__/utils.test.ts +0 -144
  66. package/src/__tests__/walk.test.ts +0 -1545
  67. package/src/benchmark/benches/lint-with-many-rules.bench.ts +0 -35
  68. package/src/benchmark/benches/lint-with-nested-rule.bench.ts +0 -39
  69. package/src/benchmark/benches/lint-with-no-rules.bench.ts +0 -20
  70. package/src/benchmark/benches/lint-with-top-level-rule-report.bench.ts +0 -35
  71. package/src/benchmark/benches/lint-with-top-level-rule.bench.ts +0 -32
  72. package/src/benchmark/benches/rebilly.yaml +0 -32275
  73. package/src/benchmark/benches/recommended-oas3.bench.ts +0 -22
  74. package/src/benchmark/benches/resolve-with-no-external.bench.ts +0 -23
  75. package/src/benchmark/benchmark.js +0 -311
  76. package/src/benchmark/colors.js +0 -29
  77. package/src/benchmark/fork.js +0 -83
  78. package/src/benchmark/utils.ts +0 -36
  79. package/src/bundle.ts +0 -399
  80. package/src/config/__tests__/__snapshots__/config-resolvers.test.ts.snap +0 -161
  81. package/src/config/__tests__/__snapshots__/config.test.ts.snap +0 -144
  82. package/src/config/__tests__/config-resolvers.test.ts +0 -491
  83. package/src/config/__tests__/config.test.ts +0 -307
  84. package/src/config/__tests__/fixtures/ingore-file.ts +0 -8
  85. package/src/config/__tests__/fixtures/load-redocly.yaml +0 -2
  86. package/src/config/__tests__/fixtures/plugin-config.yaml +0 -2
  87. package/src/config/__tests__/fixtures/plugin.js +0 -56
  88. package/src/config/__tests__/fixtures/resolve-config/api/nested-config.yaml +0 -11
  89. package/src/config/__tests__/fixtures/resolve-config/api/plugin.js +0 -69
  90. package/src/config/__tests__/fixtures/resolve-config/local-config-with-circular.yaml +0 -7
  91. package/src/config/__tests__/fixtures/resolve-config/local-config-with-custom-function.yaml +0 -17
  92. package/src/config/__tests__/fixtures/resolve-config/local-config-with-file.yaml +0 -18
  93. package/src/config/__tests__/fixtures/resolve-config/local-config-with-wrong-custom-function.yaml +0 -15
  94. package/src/config/__tests__/fixtures/resolve-config/local-config.yaml +0 -9
  95. package/src/config/__tests__/fixtures/resolve-config/plugin.js +0 -80
  96. package/src/config/__tests__/fixtures/resolve-remote-configs/nested-remote-config.yaml +0 -3
  97. package/src/config/__tests__/fixtures/resolve-remote-configs/remote-config.yaml +0 -4
  98. package/src/config/__tests__/load.test.ts +0 -167
  99. package/src/config/__tests__/resolve-plugins.test.ts +0 -27
  100. package/src/config/__tests__/utils.test.ts +0 -204
  101. package/src/config/all.ts +0 -66
  102. package/src/config/builtIn.ts +0 -37
  103. package/src/config/config-resolvers.ts +0 -465
  104. package/src/config/config.ts +0 -330
  105. package/src/config/index.ts +0 -7
  106. package/src/config/load.ts +0 -144
  107. package/src/config/minimal.ts +0 -60
  108. package/src/config/recommended.ts +0 -60
  109. package/src/config/rules.ts +0 -54
  110. package/src/config/types.ts +0 -216
  111. package/src/config/utils.ts +0 -333
  112. package/src/decorators/__tests__/filter-in.test.ts +0 -310
  113. package/src/decorators/__tests__/filter-out.test.ts +0 -335
  114. package/src/decorators/__tests__/media-type-examples-override.test.ts +0 -665
  115. package/src/decorators/__tests__/remove-x-internal.test.ts +0 -316
  116. package/src/decorators/__tests__/resources/request.yaml +0 -3
  117. package/src/decorators/__tests__/resources/response.yaml +0 -3
  118. package/src/decorators/common/filters/filter-helper.ts +0 -72
  119. package/src/decorators/common/filters/filter-in.ts +0 -18
  120. package/src/decorators/common/filters/filter-out.ts +0 -18
  121. package/src/decorators/common/info-description-override.ts +0 -24
  122. package/src/decorators/common/info-override.ts +0 -15
  123. package/src/decorators/common/media-type-examples-override.ts +0 -79
  124. package/src/decorators/common/operation-description-override.ts +0 -30
  125. package/src/decorators/common/registry-dependencies.ts +0 -25
  126. package/src/decorators/common/remove-x-internal.ts +0 -59
  127. package/src/decorators/common/tag-description-override.ts +0 -25
  128. package/src/decorators/oas2/index.ts +0 -20
  129. package/src/decorators/oas3/index.ts +0 -22
  130. package/src/env.ts +0 -5
  131. package/src/format/codeframes.ts +0 -216
  132. package/src/format/format.ts +0 -375
  133. package/src/index.ts +0 -71
  134. package/src/js-yaml/index.ts +0 -14
  135. package/src/lint.ts +0 -130
  136. package/src/logger.ts +0 -34
  137. package/src/oas-types.ts +0 -57
  138. package/src/output.ts +0 -7
  139. package/src/redocly/__tests__/redocly-client.test.ts +0 -146
  140. package/src/redocly/index.ts +0 -187
  141. package/src/redocly/redocly-client-types.ts +0 -10
  142. package/src/redocly/registry-api-types.ts +0 -32
  143. package/src/redocly/registry-api.ts +0 -149
  144. package/src/ref-utils.ts +0 -85
  145. package/src/resolve.ts +0 -412
  146. package/src/rules/__tests__/fixtures/code-sample.php +0 -9
  147. package/src/rules/__tests__/fixtures/invalid-yaml.yaml +0 -1
  148. package/src/rules/__tests__/fixtures/ref.yaml +0 -1
  149. package/src/rules/__tests__/no-unresolved-refs.test.ts +0 -257
  150. package/src/rules/__tests__/utils.test.ts +0 -160
  151. package/src/rules/ajv.ts +0 -102
  152. package/src/rules/common/__tests__/info-license.test.ts +0 -62
  153. package/src/rules/common/__tests__/license-url.test.ts +0 -63
  154. package/src/rules/common/__tests__/no-ambiguous-paths.test.ts +0 -96
  155. package/src/rules/common/__tests__/no-enum-type-mismatch.test.ts +0 -210
  156. package/src/rules/common/__tests__/no-identical-paths.test.ts +0 -58
  157. package/src/rules/common/__tests__/no-path-trailing-slash.test.ts +0 -85
  158. package/src/rules/common/__tests__/operation-2xx-response.test.ts +0 -192
  159. package/src/rules/common/__tests__/operation-4xx-response.test.ts +0 -231
  160. package/src/rules/common/__tests__/operation-operationId-unique.test.ts +0 -76
  161. package/src/rules/common/__tests__/operation-operationId-url-safe.test.ts +0 -45
  162. package/src/rules/common/__tests__/operation-parameters-unique.test.ts +0 -167
  163. package/src/rules/common/__tests__/operation-singular-tag.test.ts +0 -72
  164. package/src/rules/common/__tests__/path-http-verbs-order.test.ts +0 -95
  165. package/src/rules/common/__tests__/path-not-include-query.test.ts +0 -64
  166. package/src/rules/common/__tests__/path-params-defined.test.ts +0 -202
  167. package/src/rules/common/__tests__/paths-kebab-case.test.ts +0 -108
  168. package/src/rules/common/__tests__/scalar-property-missing-example.test.ts +0 -264
  169. package/src/rules/common/__tests__/security-defined.test.ts +0 -175
  170. package/src/rules/common/__tests__/spec.test.ts +0 -555
  171. package/src/rules/common/__tests__/tag-description.test.ts +0 -65
  172. package/src/rules/common/__tests__/tags-alphabetical.test.ts +0 -64
  173. package/src/rules/common/assertions/__tests__/asserts.test.ts +0 -869
  174. package/src/rules/common/assertions/__tests__/index.test.ts +0 -100
  175. package/src/rules/common/assertions/__tests__/utils.test.ts +0 -236
  176. package/src/rules/common/assertions/asserts.ts +0 -357
  177. package/src/rules/common/assertions/index.ts +0 -56
  178. package/src/rules/common/assertions/utils.ts +0 -331
  179. package/src/rules/common/info-contact.ts +0 -15
  180. package/src/rules/common/info-license-url.ts +0 -10
  181. package/src/rules/common/info-license.ts +0 -15
  182. package/src/rules/common/no-ambiguous-paths.ts +0 -50
  183. package/src/rules/common/no-enum-type-mismatch.ts +0 -52
  184. package/src/rules/common/no-http-verbs-in-paths.ts +0 -36
  185. package/src/rules/common/no-identical-paths.ts +0 -24
  186. package/src/rules/common/no-invalid-parameter-examples.ts +0 -36
  187. package/src/rules/common/no-invalid-schema-examples.ts +0 -27
  188. package/src/rules/common/no-path-trailing-slash.ts +0 -15
  189. package/src/rules/common/operation-2xx-response.ts +0 -24
  190. package/src/rules/common/operation-4xx-response.ts +0 -24
  191. package/src/rules/common/operation-description.ts +0 -13
  192. package/src/rules/common/operation-operationId-unique.ts +0 -21
  193. package/src/rules/common/operation-operationId-url-safe.ts +0 -19
  194. package/src/rules/common/operation-operationId.ts +0 -17
  195. package/src/rules/common/operation-parameters-unique.ts +0 -48
  196. package/src/rules/common/operation-singular-tag.ts +0 -17
  197. package/src/rules/common/operation-summary.ts +0 -13
  198. package/src/rules/common/operation-tag-defined.ts +0 -26
  199. package/src/rules/common/parameter-description.ts +0 -22
  200. package/src/rules/common/path-declaration-must-exist.ts +0 -15
  201. package/src/rules/common/path-excludes-patterns.ts +0 -23
  202. package/src/rules/common/path-http-verbs-order.ts +0 -30
  203. package/src/rules/common/path-not-include-query.ts +0 -17
  204. package/src/rules/common/path-params-defined.ts +0 -65
  205. package/src/rules/common/path-segment-plural.ts +0 -31
  206. package/src/rules/common/paths-kebab-case.ts +0 -19
  207. package/src/rules/common/required-string-property-missing-min-length.ts +0 -44
  208. package/src/rules/common/response-contains-header.ts +0 -35
  209. package/src/rules/common/scalar-property-missing-example.ts +0 -58
  210. package/src/rules/common/security-defined.ts +0 -65
  211. package/src/rules/common/spec.ts +0 -174
  212. package/src/rules/common/tag-description.ts +0 -10
  213. package/src/rules/common/tags-alphabetical.ts +0 -20
  214. package/src/rules/no-unresolved-refs.ts +0 -51
  215. package/src/rules/oas2/__tests__/boolean-parameter-prefixes.test.ts +0 -110
  216. package/src/rules/oas2/__tests__/response-contains-header.test.ts +0 -174
  217. package/src/rules/oas2/__tests__/response-contains-property.test.ts +0 -155
  218. package/src/rules/oas2/__tests__/spec/fixtures/description.md +0 -1
  219. package/src/rules/oas2/__tests__/spec/info.test.ts +0 -355
  220. package/src/rules/oas2/__tests__/spec/operation.test.ts +0 -123
  221. package/src/rules/oas2/__tests__/spec/paths.test.ts +0 -245
  222. package/src/rules/oas2/__tests__/spec/referenceableScalars.test.ts +0 -35
  223. package/src/rules/oas2/__tests__/spec/utils.ts +0 -32
  224. package/src/rules/oas2/boolean-parameter-prefixes.ts +0 -26
  225. package/src/rules/oas2/index.ts +0 -89
  226. package/src/rules/oas2/remove-unused-components.ts +0 -81
  227. package/src/rules/oas2/request-mime-type.ts +0 -17
  228. package/src/rules/oas2/response-contains-property.ts +0 -36
  229. package/src/rules/oas2/response-mime-type.ts +0 -17
  230. package/src/rules/oas3/__tests__/boolean-parameter-prefixes.test.ts +0 -111
  231. package/src/rules/oas3/__tests__/fixtures/common.yaml +0 -11
  232. package/src/rules/oas3/__tests__/no-empty-enum-servers.com.test.ts +0 -205
  233. package/src/rules/oas3/__tests__/no-example-value-and-externalValue.test.ts +0 -65
  234. package/src/rules/oas3/__tests__/no-invalid-media-type-examples.test.ts +0 -473
  235. package/src/rules/oas3/__tests__/no-server-example.com.test.ts +0 -60
  236. package/src/rules/oas3/__tests__/no-server-trailing-slash.test.ts +0 -79
  237. package/src/rules/oas3/__tests__/no-unused-components.test.ts +0 -131
  238. package/src/rules/oas3/__tests__/operation-4xx-problem-details-rfc7807.test.ts +0 -145
  239. package/src/rules/oas3/__tests__/response-contains-header.test.ts +0 -389
  240. package/src/rules/oas3/__tests__/response-contains-property.test.ts +0 -403
  241. package/src/rules/oas3/__tests__/spec/callbacks.test.ts +0 -41
  242. package/src/rules/oas3/__tests__/spec/fixtures/description.md +0 -1
  243. package/src/rules/oas3/__tests__/spec/info.test.ts +0 -391
  244. package/src/rules/oas3/__tests__/spec/operation.test.ts +0 -253
  245. package/src/rules/oas3/__tests__/spec/paths.test.ts +0 -284
  246. package/src/rules/oas3/__tests__/spec/referenceableScalars.test.ts +0 -77
  247. package/src/rules/oas3/__tests__/spec/servers.test.ts +0 -505
  248. package/src/rules/oas3/__tests__/spec/spec.test.ts +0 -298
  249. package/src/rules/oas3/__tests__/spec/utils.ts +0 -32
  250. package/src/rules/oas3/__tests__/spec-components-invalid-map-name.test.ts +0 -305
  251. package/src/rules/oas3/boolean-parameter-prefixes.ts +0 -28
  252. package/src/rules/oas3/index.ts +0 -109
  253. package/src/rules/oas3/no-empty-servers.ts +0 -22
  254. package/src/rules/oas3/no-example-value-and-externalValue.ts +0 -14
  255. package/src/rules/oas3/no-invalid-media-type-examples.ts +0 -49
  256. package/src/rules/oas3/no-server-example.com.ts +0 -14
  257. package/src/rules/oas3/no-server-trailing-slash.ts +0 -15
  258. package/src/rules/oas3/no-server-variables-empty-enum.ts +0 -66
  259. package/src/rules/oas3/no-undefined-server-variable.ts +0 -30
  260. package/src/rules/oas3/no-unused-components.ts +0 -75
  261. package/src/rules/oas3/operation-4xx-problem-details-rfc7807.ts +0 -36
  262. package/src/rules/oas3/remove-unused-components.ts +0 -95
  263. package/src/rules/oas3/request-mime-type.ts +0 -31
  264. package/src/rules/oas3/response-contains-property.ts +0 -38
  265. package/src/rules/oas3/response-mime-type.ts +0 -31
  266. package/src/rules/oas3/spec-components-invalid-map-name.ts +0 -74
  267. package/src/rules/other/stats.ts +0 -73
  268. package/src/rules/utils.ts +0 -191
  269. package/src/types/index.ts +0 -149
  270. package/src/types/oas2.ts +0 -478
  271. package/src/types/oas3.ts +0 -597
  272. package/src/types/oas3_1.ts +0 -258
  273. package/src/types/redocly-yaml.ts +0 -1010
  274. package/src/typings/common.ts +0 -17
  275. package/src/typings/openapi.ts +0 -298
  276. package/src/typings/swagger.ts +0 -236
  277. package/src/utils.ts +0 -276
  278. package/src/visitors.ts +0 -491
  279. package/src/walk.ts +0 -453
  280. package/tsconfig.json +0 -8
  281. package/tsconfig.tsbuildinfo +0 -1
@@ -1,665 +0,0 @@
1
- import { makeConfig, parseYamlToDocument, yamlSerializer } from '../../../__tests__/utils';
2
- import { outdent } from 'outdent';
3
- import { bundleDocument } from '../../bundle';
4
- import { BaseResolver } from '../../resolve';
5
-
6
- describe('oas3 media-type-examples-override', () => {
7
- expect.addSnapshotSerializer(yamlSerializer);
8
- it('should override response example', async () => {
9
- const testDocument = parseYamlToDocument(
10
- outdent`
11
- openapi: 3.0.0
12
- paths:
13
- /pet:
14
- get:
15
- operationId: getUserById
16
- responses:
17
- 200:
18
- description: json
19
- content:
20
- application/json:
21
- examples:
22
- def:
23
- value:
24
- a: test
25
-
26
- `
27
- );
28
- const { bundle: res } = await bundleDocument({
29
- document: testDocument,
30
- externalRefResolver: new BaseResolver(),
31
- config: await makeConfig(
32
- {},
33
- {
34
- 'media-type-examples-override': {
35
- operationIds: {
36
- getUserById: {
37
- responses: {
38
- '200': {
39
- 'application/json':
40
- 'packages/core/src/decorators/__tests__/resources/request.yaml',
41
- },
42
- },
43
- },
44
- },
45
- },
46
- }
47
- ),
48
- });
49
-
50
- expect(res.parsed).toMatchInlineSnapshot(`
51
- openapi: 3.0.0
52
- paths:
53
- /pet:
54
- get:
55
- operationId: getUserById
56
- responses:
57
- '200':
58
- description: json
59
- content:
60
- application/json:
61
- examples:
62
- def:
63
- value:
64
- b: from external file
65
- components: {}
66
-
67
- `);
68
- });
69
-
70
- it('should override requestBody examples', async () => {
71
- const testDocument = parseYamlToDocument(
72
- outdent`
73
- openapi: 3.0.0
74
- paths:
75
- /pet:
76
- get:
77
- operationId: getUserById
78
- requestBody:
79
- content:
80
- application/json:
81
- examples:
82
- def:
83
- value:
84
- a: test123
85
-
86
- `
87
- );
88
- const { bundle: res } = await bundleDocument({
89
- document: testDocument,
90
- externalRefResolver: new BaseResolver(),
91
- config: await makeConfig(
92
- {},
93
- {
94
- 'media-type-examples-override': {
95
- operationIds: {
96
- getUserById: {
97
- request: {
98
- 'application/json':
99
- 'packages/core/src/decorators/__tests__/resources/response.yaml',
100
- },
101
- },
102
- },
103
- },
104
- }
105
- ),
106
- });
107
-
108
- expect(res.parsed).toMatchInlineSnapshot(`
109
- openapi: 3.0.0
110
- paths:
111
- /pet:
112
- get:
113
- operationId: getUserById
114
- requestBody:
115
- content:
116
- application/json:
117
- examples:
118
- def:
119
- value:
120
- name: test response name
121
- components: {}
122
-
123
- `);
124
- });
125
-
126
- it('should override requestBody examples and 200 response', async () => {
127
- const testDocument = parseYamlToDocument(
128
- outdent`
129
- openapi: 3.0.0
130
- paths:
131
- /pet:
132
- get:
133
- operationId: getUserById
134
- responses:
135
- '200':
136
- description: json
137
- content:
138
- application/json:
139
- examples:
140
- def:
141
- value:
142
- message: test
143
- requestBody:
144
- content:
145
- application/json:
146
- examples:
147
- def:
148
- value:
149
- a: test123
150
-
151
- `
152
- );
153
- const { bundle: res } = await bundleDocument({
154
- document: testDocument,
155
- externalRefResolver: new BaseResolver(),
156
- config: await makeConfig(
157
- {},
158
- {
159
- 'media-type-examples-override': {
160
- operationIds: {
161
- getUserById: {
162
- request: {
163
- 'application/json':
164
- 'packages/core/src/decorators/__tests__/resources/request.yaml',
165
- },
166
- responses: {
167
- '200': {
168
- 'application/json':
169
- 'packages/core/src/decorators/__tests__/resources/response.yaml',
170
- },
171
- '201': {
172
- 'application/json':
173
- 'packages/core/src/decorators/__tests__/resources/response.yaml',
174
- },
175
- },
176
- },
177
- },
178
- },
179
- }
180
- ),
181
- });
182
-
183
- expect(res.parsed).toMatchInlineSnapshot(`
184
- openapi: 3.0.0
185
- paths:
186
- /pet:
187
- get:
188
- operationId: getUserById
189
- responses:
190
- '200':
191
- description: json
192
- content:
193
- application/json:
194
- examples:
195
- def:
196
- value:
197
- name: test response name
198
- requestBody:
199
- content:
200
- application/json:
201
- examples:
202
- def:
203
- value:
204
- b: from external file
205
- components: {}
206
-
207
- `);
208
- });
209
-
210
- it('should override response and request examples with refs', async () => {
211
- const testDocument = parseYamlToDocument(
212
- outdent`
213
- openapi: 3.0.0
214
- paths:
215
- /pet:
216
- get:
217
- operationId: getUserById
218
- responses:
219
- '200':
220
- $ref: '#/components/responses/okay200'
221
- requestBody:
222
- $ref: '#/components/requestBodies/testRequest'
223
- components:
224
- requestBodies:
225
- testRequest:
226
- content:
227
- application/json:
228
- examples:
229
- def:
230
- value:
231
- a: test123
232
- responses:
233
- okay200:
234
- description: json
235
- content:
236
- application/json:
237
- examples:
238
- def:
239
- value:
240
- a: t
241
- b: 3
242
- `
243
- );
244
-
245
- const { bundle: res } = await bundleDocument({
246
- document: testDocument,
247
- externalRefResolver: new BaseResolver(),
248
- config: await makeConfig(
249
- {},
250
- {
251
- 'media-type-examples-override': {
252
- operationIds: {
253
- getUserById: {
254
- request: {
255
- 'application/json':
256
- 'packages/core/src/decorators/__tests__/resources/request.yaml',
257
- },
258
- responses: {
259
- '200': {
260
- 'application/json':
261
- 'packages/core/src/decorators/__tests__/resources/response.yaml',
262
- },
263
- },
264
- },
265
- },
266
- },
267
- }
268
- ),
269
- });
270
-
271
- expect(res.parsed).toMatchInlineSnapshot(`
272
- openapi: 3.0.0
273
- paths:
274
- /pet:
275
- get:
276
- operationId: getUserById
277
- responses:
278
- '200':
279
- description: json
280
- content:
281
- application/json:
282
- examples:
283
- def:
284
- value:
285
- name: test response name
286
- requestBody:
287
- content:
288
- application/json:
289
- examples:
290
- def:
291
- value:
292
- b: from external file
293
- components:
294
- requestBodies:
295
- testRequest:
296
- content:
297
- application/json:
298
- examples:
299
- def:
300
- value:
301
- a: test123
302
- responses:
303
- okay200:
304
- description: json
305
- content:
306
- application/json:
307
- examples:
308
- def:
309
- value:
310
- a: t
311
- b: 3
312
-
313
- `);
314
- });
315
-
316
- it('should override examples with ref', async () => {
317
- const testDocument = parseYamlToDocument(
318
- outdent`
319
- openapi: 3.0.0
320
- paths:
321
- /pet:
322
- get:
323
- operationId: getUserById
324
- responses:
325
- '400':
326
- description: bad request
327
- content:
328
- application/json:
329
- examples:
330
- $ref: '#/components/examples/testExample'
331
- requestBody:
332
- content:
333
- application/json:
334
- examples:
335
- obj:
336
- $ref: '#/components/examples/testExample'
337
- components:
338
- examples:
339
- testExample:
340
- value:
341
- test: 1
342
- `
343
- );
344
-
345
- const { bundle: res } = await bundleDocument({
346
- document: testDocument,
347
- externalRefResolver: new BaseResolver(),
348
- config: await makeConfig(
349
- {},
350
- {
351
- 'media-type-examples-override': {
352
- operationIds: {
353
- getUserById: {
354
- request: {
355
- 'application/json':
356
- 'packages/core/src/decorators/__tests__/resources/request.yaml',
357
- },
358
- responses: {
359
- '400': {
360
- 'application/json':
361
- 'packages/core/src/decorators/__tests__/resources/response.yaml',
362
- },
363
- },
364
- },
365
- },
366
- },
367
- }
368
- ),
369
- });
370
-
371
- expect(res.parsed).toMatchInlineSnapshot(`
372
- openapi: 3.0.0
373
- paths:
374
- /pet:
375
- get:
376
- operationId: getUserById
377
- responses:
378
- '400':
379
- description: bad request
380
- content:
381
- application/json:
382
- examples:
383
- def:
384
- value:
385
- name: test response name
386
- requestBody:
387
- content:
388
- application/json:
389
- examples:
390
- def:
391
- value:
392
- b: from external file
393
- components:
394
- examples:
395
- testExample:
396
- value:
397
- test: 1
398
-
399
- `);
400
- });
401
-
402
- it('should add the examples to response and request', async () => {
403
- const testDocument = parseYamlToDocument(
404
- outdent`
405
- openapi: 3.0.0
406
- paths:
407
- /pet:
408
- get:
409
- operationId: getUserById
410
- requestBody:
411
- description: empty body
412
- responses:
413
- '200':
414
- description: json
415
- `
416
- );
417
- const { bundle: res } = await bundleDocument({
418
- document: testDocument,
419
- externalRefResolver: new BaseResolver(),
420
- config: await makeConfig(
421
- {},
422
- {
423
- 'media-type-examples-override': {
424
- operationIds: {
425
- getUserById: {
426
- request: {
427
- 'application/json':
428
- 'packages/core/src/decorators/__tests__/resources/request.yaml',
429
- },
430
- responses: {
431
- '200': {
432
- 'application/json':
433
- 'packages/core/src/decorators/__tests__/resources/response.yaml',
434
- },
435
- },
436
- },
437
- },
438
- },
439
- }
440
- ),
441
- });
442
-
443
- expect(res.parsed).toMatchInlineSnapshot(`
444
- openapi: 3.0.0
445
- paths:
446
- /pet:
447
- get:
448
- operationId: getUserById
449
- requestBody:
450
- description: empty body
451
- content:
452
- application/json:
453
- examples:
454
- def:
455
- value:
456
- b: from external file
457
- responses:
458
- '200':
459
- description: json
460
- content:
461
- application/json:
462
- examples:
463
- def:
464
- value:
465
- name: test response name
466
- components: {}
467
-
468
- `);
469
- });
470
-
471
- it('should add examples to response', async () => {
472
- const testDocument = parseYamlToDocument(
473
- outdent`
474
- openapi: 3.0.0
475
- paths:
476
- /pet:
477
- get:
478
- operationId: getUserById
479
- responses:
480
- '200':
481
- description: json
482
- content:
483
- application/json:
484
- schema:
485
- $ref: "#/components/schemas/Pet"
486
- ,
487
- `
488
- );
489
- const { bundle: res } = await bundleDocument({
490
- document: testDocument,
491
- externalRefResolver: new BaseResolver(),
492
- config: await makeConfig(
493
- {},
494
- {
495
- 'media-type-examples-override': {
496
- operationIds: {
497
- getUserById: {
498
- responses: {
499
- '200': {
500
- 'application/json':
501
- 'packages/core/src/decorators/__tests__/resources/response.yaml',
502
- },
503
- },
504
- },
505
- },
506
- },
507
- }
508
- ),
509
- });
510
-
511
- expect(res.parsed).toMatchInlineSnapshot(`
512
- openapi: 3.0.0
513
- paths:
514
- /pet:
515
- get:
516
- operationId: getUserById
517
- responses:
518
- '200':
519
- description: json
520
- content:
521
- application/json:
522
- schema:
523
- $ref: '#/components/schemas/Pet'
524
- examples:
525
- def:
526
- value:
527
- name: test response name
528
- components: {}
529
-
530
- `);
531
- });
532
-
533
- it('should add examples to requestBody', async () => {
534
- const testDocument = parseYamlToDocument(
535
- outdent`
536
- openapi: 3.0.0
537
- paths:
538
- /pet:
539
- get:
540
- operationId: getUserById
541
- requestBody:
542
- content:
543
- application/json:
544
- schema:
545
- $ref: "#/components/schemas/Pet"
546
-
547
- ,
548
- `
549
- );
550
- const { bundle: res } = await bundleDocument({
551
- document: testDocument,
552
- externalRefResolver: new BaseResolver(),
553
- config: await makeConfig(
554
- {},
555
- {
556
- 'media-type-examples-override': {
557
- operationIds: {
558
- getUserById: {
559
- request: {
560
- 'application/json':
561
- 'packages/core/src/decorators/__tests__/resources/response.yaml',
562
- 'application/xml':
563
- 'packages/core/src/decorators/__tests__/resources/response.yaml',
564
- },
565
- },
566
- },
567
- },
568
- }
569
- ),
570
- });
571
-
572
- expect(res.parsed).toMatchInlineSnapshot(`
573
- openapi: 3.0.0
574
- paths:
575
- /pet:
576
- get:
577
- operationId: getUserById
578
- requestBody:
579
- content:
580
- application/json:
581
- schema:
582
- $ref: '#/components/schemas/Pet'
583
- examples:
584
- def:
585
- value:
586
- name: test response name
587
- application/xml:
588
- examples:
589
- def:
590
- value:
591
- name: test response name
592
- components: {}
593
-
594
- `);
595
- });
596
-
597
- it('should add new examples with new content type to response', async () => {
598
- const testDocument = parseYamlToDocument(
599
- outdent`
600
- openapi: 3.0.0
601
- paths:
602
- /pet:
603
- get:
604
- operationId: getUserById
605
- requestBody:
606
- description: empty body
607
- responses:
608
- '200':
609
- description: json
610
- content:
611
- examples:
612
- application/json:
613
- value:
614
- name: json type
615
- `
616
- );
617
-
618
- const { bundle: res } = await bundleDocument({
619
- document: testDocument,
620
- externalRefResolver: new BaseResolver(),
621
- config: await makeConfig(
622
- {},
623
- {
624
- 'media-type-examples-override': {
625
- operationIds: {
626
- getUserById: {
627
- responses: {
628
- '200': {
629
- 'application/xml':
630
- 'packages/core/src/decorators/__tests__/resources/response.yaml',
631
- },
632
- },
633
- },
634
- },
635
- },
636
- }
637
- ),
638
- });
639
-
640
- expect(res.parsed).toMatchInlineSnapshot(`
641
- openapi: 3.0.0
642
- paths:
643
- /pet:
644
- get:
645
- operationId: getUserById
646
- requestBody:
647
- description: empty body
648
- responses:
649
- '200':
650
- description: json
651
- content:
652
- examples:
653
- application/json:
654
- value:
655
- name: json type
656
- application/xml:
657
- examples:
658
- def:
659
- value:
660
- name: test response name
661
- components: {}
662
-
663
- `);
664
- });
665
- });