@toa.io/extensions.exposition 1.0.0-alpha.8 → 1.0.0-alpha.81
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 +20 -11
- 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 -16
- 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/assertions-as-values.js +4 -2
- package/components/identity.federation/operations/lib/assertions-as-values.js.map +1 -1
- package/components/identity.federation/operations/lib/jwt.d.ts +5 -5
- package/components/identity.federation/operations/lib/jwt.js +25 -12
- 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/assertions-as-values.ts +5 -2
- package/components/identity.federation/source/lib/jwt.test.ts +123 -4
- package/components/identity.federation/source/lib/jwt.ts +36 -16
- 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 +5 -4
- package/components/identity.roles/manifest.toa.yaml +17 -8
- 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 +6 -7
- package/components/octets.storage/operations/get.js +2 -2
- package/components/octets.storage/operations/store.js +113 -3
- 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 +82 -0
- package/documentation/octets.md +81 -23
- package/documentation/protocol.md +13 -3
- package/documentation/query.md +29 -4
- package/documentation/require.md +15 -0
- package/documentation/tree.md +13 -0
- package/documentation/vary.md +14 -14
- package/features/access.feature +78 -46
- package/features/annotation.feature +1 -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 +2 -0
- package/features/cache.feature +109 -5
- package/features/cors.feature +6 -1
- package/features/debug.feature +34 -0
- package/features/directives.feature +3 -0
- package/features/dynamic.feature +48 -0
- package/features/errors.feature +32 -7
- package/features/etag.feature +31 -0
- package/features/flow.feature +45 -0
- package/features/identity.bans.feature +137 -0
- package/features/identity.basic.feature +113 -23
- package/features/identity.feature +7 -2
- package/features/identity.federation.feature +66 -11
- package/features/identity.roles.feature +250 -7
- package/features/identity.tokens.feature +54 -4
- package/features/introspection.feature +153 -0
- package/features/io.feature +38 -1
- package/features/methods.feature +47 -0
- package/features/octets.download.feature +189 -0
- package/features/octets.entries.feature +8 -1
- package/features/octets.feature +82 -54
- package/features/octets.meta.feature +3 -0
- package/features/octets.workflows.feature +239 -19
- package/features/probes.feature +14 -0
- package/features/{queries.feature → query.feature} +65 -2
- package/features/realtime.feature +34 -0
- package/features/require.feature +67 -0
- package/features/response.feature +38 -3
- package/features/routes.feature +93 -2
- package/features/steps/Database.ts +16 -9
- package/features/steps/Gateway.ts +23 -6
- package/features/steps/IdP.ts +30 -25
- package/features/steps/Parameters.ts +4 -1
- package/features/steps/Realtime.ts +151 -0
- package/features/steps/components/echo/manifest.toa.yaml +14 -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 +14 -3
- package/features/steps/components/users/manifest.toa.yaml +0 -1
- package/features/steps/components/users.properties/manifest.toa.yaml +1 -1
- package/features/streams.feature +5 -0
- package/features/timing.feature +4 -1
- package/features/vary.feature +71 -0
- package/package.json +23 -14
- package/readme.md +19 -14
- package/schemas/annotation.cos.yaml +1 -1
- package/schemas/method.cos.yaml +1 -1
- package/schemas/node.cos.yaml +2 -0
- package/schemas/octets/store.cos.yaml +25 -3
- package/schemas/query.cos.yaml +4 -10
- package/source/Annotation.ts +3 -3
- package/source/Branch.ts +1 -0
- package/source/Composition.ts +0 -6
- package/source/Context.ts +1 -0
- package/source/Directive.ts +4 -5
- package/source/Endpoint.ts +55 -15
- package/source/Factory.ts +22 -13
- package/source/Gateway.ts +67 -19
- package/source/HTTP/Context.ts +25 -2
- package/source/HTTP/Server.ts +54 -44
- package/source/HTTP/exceptions.ts +13 -1
- package/source/HTTP/formats/index.ts +3 -3
- package/source/HTTP/messages.test.ts +45 -2
- package/source/HTTP/messages.ts +23 -5
- package/source/Introspection.ts +11 -0
- package/source/Mapping.ts +63 -21
- package/source/Query.test.ts +3 -3
- package/source/Query.ts +117 -33
- package/source/RTD/Context.ts +1 -1
- package/source/RTD/Endpoint.ts +3 -0
- package/source/RTD/Method.ts +16 -0
- package/source/RTD/Node.ts +29 -13
- package/source/RTD/Route.ts +5 -4
- package/source/RTD/Tree.ts +2 -2
- package/source/RTD/factory.ts +5 -2
- package/source/RTD/syntax/parse.ts +37 -24
- package/source/RTD/syntax/types.ts +6 -4
- package/source/Remotes.ts +7 -6
- package/source/Tenant.ts +6 -20
- package/source/deployment.ts +33 -23
- package/source/directives/auth/Authorization.ts +37 -14
- 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/split.ts +1 -1
- 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/cors/CORS.ts +1 -1
- 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 +3 -1
- package/source/directives/io/Input.ts +4 -4
- package/source/directives/io/Output.ts +4 -3
- package/source/directives/octets/Context.ts +3 -2
- package/source/directives/octets/Fetch.ts +11 -10
- package/source/directives/octets/List.ts +5 -5
- package/source/directives/octets/Octets.ts +1 -3
- package/source/directives/octets/Store.ts +30 -10
- package/source/directives/octets/bytes.test.ts +30 -0
- package/source/directives/octets/bytes.ts +18 -0
- package/source/directives/octets/schemas.ts +4 -6
- package/source/directives/octets/workflows/Execution.ts +60 -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/Parameter.ts +14 -0
- package/source/directives/vary/embeddings/index.ts +6 -4
- package/source/exceptions.ts +17 -11
- package/source/manifest.ts +10 -11
- package/source/schemas.ts +1 -1
- package/transpiled/Annotation.d.ts +3 -3
- package/transpiled/Branch.d.ts +1 -0
- package/transpiled/Composition.d.ts +0 -1
- package/transpiled/Composition.js +0 -4
- package/transpiled/Composition.js.map +1 -1
- package/transpiled/Context.d.ts +1 -0
- package/transpiled/Directive.js +4 -4
- package/transpiled/Directive.js.map +1 -1
- package/transpiled/Endpoint.d.ts +6 -4
- package/transpiled/Endpoint.js +35 -7
- package/transpiled/Endpoint.js.map +1 -1
- package/transpiled/Factory.d.ts +3 -2
- package/transpiled/Factory.js +18 -10
- package/transpiled/Factory.js.map +1 -1
- package/transpiled/Gateway.d.ts +3 -0
- package/transpiled/Gateway.js +51 -12
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Context.d.ts +8 -1
- package/transpiled/HTTP/Context.js +16 -2
- package/transpiled/HTTP/Context.js.map +1 -1
- package/transpiled/HTTP/Server.d.ts +13 -2
- package/transpiled/HTTP/Server.js +41 -36
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/HTTP/exceptions.d.ts +7 -1
- package/transpiled/HTTP/exceptions.js +13 -1
- package/transpiled/HTTP/exceptions.js.map +1 -1
- package/transpiled/HTTP/formats/index.js +3 -3
- package/transpiled/HTTP/formats/index.js.map +1 -1
- package/transpiled/HTTP/messages.d.ts +1 -0
- package/transpiled/HTTP/messages.js +24 -5
- package/transpiled/HTTP/messages.js.map +1 -1
- package/transpiled/Introspection.d.ts +9 -0
- package/transpiled/Introspection.js +3 -0
- package/transpiled/Introspection.js.map +1 -0
- package/transpiled/Mapping.d.ts +10 -2
- package/transpiled/Mapping.js +48 -19
- package/transpiled/Mapping.js.map +1 -1
- package/transpiled/Query.d.ts +10 -1
- package/transpiled/Query.js +83 -30
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RTD/Context.d.ts +1 -1
- package/transpiled/RTD/Endpoint.d.ts +1 -0
- package/transpiled/RTD/Method.d.ts +4 -0
- package/transpiled/RTD/Method.js +11 -0
- package/transpiled/RTD/Method.js.map +1 -1
- package/transpiled/RTD/Node.d.ts +4 -1
- package/transpiled/RTD/Node.js +23 -12
- 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/Tree.d.ts +1 -1
- package/transpiled/RTD/Tree.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 +5 -3
- package/transpiled/RTD/syntax/types.js +1 -1
- package/transpiled/RTD/syntax/types.js.map +1 -1
- package/transpiled/Remotes.d.ts +4 -4
- package/transpiled/Remotes.js +6 -5
- package/transpiled/Remotes.js.map +1 -1
- package/transpiled/Tenant.d.ts +5 -5
- package/transpiled/Tenant.js +2 -13
- 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 +26 -10
- 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/auth/split.js +1 -1
- package/transpiled/directives/auth/split.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/cors/CORS.js +1 -1
- package/transpiled/directives/cors/CORS.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 +3 -1
- package/transpiled/directives/index.js.map +1 -1
- package/transpiled/directives/io/Input.js +2 -2
- package/transpiled/directives/io/Input.js.map +1 -1
- package/transpiled/directives/io/Output.js +2 -2
- package/transpiled/directives/io/Output.js.map +1 -1
- package/transpiled/directives/octets/Context.js +4 -24
- package/transpiled/directives/octets/Context.js.map +1 -1
- package/transpiled/directives/octets/Fetch.d.ts +3 -3
- package/transpiled/directives/octets/Fetch.js +8 -8
- package/transpiled/directives/octets/Fetch.js.map +1 -1
- package/transpiled/directives/octets/List.d.ts +3 -3
- package/transpiled/directives/octets/List.js +3 -3
- package/transpiled/directives/octets/List.js.map +1 -1
- package/transpiled/directives/octets/Octets.js +1 -3
- package/transpiled/directives/octets/Octets.js.map +1 -1
- package/transpiled/directives/octets/Store.d.ts +6 -1
- package/transpiled/directives/octets/Store.js +17 -7
- package/transpiled/directives/octets/Store.js.map +1 -1
- package/transpiled/directives/octets/bytes.d.ts +1 -0
- package/transpiled/directives/octets/bytes.js +21 -0
- package/transpiled/directives/octets/bytes.js.map +1 -0
- package/transpiled/directives/octets/schemas.d.ts +4 -6
- package/transpiled/directives/octets/schemas.js +1 -3
- package/transpiled/directives/octets/schemas.js.map +1 -1
- package/transpiled/directives/octets/workflows/Execution.d.ts +5 -1
- package/transpiled/directives/octets/workflows/Execution.js +44 -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/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 +10 -5
- package/transpiled/exceptions.js.map +1 -1
- package/transpiled/manifest.js +10 -11
- package/transpiled/manifest.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/tsconfig.json +9 -7
- 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/schemas/octets/context.cos.yaml +0 -1
- package/source/HTTP/Server.test.ts +0 -126
- package/source/directives/octets/Permute.ts +0 -44
- package/transpiled/directives/octets/Permute.d.ts +0 -11
- package/transpiled/directives/octets/Permute.js +0 -58
- package/transpiled/directives/octets/Permute.js.map +0 -1
- /package/{components/identity.federation/operations → transpiled/directives/flow}/types.js +0 -0
|
@@ -23,7 +23,8 @@ Feature: Octets storage workflows
|
|
|
23
23
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
24
24
|
"""
|
|
25
25
|
POST / HTTP/1.1
|
|
26
|
-
|
|
26
|
+
host: nex.toa.io
|
|
27
|
+
accept: application/yaml, multipart/yaml
|
|
27
28
|
content-type: application/octet-stream
|
|
28
29
|
"""
|
|
29
30
|
Then the following reply is sent:
|
|
@@ -32,23 +33,35 @@ Feature: Octets storage workflows
|
|
|
32
33
|
content-type: multipart/yaml; boundary=cut
|
|
33
34
|
|
|
34
35
|
--cut
|
|
36
|
+
|
|
35
37
|
id: 10cf16b458f759e0d617f2f3d83599ff
|
|
36
38
|
type: application/octet-stream
|
|
37
39
|
size: 8169
|
|
38
40
|
--cut
|
|
39
|
-
|
|
41
|
+
|
|
42
|
+
step: add-foo
|
|
43
|
+
status: completed
|
|
40
44
|
--cut
|
|
41
|
-
|
|
45
|
+
|
|
46
|
+
step: add-bar
|
|
47
|
+
output:
|
|
42
48
|
bar: baz
|
|
49
|
+
status: completed
|
|
43
50
|
--cut
|
|
44
|
-
|
|
51
|
+
|
|
52
|
+
step: add-baz
|
|
53
|
+
status: completed
|
|
45
54
|
--cut
|
|
46
|
-
|
|
55
|
+
|
|
56
|
+
step: diversify
|
|
57
|
+
output: hello
|
|
58
|
+
status: completed
|
|
47
59
|
--cut--
|
|
48
60
|
"""
|
|
49
61
|
When the following request is received:
|
|
50
62
|
"""
|
|
51
63
|
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
64
|
+
host: nex.toa.io
|
|
52
65
|
accept: application/vnd.toa.octets.entry+yaml
|
|
53
66
|
"""
|
|
54
67
|
Then the following reply is sent:
|
|
@@ -67,6 +80,7 @@ Feature: Octets storage workflows
|
|
|
67
80
|
When the following request is received:
|
|
68
81
|
"""
|
|
69
82
|
GET /10cf16b458f759e0d617f2f3d83599ff.hello.png HTTP/1.1
|
|
83
|
+
host: nex.toa.io
|
|
70
84
|
"""
|
|
71
85
|
Then the stream equals to `lenna.png` is sent with the following headers:
|
|
72
86
|
"""
|
|
@@ -85,14 +99,15 @@ Feature: Octets storage workflows
|
|
|
85
99
|
POST:
|
|
86
100
|
octets:store:
|
|
87
101
|
workflow:
|
|
88
|
-
add-foo: octets.tester.foo
|
|
89
|
-
add-bar: octets.tester.err
|
|
90
|
-
add-baz: octets.tester.baz
|
|
102
|
+
- add-foo: octets.tester.foo
|
|
103
|
+
- add-bar: octets.tester.err
|
|
104
|
+
- add-baz: octets.tester.baz
|
|
91
105
|
"""
|
|
92
106
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
93
107
|
"""
|
|
94
108
|
POST / HTTP/1.1
|
|
95
|
-
|
|
109
|
+
host: nex.toa.io
|
|
110
|
+
accept: application/yaml, multipart/yaml
|
|
96
111
|
content-type: application/octet-stream
|
|
97
112
|
"""
|
|
98
113
|
Then the following reply is sent:
|
|
@@ -105,12 +120,16 @@ Feature: Octets storage workflows
|
|
|
105
120
|
type: application/octet-stream
|
|
106
121
|
size: 8169
|
|
107
122
|
--cut
|
|
108
|
-
|
|
123
|
+
|
|
124
|
+
step: add-foo
|
|
125
|
+
status: completed
|
|
109
126
|
--cut
|
|
127
|
+
|
|
128
|
+
step: add-bar
|
|
110
129
|
error:
|
|
111
|
-
step: add-bar
|
|
112
130
|
code: ERROR
|
|
113
131
|
message: Something went wrong
|
|
132
|
+
status: completed
|
|
114
133
|
--cut--
|
|
115
134
|
"""
|
|
116
135
|
|
|
@@ -134,6 +153,7 @@ Feature: Octets storage workflows
|
|
|
134
153
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
135
154
|
"""
|
|
136
155
|
POST / HTTP/1.1
|
|
156
|
+
host: nex.toa.io
|
|
137
157
|
content-type: application/octet-stream
|
|
138
158
|
"""
|
|
139
159
|
Then the following reply is sent:
|
|
@@ -143,7 +163,8 @@ Feature: Octets storage workflows
|
|
|
143
163
|
When the following request is received:
|
|
144
164
|
"""
|
|
145
165
|
DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
146
|
-
|
|
166
|
+
host: nex.toa.io
|
|
167
|
+
accept: application/yaml, multipart/yaml
|
|
147
168
|
"""
|
|
148
169
|
Then the following reply is sent:
|
|
149
170
|
"""
|
|
@@ -151,12 +172,15 @@ Feature: Octets storage workflows
|
|
|
151
172
|
content-type: multipart/yaml; boundary=cut
|
|
152
173
|
|
|
153
174
|
--cut
|
|
154
|
-
|
|
175
|
+
step: echo
|
|
176
|
+
status: completed
|
|
177
|
+
output: 10cf16b458f759e0d617f2f3d83599ff
|
|
155
178
|
--cut--
|
|
156
179
|
"""
|
|
157
180
|
When the following request is received:
|
|
158
181
|
"""
|
|
159
182
|
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
183
|
+
host: nex.toa.io
|
|
160
184
|
"""
|
|
161
185
|
Then the following reply is sent:
|
|
162
186
|
"""
|
|
@@ -183,6 +207,7 @@ Feature: Octets storage workflows
|
|
|
183
207
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
184
208
|
"""
|
|
185
209
|
POST / HTTP/1.1
|
|
210
|
+
host: nex.toa.io
|
|
186
211
|
content-type: application/octet-stream
|
|
187
212
|
"""
|
|
188
213
|
Then the following reply is sent:
|
|
@@ -192,7 +217,8 @@ Feature: Octets storage workflows
|
|
|
192
217
|
When the following request is received:
|
|
193
218
|
"""
|
|
194
219
|
DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
195
|
-
|
|
220
|
+
host: nex.toa.io
|
|
221
|
+
accept: application/yaml, multipart/yaml
|
|
196
222
|
"""
|
|
197
223
|
Then the following reply is sent:
|
|
198
224
|
"""
|
|
@@ -200,8 +226,10 @@ Feature: Octets storage workflows
|
|
|
200
226
|
content-type: multipart/yaml; boundary=cut
|
|
201
227
|
|
|
202
228
|
--cut
|
|
229
|
+
|
|
230
|
+
step: err
|
|
231
|
+
status: completed
|
|
203
232
|
error:
|
|
204
|
-
step: err
|
|
205
233
|
code: ERROR
|
|
206
234
|
message: Something went wrong
|
|
207
235
|
--cut--
|
|
@@ -209,6 +237,7 @@ Feature: Octets storage workflows
|
|
|
209
237
|
When the following request is received:
|
|
210
238
|
"""
|
|
211
239
|
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
240
|
+
host: nex.toa.io
|
|
212
241
|
"""
|
|
213
242
|
Then the following reply is sent:
|
|
214
243
|
"""
|
|
@@ -231,7 +260,8 @@ Feature: Octets storage workflows
|
|
|
231
260
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
232
261
|
"""
|
|
233
262
|
POST /hello/world/ HTTP/1.1
|
|
234
|
-
|
|
263
|
+
host: nex.toa.io
|
|
264
|
+
accept: application/yaml, multipart/yaml
|
|
235
265
|
content-type: application/octet-stream
|
|
236
266
|
"""
|
|
237
267
|
Then the following reply is sent:
|
|
@@ -240,11 +270,53 @@ Feature: Octets storage workflows
|
|
|
240
270
|
content-type: multipart/yaml; boundary=cut
|
|
241
271
|
|
|
242
272
|
--cut
|
|
273
|
+
|
|
243
274
|
id: 10cf16b458f759e0d617f2f3d83599ff
|
|
244
275
|
type: application/octet-stream
|
|
245
276
|
size: 8169
|
|
246
277
|
--cut
|
|
247
|
-
|
|
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
|
|
303
|
+
content-type: application/octet-stream
|
|
304
|
+
"""
|
|
305
|
+
Then the following reply is sent:
|
|
306
|
+
"""
|
|
307
|
+
201 Created
|
|
308
|
+
content-type: multipart/yaml; boundary=cut
|
|
309
|
+
|
|
310
|
+
--cut
|
|
311
|
+
|
|
312
|
+
id: 10cf16b458f759e0d617f2f3d83599ff
|
|
313
|
+
type: application/octet-stream
|
|
314
|
+
size: 8169
|
|
315
|
+
--cut
|
|
316
|
+
|
|
317
|
+
step: authority
|
|
318
|
+
status: completed
|
|
319
|
+
output: nex
|
|
248
320
|
--cut--
|
|
249
321
|
"""
|
|
250
322
|
|
|
@@ -265,6 +337,7 @@ Feature: Octets storage workflows
|
|
|
265
337
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
266
338
|
"""
|
|
267
339
|
POST / HTTP/1.1
|
|
340
|
+
host: nex.toa.io
|
|
268
341
|
content-type: application/octet-stream
|
|
269
342
|
"""
|
|
270
343
|
Then the following reply is sent:
|
|
@@ -274,7 +347,8 @@ Feature: Octets storage workflows
|
|
|
274
347
|
When the following request is received:
|
|
275
348
|
"""
|
|
276
349
|
DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
277
|
-
|
|
350
|
+
host: nex.toa.io
|
|
351
|
+
accept: application/yaml, multipart/yaml
|
|
278
352
|
"""
|
|
279
353
|
Then the following reply is sent:
|
|
280
354
|
"""
|
|
@@ -282,6 +356,152 @@ Feature: Octets storage workflows
|
|
|
282
356
|
content-type: multipart/yaml; boundary=cut
|
|
283
357
|
|
|
284
358
|
--cut
|
|
285
|
-
|
|
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
|
+
|
|
286
506
|
--cut--
|
|
287
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
|
+
"""
|
|
@@ -19,6 +19,7 @@ Feature: Queries
|
|
|
19
19
|
When the following request is received:
|
|
20
20
|
"""
|
|
21
21
|
GET /pots/pot/?id=99988d785d7d445cad45dbf8531f560b HTTP/1.1
|
|
22
|
+
host: nex.toa.io
|
|
22
23
|
accept: application/yaml
|
|
23
24
|
"""
|
|
24
25
|
Then the following reply is sent:
|
|
@@ -42,6 +43,7 @@ Feature: Queries
|
|
|
42
43
|
When the following request is received:
|
|
43
44
|
"""
|
|
44
45
|
GET /pots/?criteria=volume<300&limit=10 HTTP/1.1
|
|
46
|
+
host: nex.toa.io
|
|
45
47
|
accept: application/yaml
|
|
46
48
|
"""
|
|
47
49
|
Then the following reply is sent:
|
|
@@ -68,6 +70,7 @@ Feature: Queries
|
|
|
68
70
|
When the following request is received:
|
|
69
71
|
"""
|
|
70
72
|
GET /pots/?omit=1&limit=2 HTTP/1.1
|
|
73
|
+
host: nex.toa.io
|
|
71
74
|
accept: application/yaml
|
|
72
75
|
"""
|
|
73
76
|
Then the following reply is sent:
|
|
@@ -94,6 +97,7 @@ Feature: Queries
|
|
|
94
97
|
When the following request is received:
|
|
95
98
|
"""
|
|
96
99
|
GET /pots/?sort=volume:desc&limit=2 HTTP/1.1
|
|
100
|
+
host: nex.toa.io
|
|
97
101
|
accept: application/yaml
|
|
98
102
|
"""
|
|
99
103
|
Then the following reply is sent:
|
|
@@ -109,7 +113,7 @@ Feature: Queries
|
|
|
109
113
|
volume: 300
|
|
110
114
|
"""
|
|
111
115
|
|
|
112
|
-
Scenario: Request to a route with
|
|
116
|
+
Scenario: Request to a route with path variable
|
|
113
117
|
Given the `pots` is running with the following manifest:
|
|
114
118
|
"""yaml
|
|
115
119
|
exposition:
|
|
@@ -120,6 +124,7 @@ Feature: Queries
|
|
|
120
124
|
When the following request is received:
|
|
121
125
|
"""
|
|
122
126
|
GET /pots/99988d785d7d445cad45dbf8531f560b/ HTTP/1.1
|
|
127
|
+
host: nex.toa.io
|
|
123
128
|
accept: application/yaml
|
|
124
129
|
"""
|
|
125
130
|
Then the following reply is sent:
|
|
@@ -132,6 +137,37 @@ Feature: Queries
|
|
|
132
137
|
volume: 200
|
|
133
138
|
"""
|
|
134
139
|
|
|
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
|
+
|
|
135
171
|
Scenario: Request to a route with predefined criteria
|
|
136
172
|
Given the `pots` is running with the following manifest:
|
|
137
173
|
"""yaml
|
|
@@ -146,6 +182,7 @@ Feature: Queries
|
|
|
146
182
|
When the following request is received:
|
|
147
183
|
"""
|
|
148
184
|
GET /pots/big/ HTTP/1.1
|
|
185
|
+
host: nex.toa.io
|
|
149
186
|
accept: application/yaml
|
|
150
187
|
"""
|
|
151
188
|
Then the following reply is sent:
|
|
@@ -161,7 +198,7 @@ Feature: Queries
|
|
|
161
198
|
volume: 400
|
|
162
199
|
"""
|
|
163
200
|
|
|
164
|
-
Scenario: Request to a route with
|
|
201
|
+
Scenario: Request to a route with open criteria
|
|
165
202
|
Given the `pots` is running with the following manifest:
|
|
166
203
|
"""yaml
|
|
167
204
|
exposition:
|
|
@@ -175,6 +212,7 @@ Feature: Queries
|
|
|
175
212
|
When the following request is received:
|
|
176
213
|
"""
|
|
177
214
|
GET /pots/big/?criteria=temperature>50 HTTP/1.1
|
|
215
|
+
host: nex.toa.io
|
|
178
216
|
accept: application/yaml
|
|
179
217
|
"""
|
|
180
218
|
Then the following reply is sent:
|
|
@@ -204,6 +242,7 @@ Feature: Queries
|
|
|
204
242
|
When the following request is received:
|
|
205
243
|
"""
|
|
206
244
|
GET /pots/hottest2/ HTTP/1.1
|
|
245
|
+
host: nex.toa.io
|
|
207
246
|
accept: application/yaml
|
|
208
247
|
"""
|
|
209
248
|
Then the following reply is sent:
|
|
@@ -220,3 +259,27 @@ Feature: Queries
|
|
|
220
259
|
volume: 100
|
|
221
260
|
temperature: 80
|
|
222
261
|
"""
|
|
262
|
+
|
|
263
|
+
Scenario: Query parameters
|
|
264
|
+
Given the `echo` is running with the following manifest:
|
|
265
|
+
"""yaml
|
|
266
|
+
exposition:
|
|
267
|
+
/:
|
|
268
|
+
GET:
|
|
269
|
+
io:output: true
|
|
270
|
+
query:
|
|
271
|
+
parameters: [name]
|
|
272
|
+
endpoint: compute
|
|
273
|
+
"""
|
|
274
|
+
When the following request is received:
|
|
275
|
+
"""
|
|
276
|
+
GET /echo/?name=John HTTP/1.1
|
|
277
|
+
host: nex.toa.io
|
|
278
|
+
accept: text/plain
|
|
279
|
+
"""
|
|
280
|
+
Then the following reply is sent:
|
|
281
|
+
"""
|
|
282
|
+
200 OK
|
|
283
|
+
|
|
284
|
+
Hello John
|
|
285
|
+
"""
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
Feature: Realtime events
|
|
2
|
+
|
|
3
|
+
Background:
|
|
4
|
+
Given the Realtime is running with the following annotation:
|
|
5
|
+
"""yaml
|
|
6
|
+
users.properties.sync: id
|
|
7
|
+
"""
|
|
8
|
+
And the identity Bob is consuming realtime events
|
|
9
|
+
|
|
10
|
+
Scenario: Getting realtime events
|
|
11
|
+
Given the `users.properties` is running with the following manifest:
|
|
12
|
+
"""yaml
|
|
13
|
+
exposition:
|
|
14
|
+
/:id:
|
|
15
|
+
anonymous: true
|
|
16
|
+
io:output: false
|
|
17
|
+
PATCH: transit
|
|
18
|
+
"""
|
|
19
|
+
When the following request is received:
|
|
20
|
+
"""
|
|
21
|
+
PATCH /users/properties/${{ Bob.id }}/ HTTP/1.1
|
|
22
|
+
host: nex.toa.io
|
|
23
|
+
content-type: application/yaml
|
|
24
|
+
|
|
25
|
+
newbie: false
|
|
26
|
+
"""
|
|
27
|
+
Then the following reply is sent:
|
|
28
|
+
"""
|
|
29
|
+
200 OK
|
|
30
|
+
"""
|
|
31
|
+
And the following event `users.properties.sync` is received by Bob:
|
|
32
|
+
"""yaml
|
|
33
|
+
newbie: false
|
|
34
|
+
"""
|
|
@@ -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 |
|