@toa.io/extensions.exposition 1.0.0-alpha.291 → 1.0.0-alpha.293
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/identity.basic/package.json +8 -0
- package/components/identity.federation/package.json +8 -0
- package/components/identity.passkeys/package.json +8 -0
- package/components/identity.tokens/package.json +10 -0
- package/package.json +25 -13
- package/transpiled/Discovery/Explorer.js +1 -1
- package/transpiled/Discovery/Explorer.js.map +1 -1
- package/transpiled/Discovery/Site.js +1 -1
- package/transpiled/Discovery/Site.js.map +1 -1
- package/transpiled/Discovery/trunk.js +1 -1
- package/transpiled/Discovery/trunk.js.map +1 -1
- package/transpiled/Endpoint.js +3 -0
- package/transpiled/Endpoint.js.map +1 -1
- package/transpiled/Factory.js +1 -1
- package/transpiled/Factory.js.map +1 -1
- package/transpiled/Gateway.js +1 -1
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Server.d.ts +1 -1
- package/transpiled/HTTP/Server.js +1 -1
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/Introspection.d.ts +6 -0
- package/transpiled/Introspection.js +1 -0
- package/transpiled/Introspection.js.map +1 -1
- package/transpiled/MCP/Server.d.ts +1 -1
- package/transpiled/MCP/Server.js +1 -1
- package/transpiled/MCP/Server.js.map +1 -1
- package/transpiled/MCP/discover.d.ts +1 -1
- package/transpiled/MCP/schema.js +2 -2
- package/transpiled/Query.d.ts +2 -12
- package/transpiled/Query.js +3 -13
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RPC/Dispatcher.d.ts +1 -1
- package/transpiled/RPC/Dispatcher.js +2 -2
- package/transpiled/RPC/Dispatcher.js.map +1 -1
- package/transpiled/RTD/Endpoint.d.ts +2 -3
- package/transpiled/RTD/Tree.js +1 -1
- package/transpiled/RTD/Tree.js.map +1 -1
- package/transpiled/RTD/factory.js +1 -1
- package/transpiled/RTD/factory.js.map +1 -1
- package/transpiled/RTD/syntax/index.d.ts +1 -2
- package/transpiled/RTD/syntax/index.js +1 -2
- package/transpiled/RTD/syntax/index.js.map +1 -1
- package/transpiled/Tenant.js +1 -1
- package/transpiled/Tenant.js.map +1 -1
- package/transpiled/directives/auth/Authorization.js +1 -1
- package/transpiled/directives/auth/Authorization.js.map +1 -1
- package/transpiled/directives/io/IO.js +1 -1
- package/transpiled/directives/io/IO.js.map +1 -1
- package/transpiled/directives/oauth/documents.d.ts +1 -1
- package/transpiled/index.d.ts +0 -2
- package/transpiled/index.js +0 -2
- package/transpiled/index.js.map +1 -1
- package/transpiled/service.js +1 -1
- package/transpiled/service.js.map +1 -1
- package/ui/dist/_app/immutable/assets/0.Cu0AnR_8.css +2 -0
- package/ui/dist/_app/immutable/assets/2.BghF56l_.css +1 -0
- package/ui/dist/_app/immutable/assets/ui.C8aD6zzF.css +1 -0
- package/ui/dist/_app/immutable/chunks/B8GvXrmq.js +1 -0
- package/ui/dist/_app/immutable/chunks/BVDJTrf4.js +3 -0
- package/ui/dist/_app/immutable/chunks/D6q28_Ok.js +86 -0
- package/ui/dist/_app/immutable/chunks/{D9tE1yyO.js → DVlaUfVU.js} +1 -1
- package/ui/dist/_app/immutable/chunks/DpB73ZB6.js +6 -0
- package/ui/dist/_app/immutable/entry/app.CTava8yn.js +2 -0
- package/ui/dist/_app/immutable/entry/start.yWN0gSLA.js +1 -0
- package/ui/dist/_app/immutable/nodes/0.HKRDBYrC.js +1 -0
- package/ui/dist/_app/immutable/nodes/1.CLa0ydOi.js +1 -0
- package/ui/dist/_app/immutable/nodes/2.C9Kaym8C.js +8 -0
- package/ui/dist/_app/immutable/nodes/3.C1X4_rXZ.js +1 -0
- package/ui/dist/_app/immutable/nodes/4.DdzDIi9E.js +1 -0
- package/ui/dist/_app/immutable/nodes/5.DpbmCMdw.js +1 -0
- package/ui/dist/_app/version.json +1 -1
- package/ui/dist/index.html +12 -12
- package/CHANGELOG.md +0 -35
- package/components/identity.bans/tsconfig.tsbuildinfo +0 -1
- package/components/identity.basic/source/lib/credentials.test.ts +0 -18
- package/components/identity.basic/tsconfig.tsbuildinfo +0 -1
- package/components/identity.clients/source/lib/canonical.test.ts +0 -43
- package/components/identity.clients/source/lib/cimd.test.ts +0 -122
- package/components/identity.clients/source/lib/redirect.test.ts +0 -47
- package/components/identity.clients/tsconfig.tsbuildinfo +0 -1
- package/components/identity.credentials/source/list.test.ts +0 -70
- package/components/identity.credentials/tsconfig.tsbuildinfo +0 -1
- package/components/identity.federation/source/lib/discovery.test.ts +0 -60
- package/components/identity.federation/source/list.test.ts +0 -41
- package/components/identity.federation/tsconfig.tsbuildinfo +0 -1
- package/components/identity.grants/tsconfig.tsbuildinfo +0 -1
- package/components/identity.keys/tsconfig.tsbuildinfo +0 -1
- package/components/identity.otp/tsconfig.tsbuildinfo +0 -1
- package/components/identity.passkeys/source/errors.test.ts +0 -34
- package/components/identity.passkeys/source/webauthn.test.ts +0 -26
- package/components/identity.passkeys/tsconfig.tsbuildinfo +0 -1
- package/components/identity.roles/tsconfig.tsbuildinfo +0 -1
- package/components/identity.tokens/source/authenticate.test.ts +0 -112
- package/components/identity.tokens/source/decrypt.test.ts +0 -216
- package/components/identity.tokens/source/encrypt.test.ts +0 -150
- package/components/identity.tokens/source/issue.test.ts +0 -73
- package/components/identity.tokens/source/lib/form.test.ts +0 -25
- package/components/identity.tokens/source/lib/paseto.test.ts +0 -62
- package/components/identity.tokens/tsconfig.tsbuildinfo +0 -1
- package/context.toa.yaml +0 -31
- package/cucumber.mjs +0 -7
- package/documentation/.assets/ia3-dark.jpg +0 -0
- package/documentation/.assets/ia3-light.jpg +0 -0
- package/documentation/.assets/overview-dark.jpg +0 -0
- package/documentation/.assets/overview-light.jpg +0 -0
- package/documentation/.assets/role-scopes-dark.jpg +0 -0
- package/documentation/.assets/role-scopes-light.jpg +0 -0
- package/documentation/.assets/rtd-dark.jpg +0 -0
- package/documentation/.assets/rtd-light.jpg +0 -0
- package/documentation/access.md +0 -350
- package/documentation/authorities.md +0 -51
- package/documentation/cache.md +0 -72
- package/documentation/components.md +0 -472
- package/documentation/consent.md +0 -101
- package/documentation/credentials.md +0 -88
- package/documentation/dev.md +0 -30
- package/documentation/discovery.md +0 -81
- package/documentation/flow.md +0 -44
- package/documentation/help.md +0 -122
- package/documentation/identity.md +0 -304
- package/documentation/introspection.md +0 -123
- package/documentation/io.md +0 -167
- package/documentation/ip.md +0 -24
- package/documentation/map.md +0 -123
- package/documentation/mcp.md +0 -183
- package/documentation/notes/desync.jpg +0 -0
- package/documentation/notes/peers.md +0 -59
- package/documentation/notes/sse.md +0 -71
- package/documentation/notes/throttling.md +0 -122
- package/documentation/oauth.md +0 -180
- package/documentation/octets.md +0 -334
- package/documentation/passkeys.md +0 -11
- package/documentation/protocol.md +0 -120
- package/documentation/query.md +0 -324
- package/documentation/require.md +0 -15
- package/documentation/rpc.md +0 -154
- package/documentation/tracing.md +0 -70
- package/documentation/tree.md +0 -199
- package/features/access.feature +0 -596
- package/features/annotation.feature +0 -32
- package/features/auth.assert.feature +0 -55
- package/features/auth.bearer.feature +0 -120
- package/features/auth.claims.feature +0 -171
- package/features/auth.incept.feature +0 -166
- package/features/auth.input.feature +0 -59
- package/features/authorities.basic.feature +0 -141
- package/features/authorities.feature +0 -71
- package/features/authorities.federation.feature +0 -100
- package/features/authorities.tokens.feature +0 -117
- package/features/body.feature +0 -76
- package/features/cache.feature +0 -368
- package/features/configuration.feature +0 -206
- package/features/cors.feature +0 -127
- package/features/credentials.feature +0 -106
- package/features/debug.feature +0 -34
- package/features/dev.feature +0 -90
- package/features/directives.feature +0 -61
- package/features/discovery.feature +0 -213
- package/features/discovery.ui.feature +0 -213
- package/features/dynamic.feature +0 -192
- package/features/errors.feature +0 -258
- package/features/etag.feature +0 -239
- package/features/flow.feature +0 -148
- package/features/help.feature +0 -512
- package/features/identity.bans.feature +0 -200
- package/features/identity.basic.feature +0 -666
- package/features/identity.feature +0 -240
- package/features/identity.federation.feature +0 -396
- package/features/identity.otp.feature +0 -142
- package/features/identity.roles.feature +0 -568
- package/features/identity.tokens.custom.feature +0 -430
- package/features/identity.tokens.feature +0 -131
- package/features/interruptions.feature +0 -20
- package/features/introspection.feature +0 -565
- package/features/introspection.map.feature +0 -108
- package/features/io.feature +0 -204
- package/features/io.throttle.feature +0 -166
- package/features/map.feature +0 -360
- package/features/mcp.feature +0 -753
- package/features/methods.feature +0 -48
- package/features/oauth.clients.feature +0 -195
- package/features/oauth.discovery.feature +0 -164
- package/features/oauth.grants.feature +0 -301
- package/features/octets.cloudinary.feature +0 -233
- package/features/octets.download.feature +0 -194
- package/features/octets.entries.feature +0 -83
- package/features/octets.feature +0 -306
- package/features/octets.head.feature +0 -40
- package/features/octets.location.feature +0 -83
- package/features/octets.meta.feature +0 -117
- package/features/octets.workflows.feature +0 -565
- package/features/passkeys.feature +0 -66
- package/features/probes.feature +0 -18
- package/features/query.feature +0 -389
- package/features/realtime.feature +0 -34
- package/features/require.feature +0 -66
- package/features/response.feature +0 -103
- package/features/routes.feature +0 -224
- package/features/rpc.feature +0 -429
- package/features/server.feature +0 -21
- package/features/site/_app/immutable/asset.js +0 -1
- package/features/site/favicon.ico +0 -0
- package/features/site/index.html +0 -10
- package/features/steps/.env.example +0 -5
- package/features/steps/Captures.ts +0 -20
- package/features/steps/Cloudinary.ts +0 -12
- package/features/steps/Common.ts +0 -38
- package/features/steps/Components.ts +0 -115
- package/features/steps/Database.ts +0 -106
- package/features/steps/Gateway.ts +0 -240
- package/features/steps/HTTP.ts +0 -96
- package/features/steps/IDP.ts +0 -361
- package/features/steps/Identity.ts +0 -54
- package/features/steps/OTP.ts +0 -42
- package/features/steps/Parameters.ts +0 -162
- package/features/steps/Probe.ts +0 -38
- package/features/steps/Realtime.ts +0 -175
- package/features/steps/Workspace.ts +0 -48
- package/features/steps/components/audit/manifest.toa.yaml +0 -20
- package/features/steps/components/audit/operations/record.js +0 -5
- package/features/steps/components/echo/manifest.toa.yaml +0 -59
- package/features/steps/components/echo/operations/affect.js +0 -3
- package/features/steps/components/echo/operations/compute.js +0 -3
- package/features/steps/components/echo/operations/echo.js +0 -3
- package/features/steps/components/echo/operations/error.js +0 -7
- package/features/steps/components/echo/operations/identity.js +0 -3
- package/features/steps/components/echo/operations/parameters.js +0 -3
- package/features/steps/components/echo/operations/ping.js +0 -3
- package/features/steps/components/echo/operations/unwrap.js +0 -3
- package/features/steps/components/echo.beacon/manifest.toa.yaml +0 -2
- package/features/steps/components/echo.beacon/operations/hello.js +0 -3
- package/features/steps/components/greeter/manifest.toa.yaml +0 -5
- package/features/steps/components/greeter/operations/greet.js +0 -3
- package/features/steps/components/notify/manifest.toa.yaml +0 -20
- package/features/steps/components/notify/operations/send.js +0 -5
- package/features/steps/components/octets.tester/manifest.toa.yaml +0 -73
- package/features/steps/components/octets.tester/operations/authority.js +0 -3
- package/features/steps/components/octets.tester/operations/bar.js +0 -9
- package/features/steps/components/octets.tester/operations/baz.js +0 -9
- package/features/steps/components/octets.tester/operations/concat.js +0 -5
- package/features/steps/components/octets.tester/operations/echo.js +0 -5
- package/features/steps/components/octets.tester/operations/err.js +0 -14
- package/features/steps/components/octets.tester/operations/foo.js +0 -5
- package/features/steps/components/octets.tester/operations/id.js +0 -5
- package/features/steps/components/octets.tester/operations/identity.js +0 -5
- package/features/steps/components/octets.tester/operations/lenna.png +0 -0
- package/features/steps/components/octets.tester/operations/redirect.js +0 -17
- package/features/steps/components/octets.tester/operations/yex.js +0 -14
- package/features/steps/components/octets.tester/operations/yield.js +0 -11
- package/features/steps/components/orders/manifest.toa.yaml +0 -30
- package/features/steps/components/orders/operations/create.js +0 -7
- package/features/steps/components/pots/manifest.toa.yaml +0 -91
- package/features/steps/components/pots/migrations/0002-indexes.yaml +0 -4
- package/features/steps/components/pricing/manifest.toa.yaml +0 -13
- package/features/steps/components/pricing/operations/quote.js +0 -3
- package/features/steps/components/sequences/manifest.toa.yaml +0 -11
- package/features/steps/components/sequences/operations/numbers.js +0 -5
- package/features/steps/components/sequences/operations/tokens.js +0 -14
- package/features/steps/components/users/manifest.toa.yaml +0 -30
- package/features/steps/components/users/operations/create.js +0 -11
- package/features/steps/components/users.properties/manifest.toa.yaml +0 -22
- package/features/steps/map.ts +0 -30
- package/features/steps/tsconfig.json +0 -9
- package/features/streams.feature +0 -35
- package/features/timestamps.feature +0 -41
- package/features/timing.feature +0 -49
- package/features/tracing.feature +0 -123
- package/schemas/annotation.cos.yaml +0 -125
- package/schemas/call.cos.yaml +0 -18
- package/schemas/directive.cos.yaml +0 -7
- package/schemas/method.cos.yaml +0 -23
- package/schemas/node.cos.yaml +0 -22
- package/schemas/query.cos.yaml +0 -31
- package/schemas/querystring.cos.yaml +0 -19
- package/schemas/range.cos.yaml +0 -10
- package/schemas/route.cos.yaml +0 -6
- package/source/Annotation.ts +0 -89
- package/source/Branch.test.ts +0 -40
- package/source/Branch.ts +0 -44
- package/source/Composition.ts +0 -51
- package/source/Context.ts +0 -11
- package/source/Directive.test.ts +0 -199
- package/source/Directive.ts +0 -248
- package/source/Discovery/Explorer.ts +0 -34
- package/source/Discovery/Site.test.ts +0 -147
- package/source/Discovery/Site.ts +0 -202
- package/source/Discovery/index.ts +0 -3
- package/source/Discovery/tree.test.ts +0 -175
- package/source/Discovery/tree.ts +0 -77
- package/source/Discovery/trunk.ts +0 -33
- package/source/Endpoint.test.ts +0 -67
- package/source/Endpoint.ts +0 -157
- package/source/Factory.ts +0 -42
- package/source/Gateway.ts +0 -390
- package/source/HTTP/Context.ts +0 -143
- package/source/HTTP/Probe.ts +0 -99
- package/source/HTTP/Server.ts +0 -430
- package/source/HTTP/Timing.ts +0 -14
- package/source/HTTP/address.test.ts +0 -28
- package/source/HTTP/address.ts +0 -16
- package/source/HTTP/exceptions.ts +0 -99
- package/source/HTTP/formats/form.ts +0 -21
- package/source/HTTP/formats/index.ts +0 -36
- package/source/HTTP/formats/json.ts +0 -14
- package/source/HTTP/formats/msgpack.ts +0 -14
- package/source/HTTP/formats/text.ts +0 -10
- package/source/HTTP/formats/yaml.test.ts +0 -22
- package/source/HTTP/formats/yaml.ts +0 -40
- package/source/HTTP/index.ts +0 -6
- package/source/HTTP/messages.test.ts +0 -196
- package/source/HTTP/messages.ts +0 -186
- package/source/HTTP/types.ts +0 -39
- package/source/Interception.ts +0 -37
- package/source/Introspection.ts +0 -179
- package/source/MCP/Server.ts +0 -335
- package/source/MCP/discover.ts +0 -51
- package/source/MCP/errors.ts +0 -80
- package/source/MCP/index.ts +0 -1
- package/source/MCP/schema.test.ts +0 -91
- package/source/MCP/schema.ts +0 -94
- package/source/MCP/tools.ts +0 -144
- package/source/MCP/types.ts +0 -84
- package/source/Mapping.ts +0 -101
- package/source/Query.test.ts +0 -54
- package/source/Query.ts +0 -277
- package/source/RPC/Context.ts +0 -75
- package/source/RPC/Dispatcher.ts +0 -150
- package/source/RPC/errors.test.ts +0 -77
- package/source/RPC/errors.ts +0 -82
- package/source/RPC/index.ts +0 -1
- package/source/RPC/names.test.ts +0 -141
- package/source/RPC/names.ts +0 -176
- package/source/RPC/types.ts +0 -34
- package/source/RTD/Context.ts +0 -16
- package/source/RTD/Directives.ts +0 -126
- package/source/RTD/Endpoint.ts +0 -27
- package/source/RTD/Match.ts +0 -11
- package/source/RTD/Method.ts +0 -39
- package/source/RTD/Node.ts +0 -169
- package/source/RTD/Route.ts +0 -93
- package/source/RTD/Tree.ts +0 -137
- package/source/RTD/expiration.test.ts +0 -81
- package/source/RTD/factory.ts +0 -105
- package/source/RTD/index.ts +0 -8
- package/source/RTD/segment.test.ts +0 -35
- package/source/RTD/segment.ts +0 -51
- package/source/RTD/syntax/index.ts +0 -2
- package/source/RTD/syntax/parse.test.ts +0 -196
- package/source/RTD/syntax/parse.ts +0 -171
- package/source/RTD/syntax/types.ts +0 -69
- package/source/RTD/walk.test.ts +0 -147
- package/source/Remotes.test.ts +0 -79
- package/source/Remotes.ts +0 -39
- package/source/Tenant.ts +0 -73
- package/source/const.ts +0 -45
- package/source/deployment.ts +0 -96
- package/source/directives/auth/Anonymous.test.ts +0 -70
- package/source/directives/auth/Anonymous.ts +0 -36
- package/source/directives/auth/Anyone.ts +0 -23
- package/source/directives/auth/Assert.ts +0 -43
- package/source/directives/auth/Authorization.test.ts +0 -24
- package/source/directives/auth/Authorization.ts +0 -388
- package/source/directives/auth/Delegate.test.ts +0 -36
- package/source/directives/auth/Delegate.ts +0 -54
- package/source/directives/auth/Echo.ts +0 -24
- package/source/directives/auth/Federation.ts +0 -104
- package/source/directives/auth/Id.ts +0 -37
- package/source/directives/auth/Incept.ts +0 -117
- package/source/directives/auth/Input.ts +0 -92
- package/source/directives/auth/Role.test.ts +0 -147
- package/source/directives/auth/Role.ts +0 -99
- package/source/directives/auth/Rule.ts +0 -59
- package/source/directives/auth/Scheme.ts +0 -31
- package/source/directives/auth/create.ts +0 -11
- package/source/directives/auth/index.ts +0 -3
- package/source/directives/auth/schemes.test.ts +0 -18
- package/source/directives/auth/schemes.ts +0 -39
- package/source/directives/auth/split.ts +0 -14
- package/source/directives/auth/types.ts +0 -75
- package/source/directives/cache/Cache.ts +0 -92
- package/source/directives/cache/Control.ts +0 -81
- package/source/directives/cache/Exact.ts +0 -7
- package/source/directives/cache/etag.ts +0 -38
- package/source/directives/cache/index.ts +0 -3
- package/source/directives/cache/types.ts +0 -9
- package/source/directives/cors/CORS.test.ts +0 -75
- package/source/directives/cors/CORS.ts +0 -88
- package/source/directives/cors/index.ts +0 -3
- package/source/directives/dev/Development.ts +0 -41
- package/source/directives/dev/Faulty.ts +0 -31
- package/source/directives/dev/Sleep.ts +0 -53
- package/source/directives/dev/Stub.ts +0 -14
- package/source/directives/dev/Throw.ts +0 -14
- package/source/directives/dev/index.ts +0 -3
- package/source/directives/dev/types.ts +0 -5
- package/source/directives/flow/Compose.ts +0 -98
- package/source/directives/flow/Fetch.ts +0 -86
- package/source/directives/flow/Flow.ts +0 -43
- package/source/directives/flow/index.ts +0 -3
- package/source/directives/flow/types.ts +0 -7
- package/source/directives/help/Family.ts +0 -122
- package/source/directives/help/Help.test.ts +0 -227
- package/source/directives/help/Help.ts +0 -47
- package/source/directives/help/Parameters.ts +0 -47
- package/source/directives/help/described.ts +0 -57
- package/source/directives/help/index.ts +0 -45
- package/source/directives/index.ts +0 -33
- package/source/directives/io/Directive.ts +0 -17
- package/source/directives/io/IO.ts +0 -118
- package/source/directives/io/Input.ts +0 -55
- package/source/directives/io/Message.ts +0 -1
- package/source/directives/io/Output.ts +0 -81
- package/source/directives/io/Status.test.ts +0 -88
- package/source/directives/io/Status.ts +0 -47
- package/source/directives/io/Throttle.ts +0 -30
- package/source/directives/io/index.ts +0 -3
- package/source/directives/io/lib/throttle/Configuration.test.ts +0 -72
- package/source/directives/io/lib/throttle/Configuration.ts +0 -68
- package/source/directives/io/lib/throttle/Keys.ts +0 -53
- package/source/directives/io/lib/throttle/Quotas.test.ts +0 -411
- package/source/directives/io/lib/throttle/Quotas.ts +0 -190
- package/source/directives/io/lib/throttle/Sync.test.ts +0 -163
- package/source/directives/io/lib/throttle/Sync.ts +0 -93
- package/source/directives/io/lib/throttle/Warning.test.ts +0 -32
- package/source/directives/io/lib/throttle/Warning.ts +0 -29
- package/source/directives/io/lib/throttle/components/Component.ts +0 -7
- package/source/directives/io/lib/throttle/components/IP.ts +0 -30
- package/source/directives/io/lib/throttle/components/Identity.ts +0 -19
- package/source/directives/io/lib/throttle/components/Path.ts +0 -8
- package/source/directives/io/lib/throttle/components/Route.ts +0 -19
- package/source/directives/io/lib/throttle/components/Segment.ts +0 -19
- package/source/directives/io/lib/throttle/components/index.ts +0 -19
- package/source/directives/io/lib/throttle/conditions/Condition.ts +0 -5
- package/source/directives/io/lib/throttle/conditions/Status.ts +0 -17
- package/source/directives/io/lib/throttle/conditions/index.ts +0 -11
- package/source/directives/io/lib/throttle/index.ts +0 -4
- package/source/directives/io/schemas.test.ts +0 -40
- package/source/directives/io/schemas.ts +0 -16
- package/source/directives/map/Authority.ts +0 -15
- package/source/directives/map/Buffer.ts +0 -15
- package/source/directives/map/Claims.ts +0 -63
- package/source/directives/map/Directive.ts +0 -4
- package/source/directives/map/Headers.ts +0 -60
- package/source/directives/map/Language.ts +0 -45
- package/source/directives/map/Languages.ts +0 -17
- package/source/directives/map/Map.ts +0 -85
- package/source/directives/map/Mapping.ts +0 -45
- package/source/directives/map/Properties.ts +0 -15
- package/source/directives/map/Segments.ts +0 -52
- package/source/directives/map/index.ts +0 -3
- package/source/directives/mcp/MCP.ts +0 -33
- package/source/directives/mcp/Tool.test.ts +0 -56
- package/source/directives/mcp/Tool.ts +0 -32
- package/source/directives/mcp/index.ts +0 -6
- package/source/directives/oauth/Discovery.ts +0 -66
- package/source/directives/oauth/documents.ts +0 -110
- package/source/directives/oauth/index.ts +0 -3
- package/source/directives/octets/Context.ts +0 -23
- package/source/directives/octets/Delete.ts +0 -96
- package/source/directives/octets/Directive.ts +0 -21
- package/source/directives/octets/Get.ts +0 -88
- package/source/directives/octets/Octets.ts +0 -82
- package/source/directives/octets/Put.ts +0 -186
- package/source/directives/octets/Workflow.ts +0 -60
- package/source/directives/octets/bytes.test.ts +0 -33
- package/source/directives/octets/bytes.ts +0 -18
- package/source/directives/octets/index.ts +0 -3
- package/source/directives/octets/schemas.test.ts +0 -20
- package/source/directives/octets/schemas.ts +0 -15
- package/source/directives/octets/types.ts +0 -9
- package/source/directives/octets/workflows/Execution.ts +0 -130
- package/source/directives/octets/workflows/Workflow.ts +0 -51
- package/source/directives/octets/workflows/index.ts +0 -1
- package/source/directives/require/Directive.ts +0 -5
- package/source/directives/require/Headers.ts +0 -19
- package/source/directives/require/Require.ts +0 -27
- package/source/directives/require/index.ts +0 -3
- package/source/discovery.ts +0 -1
- package/source/exceptions.ts +0 -47
- package/source/index.ts +0 -12
- package/source/io.ts +0 -4
- package/source/manifest.test.ts +0 -56
- package/source/manifest.ts +0 -56
- package/source/octets.d.ts +0 -17
- package/source/root.ts +0 -59
- package/source/schemas.test.ts +0 -31
- package/source/schemas.ts +0 -15
- package/source/service.ts +0 -94
- package/source/shortcuts.ts +0 -14
- package/source/userland.ts +0 -47
- package/transpiled/Annotation.d.ts +0 -70
- package/transpiled/Annotation.js +0 -2
- package/transpiled/Annotation.js.map +0 -1
- package/transpiled/RTD/syntax/parse.d.ts +0 -4
- package/transpiled/RTD/syntax/parse.js +0 -112
- package/transpiled/RTD/syntax/parse.js.map +0 -1
- package/transpiled/RTD/syntax/types.d.ts +0 -52
- package/transpiled/RTD/syntax/types.js +0 -11
- package/transpiled/RTD/syntax/types.js.map +0 -1
- package/transpiled/const.d.ts +0 -36
- package/transpiled/const.js +0 -37
- package/transpiled/const.js.map +0 -1
- package/transpiled/deployment.d.ts +0 -6
- package/transpiled/deployment.js +0 -76
- package/transpiled/deployment.js.map +0 -1
- package/transpiled/manifest.d.ts +0 -3
- package/transpiled/manifest.js +0 -39
- package/transpiled/manifest.js.map +0 -1
- package/transpiled/schemas.d.ts +0 -9
- package/transpiled/schemas.js +0 -9
- package/transpiled/schemas.js.map +0 -1
- package/transpiled/shortcuts.d.ts +0 -3
- package/transpiled/shortcuts.js +0 -13
- package/transpiled/shortcuts.js.map +0 -1
- package/tsconfig.json +0 -13
- package/tsconfig.tsbuildinfo +0 -1
- package/ui/dist/_app/immutable/assets/0.Bl7vLmIK.css +0 -2
- package/ui/dist/_app/immutable/assets/2.BC0-Jhqu.css +0 -1
- package/ui/dist/_app/immutable/chunks/B_pK3U1C.js +0 -6
- package/ui/dist/_app/immutable/chunks/CiKbPLyY.js +0 -1
- package/ui/dist/_app/immutable/chunks/DjIYL2zC.js +0 -3
- package/ui/dist/_app/immutable/entry/app.DMqmL4NY.js +0 -2
- package/ui/dist/_app/immutable/entry/start.CRe7HWBI.js +0 -1
- package/ui/dist/_app/immutable/nodes/0.D9m-6cbM.js +0 -1
- package/ui/dist/_app/immutable/nodes/1.Cgi_RcSO.js +0 -1
- package/ui/dist/_app/immutable/nodes/2.D_Cbxgz4.js +0 -14
|
@@ -1,666 +0,0 @@
|
|
|
1
|
-
@security
|
|
2
|
-
Feature: Basic authentication
|
|
3
|
-
|
|
4
|
-
Background:
|
|
5
|
-
Given the `identity.basic` database is empty
|
|
6
|
-
|
|
7
|
-
Scenario: Creating new Identity with basic credentials
|
|
8
|
-
When the following request is received:
|
|
9
|
-
"""
|
|
10
|
-
POST /identity/basic/ HTTP/1.1
|
|
11
|
-
host: nex.toa.io
|
|
12
|
-
content-type: application/yaml
|
|
13
|
-
|
|
14
|
-
username: developer
|
|
15
|
-
password: secret#1234
|
|
16
|
-
"""
|
|
17
|
-
Then the following reply is sent:
|
|
18
|
-
"""
|
|
19
|
-
201 Created
|
|
20
|
-
"""
|
|
21
|
-
When the following request is received:
|
|
22
|
-
"""
|
|
23
|
-
POST /identity/basic/ HTTP/1.1
|
|
24
|
-
host: nex.toa.io
|
|
25
|
-
content-type: application/yaml
|
|
26
|
-
accept: application/yaml
|
|
27
|
-
|
|
28
|
-
username: developer
|
|
29
|
-
password: secret#1234
|
|
30
|
-
"""
|
|
31
|
-
Then the following reply is sent:
|
|
32
|
-
"""
|
|
33
|
-
409 Conflict
|
|
34
|
-
"""
|
|
35
|
-
|
|
36
|
-
Scenario: Creating new Identity using inception
|
|
37
|
-
Given the `users` is running with the following manifest:
|
|
38
|
-
"""yaml
|
|
39
|
-
exposition:
|
|
40
|
-
/:
|
|
41
|
-
io:output: true
|
|
42
|
-
anonymous: true # checking compatibility with anonymous access
|
|
43
|
-
POST:
|
|
44
|
-
incept: id
|
|
45
|
-
endpoint: transit
|
|
46
|
-
query: ~
|
|
47
|
-
/:id: # credential testing route
|
|
48
|
-
id: id
|
|
49
|
-
GET: observe
|
|
50
|
-
"""
|
|
51
|
-
When the following request is received:
|
|
52
|
-
"""
|
|
53
|
-
POST /users/ HTTP/1.1
|
|
54
|
-
host: nex.toa.io
|
|
55
|
-
authorization: Basic dXNlcjpwYXNzMTIzNA==
|
|
56
|
-
accept: application/yaml
|
|
57
|
-
content-type: application/yaml
|
|
58
|
-
|
|
59
|
-
name: Bill Smith
|
|
60
|
-
"""
|
|
61
|
-
Then the following reply is sent:
|
|
62
|
-
"""
|
|
63
|
-
201 Created
|
|
64
|
-
authorization: Token ${{ token }}
|
|
65
|
-
|
|
66
|
-
id: ${{ id }}
|
|
67
|
-
"""
|
|
68
|
-
When the following request is received:
|
|
69
|
-
# basic credentials have been created
|
|
70
|
-
"""
|
|
71
|
-
GET /users/${{ id }}/ HTTP/1.1
|
|
72
|
-
host: nex.toa.io
|
|
73
|
-
authorization: Basic dXNlcjpwYXNzMTIzNA==
|
|
74
|
-
"""
|
|
75
|
-
Then the following reply is sent:
|
|
76
|
-
"""
|
|
77
|
-
200 OK
|
|
78
|
-
"""
|
|
79
|
-
When the following request is received:
|
|
80
|
-
# valid token has been issued
|
|
81
|
-
"""
|
|
82
|
-
GET /users/${{ id }}/ HTTP/1.1
|
|
83
|
-
host: nex.toa.io
|
|
84
|
-
authorization: Token ${{ token }}
|
|
85
|
-
"""
|
|
86
|
-
Then the following reply is sent:
|
|
87
|
-
"""
|
|
88
|
-
200 OK
|
|
89
|
-
"""
|
|
90
|
-
|
|
91
|
-
# username is taken: a wrong password for existing credentials is refused before the call
|
|
92
|
-
When the following request is received:
|
|
93
|
-
"""
|
|
94
|
-
POST /users/ HTTP/1.1
|
|
95
|
-
host: nex.toa.io
|
|
96
|
-
authorization: Basic dXNlcjphbm90aGVycGFzczEyMzQ=
|
|
97
|
-
accept: application/yaml
|
|
98
|
-
content-type: application/yaml
|
|
99
|
-
|
|
100
|
-
name: Bill Smith
|
|
101
|
-
"""
|
|
102
|
-
Then the following reply is sent:
|
|
103
|
-
"""
|
|
104
|
-
401 Unauthorized
|
|
105
|
-
"""
|
|
106
|
-
|
|
107
|
-
# credentials already exists
|
|
108
|
-
When the following request is received:
|
|
109
|
-
"""
|
|
110
|
-
POST /users/ HTTP/1.1
|
|
111
|
-
host: nex.toa.io
|
|
112
|
-
authorization: Basic dXNlcjpwYXNzMTIzNA==
|
|
113
|
-
accept: application/yaml
|
|
114
|
-
content-type: application/yaml
|
|
115
|
-
|
|
116
|
-
name: Bill Smith
|
|
117
|
-
"""
|
|
118
|
-
Then the following reply is sent:
|
|
119
|
-
"""
|
|
120
|
-
403 Forbidden
|
|
121
|
-
"""
|
|
122
|
-
|
|
123
|
-
Scenario: Changing the password
|
|
124
|
-
Given the annotation:
|
|
125
|
-
"""yaml
|
|
126
|
-
/:
|
|
127
|
-
io:output: true
|
|
128
|
-
/:id:
|
|
129
|
-
id: id
|
|
130
|
-
GET:
|
|
131
|
-
dev:stub:
|
|
132
|
-
access: granted!
|
|
133
|
-
"""
|
|
134
|
-
And the `identity.basic` database contains:
|
|
135
|
-
| _id | VERSION | authority | username | password |
|
|
136
|
-
| efe3a65ebbee47ed95a73edd911ea328 | 1 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
|
|
137
|
-
When the following request is received:
|
|
138
|
-
"""
|
|
139
|
-
PATCH /identity/basic/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
140
|
-
host: nex.toa.io
|
|
141
|
-
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
142
|
-
accept: application/yaml
|
|
143
|
-
content-type: application/yaml
|
|
144
|
-
|
|
145
|
-
password: new-secret
|
|
146
|
-
"""
|
|
147
|
-
Then the following reply is sent:
|
|
148
|
-
"""
|
|
149
|
-
200 OK
|
|
150
|
-
"""
|
|
151
|
-
When the following request is received:
|
|
152
|
-
# old password
|
|
153
|
-
"""
|
|
154
|
-
GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
155
|
-
host: nex.toa.io
|
|
156
|
-
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
157
|
-
"""
|
|
158
|
-
Then the following reply is sent:
|
|
159
|
-
"""
|
|
160
|
-
401 Unauthorized
|
|
161
|
-
"""
|
|
162
|
-
When the following request is received:
|
|
163
|
-
# new password
|
|
164
|
-
"""
|
|
165
|
-
GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
166
|
-
host: nex.toa.io
|
|
167
|
-
authorization: Basic ZGV2ZWxvcGVyOm5ldy1zZWNyZXQ=
|
|
168
|
-
"""
|
|
169
|
-
Then the following reply is sent:
|
|
170
|
-
"""
|
|
171
|
-
200 OK
|
|
172
|
-
"""
|
|
173
|
-
|
|
174
|
-
Scenario: Changing other identity's password
|
|
175
|
-
Given the `identity.basic` database contains:
|
|
176
|
-
| _id | authority | username | password | VERSION |
|
|
177
|
-
| efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O | 1 |
|
|
178
|
-
| 6c0be50cbfb043acafe69cc7d3895f84 | nex | attacker | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O | 1 |
|
|
179
|
-
When the following request is received:
|
|
180
|
-
"""
|
|
181
|
-
PATCH /identity/basic/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
182
|
-
host: nex.toa.io
|
|
183
|
-
authorization: Basic YXR0YWNrZXI6c2VjcmV0
|
|
184
|
-
accept: application/yaml
|
|
185
|
-
content-type: application/yaml
|
|
186
|
-
|
|
187
|
-
password: new-secret
|
|
188
|
-
"""
|
|
189
|
-
Then the following reply is sent:
|
|
190
|
-
"""
|
|
191
|
-
403 Forbidden
|
|
192
|
-
"""
|
|
193
|
-
|
|
194
|
-
Scenario Outline: <problem> not meeting the requirements
|
|
195
|
-
When the following request is received:
|
|
196
|
-
"""
|
|
197
|
-
POST /identity/basic/ HTTP/1.1
|
|
198
|
-
host: nex.toa.io
|
|
199
|
-
accept: application/yaml
|
|
200
|
-
content-type: application/yaml
|
|
201
|
-
|
|
202
|
-
username: <username>
|
|
203
|
-
password: <password>
|
|
204
|
-
"""
|
|
205
|
-
Then the following reply is sent:
|
|
206
|
-
"""
|
|
207
|
-
422 Unprocessable Entity
|
|
208
|
-
|
|
209
|
-
code: <code>
|
|
210
|
-
message: <problem> is not meeting the requirements
|
|
211
|
-
"""
|
|
212
|
-
Examples:
|
|
213
|
-
| username | password | problem | code |
|
|
214
|
-
| zYF8G6obtE3c5ARpZjnMwv0L7lX2dQUyJ1KiHS9ag4fThDPVxCsuIWmNeBqkOrzYF8G6obtE3c5ARpZjnMwv0L7lX2dQUyJ1KiHS9ag4fThDPVxCsuIWmNeBqkOris129 | secret#1234 | Username | INVALID_USERNAME |
|
|
215
|
-
| root | short | Password | INVALID_PASSWORD |
|
|
216
|
-
|
|
217
|
-
Scenario Outline: <property> is not meeting one of requirements
|
|
218
|
-
Given the `identity.basic` configuration:
|
|
219
|
-
"""yaml
|
|
220
|
-
<property>:
|
|
221
|
-
- ^\S{1,16}$
|
|
222
|
-
- ^[^A]{1,16}$ # should not contain 'A'
|
|
223
|
-
"""
|
|
224
|
-
And the `identity.basic` database contains:
|
|
225
|
-
| _id | VERSION | authority | username | password |
|
|
226
|
-
| efe3a65ebbee47ed95a73edd911ea328 | 1 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
|
|
227
|
-
When the following request is received:
|
|
228
|
-
"""
|
|
229
|
-
PATCH /identity/basic/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
230
|
-
host: nex.toa.io
|
|
231
|
-
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
232
|
-
accept: application/yaml
|
|
233
|
-
content-type: application/yaml
|
|
234
|
-
|
|
235
|
-
<property>: hasAinside
|
|
236
|
-
"""
|
|
237
|
-
Then the following reply is sent:
|
|
238
|
-
"""
|
|
239
|
-
422 Unprocessable Entity
|
|
240
|
-
"""
|
|
241
|
-
Examples:
|
|
242
|
-
| property |
|
|
243
|
-
| username |
|
|
244
|
-
| password |
|
|
245
|
-
|
|
246
|
-
Scenario: Granting a `system` role to a Principal
|
|
247
|
-
Given the `identity.basic` configuration:
|
|
248
|
-
"""yaml
|
|
249
|
-
principal:
|
|
250
|
-
authority: nex
|
|
251
|
-
username: root
|
|
252
|
-
"""
|
|
253
|
-
And the annotation:
|
|
254
|
-
"""yaml
|
|
255
|
-
/:
|
|
256
|
-
io:output: true
|
|
257
|
-
GET:
|
|
258
|
-
auth:role: system:stub
|
|
259
|
-
dev:stub:
|
|
260
|
-
access: granted!
|
|
261
|
-
"""
|
|
262
|
-
When the following request is received:
|
|
263
|
-
"""
|
|
264
|
-
POST /identity/basic/ HTTP/1.1
|
|
265
|
-
host: nex.toa.io
|
|
266
|
-
accept: application/yaml
|
|
267
|
-
content-type: application/yaml
|
|
268
|
-
|
|
269
|
-
username: root
|
|
270
|
-
password: secret#1234
|
|
271
|
-
"""
|
|
272
|
-
Then the following reply is sent:
|
|
273
|
-
"""
|
|
274
|
-
201 Created
|
|
275
|
-
|
|
276
|
-
id: ${{ id }}
|
|
277
|
-
"""
|
|
278
|
-
# role granting is eventual
|
|
279
|
-
Then after 0.1 seconds
|
|
280
|
-
When the following request is received:
|
|
281
|
-
"""
|
|
282
|
-
GET /identity/roles/${{ id }}/ HTTP/1.1
|
|
283
|
-
host: nex.toa.io
|
|
284
|
-
authorization: Basic cm9vdDpzZWNyZXQjMTIzNA==
|
|
285
|
-
accept: application/yaml
|
|
286
|
-
"""
|
|
287
|
-
Then the following reply is sent:
|
|
288
|
-
"""
|
|
289
|
-
200 OK
|
|
290
|
-
authorization: Token ${{ token }}
|
|
291
|
-
|
|
292
|
-
- system
|
|
293
|
-
"""
|
|
294
|
-
When the following request is received:
|
|
295
|
-
"""
|
|
296
|
-
GET / HTTP/1.1
|
|
297
|
-
host: nex.toa.io
|
|
298
|
-
authorization: Token ${{ token }}
|
|
299
|
-
accept: application/yaml
|
|
300
|
-
"""
|
|
301
|
-
Then the following reply is sent:
|
|
302
|
-
"""
|
|
303
|
-
200 OK
|
|
304
|
-
|
|
305
|
-
access: granted!
|
|
306
|
-
"""
|
|
307
|
-
# Principal username cannot be changed
|
|
308
|
-
When the following request is received:
|
|
309
|
-
"""
|
|
310
|
-
PATCH /identity/basic/${{ id }}/ HTTP/1.1
|
|
311
|
-
host: nex.toa.io
|
|
312
|
-
authorization: Basic cm9vdDpzZWNyZXQjMTIzNA==
|
|
313
|
-
accept: application/yaml
|
|
314
|
-
content-type: application/yaml
|
|
315
|
-
|
|
316
|
-
username: admin
|
|
317
|
-
"""
|
|
318
|
-
Then the following reply is sent:
|
|
319
|
-
"""
|
|
320
|
-
422 Unprocessable Entity
|
|
321
|
-
|
|
322
|
-
code: PRINCIPAL_LOCKED
|
|
323
|
-
message: Principal username cannot be changed
|
|
324
|
-
"""
|
|
325
|
-
|
|
326
|
-
Scenario: A Principal incepted by its own credentials holds the role at once
|
|
327
|
-
Given the `identity.basic` database is empty
|
|
328
|
-
And the `identity.basic` configuration:
|
|
329
|
-
"""yaml
|
|
330
|
-
principal:
|
|
331
|
-
authority: nex
|
|
332
|
-
username: root
|
|
333
|
-
"""
|
|
334
|
-
And the annotation:
|
|
335
|
-
"""yaml
|
|
336
|
-
/:
|
|
337
|
-
io:output: true
|
|
338
|
-
GET:
|
|
339
|
-
auth:role: system:stub
|
|
340
|
-
dev:stub:
|
|
341
|
-
access: granted!
|
|
342
|
-
"""
|
|
343
|
-
# the token the inception replies with carries the roles the Identity has by then
|
|
344
|
-
When the following request is received:
|
|
345
|
-
"""
|
|
346
|
-
POST /identity/ HTTP/1.1
|
|
347
|
-
host: nex.toa.io
|
|
348
|
-
authorization: Basic cm9vdDpzZWNyZXQjMTIzNA==
|
|
349
|
-
accept: application/yaml
|
|
350
|
-
"""
|
|
351
|
-
Then the following reply is sent:
|
|
352
|
-
"""
|
|
353
|
-
201 Created
|
|
354
|
-
authorization: Token ${{ token }}
|
|
355
|
-
"""
|
|
356
|
-
When the following request is received:
|
|
357
|
-
"""
|
|
358
|
-
GET / HTTP/1.1
|
|
359
|
-
host: nex.toa.io
|
|
360
|
-
authorization: Token ${{ token }}
|
|
361
|
-
accept: application/yaml
|
|
362
|
-
"""
|
|
363
|
-
Then the following reply is sent:
|
|
364
|
-
"""
|
|
365
|
-
200 OK
|
|
366
|
-
|
|
367
|
-
access: granted!
|
|
368
|
-
"""
|
|
369
|
-
|
|
370
|
-
Scenario: Principal username in another authority is ordinary credentials
|
|
371
|
-
Given the `identity.basic` configuration:
|
|
372
|
-
"""yaml
|
|
373
|
-
principal:
|
|
374
|
-
authority: nex
|
|
375
|
-
username: root
|
|
376
|
-
"""
|
|
377
|
-
And the annotation:
|
|
378
|
-
"""yaml
|
|
379
|
-
/:
|
|
380
|
-
io:output: true
|
|
381
|
-
GET:
|
|
382
|
-
auth:role: system:stub
|
|
383
|
-
dev:stub:
|
|
384
|
-
access: granted!
|
|
385
|
-
"""
|
|
386
|
-
When the following request is received:
|
|
387
|
-
"""
|
|
388
|
-
POST /identity/basic/ HTTP/1.1
|
|
389
|
-
host: the.other.com
|
|
390
|
-
accept: application/yaml
|
|
391
|
-
content-type: application/yaml
|
|
392
|
-
|
|
393
|
-
username: root
|
|
394
|
-
password: secret#1234
|
|
395
|
-
"""
|
|
396
|
-
Then the following reply is sent:
|
|
397
|
-
"""
|
|
398
|
-
201 Created
|
|
399
|
-
|
|
400
|
-
id: ${{ id }}
|
|
401
|
-
"""
|
|
402
|
-
Then after 0.1 seconds
|
|
403
|
-
When the following request is received:
|
|
404
|
-
"""
|
|
405
|
-
GET /identity/roles/${{ id }}/ HTTP/1.1
|
|
406
|
-
host: the.other.com
|
|
407
|
-
authorization: Basic cm9vdDpzZWNyZXQjMTIzNA==
|
|
408
|
-
accept: application/yaml
|
|
409
|
-
"""
|
|
410
|
-
Then the following reply is sent:
|
|
411
|
-
"""
|
|
412
|
-
200 OK
|
|
413
|
-
|
|
414
|
-
[]
|
|
415
|
-
"""
|
|
416
|
-
When the following request is received:
|
|
417
|
-
"""
|
|
418
|
-
GET / HTTP/1.1
|
|
419
|
-
host: the.other.com
|
|
420
|
-
authorization: Basic cm9vdDpzZWNyZXQjMTIzNA==
|
|
421
|
-
accept: application/yaml
|
|
422
|
-
"""
|
|
423
|
-
Then the following reply is sent:
|
|
424
|
-
"""
|
|
425
|
-
403 Forbidden
|
|
426
|
-
"""
|
|
427
|
-
|
|
428
|
-
Scenario: Creating an Identity using inception with existing credentials
|
|
429
|
-
Given the `users` is running with the following manifest:
|
|
430
|
-
"""yaml
|
|
431
|
-
exposition:
|
|
432
|
-
/:
|
|
433
|
-
io:output: true
|
|
434
|
-
anonymous: true
|
|
435
|
-
POST:
|
|
436
|
-
incept: id
|
|
437
|
-
query: false
|
|
438
|
-
endpoint: transit
|
|
439
|
-
"""
|
|
440
|
-
When the following request is received:
|
|
441
|
-
# identity inception
|
|
442
|
-
"""
|
|
443
|
-
POST /users/ HTTP/1.1
|
|
444
|
-
host: nex.toa.io
|
|
445
|
-
authorization: Basic dXNlcjpwYXNzMTIzNA==
|
|
446
|
-
accept: application/yaml
|
|
447
|
-
content-type: application/yaml
|
|
448
|
-
|
|
449
|
-
name: Bill Smith
|
|
450
|
-
"""
|
|
451
|
-
Then the following reply is sent:
|
|
452
|
-
"""
|
|
453
|
-
201 Created
|
|
454
|
-
"""
|
|
455
|
-
And the following request is received:
|
|
456
|
-
# same credentials
|
|
457
|
-
"""
|
|
458
|
-
POST /users/ HTTP/1.1
|
|
459
|
-
host: nex.toa.io
|
|
460
|
-
authorization: Basic dXNlcjpwYXNzMTIzNA==
|
|
461
|
-
content-type: application/yaml
|
|
462
|
-
|
|
463
|
-
name: Mary Louis
|
|
464
|
-
"""
|
|
465
|
-
Then the following reply is sent:
|
|
466
|
-
"""
|
|
467
|
-
403 Forbidden
|
|
468
|
-
"""
|
|
469
|
-
|
|
470
|
-
Scenario: Incorrect credentials format
|
|
471
|
-
Given the `identity.basic` database is empty
|
|
472
|
-
And the `users` is running with the following manifest:
|
|
473
|
-
"""yaml
|
|
474
|
-
exposition:
|
|
475
|
-
/:
|
|
476
|
-
io:output: true
|
|
477
|
-
anonymous: true
|
|
478
|
-
POST:
|
|
479
|
-
incept: id
|
|
480
|
-
endpoint: transit
|
|
481
|
-
"""
|
|
482
|
-
When the following request is received:
|
|
483
|
-
"""
|
|
484
|
-
GET /identity/ HTTP/1.1
|
|
485
|
-
host: nex.toa.io
|
|
486
|
-
authorization: Basic not-base64
|
|
487
|
-
"""
|
|
488
|
-
Then the following reply is sent:
|
|
489
|
-
"""
|
|
490
|
-
401 Unauthorized
|
|
491
|
-
"""
|
|
492
|
-
When the following request is received:
|
|
493
|
-
"""
|
|
494
|
-
POST /users/ HTTP/1.1
|
|
495
|
-
host: nex.toa.io
|
|
496
|
-
authorization: Basic not-base64
|
|
497
|
-
accept: application/yaml
|
|
498
|
-
content-type: application/yaml
|
|
499
|
-
|
|
500
|
-
name: Bill Smith
|
|
501
|
-
"""
|
|
502
|
-
Then the following reply is sent:
|
|
503
|
-
"""
|
|
504
|
-
422 Unprocessable Entity
|
|
505
|
-
|
|
506
|
-
code: INVALID_CREDENTIALS
|
|
507
|
-
"""
|
|
508
|
-
|
|
509
|
-
Scenario: Check if username is available
|
|
510
|
-
Given the `identity.basic` database contains:
|
|
511
|
-
| _id | authority | username | password | VERSION |
|
|
512
|
-
| efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O | 1 |
|
|
513
|
-
When the following request is received:
|
|
514
|
-
"""
|
|
515
|
-
GET /identity/basic/usernames/ZGV2ZWxvcGVy/ HTTP/1.1
|
|
516
|
-
host: nex.toa.io
|
|
517
|
-
"""
|
|
518
|
-
Then the following reply is sent:
|
|
519
|
-
"""
|
|
520
|
-
204 No Content
|
|
521
|
-
"""
|
|
522
|
-
When the following request is received:
|
|
523
|
-
"""
|
|
524
|
-
GET /identity/basic/username/bWFuYWdlcg/ HTTP/1.1
|
|
525
|
-
host: nex.toa.io
|
|
526
|
-
"""
|
|
527
|
-
Then the following reply is sent:
|
|
528
|
-
"""
|
|
529
|
-
404 Not Found
|
|
530
|
-
"""
|
|
531
|
-
|
|
532
|
-
Scenario: Adding new basic credentials
|
|
533
|
-
Given transient identity
|
|
534
|
-
When the following request is received:
|
|
535
|
-
"""
|
|
536
|
-
POST /identity/basic/${{ identity.id }}/ HTTP/1.1
|
|
537
|
-
host: nex.toa.io
|
|
538
|
-
authorization: Token ${{ identity.token }}
|
|
539
|
-
accept: application/yaml
|
|
540
|
-
content-type: application/yaml
|
|
541
|
-
|
|
542
|
-
username: developer
|
|
543
|
-
password: secret#1234
|
|
544
|
-
"""
|
|
545
|
-
Then the following reply is sent:
|
|
546
|
-
"""
|
|
547
|
-
201 Created
|
|
548
|
-
"""
|
|
549
|
-
When the following request is received:
|
|
550
|
-
"""
|
|
551
|
-
GET /identity/ HTTP/1.1
|
|
552
|
-
host: nex.toa.io
|
|
553
|
-
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldCMxMjM0
|
|
554
|
-
accept: application/yaml
|
|
555
|
-
"""
|
|
556
|
-
Then the following reply is sent:
|
|
557
|
-
"""
|
|
558
|
-
200 OK
|
|
559
|
-
|
|
560
|
-
id: ${{ id }}
|
|
561
|
-
"""
|
|
562
|
-
|
|
563
|
-
# credentials already exist
|
|
564
|
-
When the following request is received:
|
|
565
|
-
"""
|
|
566
|
-
POST /identity/basic/${{ identity.id }}/ HTTP/1.1
|
|
567
|
-
host: nex.toa.io
|
|
568
|
-
authorization: Token ${{ identity.token }}
|
|
569
|
-
accept: application/yaml
|
|
570
|
-
content-type: application/yaml
|
|
571
|
-
|
|
572
|
-
username: painter
|
|
573
|
-
password: secret#4321
|
|
574
|
-
"""
|
|
575
|
-
Then the following reply is sent:
|
|
576
|
-
"""
|
|
577
|
-
422 Unprocessable Entity
|
|
578
|
-
|
|
579
|
-
code: EXISTS
|
|
580
|
-
"""
|
|
581
|
-
|
|
582
|
-
Scenario: Adding basic credentials after they have been deleted
|
|
583
|
-
Given transient identity
|
|
584
|
-
When the following request is received:
|
|
585
|
-
"""
|
|
586
|
-
POST /identity/basic/${{ identity.id }}/ HTTP/1.1
|
|
587
|
-
host: nex.toa.io
|
|
588
|
-
authorization: Token ${{ identity.token }}
|
|
589
|
-
content-type: application/yaml
|
|
590
|
-
|
|
591
|
-
username: developer
|
|
592
|
-
password: secret#1234
|
|
593
|
-
"""
|
|
594
|
-
Then the following reply is sent:
|
|
595
|
-
"""
|
|
596
|
-
201 Created
|
|
597
|
-
"""
|
|
598
|
-
When the following request is received:
|
|
599
|
-
"""
|
|
600
|
-
DELETE /identity/basic/${{ identity.id }}/ HTTP/1.1
|
|
601
|
-
host: nex.toa.io
|
|
602
|
-
authorization: Token ${{ identity.token }}
|
|
603
|
-
"""
|
|
604
|
-
Then the following reply is sent:
|
|
605
|
-
"""
|
|
606
|
-
200 OK
|
|
607
|
-
"""
|
|
608
|
-
When the following request is received:
|
|
609
|
-
"""
|
|
610
|
-
POST /identity/basic/${{ identity.id }}/ HTTP/1.1
|
|
611
|
-
host: nex.toa.io
|
|
612
|
-
authorization: Token ${{ identity.token }}
|
|
613
|
-
content-type: application/yaml
|
|
614
|
-
|
|
615
|
-
username: painter
|
|
616
|
-
password: secret#4321
|
|
617
|
-
"""
|
|
618
|
-
Then the following reply is sent:
|
|
619
|
-
"""
|
|
620
|
-
201 Created
|
|
621
|
-
"""
|
|
622
|
-
When the following request is received:
|
|
623
|
-
"""
|
|
624
|
-
GET /identity/ HTTP/1.1
|
|
625
|
-
host: nex.toa.io
|
|
626
|
-
authorization: Basic cGFpbnRlcjpzZWNyZXQjNDMyMQ==
|
|
627
|
-
accept: application/yaml
|
|
628
|
-
"""
|
|
629
|
-
Then the following reply is sent:
|
|
630
|
-
"""
|
|
631
|
-
200 OK
|
|
632
|
-
|
|
633
|
-
id: ${{ identity.id }}
|
|
634
|
-
"""
|
|
635
|
-
|
|
636
|
-
Scenario: Password containing colons
|
|
637
|
-
When the following request is received:
|
|
638
|
-
"""
|
|
639
|
-
POST /identity/basic/ HTTP/1.1
|
|
640
|
-
host: nex.toa.io
|
|
641
|
-
accept: application/yaml
|
|
642
|
-
content-type: application/yaml
|
|
643
|
-
|
|
644
|
-
username: colon
|
|
645
|
-
password: pa:ss:word
|
|
646
|
-
"""
|
|
647
|
-
Then the following reply is sent:
|
|
648
|
-
"""
|
|
649
|
-
201 Created
|
|
650
|
-
|
|
651
|
-
id: ${{ id }}
|
|
652
|
-
"""
|
|
653
|
-
# colon:pa:ss:word
|
|
654
|
-
When the following request is received:
|
|
655
|
-
"""
|
|
656
|
-
GET /identity/ HTTP/1.1
|
|
657
|
-
host: nex.toa.io
|
|
658
|
-
authorization: Basic Y29sb246cGE6c3M6d29yZA==
|
|
659
|
-
accept: application/yaml
|
|
660
|
-
"""
|
|
661
|
-
Then the following reply is sent:
|
|
662
|
-
"""
|
|
663
|
-
200 OK
|
|
664
|
-
|
|
665
|
-
id: ${{ id }}
|
|
666
|
-
"""
|