@toa.io/extensions.exposition 1.0.0-alpha.5 → 1.0.0-alpha.51
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/components/context.toa.yaml +2 -2
- package/components/identity.bans/manifest.toa.yaml +15 -7
- package/components/identity.bans/operations/transit.d.ts +14 -0
- package/components/identity.bans/operations/transit.js +11 -0
- package/components/identity.bans/operations/transit.js.map +1 -0
- package/components/identity.bans/operations/tsconfig.tsbuildinfo +1 -0
- package/components/identity.bans/source/transit.ts +21 -0
- package/components/identity.bans/tsconfig.json +9 -0
- package/components/identity.basic/manifest.toa.yaml +22 -9
- package/components/identity.basic/operations/authenticate.d.ts +5 -1
- package/components/identity.basic/operations/authenticate.js +5 -2
- package/components/identity.basic/operations/authenticate.js.map +1 -1
- package/components/identity.basic/operations/incept.d.ts +12 -0
- package/components/identity.basic/operations/incept.js +26 -0
- package/components/identity.basic/operations/incept.js.map +1 -0
- package/components/identity.basic/operations/transit.d.ts +4 -4
- package/components/identity.basic/operations/transit.js +5 -3
- package/components/identity.basic/operations/transit.js.map +1 -1
- package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.basic/operations/types.d.ts +8 -4
- package/components/identity.basic/source/authenticate.ts +16 -5
- package/components/identity.basic/source/incept.ts +38 -0
- package/components/identity.basic/source/transit.ts +8 -6
- package/components/identity.basic/source/types.ts +8 -4
- package/components/identity.federation/manifest.toa.yaml +32 -22
- package/components/identity.federation/operations/authenticate.d.ts +2 -2
- package/components/identity.federation/operations/authenticate.js +4 -11
- package/components/identity.federation/operations/authenticate.js.map +1 -1
- package/components/identity.federation/operations/incept.d.ts +11 -0
- package/components/identity.federation/operations/{create.js → incept.js} +6 -7
- package/components/identity.federation/operations/incept.js.map +1 -0
- package/components/identity.federation/operations/lib/jwt.d.ts +4 -5
- package/components/identity.federation/operations/lib/jwt.js +12 -7
- package/components/identity.federation/operations/lib/jwt.js.map +1 -1
- package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.federation/operations/types/configuration.d.ts +14 -0
- package/components/identity.federation/operations/types/configuration.js +3 -0
- package/components/identity.federation/operations/types/configuration.js.map +1 -0
- package/components/identity.federation/operations/{types.d.ts → types/context.d.ts} +15 -7
- package/components/identity.federation/operations/types/context.js +3 -0
- package/components/identity.federation/operations/types/context.js.map +1 -0
- package/components/identity.federation/operations/types/entity.d.ts +6 -0
- package/components/identity.federation/operations/types/entity.js +3 -0
- package/components/identity.federation/operations/types/entity.js.map +1 -0
- package/components/identity.federation/operations/types/index.d.ts +3 -0
- package/components/identity.federation/operations/types/index.js +20 -0
- package/components/identity.federation/operations/types/index.js.map +1 -0
- package/components/identity.federation/source/authenticate.ts +6 -19
- package/components/identity.federation/source/{create.ts → incept.ts} +10 -9
- package/components/identity.federation/source/lib/jwt.test.ts +50 -4
- package/components/identity.federation/source/lib/jwt.ts +20 -12
- package/components/identity.federation/source/types/configuration.ts +15 -0
- package/components/identity.federation/source/{types.ts → types/context.ts} +17 -6
- package/components/identity.federation/source/types/entity.ts +6 -0
- package/components/identity.federation/source/types/index.ts +3 -0
- package/components/identity.federation/tsconfig.json +2 -2
- package/components/identity.roles/manifest.toa.yaml +18 -6
- package/components/identity.roles/operations/grant.d.ts +10 -0
- package/components/identity.roles/operations/grant.js +21 -0
- package/components/identity.roles/operations/grant.js.map +1 -0
- package/components/identity.roles/operations/lib/Entity.d.ts +5 -0
- package/components/identity.roles/operations/lib/Entity.js +3 -0
- package/components/identity.roles/operations/lib/Entity.js.map +1 -0
- package/components/identity.roles/operations/list.d.ts +1 -4
- package/components/identity.roles/operations/list.js.map +1 -1
- package/components/identity.roles/operations/principal.d.ts +4 -6
- package/components/identity.roles/operations/principal.js +6 -1
- package/components/identity.roles/operations/principal.js.map +1 -1
- package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.roles/source/grant.ts +32 -0
- package/components/identity.roles/source/lib/Entity.ts +5 -0
- package/components/identity.roles/source/list.ts +2 -4
- package/components/identity.roles/source/principal.ts +10 -8
- package/components/identity.tokens/manifest.toa.yaml +19 -5
- package/components/identity.tokens/operations/authenticate.d.ts +2 -2
- package/components/identity.tokens/operations/authenticate.js +12 -5
- package/components/identity.tokens/operations/authenticate.js.map +1 -1
- package/components/identity.tokens/operations/decrypt.js +1 -0
- package/components/identity.tokens/operations/decrypt.js.map +1 -1
- package/components/identity.tokens/operations/encrypt.js +5 -1
- package/components/identity.tokens/operations/encrypt.js.map +1 -1
- package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.tokens/operations/types.d.ts +8 -2
- package/components/identity.tokens/receivers/identity.bans.created.js +3 -0
- package/components/identity.tokens/source/authenticate.test.ts +11 -4
- package/components/identity.tokens/source/authenticate.ts +14 -6
- package/components/identity.tokens/source/decrypt.test.ts +5 -3
- package/components/identity.tokens/source/decrypt.ts +9 -8
- package/components/identity.tokens/source/encrypt.test.ts +26 -2
- package/components/identity.tokens/source/encrypt.ts +5 -1
- package/components/identity.tokens/source/types.ts +9 -2
- package/components/octets.storage/manifest.toa.yaml +0 -7
- package/documentation/access.md +75 -38
- package/documentation/authorities.md +49 -0
- package/documentation/cache.md +8 -1
- package/documentation/components.md +47 -22
- package/documentation/flow.md +31 -0
- package/documentation/identity.md +17 -22
- package/documentation/introspection.md +68 -0
- package/documentation/io.md +56 -0
- package/documentation/octets.md +34 -23
- package/documentation/protocol.md +3 -0
- package/documentation/query.md +17 -11
- package/documentation/require.md +15 -0
- package/documentation/tree.md +35 -4
- package/documentation/vary.md +14 -14
- package/features/access.feature +89 -47
- package/features/annotation.feature +2 -0
- package/features/auth.claim.feature +170 -0
- package/features/authorities.basic.feature +141 -0
- package/features/authorities.feature +32 -0
- package/features/authorities.federation.feature +100 -0
- package/features/authorities.tokens.feature +117 -0
- package/features/body.feature +4 -0
- package/features/cache.feature +112 -5
- package/features/cors.feature +5 -0
- package/features/debug.feature +34 -0
- package/features/directives.feature +5 -0
- package/features/dynamic.feature +18 -7
- package/features/errors.feature +18 -4
- package/features/etag.feature +7 -0
- package/features/flow.feature +45 -0
- package/features/identity.bans.feature +137 -0
- package/features/identity.basic.feature +142 -19
- package/features/identity.feature +7 -2
- package/features/identity.federation.feature +68 -15
- package/features/identity.roles.feature +251 -7
- package/features/identity.tokens.feature +57 -4
- package/features/introspection.feature +76 -0
- package/features/io.feature +205 -0
- package/features/octets.entries.feature +10 -1
- package/features/octets.feature +60 -64
- package/features/octets.meta.feature +7 -3
- package/features/octets.workflows.feature +240 -19
- package/features/probes.feature +14 -0
- package/features/{queries.feature → query.feature} +50 -3
- package/features/require.feature +67 -0
- package/features/response.feature +12 -3
- package/features/routes.feature +110 -12
- package/features/steps/Database.ts +17 -10
- package/features/steps/Gateway.ts +23 -6
- package/features/steps/IdP.ts +30 -25
- package/features/steps/components/echo/manifest.toa.yaml +12 -1
- package/features/steps/components/echo/operations/identity.js +7 -0
- package/features/steps/components/echo/operations/parameters.js +7 -0
- package/features/steps/components/echo.beacon/manifest.toa.yaml +2 -0
- package/features/steps/components/echo.beacon/operations/hello.js +5 -0
- package/features/steps/components/octets.tester/manifest.toa.yaml +22 -1
- package/features/steps/components/octets.tester/operations/authority.js +7 -0
- package/features/steps/components/octets.tester/operations/baz.js +1 -2
- package/features/steps/components/octets.tester/operations/diversify.js +3 -1
- package/features/steps/components/octets.tester/operations/foo.js +2 -2
- package/features/steps/components/octets.tester/operations/redirect.js +12 -0
- package/features/steps/components/octets.tester/operations/yex.js +16 -0
- package/features/steps/components/octets.tester/operations/yield.js +13 -0
- package/features/steps/components/pots/manifest.toa.yaml +16 -3
- package/features/steps/components/users.properties/manifest.toa.yaml +2 -1
- package/features/streams.feature +1 -0
- package/features/timing.feature +27 -1
- package/features/vary.feature +104 -3
- package/package.json +12 -11
- package/readme.md +19 -14
- package/schemas/annotation.cos.yaml +1 -1
- package/schemas/io/input.cos.yaml +3 -0
- package/schemas/io/message.cos.yaml +5 -0
- package/schemas/io/output.cos.yaml +5 -0
- package/schemas/node.cos.yaml +1 -0
- package/source/Annotation.ts +3 -3
- package/source/Composition.ts +2 -2
- package/source/Directive.ts +4 -5
- package/source/Endpoint.ts +18 -12
- package/source/Factory.ts +10 -11
- package/source/Gateway.ts +55 -20
- package/source/HTTP/Context.ts +24 -2
- package/source/HTTP/Server.ts +51 -43
- package/source/HTTP/exceptions.ts +7 -1
- package/source/HTTP/messages.test.ts +39 -2
- package/source/HTTP/messages.ts +7 -3
- package/source/Mapping.ts +6 -1
- package/source/Query.test.ts +1 -1
- package/source/Query.ts +35 -24
- package/source/RTD/Endpoint.ts +3 -0
- package/source/RTD/Method.ts +4 -0
- package/source/RTD/Node.ts +10 -2
- package/source/RTD/Route.ts +5 -4
- package/source/RTD/factory.ts +5 -2
- package/source/RTD/syntax/parse.ts +37 -24
- package/source/RTD/syntax/types.ts +2 -1
- package/source/Remotes.ts +4 -4
- package/source/Tenant.ts +0 -8
- package/source/deployment.ts +32 -22
- package/source/directives/auth/Authorization.ts +40 -17
- package/source/directives/auth/Delegate.ts +42 -0
- package/source/directives/auth/Federation.ts +84 -0
- package/source/directives/auth/Incept.ts +4 -3
- package/source/directives/auth/Role.test.ts +53 -6
- package/source/directives/auth/Role.ts +22 -14
- package/source/directives/auth/types.ts +1 -1
- package/source/directives/cache/Cache.ts +13 -6
- package/source/directives/cache/Control.ts +42 -16
- package/source/directives/dev/Development.ts +1 -1
- package/source/directives/flow/Fetch.ts +88 -0
- package/source/directives/flow/Flow.ts +34 -0
- package/source/directives/flow/index.ts +3 -0
- package/source/directives/flow/types.ts +6 -0
- package/source/directives/index.ts +6 -3
- package/source/directives/io/Directive.ts +11 -0
- package/source/directives/io/IO.ts +43 -0
- package/source/directives/io/Input.ts +50 -0
- package/source/directives/io/Message.ts +1 -0
- package/source/directives/io/Output.ts +69 -0
- package/source/directives/io/index.ts +3 -0
- package/source/directives/io/schemas.ts +12 -0
- package/source/directives/octets/Context.ts +4 -3
- package/source/directives/octets/Delete.ts +4 -2
- package/source/directives/octets/Directive.ts +10 -0
- package/source/directives/octets/Fetch.ts +14 -12
- package/source/directives/octets/List.ts +9 -7
- package/source/directives/octets/Octets.ts +4 -5
- package/source/directives/octets/Store.ts +4 -2
- package/source/directives/octets/Workflow.ts +10 -3
- package/source/directives/octets/schemas.ts +4 -4
- package/source/directives/octets/types.ts +0 -7
- package/source/directives/octets/workflows/Execution.ts +59 -8
- package/source/directives/octets/workflows/Workflow.ts +2 -1
- package/source/directives/require/Directive.ts +5 -0
- package/source/directives/require/Headers.ts +20 -0
- package/source/directives/require/Require.ts +28 -0
- package/source/directives/require/index.ts +3 -0
- package/source/directives/vary/Directive.ts +2 -1
- package/source/directives/vary/Embed.ts +14 -8
- package/source/directives/vary/Vary.ts +6 -4
- package/source/directives/vary/embeddings/Authority.ts +8 -0
- package/source/directives/vary/embeddings/Embedding.ts +2 -1
- package/source/directives/vary/embeddings/Header.ts +8 -6
- package/source/directives/vary/embeddings/Parameter.ts +14 -0
- package/source/directives/vary/embeddings/index.ts +6 -4
- package/source/exceptions.ts +22 -11
- package/source/manifest.ts +8 -9
- package/source/root.ts +5 -0
- package/source/schemas.ts +1 -1
- package/transpiled/Annotation.d.ts +3 -3
- package/transpiled/Composition.js +2 -2
- package/transpiled/Composition.js.map +1 -1
- package/transpiled/Directive.js +4 -4
- package/transpiled/Directive.js.map +1 -1
- package/transpiled/Endpoint.d.ts +5 -4
- package/transpiled/Endpoint.js +8 -4
- package/transpiled/Endpoint.js.map +1 -1
- package/transpiled/Factory.d.ts +1 -1
- package/transpiled/Factory.js +9 -8
- package/transpiled/Factory.js.map +1 -1
- package/transpiled/Gateway.d.ts +2 -0
- package/transpiled/Gateway.js +39 -12
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Context.d.ts +8 -1
- package/transpiled/HTTP/Context.js +15 -2
- package/transpiled/HTTP/Context.js.map +1 -1
- package/transpiled/HTTP/Server.d.ts +13 -2
- package/transpiled/HTTP/Server.js +38 -35
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/HTTP/exceptions.d.ts +4 -1
- package/transpiled/HTTP/exceptions.js +7 -1
- package/transpiled/HTTP/exceptions.js.map +1 -1
- package/transpiled/HTTP/messages.d.ts +1 -0
- package/transpiled/HTTP/messages.js +9 -3
- package/transpiled/HTTP/messages.js.map +1 -1
- package/transpiled/Mapping.js +4 -1
- package/transpiled/Mapping.js.map +1 -1
- package/transpiled/Query.d.ts +1 -0
- package/transpiled/Query.js +21 -20
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RTD/Endpoint.d.ts +1 -0
- package/transpiled/RTD/Method.d.ts +1 -0
- package/transpiled/RTD/Method.js +3 -0
- package/transpiled/RTD/Method.js.map +1 -1
- package/transpiled/RTD/Node.d.ts +2 -0
- package/transpiled/RTD/Node.js +9 -2
- package/transpiled/RTD/Node.js.map +1 -1
- package/transpiled/RTD/Route.d.ts +1 -1
- package/transpiled/RTD/Route.js +0 -1
- package/transpiled/RTD/Route.js.map +1 -1
- package/transpiled/RTD/factory.js +5 -2
- package/transpiled/RTD/factory.js.map +1 -1
- package/transpiled/RTD/syntax/parse.js +34 -22
- package/transpiled/RTD/syntax/parse.js.map +1 -1
- package/transpiled/RTD/syntax/types.d.ts +1 -0
- package/transpiled/RTD/syntax/types.js +1 -1
- package/transpiled/RTD/syntax/types.js.map +1 -1
- package/transpiled/Remotes.d.ts +2 -2
- package/transpiled/Remotes.js.map +1 -1
- package/transpiled/Tenant.d.ts +0 -1
- package/transpiled/Tenant.js +0 -6
- package/transpiled/Tenant.js.map +1 -1
- package/transpiled/deployment.d.ts +1 -1
- package/transpiled/deployment.js +28 -20
- package/transpiled/deployment.js.map +1 -1
- package/transpiled/directives/auth/Authorization.js +28 -12
- package/transpiled/directives/auth/Authorization.js.map +1 -1
- package/transpiled/directives/auth/Delegate.d.ts +10 -0
- package/transpiled/directives/auth/Delegate.js +34 -0
- package/transpiled/directives/auth/Delegate.js.map +1 -0
- package/transpiled/directives/auth/Federation.d.ts +16 -0
- package/transpiled/directives/auth/Federation.js +57 -0
- package/transpiled/directives/auth/Federation.js.map +1 -0
- package/transpiled/directives/auth/Incept.js +4 -3
- package/transpiled/directives/auth/Incept.js.map +1 -1
- package/transpiled/directives/auth/Role.d.ts +4 -1
- package/transpiled/directives/auth/Role.js +20 -14
- package/transpiled/directives/auth/Role.js.map +1 -1
- package/transpiled/directives/cache/Cache.d.ts +3 -3
- package/transpiled/directives/cache/Cache.js +10 -4
- package/transpiled/directives/cache/Cache.js.map +1 -1
- package/transpiled/directives/cache/Control.d.ts +2 -1
- package/transpiled/directives/cache/Control.js +29 -12
- package/transpiled/directives/cache/Control.js.map +1 -1
- package/transpiled/directives/dev/Development.js +1 -1
- package/transpiled/directives/dev/Development.js.map +1 -1
- package/transpiled/directives/flow/Fetch.d.ts +13 -0
- package/transpiled/directives/flow/Fetch.js +59 -0
- package/transpiled/directives/flow/Fetch.js.map +1 -0
- package/transpiled/directives/flow/Flow.d.ts +10 -0
- package/transpiled/directives/flow/Flow.js +27 -0
- package/transpiled/directives/flow/Flow.js.map +1 -0
- package/transpiled/directives/flow/index.d.ts +2 -0
- package/transpiled/directives/flow/index.js +6 -0
- package/transpiled/directives/flow/index.js.map +1 -0
- package/transpiled/directives/flow/types.d.ts +5 -0
- package/transpiled/directives/flow/types.js.map +1 -0
- package/transpiled/directives/index.js +6 -3
- package/transpiled/directives/index.js.map +1 -1
- package/transpiled/directives/io/Directive.d.ts +8 -0
- package/transpiled/directives/io/Directive.js +3 -0
- package/transpiled/directives/io/Directive.js.map +1 -0
- package/transpiled/directives/io/IO.d.ts +9 -0
- package/transpiled/directives/io/IO.js +33 -0
- package/transpiled/directives/io/IO.js.map +1 -0
- package/transpiled/directives/io/Input.d.ts +11 -0
- package/transpiled/directives/{octets/Permute.js → io/Input.js} +33 -26
- package/transpiled/directives/io/Input.js.map +1 -0
- package/transpiled/directives/io/Message.d.ts +1 -0
- package/transpiled/directives/io/Message.js +3 -0
- package/transpiled/directives/io/Message.js.map +1 -0
- package/transpiled/directives/io/Output.d.ts +13 -0
- package/transpiled/directives/io/Output.js +76 -0
- package/transpiled/directives/io/Output.js.map +1 -0
- package/transpiled/directives/io/index.d.ts +2 -0
- package/transpiled/directives/io/index.js +6 -0
- package/transpiled/directives/io/index.js.map +1 -0
- package/transpiled/directives/io/schemas.d.ts +7 -0
- package/transpiled/directives/io/schemas.js +14 -0
- package/transpiled/directives/io/schemas.js.map +1 -0
- package/transpiled/directives/octets/Context.d.ts +3 -3
- package/transpiled/directives/octets/Context.js +4 -2
- package/transpiled/directives/octets/Context.js.map +1 -1
- package/transpiled/directives/octets/Delete.d.ts +3 -2
- package/transpiled/directives/octets/Delete.js +3 -1
- package/transpiled/directives/octets/Delete.js.map +1 -1
- package/transpiled/directives/octets/Directive.d.ts +8 -0
- package/transpiled/directives/octets/Directive.js +8 -0
- package/transpiled/directives/octets/Directive.js.map +1 -0
- package/transpiled/directives/octets/Fetch.d.ts +6 -5
- package/transpiled/directives/octets/Fetch.js +10 -8
- package/transpiled/directives/octets/Fetch.js.map +1 -1
- package/transpiled/directives/octets/List.d.ts +6 -5
- package/transpiled/directives/octets/List.js +6 -4
- package/transpiled/directives/octets/List.js.map +1 -1
- package/transpiled/directives/octets/Octets.d.ts +2 -1
- package/transpiled/directives/octets/Octets.js +2 -4
- package/transpiled/directives/octets/Octets.js.map +1 -1
- package/transpiled/directives/octets/Store.d.ts +3 -2
- package/transpiled/directives/octets/Store.js +3 -1
- package/transpiled/directives/octets/Store.js.map +1 -1
- package/transpiled/directives/octets/Workflow.d.ts +3 -2
- package/transpiled/directives/octets/Workflow.js +9 -2
- package/transpiled/directives/octets/Workflow.js.map +1 -1
- package/transpiled/directives/octets/schemas.d.ts +4 -4
- package/transpiled/directives/octets/schemas.js.map +1 -1
- package/transpiled/directives/octets/types.d.ts +0 -5
- package/transpiled/directives/octets/workflows/Execution.d.ts +5 -1
- package/transpiled/directives/octets/workflows/Execution.js +43 -9
- package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
- package/transpiled/directives/octets/workflows/Workflow.js +2 -1
- package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
- package/transpiled/directives/require/Directive.d.ts +4 -0
- package/transpiled/directives/require/Directive.js +3 -0
- package/transpiled/directives/require/Directive.js.map +1 -0
- package/transpiled/directives/require/Headers.d.ts +7 -0
- package/transpiled/directives/require/Headers.js +19 -0
- package/transpiled/directives/require/Headers.js.map +1 -0
- package/transpiled/directives/require/Require.d.ts +9 -0
- package/transpiled/directives/require/Require.js +27 -0
- package/transpiled/directives/require/Require.js.map +1 -0
- package/transpiled/directives/require/index.d.ts +2 -0
- package/transpiled/directives/require/index.js +6 -0
- package/transpiled/directives/require/index.js.map +1 -0
- package/transpiled/directives/vary/Directive.d.ts +2 -1
- package/transpiled/directives/vary/Embed.d.ts +2 -1
- package/transpiled/directives/vary/Embed.js +8 -6
- package/transpiled/directives/vary/Embed.js.map +1 -1
- package/transpiled/directives/vary/Vary.d.ts +2 -2
- package/transpiled/directives/vary/Vary.js +3 -3
- package/transpiled/directives/vary/Vary.js.map +1 -1
- package/transpiled/directives/vary/embeddings/Authority.d.ts +5 -0
- package/transpiled/directives/vary/embeddings/Authority.js +10 -0
- package/transpiled/directives/vary/embeddings/Authority.js.map +1 -0
- package/transpiled/directives/vary/embeddings/Embedding.d.ts +2 -1
- package/transpiled/directives/vary/embeddings/Header.js +8 -6
- package/transpiled/directives/vary/embeddings/Header.js.map +1 -1
- package/transpiled/directives/vary/embeddings/Parameter.d.ts +7 -0
- package/transpiled/directives/vary/embeddings/Parameter.js +14 -0
- package/transpiled/directives/vary/embeddings/Parameter.js.map +1 -0
- package/transpiled/directives/vary/embeddings/index.d.ts +2 -2
- package/transpiled/directives/vary/embeddings/index.js +8 -4
- package/transpiled/directives/vary/embeddings/index.js.map +1 -1
- package/transpiled/exceptions.d.ts +3 -2
- package/transpiled/exceptions.js +13 -7
- package/transpiled/exceptions.js.map +1 -1
- package/transpiled/manifest.js +8 -9
- package/transpiled/manifest.js.map +1 -1
- package/transpiled/root.js +5 -0
- package/transpiled/root.js.map +1 -1
- package/transpiled/schemas.d.ts +1 -1
- package/transpiled/schemas.js +2 -2
- package/transpiled/schemas.js.map +1 -1
- package/transpiled/tsconfig.tsbuildinfo +1 -1
- package/components/identity.basic/operations/create.d.ts +0 -10
- package/components/identity.basic/operations/create.js +0 -10
- package/components/identity.basic/operations/create.js.map +0 -1
- package/components/identity.basic/source/create.ts +0 -18
- package/components/identity.federation/operations/create.d.ts +0 -10
- package/components/identity.federation/operations/create.js.map +0 -1
- package/components/identity.federation/operations/schemas.d.ts +0 -59
- package/components/identity.federation/operations/schemas.js +0 -9
- package/components/identity.federation/operations/schemas.js.map +0 -1
- package/components/identity.federation/operations/types.js.map +0 -1
- package/components/identity.federation/source/schemas.ts +0 -61
- package/components/octets.storage/operations/permute.js +0 -7
- package/source/HTTP/Server.test.ts +0 -126
- package/source/directives/octets/Permute.ts +0 -43
- package/transpiled/directives/octets/Permute.d.ts +0 -10
- package/transpiled/directives/octets/Permute.js.map +0 -1
- /package/{components/identity.federation/operations → transpiled/directives/flow}/types.js +0 -0
|
@@ -15,6 +15,7 @@ Feature: Octets storage workflows
|
|
|
15
15
|
- add-baz: octets.tester.baz
|
|
16
16
|
- diversify: octets.tester.diversify
|
|
17
17
|
/*:
|
|
18
|
+
io:output: true
|
|
18
19
|
GET:
|
|
19
20
|
octets:fetch:
|
|
20
21
|
meta: true
|
|
@@ -22,7 +23,8 @@ Feature: Octets storage workflows
|
|
|
22
23
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
23
24
|
"""
|
|
24
25
|
POST / HTTP/1.1
|
|
25
|
-
|
|
26
|
+
host: nex.toa.io
|
|
27
|
+
accept: application/yaml, multipart/yaml
|
|
26
28
|
content-type: application/octet-stream
|
|
27
29
|
"""
|
|
28
30
|
Then the following reply is sent:
|
|
@@ -31,23 +33,35 @@ Feature: Octets storage workflows
|
|
|
31
33
|
content-type: multipart/yaml; boundary=cut
|
|
32
34
|
|
|
33
35
|
--cut
|
|
36
|
+
|
|
34
37
|
id: 10cf16b458f759e0d617f2f3d83599ff
|
|
35
38
|
type: application/octet-stream
|
|
36
39
|
size: 8169
|
|
37
40
|
--cut
|
|
38
|
-
|
|
41
|
+
|
|
42
|
+
step: add-foo
|
|
43
|
+
status: completed
|
|
39
44
|
--cut
|
|
40
|
-
|
|
45
|
+
|
|
46
|
+
step: add-bar
|
|
47
|
+
output:
|
|
41
48
|
bar: baz
|
|
49
|
+
status: completed
|
|
42
50
|
--cut
|
|
43
|
-
|
|
51
|
+
|
|
52
|
+
step: add-baz
|
|
53
|
+
status: completed
|
|
44
54
|
--cut
|
|
45
|
-
|
|
55
|
+
|
|
56
|
+
step: diversify
|
|
57
|
+
output: hello
|
|
58
|
+
status: completed
|
|
46
59
|
--cut--
|
|
47
60
|
"""
|
|
48
61
|
When the following request is received:
|
|
49
62
|
"""
|
|
50
63
|
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
64
|
+
host: nex.toa.io
|
|
51
65
|
accept: application/vnd.toa.octets.entry+yaml
|
|
52
66
|
"""
|
|
53
67
|
Then the following reply is sent:
|
|
@@ -66,6 +80,7 @@ Feature: Octets storage workflows
|
|
|
66
80
|
When the following request is received:
|
|
67
81
|
"""
|
|
68
82
|
GET /10cf16b458f759e0d617f2f3d83599ff.hello.png HTTP/1.1
|
|
83
|
+
host: nex.toa.io
|
|
69
84
|
"""
|
|
70
85
|
Then the stream equals to `lenna.png` is sent with the following headers:
|
|
71
86
|
"""
|
|
@@ -84,14 +99,15 @@ Feature: Octets storage workflows
|
|
|
84
99
|
POST:
|
|
85
100
|
octets:store:
|
|
86
101
|
workflow:
|
|
87
|
-
add-foo: octets.tester.foo
|
|
88
|
-
add-bar: octets.tester.err
|
|
89
|
-
add-baz: octets.tester.baz
|
|
102
|
+
- add-foo: octets.tester.foo
|
|
103
|
+
- add-bar: octets.tester.err
|
|
104
|
+
- add-baz: octets.tester.baz
|
|
90
105
|
"""
|
|
91
106
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
92
107
|
"""
|
|
93
108
|
POST / HTTP/1.1
|
|
94
|
-
|
|
109
|
+
host: nex.toa.io
|
|
110
|
+
accept: application/yaml, multipart/yaml
|
|
95
111
|
content-type: application/octet-stream
|
|
96
112
|
"""
|
|
97
113
|
Then the following reply is sent:
|
|
@@ -104,12 +120,16 @@ Feature: Octets storage workflows
|
|
|
104
120
|
type: application/octet-stream
|
|
105
121
|
size: 8169
|
|
106
122
|
--cut
|
|
107
|
-
|
|
123
|
+
|
|
124
|
+
step: add-foo
|
|
125
|
+
status: completed
|
|
108
126
|
--cut
|
|
127
|
+
|
|
128
|
+
step: add-bar
|
|
109
129
|
error:
|
|
110
|
-
step: add-bar
|
|
111
130
|
code: ERROR
|
|
112
131
|
message: Something went wrong
|
|
132
|
+
status: completed
|
|
113
133
|
--cut--
|
|
114
134
|
"""
|
|
115
135
|
|
|
@@ -133,6 +153,7 @@ Feature: Octets storage workflows
|
|
|
133
153
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
134
154
|
"""
|
|
135
155
|
POST / HTTP/1.1
|
|
156
|
+
host: nex.toa.io
|
|
136
157
|
content-type: application/octet-stream
|
|
137
158
|
"""
|
|
138
159
|
Then the following reply is sent:
|
|
@@ -142,7 +163,8 @@ Feature: Octets storage workflows
|
|
|
142
163
|
When the following request is received:
|
|
143
164
|
"""
|
|
144
165
|
DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
145
|
-
|
|
166
|
+
host: nex.toa.io
|
|
167
|
+
accept: application/yaml, multipart/yaml
|
|
146
168
|
"""
|
|
147
169
|
Then the following reply is sent:
|
|
148
170
|
"""
|
|
@@ -150,12 +172,15 @@ Feature: Octets storage workflows
|
|
|
150
172
|
content-type: multipart/yaml; boundary=cut
|
|
151
173
|
|
|
152
174
|
--cut
|
|
153
|
-
|
|
175
|
+
step: echo
|
|
176
|
+
status: completed
|
|
177
|
+
output: 10cf16b458f759e0d617f2f3d83599ff
|
|
154
178
|
--cut--
|
|
155
179
|
"""
|
|
156
180
|
When the following request is received:
|
|
157
181
|
"""
|
|
158
182
|
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
183
|
+
host: nex.toa.io
|
|
159
184
|
"""
|
|
160
185
|
Then the following reply is sent:
|
|
161
186
|
"""
|
|
@@ -182,6 +207,7 @@ Feature: Octets storage workflows
|
|
|
182
207
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
183
208
|
"""
|
|
184
209
|
POST / HTTP/1.1
|
|
210
|
+
host: nex.toa.io
|
|
185
211
|
content-type: application/octet-stream
|
|
186
212
|
"""
|
|
187
213
|
Then the following reply is sent:
|
|
@@ -191,7 +217,8 @@ Feature: Octets storage workflows
|
|
|
191
217
|
When the following request is received:
|
|
192
218
|
"""
|
|
193
219
|
DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
194
|
-
|
|
220
|
+
host: nex.toa.io
|
|
221
|
+
accept: application/yaml, multipart/yaml
|
|
195
222
|
"""
|
|
196
223
|
Then the following reply is sent:
|
|
197
224
|
"""
|
|
@@ -199,8 +226,10 @@ Feature: Octets storage workflows
|
|
|
199
226
|
content-type: multipart/yaml; boundary=cut
|
|
200
227
|
|
|
201
228
|
--cut
|
|
229
|
+
|
|
230
|
+
step: err
|
|
231
|
+
status: completed
|
|
202
232
|
error:
|
|
203
|
-
step: err
|
|
204
233
|
code: ERROR
|
|
205
234
|
message: Something went wrong
|
|
206
235
|
--cut--
|
|
@@ -208,6 +237,7 @@ Feature: Octets storage workflows
|
|
|
208
237
|
When the following request is received:
|
|
209
238
|
"""
|
|
210
239
|
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
240
|
+
host: nex.toa.io
|
|
211
241
|
"""
|
|
212
242
|
Then the following reply is sent:
|
|
213
243
|
"""
|
|
@@ -230,7 +260,46 @@ Feature: Octets storage workflows
|
|
|
230
260
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
231
261
|
"""
|
|
232
262
|
POST /hello/world/ HTTP/1.1
|
|
233
|
-
|
|
263
|
+
host: nex.toa.io
|
|
264
|
+
accept: application/yaml, multipart/yaml
|
|
265
|
+
content-type: application/octet-stream
|
|
266
|
+
"""
|
|
267
|
+
Then the following reply is sent:
|
|
268
|
+
"""
|
|
269
|
+
201 Created
|
|
270
|
+
content-type: multipart/yaml; boundary=cut
|
|
271
|
+
|
|
272
|
+
--cut
|
|
273
|
+
|
|
274
|
+
id: 10cf16b458f759e0d617f2f3d83599ff
|
|
275
|
+
type: application/octet-stream
|
|
276
|
+
size: 8169
|
|
277
|
+
--cut
|
|
278
|
+
|
|
279
|
+
step: concat
|
|
280
|
+
status: completed
|
|
281
|
+
output: hello world
|
|
282
|
+
--cut--
|
|
283
|
+
"""
|
|
284
|
+
|
|
285
|
+
Scenario: Passing authority to the workflow
|
|
286
|
+
Given the `octets.tester` is running
|
|
287
|
+
And the annotation:
|
|
288
|
+
"""yaml
|
|
289
|
+
/:
|
|
290
|
+
/:a/:b:
|
|
291
|
+
auth:anonymous: true
|
|
292
|
+
octets:context: octets
|
|
293
|
+
POST:
|
|
294
|
+
octets:store:
|
|
295
|
+
workflow:
|
|
296
|
+
authority: octets.tester.authority
|
|
297
|
+
"""
|
|
298
|
+
When the stream of `lenna.ascii` is received with the following headers:
|
|
299
|
+
"""
|
|
300
|
+
POST /hello/world/ HTTP/1.1
|
|
301
|
+
host: nex.toa.io
|
|
302
|
+
accept: application/yaml, multipart/yaml
|
|
234
303
|
content-type: application/octet-stream
|
|
235
304
|
"""
|
|
236
305
|
Then the following reply is sent:
|
|
@@ -239,11 +308,15 @@ Feature: Octets storage workflows
|
|
|
239
308
|
content-type: multipart/yaml; boundary=cut
|
|
240
309
|
|
|
241
310
|
--cut
|
|
311
|
+
|
|
242
312
|
id: 10cf16b458f759e0d617f2f3d83599ff
|
|
243
313
|
type: application/octet-stream
|
|
244
314
|
size: 8169
|
|
245
315
|
--cut
|
|
246
|
-
|
|
316
|
+
|
|
317
|
+
step: authority
|
|
318
|
+
status: completed
|
|
319
|
+
output: nex
|
|
247
320
|
--cut--
|
|
248
321
|
"""
|
|
249
322
|
|
|
@@ -264,6 +337,7 @@ Feature: Octets storage workflows
|
|
|
264
337
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
265
338
|
"""
|
|
266
339
|
POST / HTTP/1.1
|
|
340
|
+
host: nex.toa.io
|
|
267
341
|
content-type: application/octet-stream
|
|
268
342
|
"""
|
|
269
343
|
Then the following reply is sent:
|
|
@@ -273,7 +347,8 @@ Feature: Octets storage workflows
|
|
|
273
347
|
When the following request is received:
|
|
274
348
|
"""
|
|
275
349
|
DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
276
|
-
|
|
350
|
+
host: nex.toa.io
|
|
351
|
+
accept: application/yaml, multipart/yaml
|
|
277
352
|
"""
|
|
278
353
|
Then the following reply is sent:
|
|
279
354
|
"""
|
|
@@ -281,6 +356,152 @@ Feature: Octets storage workflows
|
|
|
281
356
|
content-type: multipart/yaml; boundary=cut
|
|
282
357
|
|
|
283
358
|
--cut
|
|
284
|
-
|
|
359
|
+
|
|
360
|
+
step: echo
|
|
361
|
+
status: completed
|
|
362
|
+
output: 10cf16b458f759e0d617f2f3d83599ff
|
|
363
|
+
|
|
364
|
+
--cut--
|
|
365
|
+
"""
|
|
366
|
+
|
|
367
|
+
Scenario: Workflow with streaming response
|
|
368
|
+
Given the `octets.tester` is running
|
|
369
|
+
And the annotation:
|
|
370
|
+
"""yaml
|
|
371
|
+
/:
|
|
372
|
+
auth:anonymous: true
|
|
373
|
+
octets:context: octets
|
|
374
|
+
POST:
|
|
375
|
+
octets:store:
|
|
376
|
+
workflow:
|
|
377
|
+
- foo: octets.tester.foo
|
|
378
|
+
- yield: octets.tester.yield
|
|
379
|
+
"""
|
|
380
|
+
When the stream of `lenna.ascii` is received with the following headers:
|
|
381
|
+
"""
|
|
382
|
+
POST / HTTP/1.1
|
|
383
|
+
host: nex.toa.io
|
|
384
|
+
accept: application/yaml, multipart/yaml
|
|
385
|
+
content-type: application/octet-stream
|
|
386
|
+
"""
|
|
387
|
+
Then the following reply is sent:
|
|
388
|
+
"""
|
|
389
|
+
201 Created
|
|
390
|
+
content-type: multipart/yaml; boundary=cut
|
|
391
|
+
|
|
392
|
+
--cut
|
|
393
|
+
|
|
394
|
+
id: 10cf16b458f759e0d617f2f3d83599ff
|
|
395
|
+
type: application/octet-stream
|
|
396
|
+
|
|
397
|
+
--cut
|
|
398
|
+
|
|
399
|
+
step: foo
|
|
400
|
+
status: completed
|
|
401
|
+
|
|
402
|
+
--cut
|
|
403
|
+
|
|
404
|
+
step: yield
|
|
405
|
+
output: hello
|
|
406
|
+
|
|
407
|
+
--cut
|
|
408
|
+
|
|
409
|
+
step: yield
|
|
410
|
+
output: world
|
|
411
|
+
|
|
412
|
+
--cut
|
|
413
|
+
|
|
414
|
+
step: yield
|
|
415
|
+
status: completed
|
|
416
|
+
|
|
417
|
+
--cut--
|
|
418
|
+
"""
|
|
419
|
+
|
|
420
|
+
Scenario: Workflow with streaming response and an exception
|
|
421
|
+
Given the `octets.tester` is running
|
|
422
|
+
And the annotation:
|
|
423
|
+
"""yaml
|
|
424
|
+
/:
|
|
425
|
+
auth:anonymous: true
|
|
426
|
+
octets:context: octets
|
|
427
|
+
POST:
|
|
428
|
+
octets:store:
|
|
429
|
+
workflow:
|
|
430
|
+
yield: octets.tester.yex
|
|
431
|
+
"""
|
|
432
|
+
When the stream of `lenna.ascii` is received with the following headers:
|
|
433
|
+
"""
|
|
434
|
+
POST / HTTP/1.1
|
|
435
|
+
host: nex.toa.io
|
|
436
|
+
accept: application/yaml, multipart/yaml
|
|
437
|
+
content-type: application/octet-stream
|
|
438
|
+
"""
|
|
439
|
+
Then the following reply is sent:
|
|
440
|
+
"""
|
|
441
|
+
201 Created
|
|
442
|
+
content-type: multipart/yaml; boundary=cut
|
|
443
|
+
|
|
444
|
+
--cut
|
|
445
|
+
|
|
446
|
+
id: 10cf16b458f759e0d617f2f3d83599ff
|
|
447
|
+
type: application/octet-stream
|
|
448
|
+
|
|
449
|
+
--cut
|
|
450
|
+
|
|
451
|
+
step: yield
|
|
452
|
+
output: hello
|
|
453
|
+
|
|
454
|
+
--cut
|
|
455
|
+
|
|
456
|
+
step: yield
|
|
457
|
+
output: world
|
|
458
|
+
|
|
459
|
+
--cut
|
|
460
|
+
|
|
461
|
+
step: yield
|
|
462
|
+
status: exception
|
|
463
|
+
|
|
464
|
+
--cut--
|
|
465
|
+
"""
|
|
466
|
+
|
|
467
|
+
Scenario: Task workflow
|
|
468
|
+
Given the `octets.tester` is running
|
|
469
|
+
And the annotation:
|
|
470
|
+
"""yaml
|
|
471
|
+
/:
|
|
472
|
+
auth:anonymous: true
|
|
473
|
+
octets:context: octets
|
|
474
|
+
POST:
|
|
475
|
+
octets:store:
|
|
476
|
+
workflow:
|
|
477
|
+
foo: task:octets.tester.foo
|
|
478
|
+
/*:
|
|
479
|
+
io:output: true
|
|
480
|
+
GET:
|
|
481
|
+
octets:fetch:
|
|
482
|
+
meta: true
|
|
483
|
+
"""
|
|
484
|
+
When the stream of `lenna.ascii` is received with the following headers:
|
|
485
|
+
"""
|
|
486
|
+
POST / HTTP/1.1
|
|
487
|
+
host: nex.toa.io
|
|
488
|
+
accept: application/yaml, multipart/yaml
|
|
489
|
+
content-type: application/octet-stream
|
|
490
|
+
"""
|
|
491
|
+
Then the following reply is sent:
|
|
492
|
+
"""
|
|
493
|
+
201 Created
|
|
494
|
+
content-type: multipart/yaml; boundary=cut
|
|
495
|
+
|
|
496
|
+
--cut
|
|
497
|
+
|
|
498
|
+
id: 10cf16b458f759e0d617f2f3d83599ff
|
|
499
|
+
|
|
500
|
+
--cut
|
|
501
|
+
|
|
502
|
+
step: foo
|
|
503
|
+
status: completed
|
|
504
|
+
output: null
|
|
505
|
+
|
|
285
506
|
--cut--
|
|
286
507
|
"""
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Feature: Probes
|
|
2
|
+
|
|
3
|
+
Scenario: Startup probe
|
|
4
|
+
Given the Gateway is running
|
|
5
|
+
And after 1 second
|
|
6
|
+
When the following request is received:
|
|
7
|
+
"""
|
|
8
|
+
GET /.ready HTTP/1.1
|
|
9
|
+
"""
|
|
10
|
+
Then the following reply is sent:
|
|
11
|
+
"""
|
|
12
|
+
200 OK
|
|
13
|
+
cache-control: no-store
|
|
14
|
+
"""
|
|
@@ -13,11 +13,13 @@ Feature: Queries
|
|
|
13
13
|
"""yaml
|
|
14
14
|
exposition:
|
|
15
15
|
/pot:
|
|
16
|
+
io:output: true
|
|
16
17
|
GET: observe
|
|
17
18
|
"""
|
|
18
19
|
When the following request is received:
|
|
19
20
|
"""
|
|
20
21
|
GET /pots/pot/?id=99988d785d7d445cad45dbf8531f560b HTTP/1.1
|
|
22
|
+
host: nex.toa.io
|
|
21
23
|
accept: application/yaml
|
|
22
24
|
"""
|
|
23
25
|
Then the following reply is sent:
|
|
@@ -35,11 +37,13 @@ Feature: Queries
|
|
|
35
37
|
"""yaml
|
|
36
38
|
exposition:
|
|
37
39
|
/:
|
|
40
|
+
io:output: true
|
|
38
41
|
GET: enumerate
|
|
39
42
|
"""
|
|
40
43
|
When the following request is received:
|
|
41
44
|
"""
|
|
42
45
|
GET /pots/?criteria=volume<300&limit=10 HTTP/1.1
|
|
46
|
+
host: nex.toa.io
|
|
43
47
|
accept: application/yaml
|
|
44
48
|
"""
|
|
45
49
|
Then the following reply is sent:
|
|
@@ -60,11 +64,13 @@ Feature: Queries
|
|
|
60
64
|
"""yaml
|
|
61
65
|
exposition:
|
|
62
66
|
/:
|
|
67
|
+
io:output: true
|
|
63
68
|
GET: enumerate
|
|
64
69
|
"""
|
|
65
70
|
When the following request is received:
|
|
66
71
|
"""
|
|
67
72
|
GET /pots/?omit=1&limit=2 HTTP/1.1
|
|
73
|
+
host: nex.toa.io
|
|
68
74
|
accept: application/yaml
|
|
69
75
|
"""
|
|
70
76
|
Then the following reply is sent:
|
|
@@ -85,11 +91,13 @@ Feature: Queries
|
|
|
85
91
|
"""yaml
|
|
86
92
|
exposition:
|
|
87
93
|
/:
|
|
94
|
+
io:output: true
|
|
88
95
|
GET: enumerate
|
|
89
96
|
"""
|
|
90
97
|
When the following request is received:
|
|
91
98
|
"""
|
|
92
99
|
GET /pots/?sort=volume:desc&limit=2 HTTP/1.1
|
|
100
|
+
host: nex.toa.io
|
|
93
101
|
accept: application/yaml
|
|
94
102
|
"""
|
|
95
103
|
Then the following reply is sent:
|
|
@@ -105,16 +113,18 @@ Feature: Queries
|
|
|
105
113
|
volume: 300
|
|
106
114
|
"""
|
|
107
115
|
|
|
108
|
-
Scenario: Request to a route with
|
|
116
|
+
Scenario: Request to a route with path variable
|
|
109
117
|
Given the `pots` is running with the following manifest:
|
|
110
118
|
"""yaml
|
|
111
119
|
exposition:
|
|
112
120
|
/:id:
|
|
121
|
+
io:output: true
|
|
113
122
|
GET: observe
|
|
114
123
|
"""
|
|
115
124
|
When the following request is received:
|
|
116
125
|
"""
|
|
117
126
|
GET /pots/99988d785d7d445cad45dbf8531f560b/ HTTP/1.1
|
|
127
|
+
host: nex.toa.io
|
|
118
128
|
accept: application/yaml
|
|
119
129
|
"""
|
|
120
130
|
Then the following reply is sent:
|
|
@@ -127,11 +137,43 @@ Feature: Queries
|
|
|
127
137
|
volume: 200
|
|
128
138
|
"""
|
|
129
139
|
|
|
130
|
-
Scenario: Request to a route with
|
|
140
|
+
Scenario: Request to a route with path variable using OR operator
|
|
141
|
+
Given the `pots` is running with the following manifest:
|
|
142
|
+
"""yaml
|
|
143
|
+
exposition:
|
|
144
|
+
/:volume:
|
|
145
|
+
io:output: true
|
|
146
|
+
GET:
|
|
147
|
+
query:
|
|
148
|
+
criteria: ',volume==100'
|
|
149
|
+
endpoint: enumerate
|
|
150
|
+
"""
|
|
151
|
+
When the following request is received:
|
|
152
|
+
"""
|
|
153
|
+
GET /pots/200/ HTTP/1.1
|
|
154
|
+
host: nex.toa.io
|
|
155
|
+
accept: application/yaml
|
|
156
|
+
"""
|
|
157
|
+
Then the following reply is sent:
|
|
158
|
+
"""
|
|
159
|
+
200 OK
|
|
160
|
+
content-type: application/yaml
|
|
161
|
+
|
|
162
|
+
- id: 4c4759e6f9c74da989d64511df42d6f4
|
|
163
|
+
title: First pot
|
|
164
|
+
volume: 100
|
|
165
|
+
temperature: 80
|
|
166
|
+
- id: 99988d785d7d445cad45dbf8531f560b
|
|
167
|
+
title: Second pot
|
|
168
|
+
volume: 200
|
|
169
|
+
"""
|
|
170
|
+
|
|
171
|
+
Scenario: Request to a route with predefined criteria
|
|
131
172
|
Given the `pots` is running with the following manifest:
|
|
132
173
|
"""yaml
|
|
133
174
|
exposition:
|
|
134
175
|
/big:
|
|
176
|
+
io:output: true
|
|
135
177
|
GET:
|
|
136
178
|
endpoint: enumerate
|
|
137
179
|
query:
|
|
@@ -140,6 +182,7 @@ Feature: Queries
|
|
|
140
182
|
When the following request is received:
|
|
141
183
|
"""
|
|
142
184
|
GET /pots/big/ HTTP/1.1
|
|
185
|
+
host: nex.toa.io
|
|
143
186
|
accept: application/yaml
|
|
144
187
|
"""
|
|
145
188
|
Then the following reply is sent:
|
|
@@ -155,11 +198,12 @@ Feature: Queries
|
|
|
155
198
|
volume: 400
|
|
156
199
|
"""
|
|
157
200
|
|
|
158
|
-
Scenario: Request to a route with
|
|
201
|
+
Scenario: Request to a route with open criteria
|
|
159
202
|
Given the `pots` is running with the following manifest:
|
|
160
203
|
"""yaml
|
|
161
204
|
exposition:
|
|
162
205
|
/big:
|
|
206
|
+
io:output: true
|
|
163
207
|
GET:
|
|
164
208
|
endpoint: enumerate
|
|
165
209
|
query:
|
|
@@ -168,6 +212,7 @@ Feature: Queries
|
|
|
168
212
|
When the following request is received:
|
|
169
213
|
"""
|
|
170
214
|
GET /pots/big/?criteria=temperature>50 HTTP/1.1
|
|
215
|
+
host: nex.toa.io
|
|
171
216
|
accept: application/yaml
|
|
172
217
|
"""
|
|
173
218
|
Then the following reply is sent:
|
|
@@ -186,6 +231,7 @@ Feature: Queries
|
|
|
186
231
|
"""yaml
|
|
187
232
|
exposition:
|
|
188
233
|
/hottest2:
|
|
234
|
+
io:output: true
|
|
189
235
|
GET:
|
|
190
236
|
endpoint: enumerate
|
|
191
237
|
query:
|
|
@@ -196,6 +242,7 @@ Feature: Queries
|
|
|
196
242
|
When the following request is received:
|
|
197
243
|
"""
|
|
198
244
|
GET /pots/hottest2/ HTTP/1.1
|
|
245
|
+
host: nex.toa.io
|
|
199
246
|
accept: application/yaml
|
|
200
247
|
"""
|
|
201
248
|
Then the following reply is sent:
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
Feature: Request requirements
|
|
2
|
+
|
|
3
|
+
Scenario Outline: Require headers
|
|
4
|
+
Given the `pots` is running with the following manifest:
|
|
5
|
+
"""yaml
|
|
6
|
+
exposition:
|
|
7
|
+
/:
|
|
8
|
+
io:output: true
|
|
9
|
+
POST: create
|
|
10
|
+
/one/:id:
|
|
11
|
+
require:header: if-match
|
|
12
|
+
PUT: transit
|
|
13
|
+
/two/:id:
|
|
14
|
+
require:headers: [if-match]
|
|
15
|
+
PUT: transit
|
|
16
|
+
"""
|
|
17
|
+
When the following request is received:
|
|
18
|
+
"""
|
|
19
|
+
POST /pots/ HTTP/1.1
|
|
20
|
+
host: nex.toa.io
|
|
21
|
+
content-type: application/yaml
|
|
22
|
+
accept: application/yaml
|
|
23
|
+
|
|
24
|
+
title: Hello
|
|
25
|
+
volume: 1.5
|
|
26
|
+
"""
|
|
27
|
+
Then the following reply is sent:
|
|
28
|
+
"""
|
|
29
|
+
201 Created
|
|
30
|
+
etag: ${{ etag }}
|
|
31
|
+
|
|
32
|
+
id: ${{ id }}
|
|
33
|
+
"""
|
|
34
|
+
When the following request is received:
|
|
35
|
+
"""
|
|
36
|
+
PUT /pots/<variant>/${{ id }}/ HTTP/1.1
|
|
37
|
+
host: nex.toa.io
|
|
38
|
+
content-type: application/yaml
|
|
39
|
+
accept: text/plain
|
|
40
|
+
|
|
41
|
+
title: Hello
|
|
42
|
+
volume: 1.5
|
|
43
|
+
"""
|
|
44
|
+
Then the following reply is sent:
|
|
45
|
+
"""
|
|
46
|
+
400 Bad Request
|
|
47
|
+
|
|
48
|
+
Header required: if-match
|
|
49
|
+
"""
|
|
50
|
+
When the following request is received:
|
|
51
|
+
"""
|
|
52
|
+
PUT /pots/<variant>/${{ id }}/ HTTP/1.1
|
|
53
|
+
host: nex.toa.io
|
|
54
|
+
content-type: application/yaml
|
|
55
|
+
accept: text/plain
|
|
56
|
+
if-match: ${{ etag }}
|
|
57
|
+
|
|
58
|
+
title: Bye
|
|
59
|
+
"""
|
|
60
|
+
Then the following reply is sent:
|
|
61
|
+
"""
|
|
62
|
+
200 OK
|
|
63
|
+
"""
|
|
64
|
+
Examples:
|
|
65
|
+
| variant |
|
|
66
|
+
| one |
|
|
67
|
+
| two |
|