@toa.io/extensions.exposition 1.0.0-alpha.6 → 1.0.0-alpha.61
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 +21 -10
- 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/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/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 +18 -7
- 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 +3 -0
- 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 +3 -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 +4 -0
- package/features/errors.feature +20 -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 +125 -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/require.feature +67 -0
- package/features/response.feature +38 -3
- package/features/routes.feature +93 -2
- package/features/steps/Database.ts +17 -10
- package/features/steps/Gateway.ts +23 -6
- package/features/steps/IdP.ts +30 -25
- package/features/steps/Parameters.ts +1 -1
- 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 +1 -0
- package/features/timing.feature +27 -1
- package/features/vary.feature +71 -0
- package/package.json +22 -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 +1 -0
- package/schemas/octets/store.cos.yaml +25 -3
- package/schemas/query.cos.yaml +4 -10
- package/source/Annotation.ts +3 -3
- package/source/Composition.ts +2 -2
- package/source/Directive.ts +4 -5
- package/source/Endpoint.ts +48 -12
- package/source/Factory.ts +10 -11
- package/source/Gateway.ts +49 -20
- package/source/HTTP/Context.ts +24 -2
- package/source/HTTP/Server.ts +51 -44
- package/source/HTTP/exceptions.ts +13 -1
- package/source/HTTP/formats/index.ts +3 -3
- package/source/HTTP/messages.test.ts +39 -2
- package/source/HTTP/messages.ts +7 -3
- 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/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/factory.ts +5 -2
- package/source/RTD/syntax/parse.ts +37 -24
- package/source/RTD/syntax/types.ts +6 -4
- package/source/Remotes.ts +2 -9
- package/source/Tenant.ts +0 -8
- package/source/deployment.ts +32 -22
- 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 +1 -1
- package/source/directives/octets/Context.ts +7 -5
- package/source/directives/octets/Delete.ts +4 -2
- package/source/directives/octets/Directive.ts +10 -0
- package/source/directives/octets/Fetch.ts +15 -13
- package/source/directives/octets/List.ts +9 -7
- package/source/directives/octets/Octets.ts +4 -5
- package/source/directives/octets/Store.ts +34 -12
- package/source/directives/octets/Workflow.ts +10 -3
- 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/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/Parameter.ts +14 -0
- package/source/directives/vary/embeddings/index.ts +6 -4
- package/source/exceptions.ts +22 -11
- package/source/manifest.ts +10 -11
- 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 +6 -4
- package/transpiled/Endpoint.js +28 -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 +36 -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 -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 +9 -3
- 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/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/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 +2 -4
- package/transpiled/Remotes.js +0 -5
- 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 +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.map +1 -1
- package/transpiled/directives/octets/Context.d.ts +3 -3
- package/transpiled/directives/octets/Context.js +8 -26
- 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 +11 -9
- 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 +9 -3
- package/transpiled/directives/octets/Store.js +20 -8
- 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/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/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/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 +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 -43
- package/transpiled/directives/octets/Permute.d.ts +0 -10
- package/transpiled/directives/octets/Permute.js +0 -56
- package/transpiled/directives/octets/Permute.js.map +0 -1
- /package/{components/identity.federation/operations → transpiled/directives/flow}/types.js +0 -0
package/features/octets.feature
CHANGED
|
@@ -11,8 +11,6 @@ Feature: Octets directive family
|
|
|
11
11
|
octets:store: ~
|
|
12
12
|
GET:
|
|
13
13
|
octets:list: ~
|
|
14
|
-
PUT:
|
|
15
|
-
octets:permute: ~
|
|
16
14
|
/*:
|
|
17
15
|
GET:
|
|
18
16
|
octets:fetch: ~
|
|
@@ -33,12 +31,24 @@ Feature: Octets directive family
|
|
|
33
31
|
POST:
|
|
34
32
|
octets:store:
|
|
35
33
|
accept: image/*
|
|
34
|
+
/*:
|
|
35
|
+
GET:
|
|
36
|
+
octets:fetch: ~
|
|
37
|
+
/limit-1kb:
|
|
38
|
+
POST:
|
|
39
|
+
octets:store:
|
|
40
|
+
limit: 1kb
|
|
41
|
+
/limit-100kb:
|
|
42
|
+
POST:
|
|
43
|
+
octets:store:
|
|
44
|
+
limit: 100kb
|
|
36
45
|
"""
|
|
37
46
|
|
|
38
47
|
Scenario: Basic storage operations
|
|
39
48
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
40
49
|
"""
|
|
41
50
|
POST / HTTP/1.1
|
|
51
|
+
host: nex.toa.io
|
|
42
52
|
accept: application/yaml
|
|
43
53
|
content-type: application/octet-stream
|
|
44
54
|
"""
|
|
@@ -54,6 +64,7 @@ Feature: Octets directive family
|
|
|
54
64
|
When the following request is received:
|
|
55
65
|
"""
|
|
56
66
|
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
67
|
+
host: nex.toa.io
|
|
57
68
|
"""
|
|
58
69
|
Then the stream equals to `lenna.ascii` is sent with the following headers:
|
|
59
70
|
"""
|
|
@@ -65,6 +76,7 @@ Feature: Octets directive family
|
|
|
65
76
|
When the following request is received:
|
|
66
77
|
"""
|
|
67
78
|
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
79
|
+
host: nex.toa.io
|
|
68
80
|
if-none-match: ${{ ETAG }}
|
|
69
81
|
"""
|
|
70
82
|
Then the following reply is sent:
|
|
@@ -74,6 +86,7 @@ Feature: Octets directive family
|
|
|
74
86
|
When the following request is received:
|
|
75
87
|
"""
|
|
76
88
|
GET / HTTP/1.1
|
|
89
|
+
host: nex.toa.io
|
|
77
90
|
accept: application/yaml
|
|
78
91
|
"""
|
|
79
92
|
Then the following reply is sent:
|
|
@@ -86,6 +99,7 @@ Feature: Octets directive family
|
|
|
86
99
|
When the following request is received:
|
|
87
100
|
"""
|
|
88
101
|
GET /10cf16b458f759e0d617f2f3d83599ff?foo=bar HTTP/1.1
|
|
102
|
+
host: nex.toa.io
|
|
89
103
|
"""
|
|
90
104
|
Then the following reply is sent:
|
|
91
105
|
"""
|
|
@@ -94,6 +108,7 @@ Feature: Octets directive family
|
|
|
94
108
|
When the following request is received:
|
|
95
109
|
"""
|
|
96
110
|
DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
111
|
+
host: nex.toa.io
|
|
97
112
|
"""
|
|
98
113
|
Then the following reply is sent:
|
|
99
114
|
"""
|
|
@@ -102,113 +117,122 @@ Feature: Octets directive family
|
|
|
102
117
|
When the following request is received:
|
|
103
118
|
"""
|
|
104
119
|
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
120
|
+
host: nex.toa.io
|
|
105
121
|
"""
|
|
106
122
|
Then the following reply is sent:
|
|
107
123
|
"""
|
|
108
124
|
404 Not Found
|
|
109
125
|
"""
|
|
110
126
|
|
|
111
|
-
Scenario:
|
|
112
|
-
When the stream of `lenna.
|
|
127
|
+
Scenario: Media type control
|
|
128
|
+
When the stream of `lenna.png` is received with the following headers:
|
|
113
129
|
"""
|
|
114
|
-
POST / HTTP/1.1
|
|
115
|
-
|
|
116
|
-
content-type:
|
|
130
|
+
POST /media/jpeg-or-png/ HTTP/1.1
|
|
131
|
+
host: nex.toa.io
|
|
132
|
+
content-type: image/jpeg
|
|
117
133
|
"""
|
|
118
|
-
|
|
134
|
+
Then the following reply is sent:
|
|
119
135
|
"""
|
|
120
|
-
|
|
121
|
-
accept: application/yaml
|
|
122
|
-
content-type: application/octet-stream
|
|
136
|
+
400 Bad Request
|
|
123
137
|
"""
|
|
124
|
-
When the
|
|
138
|
+
When the stream of `lenna.png` is received with the following headers:
|
|
125
139
|
"""
|
|
126
|
-
|
|
127
|
-
|
|
140
|
+
POST /media/jpeg/ HTTP/1.1
|
|
141
|
+
host: nex.toa.io
|
|
128
142
|
"""
|
|
129
143
|
Then the following reply is sent:
|
|
130
144
|
"""
|
|
131
|
-
|
|
132
|
-
content-type: application/yaml
|
|
133
|
-
|
|
134
|
-
- 10cf16b458f759e0d617f2f3d83599ff
|
|
135
|
-
- 814a0034f5549e957ee61360d87457e5
|
|
145
|
+
415 Unsupported Media Type
|
|
136
146
|
"""
|
|
137
|
-
When the
|
|
147
|
+
When the stream of `lenna.png` is received with the following headers:
|
|
138
148
|
"""
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
- 814a0034f5549e957ee61360d87457e5
|
|
143
|
-
- 10cf16b458f759e0d617f2f3d83599ff
|
|
149
|
+
POST /media/jpeg-or-png/ HTTP/1.1
|
|
150
|
+
host: nex.toa.io
|
|
144
151
|
"""
|
|
145
152
|
Then the following reply is sent:
|
|
146
153
|
"""
|
|
147
|
-
|
|
154
|
+
201 Created
|
|
148
155
|
"""
|
|
149
|
-
|
|
156
|
+
|
|
157
|
+
Scenario: Size limit
|
|
158
|
+
When the stream of `albert.jpg` is received with the following headers:
|
|
150
159
|
"""
|
|
151
|
-
|
|
152
|
-
|
|
160
|
+
POST /limit-1kb/ HTTP/1.1
|
|
161
|
+
host: nex.toa.io
|
|
162
|
+
content-type: image/jpeg
|
|
163
|
+
accept: text/plain
|
|
153
164
|
"""
|
|
154
165
|
Then the following reply is sent:
|
|
155
166
|
"""
|
|
156
|
-
|
|
157
|
-
content-type: application/yaml
|
|
167
|
+
413 Request Entity Too Large
|
|
158
168
|
|
|
159
|
-
|
|
160
|
-
- 10cf16b458f759e0d617f2f3d83599ff
|
|
169
|
+
Size limit is 1kb
|
|
161
170
|
"""
|
|
162
171
|
|
|
163
|
-
|
|
164
|
-
When the stream of `lenna.png` is received with the following headers:
|
|
172
|
+
When the stream of `albert.jpg` is received with the following headers:
|
|
165
173
|
"""
|
|
166
|
-
POST /
|
|
174
|
+
POST /limit-100kb/ HTTP/1.1
|
|
175
|
+
host: nex.toa.io
|
|
167
176
|
content-type: image/jpeg
|
|
168
177
|
"""
|
|
169
178
|
Then the following reply is sent:
|
|
170
179
|
"""
|
|
171
|
-
|
|
180
|
+
201 Created
|
|
172
181
|
"""
|
|
173
|
-
|
|
182
|
+
|
|
183
|
+
Scenario Outline: Detecting `<type>`
|
|
184
|
+
When the stream of `sample.<ext>` is received with the following headers:
|
|
174
185
|
"""
|
|
175
|
-
POST /media/
|
|
186
|
+
POST /media/images/ HTTP/1.1
|
|
187
|
+
host: nex.toa.io
|
|
188
|
+
accept: application/yaml
|
|
176
189
|
"""
|
|
177
190
|
Then the following reply is sent:
|
|
178
191
|
"""
|
|
179
|
-
|
|
192
|
+
201 Created
|
|
193
|
+
|
|
194
|
+
type: <type>
|
|
180
195
|
"""
|
|
181
|
-
|
|
196
|
+
Examples:
|
|
197
|
+
| ext | type |
|
|
198
|
+
| jpeg | image/jpeg |
|
|
199
|
+
| jxl | image/jxl |
|
|
200
|
+
| gif | image/gif |
|
|
201
|
+
| heic | image/heic |
|
|
202
|
+
| avif | image/avif |
|
|
203
|
+
| webp | image/webp |
|
|
204
|
+
|
|
205
|
+
Scenario: Accepting `image/svg+xml`
|
|
206
|
+
When the stream of `sample.svg` is received with the following headers:
|
|
182
207
|
"""
|
|
183
|
-
POST /media/
|
|
208
|
+
POST /media/images/ HTTP/1.1
|
|
209
|
+
host: nex.toa.io
|
|
210
|
+
content-type: image/svg+xml
|
|
211
|
+
accept: application/yaml
|
|
184
212
|
"""
|
|
185
213
|
Then the following reply is sent:
|
|
186
214
|
"""
|
|
187
215
|
201 Created
|
|
216
|
+
|
|
217
|
+
type: image/svg+xml
|
|
188
218
|
"""
|
|
189
219
|
|
|
190
|
-
Scenario
|
|
191
|
-
When the stream of `sample
|
|
220
|
+
Scenario: Rejection video/avi
|
|
221
|
+
When the stream of `sample.avi` is received with the following headers:
|
|
192
222
|
"""
|
|
193
223
|
POST /media/images/ HTTP/1.1
|
|
224
|
+
host: nex.toa.io
|
|
194
225
|
"""
|
|
195
226
|
Then the following reply is sent:
|
|
196
227
|
"""
|
|
197
|
-
|
|
228
|
+
415 Unsupported Media Type
|
|
198
229
|
"""
|
|
199
|
-
Examples:
|
|
200
|
-
| format |
|
|
201
|
-
| jpeg |
|
|
202
|
-
| jxl |
|
|
203
|
-
| gif |
|
|
204
|
-
| heic |
|
|
205
|
-
| avif |
|
|
206
|
-
| webp |
|
|
207
230
|
|
|
208
231
|
Scenario: Fetching non-existent BLOB
|
|
209
232
|
When the following request is received:
|
|
210
233
|
"""
|
|
211
234
|
GET /whatever HTTP/1.1
|
|
235
|
+
host: nex.toa.io
|
|
212
236
|
"""
|
|
213
237
|
Then the following reply is sent:
|
|
214
238
|
"""
|
|
@@ -219,12 +243,14 @@ Feature: Octets directive family
|
|
|
219
243
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
220
244
|
"""
|
|
221
245
|
POST / HTTP/1.1
|
|
246
|
+
host: nex.toa.io
|
|
222
247
|
accept: application/yaml
|
|
223
248
|
content-type: application/octet-stream
|
|
224
249
|
"""
|
|
225
250
|
And the following request is received:
|
|
226
251
|
"""
|
|
227
252
|
GET /10cf16b458f759e0d617f2f3d83599ff/ HTTP/1.1
|
|
253
|
+
host: nex.toa.io
|
|
228
254
|
accept: text/plain
|
|
229
255
|
"""
|
|
230
256
|
Then the following reply is sent:
|
|
@@ -235,7 +261,7 @@ Feature: Octets directive family
|
|
|
235
261
|
Trailing slash is redundant.
|
|
236
262
|
"""
|
|
237
263
|
|
|
238
|
-
Scenario: Original
|
|
264
|
+
Scenario: Original BLOB is not accessible
|
|
239
265
|
Given the annotation:
|
|
240
266
|
"""yaml
|
|
241
267
|
/:
|
|
@@ -253,6 +279,7 @@ Feature: Octets directive family
|
|
|
253
279
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
254
280
|
"""
|
|
255
281
|
POST / HTTP/1.1
|
|
282
|
+
host: nex.toa.io
|
|
256
283
|
"""
|
|
257
284
|
Then the following reply is sent:
|
|
258
285
|
"""
|
|
@@ -261,6 +288,7 @@ Feature: Octets directive family
|
|
|
261
288
|
When the following request is received:
|
|
262
289
|
"""
|
|
263
290
|
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
291
|
+
host: nex.toa.io
|
|
264
292
|
accept: text/plain
|
|
265
293
|
"""
|
|
266
294
|
Then the following reply is sent:
|
|
@@ -19,6 +19,7 @@ Feature: Octets `content-meta` header
|
|
|
19
19
|
When the stream of `lenna.ascii` is received with the following headers:
|
|
20
20
|
"""
|
|
21
21
|
POST /meta-header/ HTTP/1.1
|
|
22
|
+
host: nex.toa.io
|
|
22
23
|
content-type: application/octet-stream
|
|
23
24
|
content-meta: foo, bar=baz=1
|
|
24
25
|
content-meta: baz=1
|
|
@@ -30,6 +31,7 @@ Feature: Octets `content-meta` header
|
|
|
30
31
|
When the following request is received:
|
|
31
32
|
"""
|
|
32
33
|
GET /meta-header/10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
34
|
+
host: nex.toa.io
|
|
33
35
|
accept: application/vnd.toa.octets.entry+yaml
|
|
34
36
|
"""
|
|
35
37
|
Then the following reply is sent:
|
|
@@ -56,6 +58,7 @@ Feature: Octets `content-meta` header
|
|
|
56
58
|
When the following request is received:
|
|
57
59
|
"""
|
|
58
60
|
OPTIONS / HTTP/1.1
|
|
61
|
+
host: nex.toa.io
|
|
59
62
|
origin: https://example.com
|
|
60
63
|
"""
|
|
61
64
|
Then the following reply is sent:
|
|
@@ -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
|
"""
|