@toa.io/extensions.exposition 1.0.0-alpha.9 → 1.0.0-alpha.91

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