@n1k1t/mock-server 0.1.0 → 0.1.2
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/.vscode/settings.json +3 -0
- package/README.md +55 -28
- package/bin/index.ts +31 -0
- package/lib/bin/index.d.ts +2 -0
- package/lib/bin/index.d.ts.map +1 -0
- package/lib/{src/cli.js → bin/index.js} +13 -15
- package/lib/bin/index.js.map +1 -0
- package/lib/package.json +4 -3
- package/lib/src/client/errors/connection.error.js +1 -1
- package/lib/src/client/errors/connection.error.js.map +1 -1
- package/lib/src/client/errors/validation.error.d.ts.map +1 -1
- package/lib/src/client/helpers/expectations.d.ts +91 -0
- package/lib/src/client/helpers/expectations.d.ts.map +1 -0
- package/lib/src/client/helpers/expectations.js +66 -0
- package/lib/src/client/helpers/expectations.js.map +1 -0
- package/lib/src/client/helpers/index.d.ts +2 -0
- package/lib/src/client/helpers/index.d.ts.map +1 -0
- package/lib/src/client/helpers/index.js +18 -0
- package/lib/src/client/helpers/index.js.map +1 -0
- package/lib/src/client/index.d.ts +4 -7
- package/lib/src/client/index.d.ts.map +1 -1
- package/lib/src/client/index.js +4 -41
- package/lib/src/client/index.js.map +1 -1
- package/lib/src/client/methods/expectations.create.method.d.ts +4 -0
- package/lib/src/client/methods/expectations.create.method.d.ts.map +1 -0
- package/lib/src/client/methods/expectations.create.method.js +29 -0
- package/lib/src/client/methods/expectations.create.method.js.map +1 -0
- package/lib/src/client/methods/expectations.delete.method.d.ts +6 -0
- package/lib/src/client/methods/expectations.delete.method.d.ts.map +1 -0
- package/lib/src/client/methods/expectations.delete.method.js +26 -0
- package/lib/src/client/methods/expectations.delete.method.js.map +1 -0
- package/lib/src/client/methods/expectations.update.method.d.ts +8 -0
- package/lib/src/client/methods/expectations.update.method.d.ts.map +1 -0
- package/lib/src/client/methods/expectations.update.method.js +44 -0
- package/lib/src/client/methods/expectations.update.method.js.map +1 -0
- package/lib/src/client/methods/index.d.ts +4 -1
- package/lib/src/client/methods/index.d.ts.map +1 -1
- package/lib/src/client/methods/index.js +11 -14
- package/lib/src/client/methods/index.js.map +1 -1
- package/lib/src/client/methods/ping.method.d.ts +4 -0
- package/lib/src/client/methods/ping.method.d.ts.map +1 -0
- package/lib/src/client/methods/ping.method.js +22 -0
- package/lib/src/client/methods/ping.method.js.map +1 -0
- package/lib/src/client/models/client.d.ts +40 -0
- package/lib/src/client/models/client.d.ts.map +1 -0
- package/lib/src/client/models/client.js +33 -0
- package/lib/src/client/models/client.js.map +1 -0
- package/lib/src/client/models/client.spec.d.ts +2 -0
- package/lib/src/client/models/client.spec.d.ts.map +1 -0
- package/lib/src/client/models/client.spec.js +219 -0
- package/lib/src/client/models/client.spec.js.map +1 -0
- package/lib/src/client/models/index.d.ts +3 -0
- package/lib/src/client/models/index.d.ts.map +1 -0
- package/lib/src/client/models/index.js +19 -0
- package/lib/src/client/models/index.js.map +1 -0
- package/lib/src/client/models/method.d.ts +17 -0
- package/lib/src/client/models/method.d.ts.map +1 -0
- package/lib/src/client/models/method.js +25 -0
- package/lib/src/client/models/method.js.map +1 -0
- package/lib/src/client/onsite.d.ts +7 -0
- package/lib/src/client/onsite.d.ts.map +1 -0
- package/lib/src/client/onsite.js +44 -0
- package/lib/src/client/onsite.js.map +1 -0
- package/lib/src/client/remote.d.ts +8 -0
- package/lib/src/client/remote.d.ts.map +1 -0
- package/lib/src/client/remote.js +52 -0
- package/lib/src/client/remote.js.map +1 -0
- package/lib/src/client/types.d.ts +19 -1
- package/lib/src/client/types.d.ts.map +1 -1
- package/lib/src/client/utils.d.ts +4 -3
- package/lib/src/client/utils.d.ts.map +1 -1
- package/lib/src/client/utils.js +36 -3
- package/lib/src/client/utils.js.map +1 -1
- package/lib/src/config/index.d.ts +9 -6
- package/lib/src/config/index.d.ts.map +1 -1
- package/lib/src/config/index.js +8 -7
- package/lib/src/config/index.js.map +1 -1
- package/lib/src/expectations/__utils__/index.d.ts +3 -0
- package/lib/src/expectations/__utils__/index.d.ts.map +1 -0
- package/lib/src/expectations/__utils__/index.js +44 -0
- package/lib/src/expectations/__utils__/index.js.map +1 -0
- package/lib/src/expectations/errors/index.d.ts.map +1 -0
- package/lib/src/expectations/errors/index.js.map +1 -0
- package/lib/src/expectations/index.d.ts +4 -0
- package/lib/src/expectations/index.d.ts.map +1 -0
- package/lib/src/{server/expectations → expectations}/index.js +1 -2
- package/lib/src/expectations/index.js.map +1 -0
- package/lib/src/expectations/models/expectation.d.ts +35 -0
- package/lib/src/expectations/models/expectation.d.ts.map +1 -0
- package/lib/src/expectations/models/expectation.js +113 -0
- package/lib/src/expectations/models/expectation.js.map +1 -0
- package/lib/src/expectations/models/index.d.ts +4 -0
- package/lib/src/expectations/models/index.d.ts.map +1 -0
- package/lib/src/expectations/models/index.js +20 -0
- package/lib/src/expectations/models/index.js.map +1 -0
- package/lib/src/expectations/models/operator.d.ts +20 -0
- package/lib/src/expectations/models/operator.d.ts.map +1 -0
- package/lib/src/expectations/models/operator.js +41 -0
- package/lib/src/expectations/models/operator.js.map +1 -0
- package/lib/src/expectations/models/storage.d.ts +15 -0
- package/lib/src/expectations/models/storage.d.ts.map +1 -0
- package/lib/src/{server/expectations → expectations/models}/storage.js +4 -14
- package/lib/src/expectations/models/storage.js.map +1 -0
- package/lib/src/expectations/models/storage.spec.d.ts +2 -0
- package/lib/src/expectations/models/storage.spec.d.ts.map +1 -0
- package/lib/src/expectations/models/storage.spec.js +111 -0
- package/lib/src/expectations/models/storage.spec.js.map +1 -0
- package/lib/src/expectations/operators/and.operator.d.ts +8 -0
- package/lib/src/expectations/operators/and.operator.d.ts.map +1 -0
- package/lib/src/expectations/operators/and.operator.js +24 -0
- package/lib/src/expectations/operators/and.operator.js.map +1 -0
- package/lib/src/expectations/operators/and.operator.spec.d.ts.map +1 -0
- package/lib/src/expectations/operators/and.operator.spec.js +73 -0
- package/lib/src/expectations/operators/and.operator.spec.js.map +1 -0
- package/lib/src/expectations/operators/exec.operator.d.ts +8 -0
- package/lib/src/expectations/operators/exec.operator.d.ts.map +1 -0
- package/lib/src/expectations/operators/exec.operator.js +18 -0
- package/lib/src/expectations/operators/exec.operator.js.map +1 -0
- package/lib/src/expectations/operators/exec.operator.spec.d.ts.map +1 -0
- package/lib/src/expectations/operators/exec.operator.spec.js +58 -0
- package/lib/src/expectations/operators/exec.operator.spec.js.map +1 -0
- package/lib/src/expectations/operators/has.operator.d.ts +28 -0
- package/lib/src/expectations/operators/has.operator.d.ts.map +1 -0
- package/lib/src/expectations/operators/has.operator.js +119 -0
- package/lib/src/expectations/operators/has.operator.js.map +1 -0
- package/lib/src/expectations/operators/has.operator.spec.d.ts.map +1 -0
- package/lib/src/expectations/operators/has.operator.spec.js +434 -0
- package/lib/src/expectations/operators/has.operator.spec.js.map +1 -0
- package/lib/src/expectations/operators/if.operator.d.ts +16 -0
- package/lib/src/expectations/operators/if.operator.d.ts.map +1 -0
- package/lib/src/expectations/operators/if.operator.js +49 -0
- package/lib/src/expectations/operators/if.operator.js.map +1 -0
- package/lib/src/expectations/operators/if.operator.spec.d.ts.map +1 -0
- package/lib/src/expectations/operators/if.operator.spec.js +122 -0
- package/lib/src/expectations/operators/if.operator.spec.js.map +1 -0
- package/lib/src/{server/expectations → expectations}/operators/index.d.ts +2 -0
- package/lib/src/expectations/operators/index.d.ts.map +1 -0
- package/lib/src/{server/expectations → expectations}/operators/index.js +5 -1
- package/lib/src/expectations/operators/index.js.map +1 -0
- package/lib/src/expectations/operators/merge.operator.d.ts +14 -0
- package/lib/src/expectations/operators/merge.operator.d.ts.map +1 -0
- package/lib/src/expectations/operators/merge.operator.js +34 -0
- package/lib/src/expectations/operators/merge.operator.js.map +1 -0
- package/lib/src/expectations/operators/merge.operator.spec.d.ts.map +1 -0
- package/lib/src/expectations/operators/merge.operator.spec.js +65 -0
- package/lib/src/expectations/operators/merge.operator.spec.js.map +1 -0
- package/lib/src/expectations/operators/not.operator.d.ts +8 -0
- package/lib/src/expectations/operators/not.operator.d.ts.map +1 -0
- package/lib/src/expectations/operators/not.operator.js +24 -0
- package/lib/src/expectations/operators/not.operator.js.map +1 -0
- package/lib/src/expectations/operators/not.operator.spec.d.ts.map +1 -0
- package/lib/src/expectations/operators/not.operator.spec.js +36 -0
- package/lib/src/expectations/operators/not.operator.spec.js.map +1 -0
- package/lib/src/expectations/operators/or.operator.d.ts +8 -0
- package/lib/src/expectations/operators/or.operator.d.ts.map +1 -0
- package/lib/src/expectations/operators/or.operator.js +24 -0
- package/lib/src/expectations/operators/or.operator.js.map +1 -0
- package/lib/src/expectations/operators/or.operator.spec.d.ts.map +1 -0
- package/lib/src/expectations/operators/or.operator.spec.js +74 -0
- package/lib/src/expectations/operators/or.operator.spec.js.map +1 -0
- package/lib/src/expectations/operators/remove.operator.d.ts +13 -0
- package/lib/src/expectations/operators/remove.operator.d.ts.map +1 -0
- package/lib/src/expectations/operators/remove.operator.js +33 -0
- package/lib/src/expectations/operators/remove.operator.js.map +1 -0
- package/lib/src/expectations/operators/remove.operator.spec.d.ts.map +1 -0
- package/lib/src/expectations/operators/remove.operator.spec.js +57 -0
- package/lib/src/expectations/operators/remove.operator.spec.js.map +1 -0
- package/lib/src/expectations/operators/root.operator.d.ts +8 -0
- package/lib/src/expectations/operators/root.operator.d.ts.map +1 -0
- package/lib/src/expectations/operators/root.operator.js +36 -0
- package/lib/src/expectations/operators/root.operator.js.map +1 -0
- package/lib/src/expectations/operators/set.operator.d.ts +21 -0
- package/lib/src/expectations/operators/set.operator.d.ts.map +1 -0
- package/lib/src/expectations/operators/set.operator.js +56 -0
- package/lib/src/expectations/operators/set.operator.js.map +1 -0
- package/lib/src/expectations/operators/set.operator.spec.d.ts.map +1 -0
- package/lib/src/expectations/operators/set.operator.spec.js +101 -0
- package/lib/src/expectations/operators/set.operator.spec.js.map +1 -0
- package/lib/src/expectations/operators/switch.operator.d.ts +25 -0
- package/lib/src/expectations/operators/switch.operator.d.ts.map +1 -0
- package/lib/src/expectations/operators/switch.operator.js +68 -0
- package/lib/src/expectations/operators/switch.operator.js.map +1 -0
- package/lib/src/expectations/operators/switch.operator.spec.d.ts +2 -0
- package/lib/src/expectations/operators/switch.operator.spec.d.ts.map +1 -0
- package/lib/src/expectations/operators/switch.operator.spec.js +129 -0
- package/lib/src/expectations/operators/switch.operator.spec.js.map +1 -0
- package/lib/src/expectations/types.d.ts +86 -0
- package/lib/src/expectations/types.d.ts.map +1 -0
- package/lib/src/{server/expectations → expectations}/types.js +13 -2
- package/lib/src/expectations/types.js.map +1 -0
- package/lib/src/expectations/utils.d.ts +24 -0
- package/lib/src/expectations/utils.d.ts.map +1 -0
- package/lib/src/expectations/utils.js +119 -0
- package/lib/src/expectations/utils.js.map +1 -0
- package/lib/src/server/endpoints/config.get.endpoint.d.ts +9 -4
- package/lib/src/server/endpoints/config.get.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/config.get.endpoint.js +4 -7
- package/lib/src/server/endpoints/config.get.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.create.endpoint.d.ts +10 -12
- package/lib/src/server/endpoints/expectations.create.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations.create.endpoint.js +4 -9
- package/lib/src/server/endpoints/expectations.create.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.delete.endpoint.d.ts +11 -8
- package/lib/src/server/endpoints/expectations.delete.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations.delete.endpoint.js +4 -7
- package/lib/src/server/endpoints/expectations.delete.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.get-list.endpoint.d.ts +10 -5
- package/lib/src/server/endpoints/expectations.get-list.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations.get-list.endpoint.js +4 -4
- package/lib/src/server/endpoints/expectations.get-list.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.update.endpoint.d.ts +14 -12
- package/lib/src/server/endpoints/expectations.update.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations.update.endpoint.js +6 -21
- package/lib/src/server/endpoints/expectations.update.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/history.get-list.endpoint.d.ts +27 -0
- package/lib/src/server/endpoints/history.get-list.endpoint.d.ts.map +1 -0
- package/lib/src/server/endpoints/history.get-list.endpoint.js +11 -0
- package/lib/src/server/endpoints/history.get-list.endpoint.js.map +1 -0
- package/lib/src/server/endpoints/index.d.ts +2 -3
- package/lib/src/server/endpoints/index.d.ts.map +1 -1
- package/lib/src/server/endpoints/index.js +5 -7
- package/lib/src/server/endpoints/index.js.map +1 -1
- package/lib/src/server/endpoints/ping.endpoint.d.ts +9 -4
- package/lib/src/server/endpoints/ping.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/ping.endpoint.js +3 -3
- package/lib/src/server/endpoints/ping.endpoint.js.map +1 -1
- package/lib/src/server/history/model.d.ts +16 -16
- package/lib/src/server/history/model.d.ts.map +1 -1
- package/lib/src/server/history/model.js +21 -6
- package/lib/src/server/history/model.js.map +1 -1
- package/lib/src/server/history/storage.d.ts +3 -4
- package/lib/src/server/history/storage.d.ts.map +1 -1
- package/lib/src/server/history/storage.js +7 -4
- package/lib/src/server/history/storage.js.map +1 -1
- package/lib/src/server/index.d.ts +15 -3
- package/lib/src/server/index.d.ts.map +1 -1
- package/lib/src/server/index.js +31 -32
- package/lib/src/server/index.js.map +1 -1
- package/lib/src/server/middlewares/add-history.middleware.d.ts +15 -5
- package/lib/src/server/middlewares/add-history.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/add-history.middleware.js +7 -8
- package/lib/src/server/middlewares/add-history.middleware.js.map +1 -1
- package/lib/src/server/middlewares/destroy-request.midleware.d.ts +15 -5
- package/lib/src/server/middlewares/destroy-request.midleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/destroy-request.midleware.js +6 -7
- package/lib/src/server/middlewares/destroy-request.midleware.js.map +1 -1
- package/lib/src/server/middlewares/handle-expectation-delay.middleware.d.ts +15 -5
- package/lib/src/server/middlewares/handle-expectation-delay.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/handle-expectation-delay.middleware.js +3 -4
- package/lib/src/server/middlewares/handle-expectation-delay.middleware.js.map +1 -1
- package/lib/src/server/middlewares/handle-expectation-forward.middleware.d.ts +15 -5
- package/lib/src/server/middlewares/handle-expectation-forward.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/handle-expectation-forward.middleware.js +33 -47
- package/lib/src/server/middlewares/handle-expectation-forward.middleware.js.map +1 -1
- package/lib/src/server/middlewares/index.d.ts +4 -4
- package/lib/src/server/middlewares/index.d.ts.map +1 -1
- package/lib/src/server/middlewares/index.js +9 -9
- package/lib/src/server/middlewares/index.js.map +1 -1
- package/lib/src/server/middlewares/internal-route.middleware.d.ts +15 -3
- package/lib/src/server/middlewares/internal-route.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/internal-route.middleware.js +6 -5
- package/lib/src/server/middlewares/internal-route.middleware.js.map +1 -1
- package/lib/src/server/middlewares/match-expectation.middleware.d.ts +18 -0
- package/lib/src/server/middlewares/match-expectation.middleware.d.ts.map +1 -0
- package/lib/src/server/middlewares/match-expectation.middleware.js +20 -0
- package/lib/src/server/middlewares/match-expectation.middleware.js.map +1 -0
- package/lib/src/server/middlewares/reply.middleware.d.ts +15 -5
- package/lib/src/server/middlewares/reply.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/reply.middleware.js +36 -27
- package/lib/src/server/middlewares/reply.middleware.js.map +1 -1
- package/lib/src/server/middlewares/resolve-public.middleware.d.ts +15 -3
- package/lib/src/server/middlewares/resolve-public.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/resolve-public.middleware.js +14 -15
- package/lib/src/server/middlewares/resolve-public.middleware.js.map +1 -1
- package/lib/src/server/models/endpoint.d.ts +32 -0
- package/lib/src/server/models/endpoint.d.ts.map +1 -0
- package/lib/src/server/{endpoints/model.js → models/endpoint.js} +3 -3
- package/lib/src/server/models/endpoint.js.map +1 -0
- package/lib/src/server/models/index.d.ts +2 -0
- package/lib/src/server/models/index.d.ts.map +1 -1
- package/lib/src/server/models/index.js +2 -0
- package/lib/src/server/models/index.js.map +1 -1
- package/lib/src/server/models/middleware.d.ts +23 -0
- package/lib/src/server/models/middleware.d.ts.map +1 -0
- package/lib/src/server/{middlewares/model.js → models/middleware.js} +7 -11
- package/lib/src/server/models/middleware.js.map +1 -0
- package/lib/src/server/models/reply-service/index.d.ts +6 -6
- package/lib/src/server/models/reply-service/index.d.ts.map +1 -1
- package/lib/src/server/models/reply-service/index.js +24 -24
- package/lib/src/server/models/reply-service/index.js.map +1 -1
- package/lib/src/server/models/request-context/http.d.ts +42 -0
- package/lib/src/server/models/request-context/http.d.ts.map +1 -0
- package/lib/src/server/models/request-context/http.js +51 -0
- package/lib/src/server/models/request-context/http.js.map +1 -0
- package/lib/src/server/models/request-context/index.d.ts +4 -58
- package/lib/src/server/models/request-context/index.d.ts.map +1 -1
- package/lib/src/server/models/request-context/index.js +4 -57
- package/lib/src/server/models/request-context/index.js.map +1 -1
- package/lib/src/server/models/request-context/model.d.ts +13 -0
- package/lib/src/server/models/request-context/model.d.ts.map +1 -0
- package/lib/src/server/models/request-context/model.js +14 -0
- package/lib/src/server/models/request-context/model.js.map +1 -0
- package/lib/src/server/models/request-context/types.d.ts +14 -18
- package/lib/src/server/models/request-context/types.d.ts.map +1 -1
- package/lib/src/server/models/request-context/utils.d.ts +7 -3
- package/lib/src/server/models/request-context/utils.d.ts.map +1 -1
- package/lib/src/server/models/request-context/utils.js +48 -25
- package/lib/src/server/models/request-context/utils.js.map +1 -1
- package/lib/src/server/models/request-context/ws.d.ts +21 -0
- package/lib/src/server/models/request-context/ws.d.ts.map +1 -0
- package/lib/src/server/models/request-context/ws.js +22 -0
- package/lib/src/server/models/request-context/ws.js.map +1 -0
- package/lib/src/server/models/server-context.d.ts +26 -0
- package/lib/src/server/models/server-context.d.ts.map +1 -0
- package/lib/src/server/models/server-context.js +33 -0
- package/lib/src/server/models/server-context.js.map +1 -0
- package/lib/src/server/proxy.d.ts +0 -1
- package/lib/src/server/proxy.d.ts.map +1 -1
- package/lib/src/server/router.d.ts +4 -8
- package/lib/src/server/router.d.ts.map +1 -1
- package/lib/src/server/router.js +5 -12
- package/lib/src/server/router.js.map +1 -1
- package/lib/src/server/ws-exchange/index.d.ts +5 -0
- package/lib/src/server/ws-exchange/index.d.ts.map +1 -0
- package/lib/src/server/{web-socket-exchange → ws-exchange}/index.js +3 -3
- package/lib/src/server/ws-exchange/index.js.map +1 -0
- package/lib/src/server/ws-exchange/types.d.ts +12 -0
- package/lib/src/server/ws-exchange/types.d.ts.map +1 -0
- package/lib/src/server/ws-exchange/types.js.map +1 -0
- package/lib/src/types.d.ts +0 -3
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/utils/common.d.ts +4 -0
- package/lib/src/utils/common.d.ts.map +1 -0
- package/lib/src/utils/common.js +18 -0
- package/lib/src/utils/common.js.map +1 -0
- package/lib/src/utils/index.d.ts +4 -28
- package/lib/src/utils/index.d.ts.map +1 -1
- package/lib/src/utils/index.js +17 -46
- package/lib/src/utils/index.js.map +1 -1
- package/lib/src/utils/json.d.ts +26 -0
- package/lib/src/utils/json.d.ts.map +1 -0
- package/lib/src/utils/json.js +36 -0
- package/lib/src/utils/json.js.map +1 -0
- package/lib/src/utils/regexp.d.ts +2 -0
- package/lib/src/utils/regexp.d.ts.map +1 -0
- package/lib/src/utils/regexp.js +9 -0
- package/lib/src/utils/regexp.js.map +1 -0
- package/lib/src/{server/utils/index.d.ts → utils/validation.d.ts} +1 -1
- package/lib/src/utils/validation.d.ts.map +1 -0
- package/lib/src/{server/utils/index.js → utils/validation.js} +1 -1
- package/lib/src/{server/utils/index.js.map → utils/validation.js.map} +1 -1
- package/lib/test/index.js +111 -108
- package/lib/test/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/common.global.d.ts +13 -6
- package/lib/types/common.global.d.ts.map +1 -1
- package/lib/types/lib.d.ts +1 -0
- package/lib/types/lib.d.ts.map +1 -1
- package/lib/types/lib.js +1 -0
- package/lib/types/lib.js.map +1 -1
- package/package.json +4 -3
- package/types/common.global.ts +21 -2
- package/types/lib.ts +1 -0
- package/lib/src/cli.d.ts +0 -2
- package/lib/src/cli.d.ts.map +0 -1
- package/lib/src/cli.js.map +0 -1
- package/lib/src/client/methods/expectations/create.method.d.ts +0 -6
- package/lib/src/client/methods/expectations/create.method.d.ts.map +0 -1
- package/lib/src/client/methods/expectations/create.method.js +0 -13
- package/lib/src/client/methods/expectations/create.method.js.map +0 -1
- package/lib/src/client/methods/expectations/delete-all.method.d.ts +0 -3
- package/lib/src/client/methods/expectations/delete-all.method.d.ts.map +0 -1
- package/lib/src/client/methods/expectations/delete-all.method.js +0 -11
- package/lib/src/client/methods/expectations/delete-all.method.js.map +0 -1
- package/lib/src/client/methods/expectations/delete.method.d.ts +0 -4
- package/lib/src/client/methods/expectations/delete.method.d.ts.map +0 -1
- package/lib/src/client/methods/expectations/delete.method.js +0 -12
- package/lib/src/client/methods/expectations/delete.method.js.map +0 -1
- package/lib/src/client/methods/expectations/index.d.ts +0 -5
- package/lib/src/client/methods/expectations/index.d.ts.map +0 -1
- package/lib/src/client/methods/expectations/index.js +0 -15
- package/lib/src/client/methods/expectations/index.js.map +0 -1
- package/lib/src/client/methods/expectations/types.d.ts +0 -18
- package/lib/src/client/methods/expectations/types.d.ts.map +0 -1
- package/lib/src/client/methods/expectations/types.js.map +0 -1
- package/lib/src/client/methods/expectations/update.method.d.ts +0 -8
- package/lib/src/client/methods/expectations/update.method.d.ts.map +0 -1
- package/lib/src/client/methods/expectations/update.method.js +0 -16
- package/lib/src/client/methods/expectations/update.method.js.map +0 -1
- package/lib/src/client/methods/expectations/utils.d.ts +0 -3
- package/lib/src/client/methods/expectations/utils.d.ts.map +0 -1
- package/lib/src/client/methods/expectations/utils.js +0 -26
- package/lib/src/client/methods/expectations/utils.js.map +0 -1
- package/lib/src/server/endpoints/expectations.delete-all.endpoint.d.ts +0 -11
- package/lib/src/server/endpoints/expectations.delete-all.endpoint.d.ts.map +0 -1
- package/lib/src/server/endpoints/expectations.delete-all.endpoint.js +0 -11
- package/lib/src/server/endpoints/expectations.delete-all.endpoint.js.map +0 -1
- package/lib/src/server/endpoints/history-records.get-list.endpoint.d.ts +0 -16
- package/lib/src/server/endpoints/history-records.get-list.endpoint.d.ts.map +0 -1
- package/lib/src/server/endpoints/history-records.get-list.endpoint.js +0 -11
- package/lib/src/server/endpoints/history-records.get-list.endpoint.js.map +0 -1
- package/lib/src/server/endpoints/model.d.ts +0 -26
- package/lib/src/server/endpoints/model.d.ts.map +0 -1
- package/lib/src/server/endpoints/model.js.map +0 -1
- package/lib/src/server/expectations/__utils__/index.d.ts +0 -3
- package/lib/src/server/expectations/__utils__/index.d.ts.map +0 -1
- package/lib/src/server/expectations/__utils__/index.js +0 -36
- package/lib/src/server/expectations/__utils__/index.js.map +0 -1
- package/lib/src/server/expectations/errors/index.d.ts.map +0 -1
- package/lib/src/server/expectations/errors/index.js.map +0 -1
- package/lib/src/server/expectations/index.d.ts +0 -5
- package/lib/src/server/expectations/index.d.ts.map +0 -1
- package/lib/src/server/expectations/index.js.map +0 -1
- package/lib/src/server/expectations/model.d.ts +0 -37
- package/lib/src/server/expectations/model.d.ts.map +0 -1
- package/lib/src/server/expectations/model.js +0 -90
- package/lib/src/server/expectations/model.js.map +0 -1
- package/lib/src/server/expectations/operators/and.operator.d.ts +0 -3
- package/lib/src/server/expectations/operators/and.operator.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/and.operator.js +0 -5
- package/lib/src/server/expectations/operators/and.operator.js.map +0 -1
- package/lib/src/server/expectations/operators/and.operator.spec.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/and.operator.spec.js +0 -55
- package/lib/src/server/expectations/operators/and.operator.spec.js.map +0 -1
- package/lib/src/server/expectations/operators/exec.operator.d.ts +0 -9
- package/lib/src/server/expectations/operators/exec.operator.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/exec.operator.js +0 -15
- package/lib/src/server/expectations/operators/exec.operator.js.map +0 -1
- package/lib/src/server/expectations/operators/exec.operator.spec.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/exec.operator.spec.js +0 -27
- package/lib/src/server/expectations/operators/exec.operator.spec.js.map +0 -1
- package/lib/src/server/expectations/operators/has.operator.d.ts +0 -3
- package/lib/src/server/expectations/operators/has.operator.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/has.operator.js +0 -83
- package/lib/src/server/expectations/operators/has.operator.js.map +0 -1
- package/lib/src/server/expectations/operators/has.operator.spec.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/has.operator.spec.js +0 -173
- package/lib/src/server/expectations/operators/has.operator.spec.js.map +0 -1
- package/lib/src/server/expectations/operators/if.operator.d.ts +0 -3
- package/lib/src/server/expectations/operators/if.operator.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/if.operator.js +0 -15
- package/lib/src/server/expectations/operators/if.operator.js.map +0 -1
- package/lib/src/server/expectations/operators/if.operator.spec.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/if.operator.spec.js +0 -98
- package/lib/src/server/expectations/operators/if.operator.spec.js.map +0 -1
- package/lib/src/server/expectations/operators/index.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/index.js.map +0 -1
- package/lib/src/server/expectations/operators/merge.operator.d.ts +0 -3
- package/lib/src/server/expectations/operators/merge.operator.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/merge.operator.js +0 -30
- package/lib/src/server/expectations/operators/merge.operator.js.map +0 -1
- package/lib/src/server/expectations/operators/merge.operator.spec.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/merge.operator.spec.js +0 -55
- package/lib/src/server/expectations/operators/merge.operator.spec.js.map +0 -1
- package/lib/src/server/expectations/operators/not.operator.d.ts +0 -3
- package/lib/src/server/expectations/operators/not.operator.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/not.operator.js +0 -5
- package/lib/src/server/expectations/operators/not.operator.js.map +0 -1
- package/lib/src/server/expectations/operators/not.operator.spec.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/not.operator.spec.js +0 -17
- package/lib/src/server/expectations/operators/not.operator.spec.js.map +0 -1
- package/lib/src/server/expectations/operators/or.operator.d.ts +0 -3
- package/lib/src/server/expectations/operators/or.operator.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/or.operator.js +0 -9
- package/lib/src/server/expectations/operators/or.operator.js.map +0 -1
- package/lib/src/server/expectations/operators/or.operator.spec.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/or.operator.spec.js +0 -55
- package/lib/src/server/expectations/operators/or.operator.spec.js.map +0 -1
- package/lib/src/server/expectations/operators/remove.operator.d.ts +0 -3
- package/lib/src/server/expectations/operators/remove.operator.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/remove.operator.js +0 -28
- package/lib/src/server/expectations/operators/remove.operator.js.map +0 -1
- package/lib/src/server/expectations/operators/remove.operator.spec.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/remove.operator.spec.js +0 -45
- package/lib/src/server/expectations/operators/remove.operator.spec.js.map +0 -1
- package/lib/src/server/expectations/operators/set.operator.d.ts +0 -3
- package/lib/src/server/expectations/operators/set.operator.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/set.operator.js +0 -39
- package/lib/src/server/expectations/operators/set.operator.js.map +0 -1
- package/lib/src/server/expectations/operators/set.operator.spec.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/set.operator.spec.js +0 -57
- package/lib/src/server/expectations/operators/set.operator.spec.js.map +0 -1
- package/lib/src/server/expectations/operators/utils.d.ts +0 -20
- package/lib/src/server/expectations/operators/utils.d.ts.map +0 -1
- package/lib/src/server/expectations/operators/utils.js +0 -67
- package/lib/src/server/expectations/operators/utils.js.map +0 -1
- package/lib/src/server/expectations/storage.d.ts +0 -19
- package/lib/src/server/expectations/storage.d.ts.map +0 -1
- package/lib/src/server/expectations/storage.js.map +0 -1
- package/lib/src/server/expectations/types.d.ts +0 -83
- package/lib/src/server/expectations/types.d.ts.map +0 -1
- package/lib/src/server/expectations/types.js.map +0 -1
- package/lib/src/server/expectations/utils.d.ts +0 -12
- package/lib/src/server/expectations/utils.d.ts.map +0 -1
- package/lib/src/server/expectations/utils.js +0 -92
- package/lib/src/server/expectations/utils.js.map +0 -1
- package/lib/src/server/expectations/utils.spec.d.ts +0 -2
- package/lib/src/server/expectations/utils.spec.d.ts.map +0 -1
- package/lib/src/server/expectations/utils.spec.js +0 -59
- package/lib/src/server/expectations/utils.spec.js.map +0 -1
- package/lib/src/server/expectations/validation-schemas.d.ts +0 -24
- package/lib/src/server/expectations/validation-schemas.d.ts.map +0 -1
- package/lib/src/server/expectations/validation-schemas.js +0 -36
- package/lib/src/server/expectations/validation-schemas.js.map +0 -1
- package/lib/src/server/middlewares/model.d.ts +0 -25
- package/lib/src/server/middlewares/model.d.ts.map +0 -1
- package/lib/src/server/middlewares/model.js.map +0 -1
- package/lib/src/server/middlewares/validate-expectation-request.middleware.d.ts +0 -6
- package/lib/src/server/middlewares/validate-expectation-request.middleware.d.ts.map +0 -1
- package/lib/src/server/middlewares/validate-expectation-request.middleware.js +0 -20
- package/lib/src/server/middlewares/validate-expectation-request.middleware.js.map +0 -1
- package/lib/src/server/models/server-context/index.d.ts +0 -14
- package/lib/src/server/models/server-context/index.d.ts.map +0 -1
- package/lib/src/server/models/server-context/index.js +0 -20
- package/lib/src/server/models/server-context/index.js.map +0 -1
- package/lib/src/server/types.d.ts +0 -6
- package/lib/src/server/types.d.ts.map +0 -1
- package/lib/src/server/types.js +0 -3
- package/lib/src/server/types.js.map +0 -1
- package/lib/src/server/utils/index.d.ts.map +0 -1
- package/lib/src/server/web-socket-exchange/index.d.ts +0 -5
- package/lib/src/server/web-socket-exchange/index.d.ts.map +0 -1
- package/lib/src/server/web-socket-exchange/index.js.map +0 -1
- package/lib/src/server/web-socket-exchange/types.d.ts +0 -12
- package/lib/src/server/web-socket-exchange/types.d.ts.map +0 -1
- package/lib/src/server/web-socket-exchange/types.js +0 -3
- package/lib/src/server/web-socket-exchange/types.js.map +0 -1
- /package/lib/src/{server/expectations → expectations}/errors/index.d.ts +0 -0
- /package/lib/src/{server/expectations → expectations}/errors/index.js +0 -0
- /package/lib/src/{server/expectations → expectations}/operators/and.operator.spec.d.ts +0 -0
- /package/lib/src/{server/expectations → expectations}/operators/exec.operator.spec.d.ts +0 -0
- /package/lib/src/{server/expectations → expectations}/operators/has.operator.spec.d.ts +0 -0
- /package/lib/src/{server/expectations → expectations}/operators/if.operator.spec.d.ts +0 -0
- /package/lib/src/{server/expectations → expectations}/operators/merge.operator.spec.d.ts +0 -0
- /package/lib/src/{server/expectations → expectations}/operators/not.operator.spec.d.ts +0 -0
- /package/lib/src/{server/expectations → expectations}/operators/or.operator.spec.d.ts +0 -0
- /package/lib/src/{server/expectations → expectations}/operators/remove.operator.spec.d.ts +0 -0
- /package/lib/src/{server/expectations → expectations}/operators/set.operator.spec.d.ts +0 -0
- /package/lib/src/{client/methods/expectations → server/ws-exchange}/types.js +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ExpectationOperator = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
class ExpectationOperator {
|
|
9
|
+
constructor(operators, command) {
|
|
10
|
+
this.operators = operators;
|
|
11
|
+
this.command = command;
|
|
12
|
+
}
|
|
13
|
+
compileExecHandler(raw, provide) {
|
|
14
|
+
const parameters = [];
|
|
15
|
+
if (provide.includes('payload')) {
|
|
16
|
+
parameters.push('payload');
|
|
17
|
+
}
|
|
18
|
+
if (provide.includes('utils')) {
|
|
19
|
+
parameters.push('{ _, T, context }');
|
|
20
|
+
}
|
|
21
|
+
const handler = typeof raw === 'function' ? raw : Function(parameters.join(', '), `return (() => ${raw})()`);
|
|
22
|
+
return (context, ...args) => {
|
|
23
|
+
const utils = this.compileExecUtils(context);
|
|
24
|
+
const handled = handler(...args, utils);
|
|
25
|
+
return typeof handled === 'function' ? handled(...args, utils) : handled;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
extractNestedSchema(schema) {
|
|
29
|
+
const key = Object.keys(schema)[0];
|
|
30
|
+
return key ? { key, nested: schema[key] } : null;
|
|
31
|
+
}
|
|
32
|
+
compileExecUtils(context) {
|
|
33
|
+
return {
|
|
34
|
+
context: context,
|
|
35
|
+
_: lodash_1.default,
|
|
36
|
+
T: (payload) => payload,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.ExpectationOperator = ExpectationOperator;
|
|
41
|
+
//# sourceMappingURL=operator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator.js","sourceRoot":"","sources":["../../../../src/expectations/models/operator.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAYvB,MAAsB,mBAAmB;IAOvC,YAAmB,SAAgC,EAAS,OAAgB;QAAzD,cAAS,GAAT,SAAS,CAAuB;QAAS,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAEtE,kBAAkB,CAAC,GAAmC,EAAE,OAAgC;QAChG,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,CAAC;QAE7G,OAAO,CAAC,OAAiB,EAAE,GAAG,IAAe,EAAE,EAAE;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;YAExC,OAAO,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3E,CAAC,CAAA;IACH,CAAC;IAES,mBAAmB,CAAC,MAA6C;QAMzE,MAAM,GAAG,GAAkD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAEO,gBAAgB,CAAqB,OAAU;QACrD,OAAO;YACL,OAAO,EAAmC,OAAO;YAEjD,CAAC,EAAE,gBAAC;YACJ,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAM,OAAO;SAC7B,CAAA;IACH,CAAC;CACF;AA/CD,kDA+CC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ValueError } from '@n1k1t/typebox/errors';
|
|
2
|
+
import { IExpectationOperatorContext, TExpectationContextLocation } from '../types';
|
|
3
|
+
import { Expectation, TBuildExpectationConfiguration } from './expectation';
|
|
4
|
+
export type TExpectationsStorageRegisterationResult = {
|
|
5
|
+
status: 'REGISTRED';
|
|
6
|
+
expectation: Expectation<any>;
|
|
7
|
+
} | {
|
|
8
|
+
status: 'ERROR';
|
|
9
|
+
reasons: ValueError[];
|
|
10
|
+
};
|
|
11
|
+
export declare class ExpectationsStorage extends Map<string, Expectation<any>> {
|
|
12
|
+
register(configuration: TBuildExpectationConfiguration<any>): TExpectationsStorageRegisterationResult;
|
|
13
|
+
match<TContext extends PartialDeep<IExpectationOperatorContext>>(location: TExpectationContextLocation, context: TContext): Expectation<TContext> | null;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/expectations/models/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,MAAM,uCAAuC,GAC/C;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;CAAE,GACtD;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAE/C,qBAAa,mBAAoB,SAAQ,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7D,QAAQ,CAAC,aAAa,EAAE,8BAA8B,CAAC,GAAG,CAAC,GAAG,uCAAuC;IAYrG,KAAK,CAAC,QAAQ,SAAS,WAAW,CAAC,2BAA2B,CAAC,EACpE,QAAQ,EAAE,2BAA2B,EACrC,OAAO,EAAE,QAAQ,GAChB,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI;CAShC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ExpectationsStorage = void 0;
|
|
4
|
-
const
|
|
4
|
+
const expectation_1 = require("./expectation");
|
|
5
5
|
class ExpectationsStorage extends Map {
|
|
6
6
|
register(configuration) {
|
|
7
|
-
const expectation =
|
|
7
|
+
const expectation = expectation_1.Expectation.build(configuration);
|
|
8
8
|
const errors = expectation.validate();
|
|
9
9
|
if (errors.length) {
|
|
10
10
|
return { status: 'ERROR', reasons: errors };
|
|
@@ -12,24 +12,14 @@ class ExpectationsStorage extends Map {
|
|
|
12
12
|
this.set(expectation.id, expectation);
|
|
13
13
|
return { status: 'REGISTRED', expectation };
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
match(location, context) {
|
|
16
16
|
for (const expectation of this.values()) {
|
|
17
|
-
if (expectation.isEnabled && expectation
|
|
17
|
+
if (expectation.isEnabled && expectation[location]?.match(context)) {
|
|
18
18
|
return expectation;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
return null;
|
|
22
22
|
}
|
|
23
|
-
findAndManipulateContext(location, context, options) {
|
|
24
|
-
const expectation = this.findByContext(location, context);
|
|
25
|
-
if (!expectation) {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
return {
|
|
29
|
-
expectation,
|
|
30
|
-
context: expectation.manipulateContext(location, context, options),
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
23
|
}
|
|
34
24
|
exports.ExpectationsStorage = ExpectationsStorage;
|
|
35
25
|
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/expectations/models/storage.ts"],"names":[],"mappings":";;;AAGA,+CAA4E;AAM5E,MAAa,mBAAoB,SAAQ,GAA6B;IAC7D,QAAQ,CAAC,aAAkD;QAChE,MAAM,WAAW,GAAG,yBAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAEtC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;QAC7C,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAC9C,CAAC;IAEM,KAAK,CACV,QAAqC,EACrC,OAAiB;QAEjB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnE,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAzBD,kDAyBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.spec.d.ts","sourceRoot":"","sources":["../../../../src/expectations/models/storage.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const __utils__1 = require("../__utils__");
|
|
4
|
+
const storage_1 = require("./storage");
|
|
5
|
+
describe('Expectations.Models.Storage', () => {
|
|
6
|
+
describe('request', () => {
|
|
7
|
+
it('should not match with empty storage', () => {
|
|
8
|
+
const storage = new storage_1.ExpectationsStorage();
|
|
9
|
+
expect(storage.match('request', (0, __utils__1.buildExpectationContext)())).toBeNull();
|
|
10
|
+
});
|
|
11
|
+
it('should match with 1 expectation', () => {
|
|
12
|
+
const storage = new storage_1.ExpectationsStorage();
|
|
13
|
+
const { expectation } = storage.register({
|
|
14
|
+
schema: {
|
|
15
|
+
request: { $has: { $location: 'path', $value: '/foo/bar/baz' } },
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
expect(storage.match('request', (0, __utils__1.buildExpectationContext)())?.id).toEqual(expectation.id);
|
|
19
|
+
});
|
|
20
|
+
it('should not match with 1 expectation', () => {
|
|
21
|
+
const storage = new storage_1.ExpectationsStorage();
|
|
22
|
+
storage.register({
|
|
23
|
+
schema: {
|
|
24
|
+
request: { $has: { $location: 'path', $value: '/foo' } },
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
expect(storage.match('request', (0, __utils__1.buildExpectationContext)())).toBeNull();
|
|
28
|
+
});
|
|
29
|
+
it('should match with 2 expectations', () => {
|
|
30
|
+
const storage = new storage_1.ExpectationsStorage();
|
|
31
|
+
storage.register({
|
|
32
|
+
schema: {
|
|
33
|
+
request: { $has: { $location: 'path', $value: '/foo/bar' } },
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
const { expectation } = storage.register({
|
|
37
|
+
schema: {
|
|
38
|
+
request: { $has: { $location: 'method', $valueAnyOf: ['GET', 'POST'] } },
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
expect(storage.match('request', (0, __utils__1.buildExpectationContext)())?.id).toEqual(expectation.id);
|
|
42
|
+
});
|
|
43
|
+
it('should not match with 2 expectations', () => {
|
|
44
|
+
const storage = new storage_1.ExpectationsStorage();
|
|
45
|
+
storage.register({
|
|
46
|
+
schema: {
|
|
47
|
+
request: { $has: { $location: 'path', $value: '/foo/bar' } },
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
storage.register({
|
|
51
|
+
schema: {
|
|
52
|
+
request: { $has: { $location: 'method', $valueAnyOf: ['GET'] } },
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
expect(storage.match('request', (0, __utils__1.buildExpectationContext)())).toBeNull();
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
describe('reponse', () => {
|
|
59
|
+
it('should not match with empty storage', () => {
|
|
60
|
+
const storage = new storage_1.ExpectationsStorage();
|
|
61
|
+
expect(storage.match('response', (0, __utils__1.buildExpectationContext)())).toBeNull();
|
|
62
|
+
});
|
|
63
|
+
it('should match with 1 expectation', () => {
|
|
64
|
+
const storage = new storage_1.ExpectationsStorage();
|
|
65
|
+
const { expectation } = storage.register({
|
|
66
|
+
schema: {
|
|
67
|
+
response: { $has: { $location: 'path', $value: '/foo/bar/baz' } },
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
expect(storage.match('response', (0, __utils__1.buildExpectationContext)())?.id).toEqual(expectation.id);
|
|
71
|
+
});
|
|
72
|
+
it('should not match with 1 expectation', () => {
|
|
73
|
+
const storage = new storage_1.ExpectationsStorage();
|
|
74
|
+
storage.register({
|
|
75
|
+
schema: {
|
|
76
|
+
response: { $has: { $location: 'path', $value: '/foo' } },
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
expect(storage.match('response', (0, __utils__1.buildExpectationContext)())).toBeNull();
|
|
80
|
+
});
|
|
81
|
+
it('should match with 2 expectations', () => {
|
|
82
|
+
const storage = new storage_1.ExpectationsStorage();
|
|
83
|
+
storage.register({
|
|
84
|
+
schema: {
|
|
85
|
+
response: { $has: { $location: 'path', $value: '/foo/bar' } },
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
const { expectation } = storage.register({
|
|
89
|
+
schema: {
|
|
90
|
+
response: { $has: { $location: 'method', $valueAnyOf: ['GET', 'POST'] } },
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
expect(storage.match('response', (0, __utils__1.buildExpectationContext)())?.id).toEqual(expectation.id);
|
|
94
|
+
});
|
|
95
|
+
it('should not match with 2 expectations', () => {
|
|
96
|
+
const storage = new storage_1.ExpectationsStorage();
|
|
97
|
+
storage.register({
|
|
98
|
+
schema: {
|
|
99
|
+
response: { $has: { $location: 'path', $value: '/foo/bar' } },
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
storage.register({
|
|
103
|
+
schema: {
|
|
104
|
+
response: { $has: { $location: 'method', $valueAnyOf: ['GET'] } },
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
expect(storage.match('response', (0, __utils__1.buildExpectationContext)())).toBeNull();
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=storage.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.spec.js","sourceRoot":"","sources":["../../../../src/expectations/models/storage.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IExpectationOperatorContext, IExpectationOperatorsSchema, TExpectationOperatorLocation } from '../types';
|
|
2
|
+
import { ExpectationOperator } from '../models/operator';
|
|
3
|
+
export default class AndExpectationOperator<TContext extends PartialDeep<IExpectationOperatorContext> = {}, TLocation extends TExpectationOperatorLocation = TExpectationOperatorLocation, TValue = void> extends ExpectationOperator<TContext, IExpectationOperatorsSchema<TContext, TLocation, TValue>[]> {
|
|
4
|
+
compiled: ExpectationOperator<TContext, any>[];
|
|
5
|
+
match(context: TContext): boolean;
|
|
6
|
+
manipulate<T extends TContext>(context: T): T;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=and.operator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"and.operator.d.ts","sourceRoot":"","sources":["../../../../src/expectations/operators/and.operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAClH,OAAO,EAAE,mBAAmB,EAAmC,MAAM,oBAAoB,CAAC;AAE1F,MAAM,CAAC,OAAO,OAAO,sBAAsB,CACzC,QAAQ,SAAS,WAAW,CAAC,2BAA2B,CAAC,GAAG,EAAE,EAC9D,SAAS,SAAS,4BAA4B,GAAG,4BAA4B,EAC7E,MAAM,GAAG,IAAI,CACb,SAAQ,mBAAmB,CAC3B,QAAQ,EACR,2BAA2B,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,CAC3D;IACQ,QAAQ,uCAMV;IAEE,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO;IAIjC,UAAU,CAAC,CAAC,SAAS,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;CAIrD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const operator_1 = require("../models/operator");
|
|
4
|
+
class AndExpectationOperator extends operator_1.ExpectationOperator {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.compiled = this.command
|
|
8
|
+
.map((schema) => this.extractNestedSchema(schema))
|
|
9
|
+
.filter(Boolean)
|
|
10
|
+
.map((extracted) => {
|
|
11
|
+
const Operator = this.operators[extracted.key];
|
|
12
|
+
return new Operator(this.operators, extracted.nested);
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
match(context) {
|
|
16
|
+
return this.compiled.every((operator) => operator.match(context));
|
|
17
|
+
}
|
|
18
|
+
manipulate(context) {
|
|
19
|
+
this.compiled.forEach((operator) => operator.manipulate(context));
|
|
20
|
+
return context;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.default = AndExpectationOperator;
|
|
24
|
+
//# sourceMappingURL=and.operator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"and.operator.js","sourceRoot":"","sources":["../../../../src/expectations/operators/and.operator.ts"],"names":[],"mappings":";;AACA,iDAA0F;AAE1F,MAAqB,sBAInB,SAAQ,8BAGT;IAPD;;QAQS,aAAQ,GAAG,IAAI,CAAC,OAAO;aAC3B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAE,CAAC;aAClD,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YACjB,MAAM,QAAQ,GAA8C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC1F,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IAUP,CAAC;IARQ,KAAK,CAAC,OAAiB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;IAEM,UAAU,CAAqB,OAAU;QAC9C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAxBD,yCAwBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"and.operator.spec.d.ts","sourceRoot":"","sources":["../../../../src/expectations/operators/and.operator.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const __utils__1 = require("../__utils__");
|
|
27
|
+
const operators = __importStar(require("./index"));
|
|
28
|
+
describe('Expectations.Operators.And', () => {
|
|
29
|
+
describe('matching', () => {
|
|
30
|
+
it('should match by schema with one valid condition', () => {
|
|
31
|
+
const operator = new operators.$and(operators, [
|
|
32
|
+
{ $has: { $location: 'incoming.query', $path: 'foo', $value: 1 } },
|
|
33
|
+
]);
|
|
34
|
+
expect(operator.match((0, __utils__1.buildExpectationContext)())).toBeTruthy();
|
|
35
|
+
});
|
|
36
|
+
it('should match by schema with two valid conditions', () => {
|
|
37
|
+
const operator = new operators.$and(operators, [
|
|
38
|
+
{ $has: { $location: 'incoming.query', $path: 'foo', $value: 1 } },
|
|
39
|
+
{ $has: { $location: 'incoming.query', $path: 'bar.baz', $value: null } },
|
|
40
|
+
]);
|
|
41
|
+
expect(operator.match((0, __utils__1.buildExpectationContext)())).toBeTruthy();
|
|
42
|
+
});
|
|
43
|
+
it('should match by schema with zero conditions', () => {
|
|
44
|
+
expect(new operators.$and(operators, []).match((0, __utils__1.buildExpectationContext)())).toBeTruthy();
|
|
45
|
+
});
|
|
46
|
+
it('should match by schema with one valid and one invalid condition', () => {
|
|
47
|
+
const operator = new operators.$and(operators, [
|
|
48
|
+
{ $has: { $location: 'incoming.query', $path: 'foo', $value: 1 } },
|
|
49
|
+
{ $has: { $location: 'incoming.query', $path: 'bar.baz', $value: 1 } },
|
|
50
|
+
]);
|
|
51
|
+
expect(operator.match((0, __utils__1.buildExpectationContext)())).toBeFalsy();
|
|
52
|
+
});
|
|
53
|
+
it('should match by schema with two invalid conditions', () => {
|
|
54
|
+
const operator = new operators.$and(operators, [
|
|
55
|
+
{ $has: { $location: 'incoming.query', $path: 'foo', $value: null } },
|
|
56
|
+
{ $has: { $location: 'incoming.query', $path: 'bar.baz', $value: 1 } },
|
|
57
|
+
]);
|
|
58
|
+
expect(operator.match((0, __utils__1.buildExpectationContext)())).toBeFalsy();
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
describe('manipulation', () => {
|
|
62
|
+
it('should manipulate by schema with two conditions', () => {
|
|
63
|
+
const operator = new operators.$and(operators, [
|
|
64
|
+
{ $set: { $location: 'incoming.headers', $path: 'content-length', $value: 100 } },
|
|
65
|
+
{ $set: { $location: 'incoming.query', $path: 'bar.baz', $value: { test: true } } },
|
|
66
|
+
]);
|
|
67
|
+
const context = operator.manipulate((0, __utils__1.buildExpectationContext)());
|
|
68
|
+
expect(context.incoming.headers?.['content-length']).toEqual(100);
|
|
69
|
+
expect(context.incoming.query?.bar?.baz?.test).toBeTruthy();
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=and.operator.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"and.operator.spec.js","sourceRoot":"","sources":["../../../../src/expectations/operators/and.operator.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IExpectationOperatorExecUtils, IExpectationOperatorContext } from '../types';
|
|
2
|
+
import { ExpectationOperator } from '../models/operator';
|
|
3
|
+
export default class ExecExpectationOperator<TContext extends PartialDeep<IExpectationOperatorContext> = {}> extends ExpectationOperator<TContext, string | TFunction<unknown, [IExpectationOperatorExecUtils<TContext>]>> {
|
|
4
|
+
compiled: (context: TContext, ...args: unknown[]) => any;
|
|
5
|
+
match(context: TContext): boolean;
|
|
6
|
+
manipulate<T extends TContext>(context: T): T;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=exec.operator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.operator.d.ts","sourceRoot":"","sources":["../../../../src/expectations/operators/exec.operator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,CAAC,OAAO,OAAO,uBAAuB,CAC1C,QAAQ,SAAS,WAAW,CAAC,2BAA2B,CAAC,GAAG,EAAE,CAC9D,SAAQ,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtG,QAAQ,iDAAoD;IAE5D,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO;IAIjC,UAAU,CAAC,CAAC,SAAS,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;CAIrD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const operator_1 = require("../models/operator");
|
|
4
|
+
class ExecExpectationOperator extends operator_1.ExpectationOperator {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.compiled = this.compileExecHandler(this.command, ['utils']);
|
|
8
|
+
}
|
|
9
|
+
match(context) {
|
|
10
|
+
return this.compiled(context) ?? false;
|
|
11
|
+
}
|
|
12
|
+
manipulate(context) {
|
|
13
|
+
this.compiled(context);
|
|
14
|
+
return context;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.default = ExecExpectationOperator;
|
|
18
|
+
//# sourceMappingURL=exec.operator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.operator.js","sourceRoot":"","sources":["../../../../src/expectations/operators/exec.operator.ts"],"names":[],"mappings":";;AAGA,iDAAyD;AAEzD,MAAqB,uBAEnB,SAAQ,8BAAqG;IAF/G;;QAGS,aAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAUrE,CAAC;IARQ,KAAK,CAAC,OAAiB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;IACzC,CAAC;IAEM,UAAU,CAAqB,OAAU;QAC9C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAbD,0CAaC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.operator.spec.d.ts","sourceRoot":"","sources":["../../../../src/expectations/operators/exec.operator.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const __utils__1 = require("../__utils__");
|
|
27
|
+
const operators = __importStar(require("./index"));
|
|
28
|
+
describe('Expectations.Operators.Exec', () => {
|
|
29
|
+
it('should exec by inline serialized command with utils', () => {
|
|
30
|
+
const operator = new operators.$exec(operators, '_.set(context, "incoming.query.test", "foo")');
|
|
31
|
+
const context = operator.manipulate((0, __utils__1.buildExpectationContext)());
|
|
32
|
+
expect(context.incoming.query.test).toEqual('foo');
|
|
33
|
+
});
|
|
34
|
+
it('should exec by multiline serialized command', () => {
|
|
35
|
+
const operator = new operators.$exec(operators, `{
|
|
36
|
+
context.incoming.body.foo.push({ test: 1 });
|
|
37
|
+
context.incoming.body.foo.push({ test: 2 });
|
|
38
|
+
}`);
|
|
39
|
+
const context = operator.manipulate((0, __utils__1.buildExpectationContext)());
|
|
40
|
+
expect(context.incoming.body.foo[2].test).toEqual(1);
|
|
41
|
+
expect(context.incoming.body.foo[3].test).toEqual(2);
|
|
42
|
+
});
|
|
43
|
+
it('should exec by function', () => {
|
|
44
|
+
const operator = new operators.$exec(operators, ({ context }) => {
|
|
45
|
+
context.incoming.query.test = 100;
|
|
46
|
+
});
|
|
47
|
+
const context = operator.manipulate((0, __utils__1.buildExpectationContext)());
|
|
48
|
+
expect(context.incoming.query.test).toEqual(100);
|
|
49
|
+
});
|
|
50
|
+
it('should exec by function with utils', () => {
|
|
51
|
+
const operator = new operators.$exec(operators, ({ context, _ }) => {
|
|
52
|
+
_.set(context, 'incoming.query.test', 100);
|
|
53
|
+
});
|
|
54
|
+
const context = operator.manipulate((0, __utils__1.buildExpectationContext)());
|
|
55
|
+
expect(context.incoming.query.test).toEqual(100);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=exec.operator.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.operator.spec.js","sourceRoot":"","sources":["../../../../src/expectations/operators/exec.operator.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAuD;AACvD,mDAAqC;AAErC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,8CAA8C,CAAC,CAAC;QAChG,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAM,IAAA,kCAAuB,GAAE,CAAC,CAAC;QAEpE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE;;;MAG9C,CAAC,CAAC;QAEJ,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAM,IAAA,kCAAuB,GAAE,CAAC,CAAC;QAEpE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,KAAK,CAA4C,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACzG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAM,IAAA,kCAAuB,GAAE,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,KAAK,CAA4C,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;YAC5G,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAM,IAAA,kCAAuB,GAAE,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ExpectationOperator } from '../models/operator';
|
|
2
|
+
import { CompileExpectationOperatorValue, CompileExpectationOperatorValueWithPredicate, IExpectationOperatorContext, IExpectationOperatorExecUtils, TExpectationOperatorLocation } from '../types';
|
|
3
|
+
export default class HasExpectationOperator<TContext extends PartialDeep<IExpectationOperatorContext> = {}, TLocation extends TExpectationOperatorLocation = TExpectationOperatorLocation, TValue = void> extends ExpectationOperator<TContext, {
|
|
4
|
+
[K in TLocation]: {
|
|
5
|
+
$location: K;
|
|
6
|
+
$path?: string;
|
|
7
|
+
$jsonPath?: string;
|
|
8
|
+
$regExp?: RegExp;
|
|
9
|
+
$regExpAnyOf?: RegExp[];
|
|
10
|
+
$match?: NonNullable<CompileExpectationOperatorValue<TContext, K, TValue>> extends object ? PartialDeep<NonNullable<CompileExpectationOperatorValue<TContext, K, TValue>>> : string;
|
|
11
|
+
$matchAnyOf?: (NonNullable<CompileExpectationOperatorValue<TContext, K, TValue>> extends object ? PartialDeep<NonNullable<CompileExpectationOperatorValue<TContext, K, TValue>>> : string)[];
|
|
12
|
+
$value?: CompileExpectationOperatorValueWithPredicate<TContext, K, TValue>;
|
|
13
|
+
$valueAnyOf?: CompileExpectationOperatorValueWithPredicate<TContext, K, TValue>[];
|
|
14
|
+
$exec?: string | TFunction<boolean, [
|
|
15
|
+
CompileExpectationOperatorValue<TContext, K, TValue>,
|
|
16
|
+
IExpectationOperatorExecUtils<TContext>
|
|
17
|
+
]>;
|
|
18
|
+
};
|
|
19
|
+
}[TLocation]> {
|
|
20
|
+
compiled: {
|
|
21
|
+
exec?: ((context: TContext, ...args: unknown[]) => any) | undefined;
|
|
22
|
+
regExpAnyOf?: RegExp[] | undefined;
|
|
23
|
+
regExp?: RegExp | undefined;
|
|
24
|
+
};
|
|
25
|
+
match(context: TContext): boolean;
|
|
26
|
+
manipulate<T extends TContext>(context: T): T;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=has.operator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has.operator.d.ts","sourceRoot":"","sources":["../../../../src/expectations/operators/has.operator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,+BAA+B,EAC/B,4CAA4C,EAC5C,2BAA2B,EAC3B,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,OAAO,OAAO,sBAAsB,CACzC,QAAQ,SAAS,WAAW,CAAC,2BAA2B,CAAC,GAAG,EAAE,EAC9D,SAAS,SAAS,4BAA4B,GAAG,4BAA4B,EAC7E,MAAM,GAAG,IAAI,CACb,SAAQ,mBAAmB,CAC3B,QAAQ,EACR;KACG,CAAC,IAAI,SAAS,GAAG;QAChB,SAAS,EAAE,CAAC,CAAC;QAEb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAExB,MAAM,CAAC,EAAE,WAAW,CAAC,+BAA+B,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS,MAAM,GACrF,WAAW,CAAC,WAAW,CAAC,+BAA+B,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAC9E,MAAM,CAAC;QAEX,WAAW,CAAC,EAAE,CACZ,WAAW,CAAC,+BAA+B,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS,MAAM,GAC5E,WAAW,CAAC,WAAW,CAAC,+BAA+B,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAC9E,MAAM,CACX,EAAE,CAAC;QAEJ,MAAM,CAAC,EAAE,4CAA4C,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3E,WAAW,CAAC,EAAE,4CAA4C,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QAElF,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE;YAClC,+BAA+B,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC;YACpD,6BAA6B,CAAC,QAAQ,CAAC;SACxC,CAAC,CAAC;KACJ;CACF,CAAC,SAAS,CAAC,CACb;IACQ,QAAQ;;;;MAYb;IAEK,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO;IA2GjC,UAAU,CAAC,CAAC,SAAS,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;CAGrD"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const minimatch_1 = __importDefault(require("minimatch"));
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const utils_1 = require("../utils");
|
|
9
|
+
const utils_2 = require("../../utils");
|
|
10
|
+
const operator_1 = require("../models/operator");
|
|
11
|
+
class HasExpectationOperator extends operator_1.ExpectationOperator {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.compiled = {
|
|
15
|
+
...(this.command.$regExp && {
|
|
16
|
+
regExp: new RegExp(this.command.$regExp.source, this.command.$regExp.flags)
|
|
17
|
+
}),
|
|
18
|
+
...(this.command.$regExpAnyOf && {
|
|
19
|
+
regExpAnyOf: this.command.$regExpAnyOf.map((exp) => new RegExp(exp.source, exp.flags)),
|
|
20
|
+
}),
|
|
21
|
+
...(this.command.$exec && {
|
|
22
|
+
exec: this.compileExecHandler(this.command.$exec, ['payload', 'utils']),
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
match(context) {
|
|
27
|
+
const payload = (0, utils_1.extractContextByLocation)(this.command.$location, context);
|
|
28
|
+
if (!payload) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
switch (payload.type) {
|
|
32
|
+
case 'string': {
|
|
33
|
+
if (this.command.$value !== undefined) {
|
|
34
|
+
return payload.value === this.command.$value;
|
|
35
|
+
}
|
|
36
|
+
if (this.command.$valueAnyOf) {
|
|
37
|
+
return this.command.$valueAnyOf.some((value) => payload.value === value);
|
|
38
|
+
}
|
|
39
|
+
if (this.compiled.regExp) {
|
|
40
|
+
return this.compiled.regExp.test(payload.value);
|
|
41
|
+
}
|
|
42
|
+
if (this.compiled.regExpAnyOf) {
|
|
43
|
+
return this.compiled.regExpAnyOf.some((regExp) => regExp.test(payload.value));
|
|
44
|
+
}
|
|
45
|
+
if (typeof this.command.$match === 'string') {
|
|
46
|
+
return (0, minimatch_1.default)(payload.value, this.command.$match);
|
|
47
|
+
}
|
|
48
|
+
if (this.command.$matchAnyOf) {
|
|
49
|
+
return this.command.$matchAnyOf.some((pattern) => (0, minimatch_1.default)(payload.value, String(pattern)));
|
|
50
|
+
}
|
|
51
|
+
if (this.compiled.exec) {
|
|
52
|
+
return this.compiled.exec(context, payload.value) === true;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
case 'number': {
|
|
56
|
+
if (this.command.$value !== undefined) {
|
|
57
|
+
return payload.value === this.command.$value;
|
|
58
|
+
}
|
|
59
|
+
if (this.command.$valueAnyOf) {
|
|
60
|
+
return this.command.$valueAnyOf.some((value) => payload.value === value);
|
|
61
|
+
}
|
|
62
|
+
if (typeof this.command.$match === 'string') {
|
|
63
|
+
return (0, minimatch_1.default)(String(payload.value), this.command.$match);
|
|
64
|
+
}
|
|
65
|
+
if (this.command.$matchAnyOf) {
|
|
66
|
+
const value = String(payload.value);
|
|
67
|
+
return this.command.$matchAnyOf.some((pattern) => (0, minimatch_1.default)(value, String(pattern)));
|
|
68
|
+
}
|
|
69
|
+
if (this.compiled.exec) {
|
|
70
|
+
return this.compiled.exec(context, payload.value) === true;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
case 'object': {
|
|
74
|
+
if (this.command.$path && !lodash_1.default.has(payload.value, this.command.$path)) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
const values = (this.command.$path
|
|
78
|
+
? [lodash_1.default.get(payload.value, this.command.$path)]
|
|
79
|
+
: this.command.$jsonPath
|
|
80
|
+
? (0, utils_2.extractWithJsonPathSafe)({ path: this.command.$jsonPath, json: payload.value }).results?.map(({ value }) => value)
|
|
81
|
+
: [payload.value]) ?? [];
|
|
82
|
+
if (this.command.$value !== undefined) {
|
|
83
|
+
return values.every((value) => lodash_1.default.isEqual(this.command.$value, value));
|
|
84
|
+
}
|
|
85
|
+
if (this.command.$valueAnyOf) {
|
|
86
|
+
return values.every((source) => this.command.$valueAnyOf.some((target) => lodash_1.default.isEqual(source, target)));
|
|
87
|
+
}
|
|
88
|
+
if (this.compiled.regExp) {
|
|
89
|
+
return values.every((value) => this.compiled.regExp.test(String(value)));
|
|
90
|
+
}
|
|
91
|
+
if (this.compiled.regExpAnyOf) {
|
|
92
|
+
return values.every((value) => this.compiled.regExpAnyOf.some((exp) => exp.test(String(value))));
|
|
93
|
+
}
|
|
94
|
+
if (typeof this.command.$match === 'string') {
|
|
95
|
+
return values.every((value) => (0, minimatch_1.default)(String(value), this.command.$match));
|
|
96
|
+
}
|
|
97
|
+
if (typeof this.command.$match === 'object') {
|
|
98
|
+
return values.every((value) => lodash_1.default.isMatch(value, this.command.$match));
|
|
99
|
+
}
|
|
100
|
+
if (typeof this.command.$matchAnyOf?.[0] === 'string') {
|
|
101
|
+
return values.every((value) => this.command.$matchAnyOf.some((pattern) => (0, minimatch_1.default)(String(value), String(pattern))));
|
|
102
|
+
}
|
|
103
|
+
if (typeof this.command.$matchAnyOf?.[0] === 'object') {
|
|
104
|
+
return values.every((value) => this.command.$matchAnyOf.some((target) => lodash_1.default.isMatch(value, target)));
|
|
105
|
+
}
|
|
106
|
+
if (this.compiled.exec) {
|
|
107
|
+
return values.every((value) => this.compiled.exec(context, value) === true);
|
|
108
|
+
}
|
|
109
|
+
return values.length !== 0;
|
|
110
|
+
}
|
|
111
|
+
default: return false;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
manipulate(context) {
|
|
115
|
+
return context;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.default = HasExpectationOperator;
|
|
119
|
+
//# sourceMappingURL=has.operator.js.map
|