@api-client/core 0.19.10 → 0.19.11
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.
- package/LICENSE.md +9 -63
- package/bin/test.ts +1 -12
- package/build/src/browser.d.ts +0 -15
- package/build/src/browser.d.ts.map +1 -1
- package/build/src/browser.js +0 -17
- package/build/src/browser.js.map +1 -1
- package/build/src/events/EventTypes.d.ts +0 -6
- package/build/src/events/EventTypes.d.ts.map +1 -1
- package/build/src/events/EventTypes.js +0 -2
- package/build/src/events/EventTypes.js.map +1 -1
- package/build/src/events/Events.d.ts +0 -2
- package/build/src/events/Events.d.ts.map +1 -1
- package/build/src/events/Events.js +0 -2
- package/build/src/events/Events.js.map +1 -1
- package/build/src/index.d.ts +0 -15
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +0 -17
- package/build/src/index.js.map +1 -1
- package/build/src/modeling/Bindings.d.ts +3 -3
- package/build/src/modeling/Bindings.d.ts.map +1 -1
- package/build/src/modeling/Bindings.js.map +1 -1
- package/build/src/modeling/DomainAssociation.d.ts +5 -5
- package/build/src/modeling/DomainAssociation.d.ts.map +1 -1
- package/build/src/modeling/DomainAssociation.js.map +1 -1
- package/build/src/modeling/DomainEntity.d.ts +2 -3
- package/build/src/modeling/DomainEntity.d.ts.map +1 -1
- package/build/src/modeling/DomainEntity.js +1 -1
- package/build/src/modeling/DomainEntity.js.map +1 -1
- package/build/src/modeling/DomainProperty.d.ts +2 -3
- package/build/src/modeling/DomainProperty.d.ts.map +1 -1
- package/build/src/modeling/DomainProperty.js +1 -1
- package/build/src/modeling/DomainProperty.js.map +1 -1
- package/build/src/modeling/ai/types.d.ts +2 -2
- package/build/src/modeling/ai/types.d.ts.map +1 -1
- package/build/src/modeling/ai/types.js.map +1 -1
- package/build/src/{amf → modeling/amf}/DataValueGenerator.d.ts +1 -1
- package/build/src/modeling/amf/DataValueGenerator.d.ts.map +1 -0
- package/build/src/{amf → modeling/amf}/DataValueGenerator.js +2 -3
- package/build/src/modeling/amf/DataValueGenerator.js.map +1 -0
- package/build/src/modeling/amf/ShapeGenerator.d.ts +20 -20
- package/build/src/modeling/amf/ShapeGenerator.d.ts.map +1 -1
- package/build/src/modeling/amf/ShapeGenerator.js +16 -18
- package/build/src/modeling/amf/ShapeGenerator.js.map +1 -1
- package/build/src/modeling/amf/core_types.d.ts +9 -0
- package/build/src/modeling/amf/core_types.d.ts.map +1 -0
- package/build/src/modeling/amf/core_types.js +45 -0
- package/build/src/modeling/amf/core_types.js.map +1 -0
- package/build/src/models/http-flows/LegacyTranslator.js +1 -1
- package/build/src/models/http-flows/LegacyTranslator.js.map +1 -1
- package/build/src/runtime/http-runner/HttpFlows.js +1 -1
- package/build/src/runtime/http-runner/HttpFlows.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/eslint.config.js +0 -1
- package/package.json +11 -14
- package/src/events/EventTypes.ts +0 -2
- package/src/events/Events.ts +0 -2
- package/src/modeling/Bindings.ts +3 -3
- package/src/modeling/DomainAssociation.ts +5 -5
- package/src/modeling/DomainEntity.ts +3 -4
- package/src/modeling/DomainProperty.ts +3 -4
- package/src/modeling/ai/types.ts +2 -2
- package/src/{amf → modeling/amf}/DataValueGenerator.ts +3 -4
- package/src/modeling/amf/ShapeGenerator.ts +45 -61
- package/src/modeling/amf/core_types.ts +47 -0
- package/src/models/http-flows/LegacyTranslator.ts +1 -1
- package/src/runtime/http-runner/HttpFlows.ts +1 -1
- package/tests/unit/{amf → modeling/amf}/data_value_generator.spec.ts +2 -2
- package/tests/unit/modeling/amf/shape_generator.spec.ts +146 -167
- package/tests/unit/modeling/domain_asociation.spec.ts +13 -13
- package/tests/unit/runtime/runners/http_assertion_runner.spec.ts +1 -1
- package/tests/unit/runtime/runners/http_flow_runner.spec.ts +1 -1
- package/tests/unit/runtime/runners/project_runner.spec.ts +1 -1
- package/tests/unit/runtime/runners/request_runner.spec.ts +1 -1
- package/tests/unit/runtime/runners/serial_runner.spec.ts +1 -1
- package/build/src/amf/AmfMixin.d.ts +0 -396
- package/build/src/amf/AmfMixin.d.ts.map +0 -1
- package/build/src/amf/AmfMixin.js +0 -1138
- package/build/src/amf/AmfMixin.js.map +0 -1
- package/build/src/amf/AmfSerializer.d.ts +0 -137
- package/build/src/amf/AmfSerializer.d.ts.map +0 -1
- package/build/src/amf/AmfSerializer.js +0 -1947
- package/build/src/amf/AmfSerializer.js.map +0 -1
- package/build/src/amf/AmfTypes.d.ts +0 -25
- package/build/src/amf/AmfTypes.d.ts.map +0 -1
- package/build/src/amf/AmfTypes.js +0 -143
- package/build/src/amf/AmfTypes.js.map +0 -1
- package/build/src/amf/ApiExampleGenerator.d.ts +0 -40
- package/build/src/amf/ApiExampleGenerator.d.ts.map +0 -1
- package/build/src/amf/ApiExampleGenerator.js +0 -112
- package/build/src/amf/ApiExampleGenerator.js.map +0 -1
- package/build/src/amf/ApiMonacoSchemaGenerator.d.ts +0 -68
- package/build/src/amf/ApiMonacoSchemaGenerator.d.ts.map +0 -1
- package/build/src/amf/ApiMonacoSchemaGenerator.js +0 -248
- package/build/src/amf/ApiMonacoSchemaGenerator.js.map +0 -1
- package/build/src/amf/ApiSchemaGenerator.d.ts +0 -56
- package/build/src/amf/ApiSchemaGenerator.d.ts.map +0 -1
- package/build/src/amf/ApiSchemaGenerator.js +0 -94
- package/build/src/amf/ApiSchemaGenerator.js.map +0 -1
- package/build/src/amf/ApiSchemaValues.d.ts +0 -111
- package/build/src/amf/ApiSchemaValues.d.ts.map +0 -1
- package/build/src/amf/ApiSchemaValues.js +0 -463
- package/build/src/amf/ApiSchemaValues.js.map +0 -1
- package/build/src/amf/DataValueGenerator.d.ts.map +0 -1
- package/build/src/amf/DataValueGenerator.js.map +0 -1
- package/build/src/amf/Parsing.d.ts +0 -48
- package/build/src/amf/Parsing.d.ts.map +0 -1
- package/build/src/amf/Parsing.js +0 -2
- package/build/src/amf/Parsing.js.map +0 -1
- package/build/src/amf/Utils.d.ts +0 -37
- package/build/src/amf/Utils.d.ts.map +0 -1
- package/build/src/amf/Utils.js +0 -169
- package/build/src/amf/Utils.js.map +0 -1
- package/build/src/amf/data-node/DataNodeBase.d.ts +0 -34
- package/build/src/amf/data-node/DataNodeBase.d.ts.map +0 -1
- package/build/src/amf/data-node/DataNodeBase.js +0 -77
- package/build/src/amf/data-node/DataNodeBase.js.map +0 -1
- package/build/src/amf/data-node/JsonDataNodeGenerator.d.ts +0 -15
- package/build/src/amf/data-node/JsonDataNodeGenerator.d.ts.map +0 -1
- package/build/src/amf/data-node/JsonDataNodeGenerator.js +0 -23
- package/build/src/amf/data-node/JsonDataNodeGenerator.js.map +0 -1
- package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.d.ts +0 -14
- package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.d.ts.map +0 -1
- package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.js +0 -48
- package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.js.map +0 -1
- package/build/src/amf/data-node/XmlDataNodeGenerator.d.ts +0 -22
- package/build/src/amf/data-node/XmlDataNodeGenerator.d.ts.map +0 -1
- package/build/src/amf/data-node/XmlDataNodeGenerator.js +0 -34
- package/build/src/amf/data-node/XmlDataNodeGenerator.js.map +0 -1
- package/build/src/amf/definitions/Amf.d.ts +0 -363
- package/build/src/amf/definitions/Amf.d.ts.map +0 -1
- package/build/src/amf/definitions/Amf.js +0 -3
- package/build/src/amf/definitions/Amf.js.map +0 -1
- package/build/src/amf/definitions/Api.d.ts +0 -383
- package/build/src/amf/definitions/Api.d.ts.map +0 -1
- package/build/src/amf/definitions/Api.js +0 -2
- package/build/src/amf/definitions/Api.js.map +0 -1
- package/build/src/amf/definitions/Base.d.ts +0 -12
- package/build/src/amf/definitions/Base.d.ts.map +0 -1
- package/build/src/amf/definitions/Base.js +0 -2
- package/build/src/amf/definitions/Base.js.map +0 -1
- package/build/src/amf/definitions/Namespace.d.ts +0 -327
- package/build/src/amf/definitions/Namespace.d.ts.map +0 -1
- package/build/src/amf/definitions/Namespace.js +0 -346
- package/build/src/amf/definitions/Namespace.js.map +0 -1
- package/build/src/amf/definitions/Shapes.d.ts +0 -312
- package/build/src/amf/definitions/Shapes.d.ts.map +0 -1
- package/build/src/amf/definitions/Shapes.js +0 -87
- package/build/src/amf/definitions/Shapes.js.map +0 -1
- package/build/src/amf/models/AmfDataNode.d.ts +0 -67
- package/build/src/amf/models/AmfDataNode.d.ts.map +0 -1
- package/build/src/amf/models/AmfDataNode.js +0 -192
- package/build/src/amf/models/AmfDataNode.js.map +0 -1
- package/build/src/amf/shape/ShapeBase.d.ts +0 -74
- package/build/src/amf/shape/ShapeBase.d.ts.map +0 -1
- package/build/src/amf/shape/ShapeBase.js +0 -93
- package/build/src/amf/shape/ShapeBase.js.map +0 -1
- package/build/src/amf/shape/ShapeJsonSchemaGenerator.d.ts +0 -47
- package/build/src/amf/shape/ShapeJsonSchemaGenerator.d.ts.map +0 -1
- package/build/src/amf/shape/ShapeJsonSchemaGenerator.js +0 -420
- package/build/src/amf/shape/ShapeJsonSchemaGenerator.js.map +0 -1
- package/build/src/amf/shape/ShapeXmlSchemaGenerator.d.ts +0 -85
- package/build/src/amf/shape/ShapeXmlSchemaGenerator.d.ts.map +0 -1
- package/build/src/amf/shape/ShapeXmlSchemaGenerator.js +0 -852
- package/build/src/amf/shape/ShapeXmlSchemaGenerator.js.map +0 -1
- package/build/src/events/amf/AmfEventTypes.d.ts +0 -7
- package/build/src/events/amf/AmfEventTypes.d.ts.map +0 -1
- package/build/src/events/amf/AmfEventTypes.js +0 -7
- package/build/src/events/amf/AmfEventTypes.js.map +0 -1
- package/build/src/events/amf/AmfEvents.d.ts +0 -34
- package/build/src/events/amf/AmfEvents.d.ts.map +0 -1
- package/build/src/events/amf/AmfEvents.js +0 -63
- package/build/src/events/amf/AmfEvents.js.map +0 -1
- package/build/src/mocking/RandExp.d.ts +0 -55
- package/build/src/mocking/RandExp.d.ts.map +0 -1
- package/build/src/mocking/RandExp.js +0 -302
- package/build/src/mocking/RandExp.js.map +0 -1
- package/build/src/mocking/lib/ret.d.ts +0 -16
- package/build/src/mocking/lib/ret.d.ts.map +0 -1
- package/build/src/mocking/lib/ret.js +0 -284
- package/build/src/mocking/lib/ret.js.map +0 -1
- package/data/apis/APIC-187/APIC-187.raml +0 -21
- package/data/apis/APIC-187/dataType.raml +0 -132
- package/data/apis/APIC-187/example.raml +0 -84
- package/data/apis/APIC-188/APIC-188.raml +0 -21
- package/data/apis/APIC-188/dataType.raml +0 -132
- package/data/apis/APIC-188/example.raml +0 -84
- package/data/apis/APIC-233/APIC-233.raml +0 -15
- package/data/apis/APIC-391/APIC-391.raml +0 -44
- package/data/apis/APIC-391/examples/post-body-request-example.raml +0 -7
- package/data/apis/APIC-483/APIC-483.raml +0 -16
- package/data/apis/APIC-483/example/list-of-bank-succ.json +0 -32
- package/data/apis/APIC-483/schema/response-retrieve-list-bank.json +0 -68
- package/data/apis/APIC-487/APIC-487.raml +0 -36
- package/data/apis/APIC-655/APIC-655.raml +0 -44
- package/data/apis/APIC-655/delivery.json +0 -12
- package/data/apis/APIC-689/APIC-689.raml +0 -20
- package/data/apis/APIC-690/APIC-690.raml +0 -17
- package/data/apis/APIC-690/datatypes/Address.raml +0 -10
- package/data/apis/APIC-690/datatypes/Customer.raml +0 -17
- package/data/apis/APIC-690/examples/CustomerExample2.raml +0 -17
- package/data/apis/APIC-690/examples/CustomersExample.raml +0 -34
- package/data/apis/SE-10469/Purchase-Order-oagis-id-dd32f9c6c01048a19e15c423c9c741ae.json +0 -1383
- package/data/apis/SE-10469/SE-10469.raml +0 -11
- package/data/apis/SE-13092/Examples/PersonExample.raml +0 -7
- package/data/apis/SE-13092/SE-13092.raml +0 -37
- package/data/apis/SE-13092/datatypes/Address.raml +0 -5
- package/data/apis/SE-13092/datatypes/InlineType.raml +0 -5
- package/data/apis/SE-13092/datatypes/Person.raml +0 -15
- package/data/apis/SE-22063/SE-22063.raml +0 -14
- package/data/apis/SE-22063/stock.raml +0 -41
- package/data/apis/amf-helper-api/amf-helper-api.raml +0 -1024
- package/data/apis/amf-helper-api/examples/comment-example.json +0 -42
- package/data/apis/amf-helper-api/examples/commentCreateRequest-example.json +0 -7
- package/data/apis/amf-helper-api/examples/commentList-example.json +0 -48
- package/data/apis/amf-helper-api/examples/person.json +0 -14
- package/data/apis/amf-helper-api/examples/person.raml +0 -13
- package/data/apis/amf-helper-api/examples/person.xml +0 -14
- package/data/apis/amf-helper-api/libraries/comment-lib.raml +0 -143
- package/data/apis/amf-helper-api/library.raml +0 -7
- package/data/apis/amf-helper-api/schemas/person.json +0 -104
- package/data/apis/amf-helper-api/schemas/person.xsd +0 -26
- package/data/apis/amf-helper-api/traits/file.raml +0 -33
- package/data/apis/amf-helper-api/traits/pagination.raml +0 -80
- package/data/apis/amf-helper-api/traits/results.raml +0 -19
- package/data/apis/amf-helper-api/traits/visibility.raml +0 -14
- package/data/apis/amf-helper-api/types/app-person.raml +0 -101
- package/data/apis/amf-helper-api/types/dimensions.raml +0 -24
- package/data/apis/amf-helper-api/types/external-type.raml +0 -7
- package/data/apis/amf-helper-api/types/image.raml +0 -23
- package/data/apis/amf-helper-api/types/product.raml +0 -52
- package/data/apis/amf-helper-api/types/resource.raml +0 -11
- package/data/apis/amf-helper-api/types/standard-request.raml +0 -50
- package/data/apis/amf-helper-api/types/user.raml +0 -37
- package/data/apis/arc-demo-api/arc-demo-api.raml +0 -468
- package/data/apis/arc-demo-api/examples/e400.xml +0 -4
- package/data/apis/arc-demo-api/examples/e401.xml +0 -4
- package/data/apis/arc-demo-api/examples/e404.xml +0 -4
- package/data/apis/arc-demo-api/examples/image.xml +0 -5
- package/data/apis/arc-demo-api/examples/messages-example.json +0 -22
- package/data/apis/arc-demo-api/examples/messages-sent-example.json +0 -15
- package/data/apis/arc-demo-api/examples/person.json +0 -14
- package/data/apis/arc-demo-api/examples/person.url.encoded +0 -1
- package/data/apis/arc-demo-api/examples/person.xml +0 -14
- package/data/apis/arc-demo-api/examples/product.xml +0 -9
- package/data/apis/arc-demo-api/library.raml +0 -36
- package/data/apis/arc-demo-api/resourceTypes/app-person.raml +0 -49
- package/data/apis/arc-demo-api/resourceTypes/example-types.raml +0 -45
- package/data/apis/arc-demo-api/resourceTypes/image.raml +0 -23
- package/data/apis/arc-demo-api/resourceTypes/message-sent-type.raml +0 -23
- package/data/apis/arc-demo-api/resourceTypes/message-type.raml +0 -33
- package/data/apis/arc-demo-api/resourceTypes/product.raml +0 -52
- package/data/apis/arc-demo-api/resourceTypes/resource.raml +0 -11
- package/data/apis/arc-demo-api/schemas/error-response.xsd +0 -11
- package/data/apis/arc-demo-api/schemas/image.xsd +0 -11
- package/data/apis/arc-demo-api/schemas/person.json +0 -104
- package/data/apis/arc-demo-api/schemas/person.xsd +0 -26
- package/data/apis/arc-demo-api/schemas/product.xsd +0 -17
- package/data/apis/arc-demo-api/securitySchemes/basic.raml +0 -5
- package/data/apis/arc-demo-api/securitySchemes/oauth_2_0.raml +0 -29
- package/data/apis/arc-demo-api/securitySchemes/x-custom.raml +0 -26
- package/data/apis/arc-demo-api/traits/adminable.raml +0 -23
- package/data/apis/arc-demo-api/traits/pagination.raml +0 -83
- package/data/apis/arc-demo-api/traits/rate-limited.raml +0 -9
- package/data/apis/async-api/async-api.yaml +0 -96
- package/data/apis/example-generator-api/contact-email-example.raml +0 -6
- package/data/apis/example-generator-api/contact-example.raml +0 -5
- package/data/apis/example-generator-api/contact-fax-example.raml +0 -5
- package/data/apis/example-generator-api/contact-website-example.raml +0 -2
- package/data/apis/example-generator-api/example-1.raml +0 -6
- package/data/apis/example-generator-api/example-2.raml +0 -9
- package/data/apis/example-generator-api/example-3.raml +0 -4
- package/data/apis/example-generator-api/example-4.raml +0 -2
- package/data/apis/example-generator-api/example-5.raml +0 -4
- package/data/apis/example-generator-api/example-6.raml +0 -2
- package/data/apis/example-generator-api/example-7.raml +0 -5
- package/data/apis/example-generator-api/example-generator-api.raml +0 -423
- package/data/apis/example-generator-api/example.json +0 -14
- package/data/apis/example-generator-api/example.xml +0 -15
- package/data/apis/example-generator-api/example.xsd +0 -26
- package/data/apis/example-generator-api/examples/employee.raml +0 -7
- package/data/apis/example-generator-api/examples/employees.raml +0 -7
- package/data/apis/example-generator-api/linked-named-example.raml +0 -21
- package/data/apis/example-generator-api/named-example-with-link.raml +0 -5
- package/data/apis/example-generator-api/named-example.raml +0 -9
- package/data/apis/example-generator-api/user-json-example.raml +0 -17
- package/data/apis/example-generator-api/user-raml-example.raml +0 -37
- package/data/apis/example-generator-api/user.json +0 -8
- package/data/apis/example-generator-api/user.raml +0 -18
- package/data/apis/example-generator-api/users-json-example.raml +0 -17
- package/data/apis/example-generator-api/users-raml-example.raml +0 -32
- package/data/apis/example-generator-api/users.json +0 -8
- package/data/apis/expanded-api/expanded-api.raml +0 -8
- package/data/apis/flattened-api/flattened-api.raml +0 -8
- package/data/apis/multiple-servers/multiple-servers.yaml +0 -112
- package/data/apis/oas-3-api/oas-3-api.yaml +0 -356
- package/data/apis/oas-date/oas-date.yaml +0 -28
- package/data/apis/oas-types/oas-types.yaml +0 -159
- package/data/apis/oas-unions/oas-unions.yaml +0 -75
- package/data/apis/petstore/petstore.yaml +0 -954
- package/data/apis/raml-date/raml-date.raml +0 -28
- package/data/apis/recursive/recursive.raml +0 -14
- package/data/apis/schema-api/examples/person.json +0 -14
- package/data/apis/schema-api/examples/person.raml +0 -14
- package/data/apis/schema-api/examples/person.url.encoded +0 -1
- package/data/apis/schema-api/examples/person.xml +0 -14
- package/data/apis/schema-api/library/demo-types.raml +0 -43
- package/data/apis/schema-api/schema-api.raml +0 -656
- package/data/apis/schema-api/schemas/person.json +0 -104
- package/data/apis/schema-api/schemas/person.xsd +0 -26
- package/data/apis/schema-api/types/DemoPerson.raml +0 -67
- package/data/apis/secured-api/oauth-2-custom-settings.raml +0 -143
- package/data/apis/secured-api/oauth2-header-delivery.raml +0 -13
- package/data/apis/secured-api/oauth2-no-delivery.raml +0 -8
- package/data/apis/secured-api/oauth2-no-grants.raml +0 -12
- package/data/apis/secured-api/oauth2-pkce.raml +0 -13
- package/data/apis/secured-api/oauth2-query-delivery.raml +0 -13
- package/data/apis/secured-api/oauth_1_0.raml +0 -8
- package/data/apis/secured-api/oauth_1_0_no-settings.raml +0 -3
- package/data/apis/secured-api/oauth_1_0_no-signature.raml +0 -7
- package/data/apis/secured-api/oauth_1_0_signature.raml +0 -8
- package/data/apis/secured-api/passthrough-querystring.raml +0 -16
- package/data/apis/secured-api/passthrough.raml +0 -24
- package/data/apis/secured-api/secured-api.raml +0 -231
- package/data/apis/secured-api/x-custom.raml +0 -33
- package/data/apis/secured-api/x-other.raml +0 -29
- package/data/apis/secured-api/x-query-string.raml +0 -16
- package/data/apis/tracked-examples/datatypes/employee.raml +0 -5
- package/data/apis/tracked-examples/examples/employee.raml +0 -4
- package/data/apis/tracked-examples/examples/employees.raml +0 -8
- package/data/apis/tracked-examples/tracked-to-linked.raml +0 -28
- package/data/model.js +0 -129
- package/data/models/APIC-187.json +0 -11416
- package/data/models/APIC-188.json +0 -11416
- package/data/models/APIC-233.json +0 -539
- package/data/models/APIC-391.json +0 -1903
- package/data/models/APIC-483.json +0 -3110
- package/data/models/APIC-487.json +0 -1225
- package/data/models/APIC-655.json +0 -3145
- package/data/models/APIC-689.json +0 -797
- package/data/models/APIC-690.json +0 -5992
- package/data/models/SE-10469.json +0 -22898
- package/data/models/SE-13092.json +0 -2769
- package/data/models/SE-22063.json +0 -2314
- package/data/models/amf-helper-api.json +0 -84457
- package/data/models/arc-demo-api.json +0 -52041
- package/data/models/async-api.json +0 -3227
- package/data/models/example-generator-api.json +0 -45209
- package/data/models/expanded-api.json +0 -251
- package/data/models/flattened-api.json +0 -251
- package/data/models/multiple-servers.json +0 -2769
- package/data/models/oas-3-api.json +0 -10590
- package/data/models/oas-date.json +0 -637
- package/data/models/oas-types.json +0 -5352
- package/data/models/oas-unions.json +0 -1935
- package/data/models/petstore.json +0 -27712
- package/data/models/raml-date.json +0 -1114
- package/data/models/recursive.json +0 -610
- package/data/models/schema-api.json +0 -35527
- package/data/models/secured-api.json +0 -21071
- package/data/models/tracked-to-linked.json +0 -1914
- package/src/amf/AmfMixin.ts +0 -1726
- package/src/amf/AmfSerializer.ts +0 -2358
- package/src/amf/AmfTypes.ts +0 -147
- package/src/amf/ApiExampleGenerator.ts +0 -122
- package/src/amf/ApiMonacoSchemaGenerator.ts +0 -332
- package/src/amf/ApiSchemaGenerator.ts +0 -115
- package/src/amf/ApiSchemaValues.ts +0 -509
- package/src/amf/Parsing.ts +0 -50
- package/src/amf/Utils.ts +0 -172
- package/src/amf/data-node/DataNodeBase.ts +0 -83
- package/src/amf/data-node/JsonDataNodeGenerator.ts +0 -24
- package/src/amf/data-node/README.md +0 -3
- package/src/amf/data-node/UrlEncodedDataNodeGenerator.ts +0 -49
- package/src/amf/data-node/XmlDataNodeGenerator.ts +0 -46
- package/src/amf/definitions/Amf.ts +0 -440
- package/src/amf/definitions/Api.ts +0 -445
- package/src/amf/definitions/Base.ts +0 -13
- package/src/amf/definitions/Namespace.ts +0 -357
- package/src/amf/definitions/Shapes.ts +0 -438
- package/src/amf/models/AmfDataNode.ts +0 -210
- package/src/amf/shape/README.md +0 -4
- package/src/amf/shape/ShapeBase.ts +0 -174
- package/src/amf/shape/ShapeJsonSchemaGenerator.ts +0 -457
- package/src/amf/shape/ShapeXmlSchemaGenerator.ts +0 -933
- package/src/events/amf/AmfEventTypes.ts +0 -6
- package/src/events/amf/AmfEvents.ts +0 -78
- package/src/mocking/RandExp.ts +0 -335
- package/src/mocking/lib/ret.ts +0 -279
- package/tests/unit/amf/APIC-187.spec.ts +0 -41
- package/tests/unit/amf/APIC-188.spec.ts +0 -30
- package/tests/unit/amf/APIC-233.spec.ts +0 -32
- package/tests/unit/amf/APIC-391.spec.ts +0 -39
- package/tests/unit/amf/APIC-487.spec.ts +0 -44
- package/tests/unit/amf/APIC-655.spec.ts +0 -41
- package/tests/unit/amf/APIC-689.spec.ts +0 -28
- package/tests/unit/amf/APIC-690.spec.ts +0 -93
- package/tests/unit/amf/AmfLoader.ts +0 -538
- package/tests/unit/amf/AmfMixin.spec.ts +0 -1707
- package/tests/unit/amf/ApiExampleGenerator.spec.ts +0 -250
- package/tests/unit/amf/ApiMonacoSchemaGenerator.spec.ts +0 -183
- package/tests/unit/amf/ApiSchemaValues.spec.ts +0 -602
- package/tests/unit/amf/Namepsace.spec.ts +0 -494
- package/tests/unit/amf/SE-10469.spec.ts +0 -35
- package/tests/unit/amf/SE-13092.spec.ts +0 -64
- package/tests/unit/amf/SE-22063.spec.ts +0 -45
- package/tests/unit/amf/raml-examples.spec.ts +0 -43
- package/tests/unit/amf/schema_gen_array.spec.ts +0 -199
- package/tests/unit/amf/schema_gen_oas.spec.ts +0 -140
- package/tests/unit/amf/schema_gen_object.spec.ts +0 -279
- package/tests/unit/amf/schema_gen_scalar.spec.ts +0 -143
- package/tests/unit/amf/schema_gen_union.spec.ts +0 -401
- package/tests/unit/amf/schema_gen_unknown.spec.ts +0 -42
- package/tests/unit/amf/schema_gen_xml.spec.ts +0 -726
- package/tests/unit/amf/serializer/APIC-483.spec.ts +0 -36
- package/tests/unit/amf/serializer/Anotations.spec.ts +0 -50
- package/tests/unit/amf/serializer/Api.spec.ts +0 -210
- package/tests/unit/amf/serializer/Documentation.spec.ts +0 -52
- package/tests/unit/amf/serializer/Endpoints.spec.ts +0 -172
- package/tests/unit/amf/serializer/Operations.spec.ts +0 -330
- package/tests/unit/amf/serializer/Parameters.spec.ts +0 -149
- package/tests/unit/amf/serializer/PayloadExamples.spec.ts +0 -152
- package/tests/unit/amf/serializer/Security.spec.ts +0 -626
- package/tests/unit/amf/serializer/Server.spec.ts +0 -78
- package/tests/unit/amf/serializer/Shapes.spec.ts +0 -304
- package/tests/unit/amf/serializer/SourceMaps.spec.ts +0 -52
- package/tests/unit/amf/shapes/ShapeXmlSchemaGenerator.spec.ts +0 -28
- package/tests/unit/amf/tracked-to-linked.spec.ts +0 -90
- package/tests/unit/amf/xml-data-processing.spec.ts +0 -217
- package/tests/unit/events/amf.spec.ts +0 -151
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { test } from '@japa/runner'
|
|
2
|
-
import { AmfLoader } from '../AmfLoader.js'
|
|
3
|
-
import { AmfSerializer } from '../../../../src/amf/AmfSerializer.js'
|
|
4
|
-
import type { IAmfDocument } from '../../../../src/amf/definitions/Amf.js'
|
|
5
|
-
import type { IApiNodeShape, IApiTupleShape } from '../../../../src/amf/definitions/Shapes.js'
|
|
6
|
-
import { AmfNamespace } from '../../../../src/amf/definitions/Namespace.js'
|
|
7
|
-
|
|
8
|
-
test.group('APIC-483', (group) => {
|
|
9
|
-
const fileName = 'APIC-483'
|
|
10
|
-
const loader = new AmfLoader()
|
|
11
|
-
|
|
12
|
-
let api: IAmfDocument
|
|
13
|
-
let serializer: AmfSerializer
|
|
14
|
-
group.setup(async () => {
|
|
15
|
-
api = await loader.getGraph(fileName)
|
|
16
|
-
serializer = new AmfSerializer()
|
|
17
|
-
serializer.amf = api
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
test('serializes a TupleShape', ({ assert }) => {
|
|
21
|
-
const expects = loader.lookupExpects(api, '/banks', 'post')
|
|
22
|
-
// @ts-expect-error Used in testing
|
|
23
|
-
const payload = expects[loader._getAmfKey(AmfNamespace.aml.vocabularies.apiContract.payload)][0]
|
|
24
|
-
const shape = payload[serializer._getAmfKey(AmfNamespace.aml.vocabularies.shapes.schema)][0]
|
|
25
|
-
const result = serializer.unknownShape(shape) as IApiNodeShape
|
|
26
|
-
const { examples, properties } = result
|
|
27
|
-
|
|
28
|
-
// serializer recognizes that the this example is referenced to a payload and not to a type.
|
|
29
|
-
assert.lengthOf(examples, 0, 'has the examples')
|
|
30
|
-
assert.lengthOf(properties, 1, 'has the properties')
|
|
31
|
-
const array = properties[0].range as IApiTupleShape
|
|
32
|
-
const { types, items } = array
|
|
33
|
-
assert.include(types, AmfNamespace.aml.vocabularies.shapes.TupleShape, 'range has the TupleShape')
|
|
34
|
-
assert.lengthOf(items, 1, 'range has the items')
|
|
35
|
-
})
|
|
36
|
-
})
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { test } from '@japa/runner'
|
|
2
|
-
import { AmfSerializer } from '../../../../src/amf/AmfSerializer.js'
|
|
3
|
-
import type { IAmfDocument } from '../../../../src/amf/definitions/Amf.js'
|
|
4
|
-
import type { IApiObjectNode, IApiScalarNode } from '../../../../src/amf/definitions/Shapes.js'
|
|
5
|
-
import { AmfLoader } from '../AmfLoader.js'
|
|
6
|
-
|
|
7
|
-
const loader = new AmfLoader()
|
|
8
|
-
|
|
9
|
-
test.group('Annotations', (group) => {
|
|
10
|
-
let api: IAmfDocument
|
|
11
|
-
let serializer: AmfSerializer
|
|
12
|
-
group.setup(async () => {
|
|
13
|
-
api = await loader.getGraph('amf-helper-api')
|
|
14
|
-
serializer = new AmfSerializer()
|
|
15
|
-
serializer.amf = api
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
test('ObjectNode annotations', ({ assert }) => {
|
|
19
|
-
const shape = loader.lookupOperation(api, '/about', 'get')
|
|
20
|
-
const result = serializer.operation(shape)
|
|
21
|
-
assert.typeOf(result, 'object', 'returns an object')
|
|
22
|
-
const { customDomainProperties } = result
|
|
23
|
-
assert.typeOf(customDomainProperties, 'array', 'has the customDomainProperties')
|
|
24
|
-
assert.lengthOf(customDomainProperties, 1, 'has a single annotation')
|
|
25
|
-
const [annotation] = customDomainProperties
|
|
26
|
-
assert.equal(annotation.name, 'clearanceLevel', 'has the extensionName')
|
|
27
|
-
assert.typeOf(annotation.extension, 'object', 'has the extension')
|
|
28
|
-
const { properties } = annotation.extension as IApiObjectNode
|
|
29
|
-
assert.typeOf(properties, 'object', 'has properties')
|
|
30
|
-
const { level, signature } = properties
|
|
31
|
-
assert.typeOf(level, 'object', 'has the level property')
|
|
32
|
-
assert.typeOf(signature, 'object', 'has the level property')
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
test('ScalarShape annotations', ({ assert }) => {
|
|
36
|
-
const shape = loader.lookupOperation(api, '/files', 'post')
|
|
37
|
-
const result = serializer.operation(shape)
|
|
38
|
-
assert.typeOf(result, 'object', 'returns an object')
|
|
39
|
-
const { customDomainProperties } = result
|
|
40
|
-
assert.typeOf(customDomainProperties, 'array', 'has the customDomainProperties')
|
|
41
|
-
assert.lengthOf(customDomainProperties, 1, 'has a single annotation')
|
|
42
|
-
const [annotation] = customDomainProperties
|
|
43
|
-
assert.equal(annotation.name, 'deprecated', 'has the extensionName')
|
|
44
|
-
assert.typeOf(annotation.extension, 'object', 'has the extension')
|
|
45
|
-
|
|
46
|
-
const { value, dataType } = annotation.extension as IApiScalarNode
|
|
47
|
-
assert.equal(dataType, 'http://www.w3.org/2001/XMLSchema#string', 'has the dataType')
|
|
48
|
-
assert.equal(value, 'This operation is deprecated and will be removed.', 'has the value')
|
|
49
|
-
})
|
|
50
|
-
})
|
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
import { test } from '@japa/runner'
|
|
2
|
-
import { AmfLoader } from '../AmfLoader.js'
|
|
3
|
-
import { AmfSerializer } from '../../../../src/amf/AmfSerializer.js'
|
|
4
|
-
import type { IAmfDomainElement } from '../../../../src/amf/definitions/Amf.js'
|
|
5
|
-
|
|
6
|
-
const loader = new AmfLoader()
|
|
7
|
-
|
|
8
|
-
test.group('apiSummary()', (group) => {
|
|
9
|
-
let petstore: IAmfDomainElement
|
|
10
|
-
let demoApi: IAmfDomainElement
|
|
11
|
-
let petstoreSerializer: AmfSerializer
|
|
12
|
-
let demoSerializer: AmfSerializer
|
|
13
|
-
|
|
14
|
-
group.setup(async () => {
|
|
15
|
-
const a1 = await loader.getGraph('petstore')
|
|
16
|
-
const a2 = await loader.getGraph('arc-demo-api')
|
|
17
|
-
petstoreSerializer = new AmfSerializer(a1)
|
|
18
|
-
demoSerializer = new AmfSerializer(a2)
|
|
19
|
-
petstore = petstoreSerializer._computeEncodes(a1) as IAmfDomainElement
|
|
20
|
-
demoApi = demoSerializer._computeEncodes(a2) as IAmfDomainElement
|
|
21
|
-
})
|
|
22
|
-
|
|
23
|
-
test('serializes the id', ({ assert }) => {
|
|
24
|
-
const result = demoSerializer.apiSummary(demoApi)
|
|
25
|
-
assert.typeOf(result.id, 'string', 'has the id')
|
|
26
|
-
assert.equal(result.id, demoApi['@id'], 'has the web api id')
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
test('serializes the types', ({ assert }) => {
|
|
30
|
-
const result = demoSerializer.apiSummary(demoApi)
|
|
31
|
-
assert.typeOf(result.types, 'array', 'has the id')
|
|
32
|
-
assert.equal(result.types.length, demoApi['@type'].length, 'has all types')
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
test('serializes empty customDomainProperties', ({ assert }) => {
|
|
36
|
-
const result = demoSerializer.apiSummary(demoApi)
|
|
37
|
-
assert.typeOf(result.customDomainProperties, 'array', 'has the customDomainProperties')
|
|
38
|
-
assert.lengthOf(result.customDomainProperties, 0, 'has no values')
|
|
39
|
-
})
|
|
40
|
-
|
|
41
|
-
test('serializes the sourceMaps', ({ assert }) => {
|
|
42
|
-
const result = demoSerializer.apiSummary(demoApi)
|
|
43
|
-
assert.typeOf(result.sourceMaps, 'object', 'has the sourceMaps')
|
|
44
|
-
})
|
|
45
|
-
|
|
46
|
-
test('serializes the schemes', ({ assert }) => {
|
|
47
|
-
const result = demoSerializer.apiSummary(demoApi)
|
|
48
|
-
assert.deepEqual(result.schemes, ['HTTP', 'HTTPS'])
|
|
49
|
-
})
|
|
50
|
-
|
|
51
|
-
test('has default schemes', ({ assert }) => {
|
|
52
|
-
const result = petstoreSerializer.apiSummary(petstore)
|
|
53
|
-
assert.deepEqual(result.schemes, [])
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
-
test('serializes the accepts', ({ assert }) => {
|
|
57
|
-
const result = demoSerializer.apiSummary(demoApi)
|
|
58
|
-
assert.deepEqual(result.accepts, ['application/json', 'application/xml'])
|
|
59
|
-
})
|
|
60
|
-
|
|
61
|
-
test('has default accepts', ({ assert }) => {
|
|
62
|
-
const result = petstoreSerializer.apiSummary(petstore)
|
|
63
|
-
assert.deepEqual(result.accepts, [])
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
test('serializes the contentType', ({ assert }) => {
|
|
67
|
-
const result = demoSerializer.apiSummary(demoApi)
|
|
68
|
-
assert.deepEqual(result.contentType, ['application/json', 'application/xml'])
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
test('has default contentType', ({ assert }) => {
|
|
72
|
-
const result = petstoreSerializer.apiSummary(petstore)
|
|
73
|
-
assert.deepEqual(result.contentType, [])
|
|
74
|
-
})
|
|
75
|
-
|
|
76
|
-
test('serializes the documentations', ({ assert }) => {
|
|
77
|
-
const result = petstoreSerializer.apiSummary(petstore)
|
|
78
|
-
assert.typeOf(result.documentations, 'array', 'has the array')
|
|
79
|
-
assert.lengthOf(result.documentations, 1, 'has a single documentation')
|
|
80
|
-
})
|
|
81
|
-
|
|
82
|
-
test('serializes the tags', ({ assert }) => {
|
|
83
|
-
const result = petstoreSerializer.apiSummary(petstore)
|
|
84
|
-
assert.typeOf(result.tags, 'array', 'has the tags')
|
|
85
|
-
assert.lengthOf(result.tags, 3, 'has all tags')
|
|
86
|
-
const [tag] = result.tags
|
|
87
|
-
assert.equal(tag.name, 'pet', 'has the tags definition')
|
|
88
|
-
})
|
|
89
|
-
|
|
90
|
-
test('has default tags', ({ assert }) => {
|
|
91
|
-
const result = demoSerializer.apiSummary(demoApi)
|
|
92
|
-
assert.deepEqual(result.tags, [])
|
|
93
|
-
})
|
|
94
|
-
|
|
95
|
-
test('serializes the license', ({ assert }) => {
|
|
96
|
-
const result = petstoreSerializer.apiSummary(petstore)
|
|
97
|
-
const { name, url } = result.license!
|
|
98
|
-
assert.equal(name, 'Apache 2.0', 'has the license.name')
|
|
99
|
-
assert.equal(url, 'http://www.apache.org/licenses/LICENSE-2.0.html', 'has the license.url')
|
|
100
|
-
})
|
|
101
|
-
|
|
102
|
-
test('serializes the provider', ({ assert }) => {
|
|
103
|
-
const result = petstoreSerializer.apiSummary(petstore)
|
|
104
|
-
const { name, url, email } = result.provider!
|
|
105
|
-
assert.equal(name, 'Swagger IO', 'has the provider.name')
|
|
106
|
-
assert.equal(url, 'swagger.io', 'has the provider.url')
|
|
107
|
-
assert.equal(email, 'apiteam@swagger.io', 'has the provider.email')
|
|
108
|
-
})
|
|
109
|
-
})
|
|
110
|
-
|
|
111
|
-
test.group('api()', (group) => {
|
|
112
|
-
let demoApi: IAmfDomainElement
|
|
113
|
-
let demoSerializer: AmfSerializer
|
|
114
|
-
|
|
115
|
-
group.setup(async () => {
|
|
116
|
-
const a2 = await loader.getGraph('arc-demo-api')
|
|
117
|
-
demoSerializer = new AmfSerializer(a2)
|
|
118
|
-
demoApi = demoSerializer._computeEncodes(a2) as IAmfDomainElement
|
|
119
|
-
})
|
|
120
|
-
|
|
121
|
-
test('has the ApiSummary properties', ({ assert }) => {
|
|
122
|
-
const result = demoSerializer.api(demoApi)
|
|
123
|
-
assert.typeOf(result.id, 'string', 'has the id')
|
|
124
|
-
assert.equal(result.id, demoApi['@id'], 'has the web api id')
|
|
125
|
-
assert.deepEqual(result.schemes, ['HTTP', 'HTTPS'])
|
|
126
|
-
assert.deepEqual(result.accepts, ['application/json', 'application/xml'])
|
|
127
|
-
})
|
|
128
|
-
|
|
129
|
-
test('has the end points', ({ assert }) => {
|
|
130
|
-
const result = demoSerializer.api(demoApi)
|
|
131
|
-
assert.typeOf(result.endPoints, 'array', 'has the endpoints')
|
|
132
|
-
const [endPoint] = result.endPoints
|
|
133
|
-
assert.equal(endPoint.path, '/test-parameters/{feature}', 'has the end point definition')
|
|
134
|
-
})
|
|
135
|
-
|
|
136
|
-
test('has the servers', ({ assert }) => {
|
|
137
|
-
const result = demoSerializer.api(demoApi)
|
|
138
|
-
assert.typeOf(result.servers, 'array', 'has the servers')
|
|
139
|
-
const [server] = result.servers
|
|
140
|
-
assert.equal(server.url, 'http://{instance}.domain.com/', 'has the server definition')
|
|
141
|
-
})
|
|
142
|
-
})
|
|
143
|
-
|
|
144
|
-
test.group('webApi()', (group) => {
|
|
145
|
-
let demoApi: IAmfDomainElement
|
|
146
|
-
let demoSerializer: AmfSerializer
|
|
147
|
-
|
|
148
|
-
group.setup(async () => {
|
|
149
|
-
const a2 = await loader.getGraph('arc-demo-api')
|
|
150
|
-
demoSerializer = new AmfSerializer(a2)
|
|
151
|
-
demoApi = demoSerializer._computeEncodes(a2) as IAmfDomainElement
|
|
152
|
-
})
|
|
153
|
-
|
|
154
|
-
test('has the ApiSummary properties', ({ assert }) => {
|
|
155
|
-
const result = demoSerializer.webApi(demoApi)
|
|
156
|
-
assert.typeOf(result.id, 'string', 'has the id')
|
|
157
|
-
assert.equal(result.id, demoApi['@id'], 'has the web api id')
|
|
158
|
-
assert.deepEqual(result.schemes, ['HTTP', 'HTTPS'])
|
|
159
|
-
assert.deepEqual(result.accepts, ['application/json', 'application/xml'])
|
|
160
|
-
})
|
|
161
|
-
|
|
162
|
-
test('has the end points', ({ assert }) => {
|
|
163
|
-
const result = demoSerializer.webApi(demoApi)
|
|
164
|
-
assert.typeOf(result.endPoints, 'array', 'has the endpoints')
|
|
165
|
-
const [endPoint] = result.endPoints
|
|
166
|
-
assert.equal(endPoint.path, '/test-parameters/{feature}', 'has the end point definition')
|
|
167
|
-
})
|
|
168
|
-
|
|
169
|
-
test('has the servers', ({ assert }) => {
|
|
170
|
-
const result = demoSerializer.webApi(demoApi)
|
|
171
|
-
assert.typeOf(result.servers, 'array', 'has the servers')
|
|
172
|
-
const [server] = result.servers
|
|
173
|
-
assert.equal(server.url, 'http://{instance}.domain.com/', 'has the server definition')
|
|
174
|
-
})
|
|
175
|
-
})
|
|
176
|
-
|
|
177
|
-
test.group('asyncApi()', (group) => {
|
|
178
|
-
let asyncApi: IAmfDomainElement
|
|
179
|
-
let demoSerializer: AmfSerializer
|
|
180
|
-
let asyncSerializer: AmfSerializer
|
|
181
|
-
|
|
182
|
-
group.setup(async () => {
|
|
183
|
-
const a2 = await loader.getGraph('arc-demo-api')
|
|
184
|
-
const a3 = await loader.getGraph('async-api')
|
|
185
|
-
demoSerializer = new AmfSerializer(a2)
|
|
186
|
-
asyncSerializer = new AmfSerializer(a3)
|
|
187
|
-
asyncApi = asyncSerializer._computeEncodes(a3) as IAmfDomainElement
|
|
188
|
-
})
|
|
189
|
-
|
|
190
|
-
test('has the ApiSummary properties', ({ assert }) => {
|
|
191
|
-
const result = demoSerializer.asyncApi(asyncApi)
|
|
192
|
-
assert.typeOf(result.id, 'string', 'has the id')
|
|
193
|
-
assert.equal(result.id, asyncApi['@id'], 'has the web api id')
|
|
194
|
-
assert.equal(result.name, 'Hello world application')
|
|
195
|
-
})
|
|
196
|
-
|
|
197
|
-
test('has the end points', ({ assert }) => {
|
|
198
|
-
const result = demoSerializer.asyncApi(asyncApi)
|
|
199
|
-
assert.typeOf(result.endPoints, 'array', 'has the endpoints')
|
|
200
|
-
const [endPoint] = result.endPoints
|
|
201
|
-
assert.equal(endPoint.path, 'hello', 'has the end point definition')
|
|
202
|
-
})
|
|
203
|
-
|
|
204
|
-
test('has the servers', ({ assert }) => {
|
|
205
|
-
const result = demoSerializer.asyncApi(asyncApi)
|
|
206
|
-
assert.typeOf(result.servers, 'array', 'has the servers')
|
|
207
|
-
const [server] = result.servers
|
|
208
|
-
assert.equal(server.url, 'broker.mycompany.com', 'has the server definition')
|
|
209
|
-
})
|
|
210
|
-
})
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { test } from '@japa/runner'
|
|
2
|
-
import { AmfLoader } from '../AmfLoader.js'
|
|
3
|
-
import { AmfSerializer } from '../../../../src/amf/AmfSerializer.js'
|
|
4
|
-
import type { IAmfDocument } from '../../../../src/amf/definitions/Amf.js'
|
|
5
|
-
import { AmfNamespace } from '../../../../src/amf/definitions/Namespace.js'
|
|
6
|
-
|
|
7
|
-
const loader = new AmfLoader()
|
|
8
|
-
|
|
9
|
-
test.group('OAS documentation', (group) => {
|
|
10
|
-
let api: IAmfDocument
|
|
11
|
-
let serializer: AmfSerializer
|
|
12
|
-
group.setup(async () => {
|
|
13
|
-
api = await loader.getGraph('petstore')
|
|
14
|
-
serializer = new AmfSerializer()
|
|
15
|
-
serializer.amf = api
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
test('has the documentation properties', ({ assert }) => {
|
|
19
|
-
const enc = serializer._computeEncodes(api)!
|
|
20
|
-
// @ts-expect-error Used in testing
|
|
21
|
-
const docs = enc[serializer._getAmfKey(AmfNamespace.aml.vocabularies.core.documentation)][0]
|
|
22
|
-
const result = serializer.documentation(docs)
|
|
23
|
-
assert.typeOf(result, 'object', 'has the result')
|
|
24
|
-
assert.equal(result.url, 'http://swagger.io', 'has the url')
|
|
25
|
-
assert.equal(result.description, 'Find out more about Swagger', 'has the description')
|
|
26
|
-
assert.deepEqual(result.customDomainProperties, [], 'has no customDomainProperties')
|
|
27
|
-
assert.typeOf(result.sourceMaps, 'object', 'has source maps')
|
|
28
|
-
})
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
test.group('RAML documentation', (group) => {
|
|
32
|
-
let api: IAmfDocument
|
|
33
|
-
let serializer: AmfSerializer
|
|
34
|
-
group.setup(async () => {
|
|
35
|
-
api = await loader.getGraph('amf-helper-api')
|
|
36
|
-
serializer = new AmfSerializer()
|
|
37
|
-
serializer.amf = api
|
|
38
|
-
})
|
|
39
|
-
|
|
40
|
-
test('has the documentation properties', ({ assert }) => {
|
|
41
|
-
const enc = serializer._computeEncodes(api)!
|
|
42
|
-
// @ts-expect-error Used in testing
|
|
43
|
-
const docs = enc[serializer._getAmfKey(AmfNamespace.aml.vocabularies.core.documentation)][0]
|
|
44
|
-
const result = serializer.documentation(docs)
|
|
45
|
-
assert.typeOf(result, 'object', 'has the result')
|
|
46
|
-
assert.isUndefined(result.url, 'has no url')
|
|
47
|
-
assert.equal(result.title, 'How to begin', 'has the title')
|
|
48
|
-
assert.equal(result.description, 'Example content\n', 'has the description')
|
|
49
|
-
assert.deepEqual(result.customDomainProperties, [], 'has no customDomainProperties')
|
|
50
|
-
assert.typeOf(result.sourceMaps, 'object', 'has source maps')
|
|
51
|
-
})
|
|
52
|
-
})
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { test } from '@japa/runner'
|
|
2
|
-
import { AmfLoader } from '../AmfLoader.js'
|
|
3
|
-
import { AmfSerializer } from '../../../../src/amf/AmfSerializer.js'
|
|
4
|
-
import type { IAmfDocument } from '../../../../src/amf/definitions/Amf.js'
|
|
5
|
-
import type { IApiObjectNode, IApiScalarShape } from '../../../../src/amf/definitions/Shapes.js'
|
|
6
|
-
import { AmfNamespace } from '../../../../src/amf/definitions/Namespace.js'
|
|
7
|
-
|
|
8
|
-
const loader = new AmfLoader()
|
|
9
|
-
|
|
10
|
-
test.group('OAS endpoints', (group) => {
|
|
11
|
-
let api: IAmfDocument
|
|
12
|
-
let serializer: AmfSerializer
|
|
13
|
-
group.setup(async () => {
|
|
14
|
-
api = await loader.getGraph('petstore')
|
|
15
|
-
serializer = new AmfSerializer()
|
|
16
|
-
serializer.amf = api
|
|
17
|
-
})
|
|
18
|
-
|
|
19
|
-
test('translates an endpoint', ({ assert }) => {
|
|
20
|
-
const shape = loader.lookupEndpoint(api, '/pet')
|
|
21
|
-
const result = serializer.endPoint(shape)
|
|
22
|
-
assert.typeOf(result, 'object', 'returns an object')
|
|
23
|
-
assert.include(result.types, AmfNamespace.aml.vocabularies.apiContract.EndPoint, 'has the EndPoint type')
|
|
24
|
-
assert.equal(result.path, '/pet', 'has the path')
|
|
25
|
-
assert.typeOf(result.operations, 'array', 'has the operations')
|
|
26
|
-
assert.lengthOf(result.operations, 2, 'has all operations')
|
|
27
|
-
assert.typeOf(result.sourceMaps, 'object', 'has source maps')
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
test('adds the servers property', ({ assert }) => {
|
|
31
|
-
const shape = loader.lookupEndpoint(api, '/pet')
|
|
32
|
-
const result = serializer.endPoint(shape)
|
|
33
|
-
assert.typeOf(result.servers, 'array', 'has the servers')
|
|
34
|
-
assert.lengthOf(result.servers, 1, 'has a single server')
|
|
35
|
-
assert.include(result.servers[0].types, AmfNamespace.aml.vocabularies.apiContract.Server, 'has the Server type')
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
test('adds the summary & description property', ({ assert }) => {
|
|
39
|
-
const shape = loader.lookupEndpoint(api, '/user/{username}')
|
|
40
|
-
const result = serializer.endPoint(shape)
|
|
41
|
-
assert.equal(result.summary, 'Represents a user', 'has the summary')
|
|
42
|
-
assert.typeOf(result.description, 'string', 'has description property')
|
|
43
|
-
})
|
|
44
|
-
})
|
|
45
|
-
|
|
46
|
-
test.group('RAML endpoints', (group) => {
|
|
47
|
-
let demoApi: IAmfDocument
|
|
48
|
-
let arcDemoApi: IAmfDocument
|
|
49
|
-
let demoSerializer: AmfSerializer
|
|
50
|
-
let arcDemoSerializer: AmfSerializer
|
|
51
|
-
group.setup(async () => {
|
|
52
|
-
demoApi = await loader.getGraph('amf-helper-api')
|
|
53
|
-
arcDemoApi = await loader.getGraph('arc-demo-api')
|
|
54
|
-
demoSerializer = new AmfSerializer(demoApi)
|
|
55
|
-
arcDemoSerializer = new AmfSerializer(arcDemoApi)
|
|
56
|
-
})
|
|
57
|
-
|
|
58
|
-
test('has annotations', ({ assert }) => {
|
|
59
|
-
const shape = loader.lookupEndpoint(demoApi, '/annotations')
|
|
60
|
-
const result = demoSerializer.endPoint(shape)
|
|
61
|
-
assert.typeOf(result.customDomainProperties, 'array', 'has the array')
|
|
62
|
-
assert.lengthOf(result.customDomainProperties, 1, 'has the annotation')
|
|
63
|
-
const [item] = result.customDomainProperties
|
|
64
|
-
assert.equal(item.name, 'clearanceLevel', 'has the name')
|
|
65
|
-
const typed = item.extension as IApiObjectNode
|
|
66
|
-
assert.typeOf(typed.properties, 'object', 'has the properties')
|
|
67
|
-
assert.lengthOf(Object.keys(typed.properties), 2, 'has all properties')
|
|
68
|
-
})
|
|
69
|
-
|
|
70
|
-
test('has parameters', ({ assert }) => {
|
|
71
|
-
const shape = loader.lookupEndpoint(demoApi, '/{groupId}/{assetId}/{version}')
|
|
72
|
-
const result = demoSerializer.endPoint(shape)
|
|
73
|
-
const { parameters } = result
|
|
74
|
-
assert.typeOf(parameters, 'array', 'has the array')
|
|
75
|
-
assert.lengthOf(parameters, 3, 'has the parameters')
|
|
76
|
-
const [p1, p2, p3] = parameters
|
|
77
|
-
assert.include(p1.types, AmfNamespace.aml.vocabularies.apiContract.Parameter, 'p1 has the type')
|
|
78
|
-
assert.include(p2.types, AmfNamespace.aml.vocabularies.apiContract.Parameter, 'p2 has the type')
|
|
79
|
-
assert.include(p3.types, AmfNamespace.aml.vocabularies.apiContract.Parameter, 'p3 has the type')
|
|
80
|
-
assert.equal(p1.name, 'assetId', 'p1 has the name')
|
|
81
|
-
assert.equal(p2.name, 'groupId', 'p2 has the name')
|
|
82
|
-
assert.equal(p3.name, 'version', 'p3 has the name')
|
|
83
|
-
assert.equal(p1.paramName, 'assetId', 'p1 has the paramName')
|
|
84
|
-
assert.equal(p2.paramName, 'groupId', 'p2 has the paramName')
|
|
85
|
-
assert.equal(p3.paramName, 'version', 'p3 has the paramName')
|
|
86
|
-
assert.isTrue(p1.required, 'p1 has the required')
|
|
87
|
-
assert.isTrue(p2.required, 'p2 has the required')
|
|
88
|
-
assert.isTrue(p3.required, 'p3 has the required')
|
|
89
|
-
assert.equal(p1.binding, 'path', 'p1 has the binding')
|
|
90
|
-
assert.equal(p2.binding, 'path', 'p2 has the binding')
|
|
91
|
-
assert.equal(p3.binding, 'path', 'p3 has the binding')
|
|
92
|
-
assert.typeOf(p1.schema, 'object', 'p1 has the schema')
|
|
93
|
-
assert.typeOf(p2.schema, 'object', 'p2 has the schema')
|
|
94
|
-
assert.typeOf(p3.schema, 'object', 'p3 has the schema')
|
|
95
|
-
assert.equal(
|
|
96
|
-
(p1.schema as IApiScalarShape).dataType,
|
|
97
|
-
AmfNamespace.w3.xmlSchema.string,
|
|
98
|
-
'p1.schema has the dataType'
|
|
99
|
-
)
|
|
100
|
-
assert.equal(
|
|
101
|
-
(p2.schema as IApiScalarShape).dataType,
|
|
102
|
-
AmfNamespace.w3.xmlSchema.string,
|
|
103
|
-
'p2.schema has the dataType'
|
|
104
|
-
)
|
|
105
|
-
assert.equal(
|
|
106
|
-
(p3.schema as IApiScalarShape).dataType,
|
|
107
|
-
AmfNamespace.aml.vocabularies.shapes.number,
|
|
108
|
-
'p3.schema has the dataType'
|
|
109
|
-
)
|
|
110
|
-
})
|
|
111
|
-
|
|
112
|
-
test('adds resource type definition', ({ assert }) => {
|
|
113
|
-
const shape = loader.lookupEndpoint(demoApi, '/files/{fileId}')
|
|
114
|
-
const result = demoSerializer.endPoint(shape)
|
|
115
|
-
const { operations } = result
|
|
116
|
-
const get = operations.find((o) => o.method === 'get')!
|
|
117
|
-
const param = get.request!.queryParameters.find((p) => p.paramName === 'access_token')
|
|
118
|
-
assert.ok(param)
|
|
119
|
-
})
|
|
120
|
-
|
|
121
|
-
test('adds a resource type extension', ({ assert }) => {
|
|
122
|
-
const shape = loader.lookupEndpoint(arcDemoApi, '/products')
|
|
123
|
-
const result = arcDemoSerializer.endPoint(shape)
|
|
124
|
-
const { extends: extensions } = result
|
|
125
|
-
assert.typeOf(extensions, 'array', 'has the extensions array')
|
|
126
|
-
assert.lengthOf(extensions, 1, 'has a single extension')
|
|
127
|
-
|
|
128
|
-
const [type] = extensions
|
|
129
|
-
|
|
130
|
-
assert.typeOf(type.id, 'string', 'has the id')
|
|
131
|
-
assert.typeOf(type.types, 'array', 'has the types')
|
|
132
|
-
assert.include(
|
|
133
|
-
type.types,
|
|
134
|
-
AmfNamespace.aml.vocabularies.apiContract.ParametrizedResourceType,
|
|
135
|
-
'has the type in the types'
|
|
136
|
-
)
|
|
137
|
-
assert.equal(type.name, 'RequestErrorResponse', 'has the name')
|
|
138
|
-
assert.typeOf(type.target, 'object', 'has the target definition')
|
|
139
|
-
})
|
|
140
|
-
|
|
141
|
-
test('adds a trait extension', ({ assert }) => {
|
|
142
|
-
const shape = loader.lookupEndpoint(arcDemoApi, '/orgs/{orgId}')
|
|
143
|
-
const result = arcDemoSerializer.endPoint(shape)
|
|
144
|
-
const { extends: extensions } = result
|
|
145
|
-
assert.typeOf(extensions, 'array', 'has the extensions array')
|
|
146
|
-
assert.lengthOf(extensions, 1, 'has a single extension')
|
|
147
|
-
|
|
148
|
-
const [type] = extensions
|
|
149
|
-
|
|
150
|
-
assert.typeOf(type.id, 'string', 'has the id')
|
|
151
|
-
assert.typeOf(type.types, 'array', 'has the types')
|
|
152
|
-
assert.include(type.types, AmfNamespace.aml.vocabularies.apiContract.ParametrizedTrait, 'has the type in the types')
|
|
153
|
-
assert.equal(type.name, 'RateLimited', 'has the name')
|
|
154
|
-
assert.typeOf(type.target, 'object', 'has the target definition')
|
|
155
|
-
})
|
|
156
|
-
|
|
157
|
-
test('adds both a trait and a resource type extensions', ({ assert }) => {
|
|
158
|
-
const shape = loader.lookupEndpoint(arcDemoApi, '/people')
|
|
159
|
-
const result = arcDemoSerializer.endPoint(shape)
|
|
160
|
-
const { extends: extensions } = result
|
|
161
|
-
assert.typeOf(extensions, 'array', 'has the extensions array')
|
|
162
|
-
assert.lengthOf(extensions, 2, 'has both extensions')
|
|
163
|
-
|
|
164
|
-
const type = extensions.find((e) =>
|
|
165
|
-
e.types.includes(AmfNamespace.aml.vocabularies.apiContract.ParametrizedResourceType)
|
|
166
|
-
)
|
|
167
|
-
const trait = extensions.find((e) => e.types.includes(AmfNamespace.aml.vocabularies.apiContract.ParametrizedTrait))
|
|
168
|
-
|
|
169
|
-
assert.ok(type, 'has the resource type')
|
|
170
|
-
assert.ok(trait, 'has the trait')
|
|
171
|
-
})
|
|
172
|
-
})
|