ml-testing-toolkit 18.13.0

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 (319) hide show
  1. package/.dockerignore +10 -0
  2. package/.grype.yaml +16 -0
  3. package/.ncurc.yaml +9 -0
  4. package/.nvmrc +1 -0
  5. package/.versionrc.js +16 -0
  6. package/CHANGELOG.md +504 -0
  7. package/CODEOWNERS +30 -0
  8. package/Dockerfile +42 -0
  9. package/Dockerfile-newman +13 -0
  10. package/LICENSE.md +9 -0
  11. package/README.md +119 -0
  12. package/assets/diagrams/architectural/architectural-diagram.svg +3 -0
  13. package/assets/diagrams/flow/flow-diagram.svg +3 -0
  14. package/assets/images/Sample-Response-Failure.png +0 -0
  15. package/assets/images/Screenshot 2020-04-16 at 22.58.04.png +0 -0
  16. package/assets/images/TLS-Enabled-on-Environment.png +0 -0
  17. package/assets/images/adapter-mutual-tls-enabled.png +0 -0
  18. package/assets/images/add-additional-input-values.png +0 -0
  19. package/assets/images/add-condition-button.png +0 -0
  20. package/assets/images/add-new-assertion.png +0 -0
  21. package/assets/images/add-new-input-value.png +0 -0
  22. package/assets/images/add-new-input-variable.png +0 -0
  23. package/assets/images/additional-transfers.png +0 -0
  24. package/assets/images/api-provisioning-add-new-api-confirmation.png +0 -0
  25. package/assets/images/api-provisioning-file-input-window.png +0 -0
  26. package/assets/images/api-provisioning-list-apis-view.png +0 -0
  27. package/assets/images/api-provisioning-menu-item.png +0 -0
  28. package/assets/images/apply_and_restart.jpg +0 -0
  29. package/assets/images/assess-request-or-response.png +0 -0
  30. package/assets/images/assess-response-equation-save.png +0 -0
  31. package/assets/images/assess-response-equation.png +0 -0
  32. package/assets/images/assess-response-status.png +0 -0
  33. package/assets/images/building-new-rules-file.png +0 -0
  34. package/assets/images/callback-rules-screen.png +0 -0
  35. package/assets/images/configurable-parameter-assertion.png +0 -0
  36. package/assets/images/configurable-parameter-currency.png +0 -0
  37. package/assets/images/configurable-parameter.png +0 -0
  38. package/assets/images/connection-manager-ui-opening.png +0 -0
  39. package/assets/images/create-inbound-user-simulator.png +0 -0
  40. package/assets/images/creating-new-rule-file.png +0 -0
  41. package/assets/images/dfsp-client-cacert.png +0 -0
  42. package/assets/images/dfsp-client-submit.png +0 -0
  43. package/assets/images/dfsp-client.png +0 -0
  44. package/assets/images/dfsp-p2p-happy-path.png +0 -0
  45. package/assets/images/dfsp-server-cacert.png +0 -0
  46. package/assets/images/dfsp-server-cert.png +0 -0
  47. package/assets/images/download-report.png +0 -0
  48. package/assets/images/drive_have_not_been_shared.jpg +0 -0
  49. package/assets/images/event-response-options.png +0 -0
  50. package/assets/images/expand-monitoring-messages.png +0 -0
  51. package/assets/images/fixed-response-sample.png +0 -0
  52. package/assets/images/header-selection.png +0 -0
  53. package/assets/images/heap_error_windows.jpg +0 -0
  54. package/assets/images/hosted-mode-docker-compose-intro.png +0 -0
  55. package/assets/images/hub-client-cert.png +0 -0
  56. package/assets/images/import-template.png +0 -0
  57. package/assets/images/inbound-requests-environment.png +0 -0
  58. package/assets/images/inbound-requests-scripts.png +0 -0
  59. package/assets/images/jws-certificate-submit.png +0 -0
  60. package/assets/images/jws-certificate.png +0 -0
  61. package/assets/images/jws-certs-keys.png +0 -0
  62. package/assets/images/jws-hub-certs-keys.png +0 -0
  63. package/assets/images/local-enable-jws-publickey.png +0 -0
  64. package/assets/images/local-mutual-tls-enabled.png +0 -0
  65. package/assets/images/local_drives_to_be_available.jpg +0 -0
  66. package/assets/images/mcm-environment-opening.png +0 -0
  67. package/assets/images/menu-items.png +0 -0
  68. package/assets/images/mock-response-sample.png +0 -0
  69. package/assets/images/monitoring-initial-state.png +0 -0
  70. package/assets/images/monitoring-messages.png +0 -0
  71. package/assets/images/new-empty-assertion.png +0 -0
  72. package/assets/images/opened-imported-template.png +0 -0
  73. package/assets/images/opening-default-settings.png +0 -0
  74. package/assets/images/opening-sync-response-rules.png +0 -0
  75. package/assets/images/opening-view.png +0 -0
  76. package/assets/images/outbound-display-opening-hub.png +0 -0
  77. package/assets/images/outbound-display-opening.png +0 -0
  78. package/assets/images/override-with-environment-variable.png +0 -0
  79. package/assets/images/populate-with-sample-body.png +0 -0
  80. package/assets/images/resource-selection.png +0 -0
  81. package/assets/images/rule-builder-select-api.png +0 -0
  82. package/assets/images/sample-condition-add-configurable-params.png +0 -0
  83. package/assets/images/sample-condition.png +0 -0
  84. package/assets/images/sample-editor.png +0 -0
  85. package/assets/images/sample-request.png +0 -0
  86. package/assets/images/sample-test-assertion.png +0 -0
  87. package/assets/images/send-transfer.png +0 -0
  88. package/assets/images/sending-single-test-case-1.png +0 -0
  89. package/assets/images/sending-single-test-case-2.png +0 -0
  90. package/assets/images/sending-test-cases.png +0 -0
  91. package/assets/images/server-certificates-submitted.png +0 -0
  92. package/assets/images/simulator-response.png +0 -0
  93. package/assets/images/simulator-scheme-adapter-endpoint.png +0 -0
  94. package/assets/images/summarized-view-of-rule.png +0 -0
  95. package/assets/images/template-window.png +0 -0
  96. package/assets/images/test-case-editor-console-log.png +0 -0
  97. package/assets/images/test-case-editor-environment-state.png +0 -0
  98. package/assets/images/test-case-editor-scripts.png +0 -0
  99. package/assets/images/test-case-editor.png +0 -0
  100. package/assets/images/testcase-definition-download.png +0 -0
  101. package/assets/images/testcase-definition-edit-meta-info.png +0 -0
  102. package/assets/images/testing-toolkit-mojaloop-testing-toolkit-endpoint.png +0 -0
  103. package/assets/images/tls-hub-certs-keys.png +0 -0
  104. package/assets/images/tls-jws-enabled-on-environment.png +0 -0
  105. package/assets/images/updated-sample-body-data.png +0 -0
  106. package/assets/images/using-configurable-parameter.png +0 -0
  107. package/assets/images/validation-rules-screen.png +0 -0
  108. package/assets/images/view-response.png +0 -0
  109. package/audit-ci.jsonc +7 -0
  110. package/connection-manager/docker-compose.yml +55 -0
  111. package/database/docker-compose.yml +16 -0
  112. package/docker/hosted-mode/docker-compose.yaml +107 -0
  113. package/docker/hosted-mode/keycloak/keycloak-realm.json +2298 -0
  114. package/docker/hosted-mode/mongo-init.sh +1 -0
  115. package/docker/hosted-mode-tls/docker-compose.yaml +171 -0
  116. package/docker/hosted-mode-tls/keycloak/keycloak-realm.json +2298 -0
  117. package/docker/hosted-mode-tls/mongo-init.sh +1 -0
  118. package/docker-compose.yml +62 -0
  119. package/documents/Mojaloop-Testing-Toolkit.md +296 -0
  120. package/documents/RULES_ENGINE.md +403 -0
  121. package/documents/User-Guide-API-Provisioning.md +121 -0
  122. package/documents/User-Guide-CLI.md +218 -0
  123. package/documents/User-Guide-Connection-Manager.md +282 -0
  124. package/documents/User-Guide-Frequently-Asked-Questions.md +39 -0
  125. package/documents/User-Guide-Hosted-Mode-Docker-Compose.md +110 -0
  126. package/documents/User-Guide-Installation.md +163 -0
  127. package/documents/User-Guide-Mojaloop-Testing-Toolkit.md +642 -0
  128. package/documents/User-Guide-OAuth-Server-Deployment.md +283 -0
  129. package/documents/User-Guide-Onboarding-DFSP.md +197 -0
  130. package/documents/User-Guide-Onboarding-HUB.md +191 -0
  131. package/documents/User-Guide.md +53 -0
  132. package/examples/collections/dfsp/p2p_failed_tests.json +7161 -0
  133. package/examples/collections/dfsp/p2p_fx_happy_path.json +502 -0
  134. package/examples/collections/dfsp/p2p_happy_path.json +350 -0
  135. package/examples/collections/dfsp/p2p_happy_path_extended.json +6106 -0
  136. package/examples/collections/dfsp/p2p_happy_path_jws.json +511 -0
  137. package/examples/collections/dfsp/p2p_payee_assertions_websocket.json +441 -0
  138. package/examples/collections/dfsp/sample.json +5029 -0
  139. package/examples/collections/dfsp/transaction_request_service.json +240 -0
  140. package/examples/collections/fxp/FXP.json +264 -0
  141. package/examples/collections/fxp/SDK_backend.json +98 -0
  142. package/examples/collections/fxp/SDK_outbound.json +163 -0
  143. package/examples/collections/hub/hub_01_p2p_happy_path/hub_p2p_receive_quote.json +400 -0
  144. package/examples/collections/hub/hub_01_p2p_happy_path/hub_p2p_send_quote.json +395 -0
  145. package/examples/collections/hub/hub_02_block_transfer/hub_block_transfer.json +393 -0
  146. package/examples/collections/hub/hub_03_funds_in_out/hub_funds_in.json +224 -0
  147. package/examples/collections/hub/hub_03_funds_in_out/hub_funds_out.json +780 -0
  148. package/examples/collections/hub/hub_04_settlements/hub_settlements.json +3138 -0
  149. package/examples/collections/hub/hub_05_transfer_negative_scenarios/hub_transfer_negative_payee_abort.json +475 -0
  150. package/examples/collections/hub/hub_05_transfer_negative_scenarios/hub_transfer_negative_payee_invalid_fulfillment.json +370 -0
  151. package/examples/collections/hub/hub_05_transfer_negative_scenarios/hub_transfer_negative_transfer_timeout.json +262 -0
  152. package/examples/collections/hub/hub_06_transaction_requests_service/hub_trs_authorizations.json +117 -0
  153. package/examples/collections/hub/hub_06_transaction_requests_service/hub_trs_error_framework.json +591 -0
  154. package/examples/collections/hub/hub_06_transaction_requests_service/hub_trs_received_state.json +379 -0
  155. package/examples/collections/hub/hub_06_transaction_requests_service/hub_trs_reject_state.json +361 -0
  156. package/examples/collections/hub/hub_07_quoting_service.json +525 -0
  157. package/examples/collections/hub/hub_08_participant_inactive_stop_transfers.json +706 -0
  158. package/examples/collections/hub/hub_09_duplicate_handling_transfers.json +1377 -0
  159. package/examples/collections/hub/hub_10_on_us_transfers.json +245 -0
  160. package/examples/collections/hub/hub_11_accented_and_spl_chars.json +629 -0
  161. package/examples/collections/hub/hub_12_fspiop_version_1.1.json +646 -0
  162. package/examples/collections/hub/hub_13_bulk_transfers.json +1857 -0
  163. package/examples/collections/iso20022/self_referencing_iso20022.json +926 -0
  164. package/examples/collections/provisioning/testingtoolkitdfsp.json +904 -0
  165. package/examples/environments/dfsp_local_environment.json +46 -0
  166. package/examples/environments/hub_local_environment.json +57 -0
  167. package/jest.config.js +17 -0
  168. package/package.json +199 -0
  169. package/sbom-v18.12.4.csv +1553 -0
  170. package/secrets/keygen.sh +5 -0
  171. package/secrets/privatekey.pem +27 -0
  172. package/secrets/publickey.cer +21 -0
  173. package/secrets/tls/01.pem +132 -0
  174. package/secrets/tls/createSecrets.sh +20 -0
  175. package/secrets/tls/hub_client.csr +32 -0
  176. package/secrets/tls/hub_client_cacert.pem +35 -0
  177. package/secrets/tls/hub_client_cakey.pem +52 -0
  178. package/secrets/tls/hub_client_key.key +52 -0
  179. package/secrets/tls/hub_server.csr +31 -0
  180. package/secrets/tls/hub_server_cacert.pem +35 -0
  181. package/secrets/tls/hub_server_cakey.pem +52 -0
  182. package/secrets/tls/hub_server_cert.pem +132 -0
  183. package/secrets/tls/hub_server_key.key +52 -0
  184. package/secrets/tls/index.txt +1 -0
  185. package/secrets/tls/index.txt.attr +1 -0
  186. package/secrets/tls/openssl-client.cnf +36 -0
  187. package/secrets/tls/openssl-clientca.cnf +71 -0
  188. package/secrets/tls/openssl-server.cnf +39 -0
  189. package/secrets/tls/openssl-serverca.cnf +71 -0
  190. package/secrets/tls/serial.txt +1 -0
  191. package/spec_files/api_definitions/als_admin_1.1/api_spec.yaml +804 -0
  192. package/spec_files/api_definitions/central_admin_1.0/api_spec.yaml +1850 -0
  193. package/spec_files/api_definitions/central_admin_1.0/response_map.json +96 -0
  194. package/spec_files/api_definitions/central_admin_old_9.3/api_spec.yaml +2467 -0
  195. package/spec_files/api_definitions/central_admin_old_9.3/response_map.json +96 -0
  196. package/spec_files/api_definitions/fspiop_1.0/api_spec.yaml +4187 -0
  197. package/spec_files/api_definitions/fspiop_1.0/callback_map.json +568 -0
  198. package/spec_files/api_definitions/fspiop_1.0/mockRef.json +79 -0
  199. package/spec_files/api_definitions/fspiop_1.0/trigger_templates/transaction_request_followup.json +126 -0
  200. package/spec_files/api_definitions/fspiop_1.0/trigger_templates/transaction_request_followup_quotes_only.json +97 -0
  201. package/spec_files/api_definitions/fspiop_1.1/api_spec.yaml +3778 -0
  202. package/spec_files/api_definitions/fspiop_1.1/callback_map.json +568 -0
  203. package/spec_files/api_definitions/fspiop_1.1/mockRef.json +79 -0
  204. package/spec_files/api_definitions/fspiop_1.1/trigger_templates/transaction_request_followup.json +125 -0
  205. package/spec_files/api_definitions/fspiop_2.0/api_spec.yaml +4839 -0
  206. package/spec_files/api_definitions/fspiop_2.0/callback_map.json +716 -0
  207. package/spec_files/api_definitions/fspiop_2.0/mockRef.json +79 -0
  208. package/spec_files/api_definitions/fspiop_2.0/trigger_templates/transaction_request_followup.json +125 -0
  209. package/spec_files/api_definitions/fspiop_2.0_iso20022/api_spec.yaml +8331 -0
  210. package/spec_files/api_definitions/fspiop_2.0_iso20022/callback_map.json +508 -0
  211. package/spec_files/api_definitions/fspiop_2.0_iso20022/mockRef.json +66 -0
  212. package/spec_files/api_definitions/fx-api_2.0/api_spec.yaml +1768 -0
  213. package/spec_files/api_definitions/fx-api_2.0/callback_map.json +188 -0
  214. package/spec_files/api_definitions/fx-api_2.0/mockRef.json +83 -0
  215. package/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml +2612 -0
  216. package/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/mockRef.json +22 -0
  217. package/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/response_map.json +35 -0
  218. package/spec_files/api_definitions/mojaloop_simulator_0.1/api_spec.yaml +225 -0
  219. package/spec_files/api_definitions/mojaloop_simulator_sim_1.4/api_spec.yaml +1087 -0
  220. package/spec_files/api_definitions/mojaloop_simulator_sim_1.4/mockRef.json +75 -0
  221. package/spec_files/api_definitions/mojaloop_simulator_sim_1.4/response_map.json +55 -0
  222. package/spec_files/api_definitions/payment_manager_1.4/api_spec.yaml +1389 -0
  223. package/spec_files/api_definitions/sdk-scheme-adapter-backend-v2_1_0-openapi3-snippets_2.1/api_spec.yaml +2834 -0
  224. package/spec_files/api_definitions/sdk-scheme-adapter-outbound-v2_1_0-openapi3-snippets_2.1/api_spec.yaml +3449 -0
  225. package/spec_files/api_definitions/settlements_1.0/api_spec.yaml +983 -0
  226. package/spec_files/api_definitions/settlements_1.0/mockRef.json +38 -0
  227. package/spec_files/api_definitions/settlements_1.0/response_map.json +34 -0
  228. package/spec_files/api_definitions/settlements_2.0/api_spec.yaml +1001 -0
  229. package/spec_files/api_definitions/settlements_2.0/mockRef.json +38 -0
  230. package/spec_files/api_definitions/settlements_2.0/response_map.json +34 -0
  231. package/spec_files/api_definitions/thirdparty_sdk_outbound_0.1/api_spec.yaml +2139 -0
  232. package/spec_files/reports/templates/newman/html_template.html +1202 -0
  233. package/spec_files/reports/templates/newman/pdf_template.html +790 -0
  234. package/spec_files/reports/templates/testcase_definition/table_view.html +1602 -0
  235. package/spec_files/rules_callback/config.json +3 -0
  236. package/spec_files/rules_callback/default.json +2698 -0
  237. package/spec_files/rules_callback/p2p-limit.json +129 -0
  238. package/spec_files/rules_forward/config.json +3 -0
  239. package/spec_files/rules_forward/default.json +482 -0
  240. package/spec_files/rules_response/config.json +3 -0
  241. package/spec_files/rules_response/default.json +295 -0
  242. package/spec_files/rules_validation/config.json +3 -0
  243. package/spec_files/rules_validation/default.json +1 -0
  244. package/spec_files/rules_validation/p2p-limit.json +55 -0
  245. package/spec_files/system_config.json +175 -0
  246. package/spec_files/user_config.json +109 -0
  247. package/src/index.js +67 -0
  248. package/src/lib/MyEventEmitter.js +54 -0
  249. package/src/lib/api-management.js +143 -0
  250. package/src/lib/api-routes/config.js +83 -0
  251. package/src/lib/api-routes/history.js +139 -0
  252. package/src/lib/api-routes/keycloak.js +54 -0
  253. package/src/lib/api-routes/longpolling.js +70 -0
  254. package/src/lib/api-routes/oauth2.js +149 -0
  255. package/src/lib/api-routes/objectstore.js +53 -0
  256. package/src/lib/api-routes/openapi.js +224 -0
  257. package/src/lib/api-routes/outbound.js +134 -0
  258. package/src/lib/api-routes/reports.js +72 -0
  259. package/src/lib/api-routes/rules.js +356 -0
  260. package/src/lib/api-routes/samples.js +92 -0
  261. package/src/lib/api-routes/server-logs.js +44 -0
  262. package/src/lib/api-routes/settings.js +71 -0
  263. package/src/lib/api-server.js +135 -0
  264. package/src/lib/arrayStore.js +101 -0
  265. package/src/lib/callbackHandler.js +201 -0
  266. package/src/lib/config.js +177 -0
  267. package/src/lib/configuration-providers/mb-connection-manager.js +625 -0
  268. package/src/lib/db/adapters/dbAdapter.js +184 -0
  269. package/src/lib/db/dfspMockUsers.js +64 -0
  270. package/src/lib/db/models/mongoDBWrapper.js +78 -0
  271. package/src/lib/eventListenerClient/inboundEventListener.js +176 -0
  272. package/src/lib/fileAdapter.js +57 -0
  273. package/src/lib/httpAgentStore.js +135 -0
  274. package/src/lib/importExport.js +186 -0
  275. package/src/lib/jws/JwsSigning.js +141 -0
  276. package/src/lib/loadSamples.js +128 -0
  277. package/src/lib/logger.js +20 -0
  278. package/src/lib/longpollingEmitter.js +56 -0
  279. package/src/lib/metrics.js +51 -0
  280. package/src/lib/mocking/custom-functions/generic.js +57 -0
  281. package/src/lib/mocking/middleware-functions/ilpModel.js +238 -0
  282. package/src/lib/mocking/middleware-functions/quotesAssociation.js +75 -0
  283. package/src/lib/mocking/middleware-functions/transactionRequestsService.js +78 -0
  284. package/src/lib/mocking/openApiDefinitionsModel.js +64 -0
  285. package/src/lib/mocking/openApiMockHandler.js +466 -0
  286. package/src/lib/mocking/openApiRulesEngine.js +492 -0
  287. package/src/lib/mocking/openApiVersionTools.js +136 -0
  288. package/src/lib/mocking/transformers/fspiopToISO20022.js +230 -0
  289. package/src/lib/mocking/transformers/index.js +41 -0
  290. package/src/lib/notificationEmitter.js +64 -0
  291. package/src/lib/oauth/KeycloakHelper.js +220 -0
  292. package/src/lib/oauth/LoginService.js +133 -0
  293. package/src/lib/oauth/OAuthHelper.js +181 -0
  294. package/src/lib/oauth/OAuthValidator.js +118 -0
  295. package/src/lib/oauth/Wso2Client.js +64 -0
  296. package/src/lib/objectStore/inMemoryImpl.js +50 -0
  297. package/src/lib/objectStore/objectStoreInterface.js +51 -0
  298. package/src/lib/objectStore.js +122 -0
  299. package/src/lib/report-generator/generator.js +126 -0
  300. package/src/lib/report-generator/helpers.js +154 -0
  301. package/src/lib/requestLogger.js +190 -0
  302. package/src/lib/resources/wso2carbon-publickey.cert +20 -0
  303. package/src/lib/rulesEngine.js +95 -0
  304. package/src/lib/rulesEngineModel.js +463 -0
  305. package/src/lib/scripting-engines/postman-sandbox.js +142 -0
  306. package/src/lib/scripting-engines/vm-javascript-sandbox.js +294 -0
  307. package/src/lib/server-logs/adapters/elastic-search.js +102 -0
  308. package/src/lib/server-logs/adapters/grafana.js +0 -0
  309. package/src/lib/server-logs/index.js +75 -0
  310. package/src/lib/socket-server.js +55 -0
  311. package/src/lib/storageAdapter.js +109 -0
  312. package/src/lib/test-outbound/TestCaseRunner.js +173 -0
  313. package/src/lib/test-outbound/getTracing.js +19 -0
  314. package/src/lib/test-outbound/outbound-initiator.js +1107 -0
  315. package/src/lib/uniqueIdGenerator.js +35 -0
  316. package/src/lib/utils.js +89 -0
  317. package/src/lib/utilsInternal.js +56 -0
  318. package/src/lib/webSocketClient/WebSocketClientManager.js +197 -0
  319. package/src/server.js +218 -0
@@ -0,0 +1,295 @@
1
+ [
2
+ {
3
+ "type": "response",
4
+ "version": 1,
5
+ "ruleId": 1,
6
+ "priority": 1,
7
+ "description": "post /settlementWindows/{id}",
8
+ "apiVersion": {
9
+ "minorVersion": 0,
10
+ "majorVersion": 1,
11
+ "type": "settlements",
12
+ "asynchronous": false
13
+ },
14
+ "conditions": {
15
+ "all": [
16
+ {
17
+ "fact": "operationPath",
18
+ "operator": "equal",
19
+ "value": "/settlementWindows/{id}"
20
+ },
21
+ {
22
+ "fact": "method",
23
+ "operator": "equal",
24
+ "value": "post"
25
+ }
26
+ ]
27
+ },
28
+ "event": {
29
+ "method": null,
30
+ "path": null,
31
+ "params": {
32
+ "body": {
33
+ "state": "OPEN"
34
+ },
35
+ "statusCode": "200"
36
+ },
37
+ "delay": 0,
38
+ "type": "MOCK_RESPONSE"
39
+ }
40
+ },
41
+ {
42
+ "type": "response",
43
+ "version": 1,
44
+ "ruleId": 3,
45
+ "priority": 1,
46
+ "description": "post /settlements",
47
+ "apiVersion": {
48
+ "minorVersion": 0,
49
+ "majorVersion": 1,
50
+ "type": "settlements",
51
+ "asynchronous": false
52
+ },
53
+ "conditions": {
54
+ "all": [
55
+ {
56
+ "fact": "operationPath",
57
+ "operator": "equal",
58
+ "value": "/settlements"
59
+ },
60
+ {
61
+ "fact": "method",
62
+ "operator": "equal",
63
+ "value": "post"
64
+ }
65
+ ]
66
+ },
67
+ "event": {
68
+ "method": null,
69
+ "path": null,
70
+ "params": {
71
+ "body": {
72
+ "id": "123",
73
+ "state": "PENDING_SETTLEMENT",
74
+ "settlementWindows": [
75
+ [
76
+ {
77
+ "id": 123,
78
+ "createdDate": "1954-11-03",
79
+ "state": "PENDING_SETTLEMENT",
80
+ "reason": "do",
81
+ "changedDate": "1954-11-03"
82
+ }
83
+ ]
84
+ ],
85
+ "participants": [
86
+ {
87
+ "id": -91450113,
88
+ "accounts": [
89
+ {
90
+ "id": 81795155,
91
+ "reason": "veniam est proident commodo aliqua",
92
+ "state": "PENDING_SETTLEMENT",
93
+ "netSettlementAmount": {
94
+ "amount": 100,
95
+ "currency": "USD"
96
+ }
97
+ }
98
+ ]
99
+ }
100
+ ]
101
+ },
102
+ "statusCode": "200"
103
+ },
104
+ "delay": 0,
105
+ "type": "FIXED_RESPONSE"
106
+ }
107
+ },
108
+ {
109
+ "type": "response",
110
+ "version": 1,
111
+ "ruleId": 4,
112
+ "priority": 1,
113
+ "description": "get /settlements/{id}",
114
+ "apiVersion": {
115
+ "minorVersion": 0,
116
+ "majorVersion": 1,
117
+ "type": "settlements",
118
+ "asynchronous": false
119
+ },
120
+ "conditions": {
121
+ "all": [
122
+ {
123
+ "fact": "operationPath",
124
+ "operator": "equal",
125
+ "value": "/settlements/{id}"
126
+ },
127
+ {
128
+ "fact": "method",
129
+ "operator": "equal",
130
+ "value": "get"
131
+ }
132
+ ]
133
+ },
134
+ "event": {
135
+ "method": null,
136
+ "path": null,
137
+ "params": {
138
+ "body": {
139
+ "id": "{$request.params.id}",
140
+ "state": "PS_TRANSFERS_RECORDED",
141
+ "settlementWindows": [
142
+ [
143
+ {
144
+ "createdDate": "2020-02-10",
145
+ "id": "{$request.params.id}",
146
+ "state": "PS_TRANSFERS_RECORDED",
147
+ "reason": "amet cillum culpa v",
148
+ "changedDate": "2020-02-10"
149
+ }
150
+ ]
151
+ ],
152
+ "participants": [
153
+ {
154
+ "id": -35933071,
155
+ "accounts": [
156
+ {
157
+ "id": -14386227,
158
+ "reason": "aliquip aliqua nulla deserunt",
159
+ "state": "PS_TRANSFERS_RECORDED",
160
+ "netSettlementAmount": {
161
+ "amount": 100,
162
+ "currency": "USD"
163
+ }
164
+ }
165
+ ]
166
+ }
167
+ ]
168
+ },
169
+ "statusCode": "200"
170
+ },
171
+ "delay": 0,
172
+ "type": "FIXED_RESPONSE"
173
+ }
174
+ },
175
+ {
176
+ "type": "response",
177
+ "version": 1,
178
+ "ruleId": 5,
179
+ "priority": 1,
180
+ "description": "get /settlementWindows",
181
+ "apiVersion": {
182
+ "minorVersion": 0,
183
+ "majorVersion": 1,
184
+ "type": "settlements",
185
+ "asynchronous": false
186
+ },
187
+ "conditions": {
188
+ "all": [
189
+ {
190
+ "fact": "operationPath",
191
+ "operator": "equal",
192
+ "value": "/settlementWindows"
193
+ },
194
+ {
195
+ "fact": "method",
196
+ "operator": "equal",
197
+ "value": "get"
198
+ }
199
+ ]
200
+ },
201
+ "event": {
202
+ "method": null,
203
+ "path": null,
204
+ "params": {
205
+ "body": [
206
+ {
207
+ "createdDate": "2020-02-10",
208
+ "id": 123,
209
+ "state": "{$request.query.state}",
210
+ "reason": "string",
211
+ "changedDate": "2020-02-10"
212
+ }
213
+ ],
214
+ "statusCode": "200"
215
+ },
216
+ "delay": 0,
217
+ "type": "FIXED_RESPONSE"
218
+ }
219
+ },
220
+ {
221
+ "ruleId": 6,
222
+ "priority": 1,
223
+ "description": "post /sdk-backend/fxQuotes",
224
+ "apiVersion": {
225
+ "minorVersion": 1,
226
+ "majorVersion": 2,
227
+ "type": "sdk-scheme-adapter-backend-v2_1_0-openapi3-snippets",
228
+ "asynchronous": false,
229
+ "prefix": "/sdk-backend",
230
+ "additionalApi": true,
231
+ "specFile": "spec_files/api_definitions/sdk-scheme-adapter-backend-v2_1_0-openapi3-snippets_2.1/api_spec.yaml",
232
+ "callbackMapFile": "spec_files/api_definitions/sdk-scheme-adapter-backend-v2_1_0-openapi3-snippets_2.1/callback_map.json",
233
+ "responseMapFile": "spec_files/api_definitions/sdk-scheme-adapter-backend-v2_1_0-openapi3-snippets_2.1/response_map.json",
234
+ "jsfRefFile": "spec_files/api_definitions/sdk-scheme-adapter-backend-v2_1_0-openapi3-snippets_2.1/mockRef.json",
235
+ "triggerTemplatesFolder": "spec_files/api_definitions/sdk-scheme-adapter-backend-v2_1_0-openapi3-snippets_2.1/trigger_templates"
236
+ },
237
+ "conditions": {
238
+ "all": [
239
+ {
240
+ "fact": "operationPath",
241
+ "operator": "equal",
242
+ "value": "/fxQuotes"
243
+ },
244
+ {
245
+ "fact": "method",
246
+ "operator": "equal",
247
+ "value": "post"
248
+ }
249
+ ]
250
+ },
251
+ "event": {
252
+ "method": null,
253
+ "path": null,
254
+ "params": {
255
+ "body": {
256
+ "conversionTerms": {
257
+ "conversionId": "581f68ef-b54f-416f-9161-ac34e889a84b",
258
+ "initiatingFsp": "PayerFSP",
259
+ "counterPartyFsp": "FDH_FX",
260
+ "amountType": "SEND",
261
+ "sourceAmount": {
262
+ "currency": "BWP",
263
+ "amount": "300"
264
+ },
265
+ "targetAmount": {
266
+ "currency": "TZS",
267
+ "amount": "48000"
268
+ },
269
+ "expiration": "2021-08-25T14:17:09.663+01:00",
270
+ "charges": [
271
+ {
272
+ "chargeType": "string",
273
+ "sourceAmount": {
274
+ "currency": "BWP",
275
+ "amount": "33"
276
+ },
277
+ "targetAmount": {
278
+ "currency": "TZS",
279
+ "amount": "6000"
280
+ }
281
+ }
282
+ ]
283
+ }
284
+ },
285
+ "statusCode": "200",
286
+ "scripts": {
287
+ "scriptingEngine": "postman"
288
+ }
289
+ },
290
+ "type": "MOCK_RESPONSE"
291
+ },
292
+ "type": "response",
293
+ "version": 1
294
+ }
295
+ ]
@@ -0,0 +1,3 @@
1
+ {
2
+ "activeRulesFile": "default.json"
3
+ }
@@ -0,0 +1,55 @@
1
+ [
2
+ {
3
+ "ruleId": 1,
4
+ "priority": 1,
5
+ "description": "post /quotes",
6
+ "apiVersion": {
7
+ "minorVersion": 0,
8
+ "majorVersion": 1,
9
+ "type": "fspiop",
10
+ "asynchronous": true
11
+ },
12
+ "conditions": {
13
+ "all": [
14
+ {
15
+ "fact": "body",
16
+ "operator": "numericGreaterThan",
17
+ "value": "{$environment.ttkAllowedAmount}",
18
+ "path": "amount.amount"
19
+ },
20
+ {
21
+ "fact": "body",
22
+ "operator": "equal",
23
+ "value": "testingtoolkitdfsp",
24
+ "path": "payee.partyIdInfo.fspId"
25
+ },
26
+ {
27
+ "fact": "operationPath",
28
+ "operator": "equal",
29
+ "value": "/quotes"
30
+ },
31
+ {
32
+ "fact": "method",
33
+ "operator": "equal",
34
+ "value": "post"
35
+ }
36
+ ]
37
+ },
38
+ "event": {
39
+ "method": "put",
40
+ "path": "/quotes/{ID}/error",
41
+ "params": {
42
+ "body": {
43
+ "errorInformation": {
44
+ "errorCode": "5100",
45
+ "errorDescription": "The total allowed amount for the dfsp has been reached"
46
+ }
47
+ },
48
+ "scripts": {}
49
+ },
50
+ "type": "MOCK_ERROR_CALLBACK"
51
+ },
52
+ "type": "validation",
53
+ "version": 1
54
+ }
55
+ ]
@@ -0,0 +1,175 @@
1
+ {
2
+ "API_PORT": 4040,
3
+ "HOSTING_ENABLED": false,
4
+ "REQUEST_PAYLOAD_MAX_BYTES": 20485760,
5
+ "INBOUND_MUTUAL_TLS_ENABLED": false,
6
+ "OUTBOUND_MUTUAL_TLS_ENABLED": false,
7
+ "PARALLEL_RUN_ENABLED": false,
8
+ "TRACE_URL": "//trace/%s",
9
+ "CONFIG_VERSIONS": {
10
+ "response": 1,
11
+ "callback": 1,
12
+ "validation": 1,
13
+ "forward": 1,
14
+ "userSettings": 1
15
+ },
16
+ "DB": {
17
+ "HOST": "localhost",
18
+ "PORT": 27017,
19
+ "USER": "ttk",
20
+ "PASSWORD": "ttk@123",
21
+ "DATABASE": "admin",
22
+ "CONNECTION_STRING": null
23
+ },
24
+ "METRICS": {
25
+ "timeout": 5000,
26
+ "defaultLabels": {},
27
+ "defaultMetrics": true
28
+ },
29
+ "OAUTH": {
30
+ "AUTH_ENABLED": false,
31
+ "APP_OAUTH_CLIENT_KEY": "ttk",
32
+ "APP_OAUTH_CLIENT_SECRET": "secret",
33
+ "MTA_ROLE": "Application/MTA",
34
+ "PTA_ROLE": "Application/PTA",
35
+ "EVERYONE_ROLE": "Internal/everyone",
36
+ "OAUTH2_TOKEN_ISS": "http://mojaloop-testing-toolkit:5050/api/oauth2/token",
37
+ "OAUTH2_ISSUER": "http://mojaloop-testing-toolkit:5050/api/oauth2/token",
38
+ "EMBEDDED_CERTIFICATE": "CERTIFICATE"
39
+ },
40
+ "CONNECTION_MANAGER": {
41
+ "ENABLED": false,
42
+ "API_URL": "http://connection-manager-api:5061",
43
+ "AUTH_ENABLED": false,
44
+ "HUB_USERNAME": "hub",
45
+ "HUB_PASSWORD": "hub"
46
+ },
47
+ "KEYCLOAK": {
48
+ "ENABLED": false,
49
+ "API_URL": "http://localhost:8080",
50
+ "REALM": "testingtoolkit",
51
+ "ADMIN_REALM": "master",
52
+ "ADMIN_USERNAME": "admin",
53
+ "ADMIN_PASSWORD": "admin",
54
+ "ADMIN_CLIENT_ID": "admin-cli"
55
+ },
56
+ "SERVER_LOGS": {
57
+ "ENABLED": true,
58
+ "RESULTS_PAGE_SIZE": 50,
59
+ "ADAPTER": {
60
+ "TYPE": "ELASTICSEARCH",
61
+ "INDEX": "moja*",
62
+ "API_URL": "http://dev1-elasticsearch.mojaloop.live/"
63
+ }
64
+ },
65
+ "HTTP_CLIENT": {
66
+ "KEEP_ALIVE": true,
67
+ "MAX_SOCKETS": 50,
68
+ "UNUSED_AGENTS_EXPIRY_MS": 1800000,
69
+ "UNUSED_AGENTS_CHECK_TIMER_MS": 300000
70
+ },
71
+ "INIT_CONFIG": {
72
+ "objectStore": {}
73
+ },
74
+ "API_DEFINITIONS": [
75
+ {
76
+ "type": "fspiop",
77
+ "version": "1.0",
78
+ "folderPath": "fspiop_1.0",
79
+ "asynchronous": true
80
+ },
81
+ {
82
+ "type": "fspiop",
83
+ "version": "1.1",
84
+ "folderPath": "fspiop_1.1",
85
+ "asynchronous": true
86
+ },
87
+ {
88
+ "type": "fspiop",
89
+ "version": "2.0",
90
+ "folderPath": "fspiop_2.0",
91
+ "asynchronous": true
92
+ },
93
+ {
94
+ "type": "iso20022",
95
+ "version": "2.0",
96
+ "folderPath": "fspiop_2.0_iso20022",
97
+ "asynchronous": true
98
+ },
99
+ {
100
+ "type": "settlements",
101
+ "version": "1.0",
102
+ "folderPath": "settlements_1.0"
103
+ },
104
+ {
105
+ "type": "settlements",
106
+ "version": "2.0",
107
+ "folderPath": "settlements_2.0",
108
+ "prefix": "v2"
109
+ },
110
+ {
111
+ "type": "central_admin",
112
+ "caption": "(old)",
113
+ "version": "9.3",
114
+ "folderPath": "central_admin_old_9.3"
115
+ },
116
+ {
117
+ "type": "central_admin",
118
+ "version": "1.0",
119
+ "folderPath": "central_admin_1.0"
120
+ },
121
+ {
122
+ "type": "als_admin",
123
+ "version": "1.1",
124
+ "folderPath": "als_admin_1.1"
125
+ },
126
+ {
127
+ "type": "mojaloop_simulator",
128
+ "version": "0.1",
129
+ "folderPath": "mojaloop_simulator_0.1"
130
+ },
131
+ {
132
+ "type": "mojaloop_simulator_inbound",
133
+ "version": "1.4",
134
+ "folderPath": "mojaloop_simulator_sim_1.4"
135
+ },
136
+ {
137
+ "type": "mojaloop_sdk_outbound_scheme_adapter",
138
+ "version": "1.0",
139
+ "folderPath": "mojaloop_sdk_outbound_scheme_adapter_1.0",
140
+ "hostnames": [],
141
+ "prefix": "/sdk-out"
142
+ },
143
+ {
144
+ "type": "payment_manager",
145
+ "version": "1.4",
146
+ "folderPath": "payment_manager_1.4",
147
+ "hostnames": [
148
+ "pm4ml.hostname.here"
149
+ ]
150
+ },
151
+ {
152
+ "type": "thirdparty_sdk_outbound",
153
+ "version": "0.1",
154
+ "folderPath": "thirdparty_sdk_outbound_0.1"
155
+ },
156
+ {
157
+ "type": "sdk-scheme-adapter-backend-v2_1_0-openapi3-snippets",
158
+ "version": "2.1",
159
+ "folderPath": "sdk-scheme-adapter-backend-v2_1_0-openapi3-snippets_2.1",
160
+ "asynchronous": false,
161
+ "prefix": "/sdk-backend"
162
+ },
163
+ {
164
+ "type": "sdk-scheme-adapter-outbound-v2_1_0-openapi3-snippets",
165
+ "version": "2.1",
166
+ "folderPath": "sdk-scheme-adapter-outbound-v2_1_0-openapi3-snippets_2.1",
167
+ "asynchronous": false,
168
+ "prefix": "/sdk-out-v2-1"
169
+ }
170
+ ],
171
+ "SOCKET_IO_ENGINE_OPTIONS": {
172
+ "pingInterval": 25000,
173
+ "pingTimeout": 300000
174
+ }
175
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "VERSION": 1,
3
+ "CALLBACK_ENDPOINT": "http://localhost:4040",
4
+ "CALLBACK_RESOURCE_ENDPOINTS": {
5
+ "enabled": false,
6
+ "endpoints": [
7
+ {
8
+ "method": "put",
9
+ "path": "/parties/{Type}/{ID}",
10
+ "endpoint": "http://localhost:4002"
11
+ },
12
+ {
13
+ "method": "put",
14
+ "path": "/quotes/{ID}",
15
+ "endpoint": "http://localhost:3002"
16
+ },
17
+ {
18
+ "method": "put",
19
+ "path": "/transfers/{ID}",
20
+ "endpoint": "http://localhost:3000"
21
+ }
22
+ ]
23
+ },
24
+ "HUB_ONLY_MODE": false,
25
+ "ENDPOINTS_DFSP_WISE": {
26
+ "dfsps": {
27
+ "userdfsp": {
28
+ "defaultEndpoint": "http://scheme-adapter:4000",
29
+ "endpoints": []
30
+ },
31
+ "userdfsp2": {
32
+ "defaultEndpoint": "http://scheme-adapter2:4000",
33
+ "endpoints": []
34
+ }
35
+ }
36
+ },
37
+ "SEND_CALLBACK_ENABLE": true,
38
+ "FSPID": "testingtoolkitdfsp",
39
+ "DEFAULT_USER_FSPID": "userdfsp",
40
+ "TRANSFERS_VALIDATION_WITH_PREVIOUS_QUOTES": false,
41
+ "TRANSFERS_VALIDATION_ILP_PACKET": false,
42
+ "TRANSFERS_VALIDATION_CONDITION": false,
43
+ "MONITORING_LOG_INCLUDE_PAYLOAD": true,
44
+ "ILP_SECRET": "secret",
45
+ "VERSIONING_SUPPORT_ENABLE": true,
46
+ "VALIDATE_INBOUND_JWS": false,
47
+ "VALIDATE_INBOUND_PUT_PARTIES_JWS": false,
48
+ "JWS_SIGN": false,
49
+ "JWS_SIGN_PUT_PARTIES": false,
50
+ "CLIENT_MUTUAL_TLS_ENABLED": false,
51
+ "ADVANCED_FEATURES_ENABLED": true,
52
+ "CALLBACK_TIMEOUT": 10000,
53
+ "DEFAULT_REQUEST_TIMEOUT": 3000,
54
+ "SCRIPT_TIMEOUT": 5000,
55
+ "LOG_SERVER_UI_URL": "http://dev1-efk.mojaloop.live/app/kibana",
56
+ "UI_CONFIGURATION": {
57
+ "MOBILE_SIMULATOR": {
58
+ "HUB_CONSOLE_ENABLED": true
59
+ }
60
+ },
61
+ "CLIENT_TLS_CREDS": [
62
+ {
63
+ "HOST": "testfsp1",
64
+ "CERT": "-----BEGIN CERTIFICATE-----\nMIIFATCCAumgAwIBAgIUEcEtqgcXBoTykvaD6PprzY8kxpYwDQYJKoZIhvcNAQEL\nBQAwfzERMA8GA1UEChMITW9kdXNCb3gxHDAaBgNVBAsTE0luZnJhc3RydWN0dXJl\nIFRlYW0xTDBKBgNVBAMTQ3Rlc3Rmc3AxLnFhLnByZS5teWFubWFycGF5LXByZS5p\nby5pbnRlcm5hbCB0ZXN0ZnNwMSBJbnRlcm1lZGlhdGUgQ0EwHhcNMjEwMjIyMTkw\nMTEyWhcNMjMwMjIzMDY0MDA2WjBdMREwDwYDVQQKEwhNb2R1c0JveDEcMBoGA1UE\nCxMTSW5mcmFzdHJ1Y3R1cmUgVGVhbTEqMCgGA1UEAxMhdGVzdGZzcDEucWEucHJl\nLm15YW5tYXJwYXktcHJlLmlvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEApndEBbmdlfrpnidagKb2D32bEL+iGYxLEicdQVs24018zNPdbrIYtXyDjgjA\nq718HH5XQW2FSz6cA1CbQ6jLuY88EZRUiCSJ4rCkENWw+mpVLyOd+mcYU4JwOQNC\nP+W8GGcW/haifkXtHEDUO4pIxnXWC6DftvxZ3TH5PxtWO8aJcsoj94oBTPOhnGi0\nC356XyseYl7o7hdxZu3DvY3Wyh/k5pDDHOCjQYxl9wjtW+BVWMCFxRaCu4f/3LVj\nca9BccwZ8O4Rdhu6lhJEUCUgTqdx3vXRB1xzwHT0W7gariy4RVbvwE35AaCliyEr\n4O5WlCvAMOct7POYDAwNuoeb7wIDAQABo4GWMIGTMA4GA1UdDwEB/wQEAwIDqDAT\nBgNVHSUEDDAKBggrBgEFBQcDAjAdBgNVHQ4EFgQU2alVxVOOplYXiLAYCDaII4E0\n/WgwHwYDVR0jBBgwFoAUCFvcCetcirxZPE3N6qMdOo5H7Z4wLAYDVR0RBCUwI4Ih\ndGVzdGZzcDEucWEucHJlLm15YW5tYXJwYXktcHJlLmlvMA0GCSqGSIb3DQEBCwUA\nA4ICAQBkX5LItY0calp7NT21O8z+iufVNV8onEch4J7HJjEVwtCB4UVl7LrWJ3cw\n9KLt7nj85/AUuuhtNPJO9DW/x+0xRyW94Ef5MYHP3nheFWTag8riYl/1SXljOssS\nHCpTvRhirnfGeqBGO1OBwCbkYNIEZI95eMerVoPFm0PfGBb4DJ6mUdfc3qzeOP7K\nOlE5VMhwH2PYv1TS7Hpj1k/1dxpdvyOs7EKVvWD+OokLhJaHgU8NWVetTUtsXSN/\nTv06ZN8JGTN/Udm7POVyEaol8Jw2FRGGKcwOBKbqroNs6POqTofqZeL4SFAkzzQL\nvOAhbQIB6GSznG1Gg1G9IjGVCMXUhpNK2PD8RR1ovzi0MZlRkITGRPhBYQf5xMFl\nZeq0mGFQR3VYDdlwT0O37C8fpaYvpdupeYdxcB623PNz1VkO1MbsXnOoHY8kcFGa\nMh4IARCeR/MwXNWHpGrd6J5Mzmhk0Vy8GyBbqcROUpNR/XTZYRTyfTEq5+amJyLi\n67OB9FP5cS7oQhj7gsaQCTJlxbh/CjmQdKmIimWSEZkDePK5eExNPafBk47tx4KA\nFmh9pIqRyheROesa/zTDGYySNcVd14dl703pyZQNO4b5rap0SZoyGDTfI+7OqAHM\nAz0kWYyZps2nqPZgbwDFigIy2TESvoXahCCtNUoCy9sawa3Diw==\n-----END CERTIFICATE-----",
65
+ "KEY": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEApndEBbmdlfrpnidagKb2D32bEL+iGYxLEicdQVs24018zNPd\nbrIYtXyDjgjAq718HH5XQW2FSz6cA1CbQ6jLuY88EZRUiCSJ4rCkENWw+mpVLyOd\n+mcYU4JwOQNCP+W8GGcW/haifkXtHEDUO4pIxnXWC6DftvxZ3TH5PxtWO8aJcsoj\n94oBTPOhnGi0C356XyseYl7o7hdxZu3DvY3Wyh/k5pDDHOCjQYxl9wjtW+BVWMCF\nxRaCu4f/3LVjca9BccwZ8O4Rdhu6lhJEUCUgTqdx3vXRB1xzwHT0W7gariy4RVbv\nwE35AaCliyEr4O5WlCvAMOct7POYDAwNuoeb7wIDAQABAoIBAB4YIawHSn36xpFY\n+/uWM5XJV2dHvb5wpoG5oIhYPSwKri05gCaq+9yTjhT3cB2cO/vKu2uQqTBZOUtA\nH1G0CmCZjHqBHmcec+8PkBmbCEu9PXkwLzc9vCAczL0B4dA7cC3ZNUbqQKYjbiJV\ndgjtjwqR8whXJRqntHdQuYa3InfbufcHNHhSXJwE9MqVRpsv/BfY9wjhQfGBHUnT\nCz41xj1bu8Uy4+/1sRF/l9fYDm5E6WbgzvI49/fM7hA+8fQqoRkFLlEzzBhWb93Q\n2qVo2Y5RhVpffdyxPYX7b9RI7UmUZYp2sLl5GYj5ZzTzsffwUdPl2pZlRkYJGvUo\nortpToECgYEA17NVIZgeQ5VcSsZKGJlzPkcdPoWCk7RY5DugxTaNwSE/uO25B/Ax\nBPE6ZC9LbfXyfTQXaam2VtpSzvNJ7p7j30qkEK0Z+I2pGAVohZg4enkHaIQkYtIP\naZZ/wce5R8VZq6EpToprTm3cG6T+nNVOzqRjUqgnUZyY8nWy2CD5OucCgYEAxZEb\nOKjo9Iwrod2uOZlQDAsnTvgqZySW/lORrnfEWmOEiJpRvjlxMfNPNlc2iMTBQShq\naPZi48g17btU8ACs2NOH/FXuxooDe+0gJDj48WP9/bBzOAOJqhKZ+g9l/Cr978yJ\nAHNh/w8foUUkqAfxmXoTImw7LdSaPIc7ewAlPbkCgYAcGq6d6O8QiTZ0O6/N0riU\nRbnGuqiPzDDE1AwXhgskPcvKsZapNR998FxWT185nZERxSbDyqwKVvnxIvvgDm3M\nWzJTReqbWwHMMnAy7+lz868GbCk9gvclH8nXmslGU61iUmZKaHigyGmkZHQURSq2\ne+7BB03QMWIwPSunQ2yVwwKBgQCbPrzvNvtnPsYCeZmwNSLLc/A9g5B+YCguTSjK\nud4XUOASH4FgQu8J2zFBeCKoMkPRmZqURBfM+cQ2vN+vgDhSYVYYGMZ6SHUYamq5\nS/OCa5poQMEpIM6KT/eioXr4PigwyL5XFlPJAu9N4HE/gI5+lYh3oiiWiNtx+Knq\nq2CYMQKBgQCv+QTGDrSc3SUaWT+JMoFdfzvJyyqQOUvgRbSGAp5GryYqI9dozx70\nlT2IdoAZ0DHrJhNs13Pr7ngXwqS6pKlZU8NSX2ch7h5ZwIsYJESzKwXF/frLMQSy\nTPV3d0hb7UaW3wqOx2Dbj8vJJdvUo3UUkOcmgesqGg3nf3t51I6k0A==\n-----END RSA PRIVATE KEY-----"
66
+ },
67
+ {
68
+ "HOST": "payeefsp",
69
+ "CERT": "-----BEGIN CERTIFICATE-----\nMIIFATCCAumgAwIBAgIUBDD1woZm3eqYA8FXUyiaAHu6sDkwDQYJKoZIhvcNAQEL\nBQAwfzERMA8GA1UEChMITW9kdXNCb3gxHDAaBgNVBAsTE0luZnJhc3RydWN0dXJl\nIFRlYW0xTDBKBgNVBAMTQ3BheWVlZnNwLnFhLnByZS5teWFubWFycGF5LXByZS5p\nby5pbnRlcm5hbCBwYXllZWZzcCBJbnRlcm1lZGlhdGUgQ0EwHhcNMjEwMjIyMTkw\nMTEyWhcNMjMwMjIzMDY0MDA1WjBdMREwDwYDVQQKEwhNb2R1c0JveDEcMBoGA1UE\nCxMTSW5mcmFzdHJ1Y3R1cmUgVGVhbTEqMCgGA1UEAxMhcGF5ZWVmc3AucWEucHJl\nLm15YW5tYXJwYXktcHJlLmlvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEAwyJf0nOXqUSeYRJ3+QQGnkZ+s9yPlqYqNRyDpyqj9mLNWZ3F2lLgHQ/6idmB\ni+M4AoVWs9+ihr5zFTl0piEQkgqjBa6oCg3yqHmya9H/+xrD8SPQpKEI0LifPI75\nhHDqCNhuynA/JTiK2K0dH+Ea0jHQJfEyTmXwMJd0zqdeIBeAeMtyW1icZ6e/28ri\nmUEYPPk18dUoCMktpO0vXjJSH1a2YFI0eAp8kdEiuQc2bz/b5PW2aaurn8RSrtAC\ng2XASVs2mn2wfjq4zmx8LyhJHatU3nzQPQ6OOAcow/Lbbi5VSwQdXF0KwnMBY+x5\nE0H2mm0jIUfDIf6oZohtLVx8MQIDAQABo4GWMIGTMA4GA1UdDwEB/wQEAwIDqDAT\nBgNVHSUEDDAKBggrBgEFBQcDAjAdBgNVHQ4EFgQUCBshFUmmVQowZ4hS4lKGo4em\nG1MwHwYDVR0jBBgwFoAUb9x3dRUpXiQg40v5kFnYtesB5iUwLAYDVR0RBCUwI4Ih\ncGF5ZWVmc3AucWEucHJlLm15YW5tYXJwYXktcHJlLmlvMA0GCSqGSIb3DQEBCwUA\nA4ICAQBn+4cUHlaCdLM2U0zcYBrBAgNGUn74TgLc0lRzm+KlfS6lMhzMQtML+bwY\n6OMcDqd4RTozA98U8UH+aG3GBJlDGoccUGYuGcr/w6ZdNQ46tzqQ3lRG9VKv1L2V\n3gnox3EmnhwnPR2PERtvYUhBDfUcAJhQc/MN7aNdk9JYMAHy+VF7V7Mie6u99doj\noANKUf6NZfLZ0XAMuQIcGvvDv2TorNs33PR3dFyBH/HY0a19rVLiPUCK8WTWpjvO\nAwTmqiV38HwbJ/nFW9Skt3OM1GaPnfS6Eg+RT4JPVQG/Gg26XLuP15LQAOHTV6zi\nY7EwtBMs7FFEXE2p6E94YUNy2kKz4f9sZlxEImZ9hmpa9mRcM5WqSyHVQiEJantY\n2RMCbStjR5F2KUC5a0kQ/IywekfUtaUhfPKz0zrxN5TVywXX8MTqIscUgdZgpE0j\nxu7fiFrMmOEbin0gdTk5ojV3q4FToewezY/CVRSjf3/e/oNgVmvasyT5/bXtf+Ds\nmToyjUCuWeQN0N6xF6uXztr3DRsUCKIu72fSQD189MXcknSoj9xYVrRyNqvEllwy\nSyVd3XtHhRuW4ynRgPxqb8oI1cleOBOBi2MCOHQrnGqYq/e9K/GLXztmR2GAAkV3\nm/Dy3o5fDBi7UYiMBhUnZTGEz7xfREFl7kvgFLzqIsnHXc8caA==\n-----END CERTIFICATE-----",
70
+ "KEY": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwyJf0nOXqUSeYRJ3+QQGnkZ+s9yPlqYqNRyDpyqj9mLNWZ3F\n2lLgHQ/6idmBi+M4AoVWs9+ihr5zFTl0piEQkgqjBa6oCg3yqHmya9H/+xrD8SPQ\npKEI0LifPI75hHDqCNhuynA/JTiK2K0dH+Ea0jHQJfEyTmXwMJd0zqdeIBeAeMty\nW1icZ6e/28rimUEYPPk18dUoCMktpO0vXjJSH1a2YFI0eAp8kdEiuQc2bz/b5PW2\naaurn8RSrtACg2XASVs2mn2wfjq4zmx8LyhJHatU3nzQPQ6OOAcow/Lbbi5VSwQd\nXF0KwnMBY+x5E0H2mm0jIUfDIf6oZohtLVx8MQIDAQABAoIBAAvRTB5Rs9CjgDf+\nx1dEYCY7vLal1+hWvd2jkXGRSobEaw1PWckkFcCM1C5/BrJzG1RDwQF5vL0OUafq\nZ98bx4YgsMjKUBDz0UtUu3J+MFODxnQXKC6gNgl19ObU/dWAhRvuB5+o9poJd5cx\nvL7OgjJSo/l4RwSqdcZrlb5iMngc+SEL/BWK8rsrNd21M7z+kPKLxohbECnH1yu7\nLbfCuoO2yUqMdevcm/qgRq0TpdWwagHZRBOMkAWpLbchOdpftyv6zYjsQWiIKnOW\nyLCMr1iZvpdxwYKr2eD+ki5AOVVuaqreY88C240YPVloTgrmrTZmjC4jr+eTL7XM\nvFXQAfECgYEA7mLDidTQVxnUS+RPUcjn1ylnBcuwyzRsd314DiW91FsDKBKEVje3\nHxRiOsNWQ3xqYNF3jZFctLY4TeFCSGzRFizxg40ZZV/vbUL34cTIX8x6ASdzzmqO\ngW535Oa8kMSd0IjXciXnEsCzaQQ+q52EEi7DeHv2CSyldOBouY9SCd0CgYEA0Y16\nMZHh1+eY8wloxHcwsAJNjh3pgVi3NT8bQKLJWvkRYPBcH+Qvg3cYhXIXL+EUlMtt\nyArmTxG3qTF3u8p/qrYNn/pguX3ICfbVJDrxbgobpIVpkPwDyacm9R8KVFwNQUXx\nrBcBo6Th0OX9bk8wX0mv0jRS8vWZv0vJhWZreGUCgYEAnUv2EsCmKJMWjm08GY8j\ny8m5/Q0Gv078M2xLB6rHs5PKZWqyf+GLp6pflr7F8Qnrd68/394G+gcy59C3V+rV\nnHhTdKZqF4ZSChqiTgr23J+j8ZcCxzVwit9FpXjK/AuAxtVEtEFmU+1rdOQkJkFt\noEHTIXFKS4t2McTR1X9IdtECgYB/6jGt8pP+3FPD/3lhfDRPLIi0+NNh7oqfSS9U\njEoHa0RNfUtu+DZ8tIVWaCd5RZbvoSIZW3XszC7la9nf2yOFTG4Sup6ye/JRCshe\nvlBD0I3BJuMi6oNRY+Rm+pSunCZHMu/sEXshrnNdtha2cEZh1DQsR15fCsbYO+X+\ntV9i9QKBgFqy36h5eDETA7Qvlw6cOQATukoNRux4PrvXHjdhRDtNlZeMUdpU00L+\n4vsyMOcsigJerOAA6Q4ATuNhoVlJW2CHYt39UD7Xiamsm33IzFx3HdNIJcRQ/+l+\n8Sa2UGfazug2B7fwHXxUZrek8VoJQtcAKeQoO1Fj3zd04pNjwE4K\n-----END RSA PRIVATE KEY-----"
71
+ },
72
+ {
73
+ "HOST": "payerfsp",
74
+ "CERT": "-----BEGIN CERTIFICATE-----\nMIIFATCCAumgAwIBAgIUUJwMg2LBzd3FZBz75YVuk2s0q3gwDQYJKoZIhvcNAQEL\nBQAwfzERMA8GA1UEChMITW9kdXNCb3gxHDAaBgNVBAsTE0luZnJhc3RydWN0dXJl\nIFRlYW0xTDBKBgNVBAMTQ3BheWVyZnNwLnFhLnByZS5teWFubWFycGF5LXByZS5p\nby5pbnRlcm5hbCBwYXllcmZzcCBJbnRlcm1lZGlhdGUgQ0EwHhcNMjEwMjIyMTkw\nMTE2WhcNMjMwMjIzMDY0MDA5WjBdMREwDwYDVQQKEwhNb2R1c0JveDEcMBoGA1UE\nCxMTSW5mcmFzdHJ1Y3R1cmUgVGVhbTEqMCgGA1UEAxMhcGF5ZXJmc3AucWEucHJl\nLm15YW5tYXJwYXktcHJlLmlvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEAsCJqQwV2i8Asi349qUUbcYtx07IQ8Gp6ZbsXPbGmOSeQ/LN/uofGs5LDs13M\nLDUNhFrSb6et5Y/Dj85j0qMvzhW1cgcxMXNYLhwWCAX99sqBGhnLfF6rSSi7ZkbE\nAtTDwHqBLk/Es0ts512k1H6ReejLbsgGYDwiuZULXpfd4Iw9t6V22lQw6B1n9CLm\nNueTKkUM7jAN5LnF4fBCof3jpTB821taDog0Dla7DUGV1AdIyyJyLqk+8obDqXuC\niooGwUTrBUOTrWRNlP/Tw7W0Lv76duoqLQs2INUeKRfUJYei/+cy2fFkZZ8GKaHG\nZ2eoOQ0L9VumbeCzW8MOsO4QawIDAQABo4GWMIGTMA4GA1UdDwEB/wQEAwIDqDAT\nBgNVHSUEDDAKBggrBgEFBQcDAjAdBgNVHQ4EFgQUr+lCpfITlgJJoxuW6NBFoT1t\nqAcwHwYDVR0jBBgwFoAU4UukJy4iiDZUSB5DrcfOAr6spT8wLAYDVR0RBCUwI4Ih\ncGF5ZXJmc3AucWEucHJlLm15YW5tYXJwYXktcHJlLmlvMA0GCSqGSIb3DQEBCwUA\nA4ICAQCHEus15MfR1svIOgalbtmwJPDwBURaryWf2D9BkKV2Csdlzp0miRxkhgn9\nWZ+Cym0GiMfmo6FZv+OCXbakBYFycs2lfgZXt6r3Vt6zwZcW0l5/iYUHn8g+BKYO\n9CBJpBwRpn4rDXwUCbHWXF1tHCWMg3eooLN9I2Ly2DZvSPmgH8c08W2SE72nfVyi\nqa/zdD7u8g+XxXXJd7A1AZDTE+cQ29goTpIDQQVpw+a/a9yT9BEbiKtScUTounX0\nmu0uPpBSLgQ3lkXJEy46O7etWjXpSUW8HnKiEDloDmkmKGxFj9m5wtsIZVmu+kYP\nZQWBLgN6goyuxB/cIiAC8mqLgv8/+AcZ91jpCy3dZ6a/Nla3Xq+L046AnpOYHLJp\nizV/O0UQdV/pdPtn0D7Jci++rsKBMWovX1bHPxqxHsnxMYHaUap1DFU2LWKKYBl2\nZcOfNb2My2IXK/tqEegkJoEQx+gFGGjWeV4iw/cZZosIoM4ibubS1BF3I3er+0Fo\nT3uqZJuqBePdu6II6Vbg+i6v3P0KRUYRRs3yNm9VuuNHfcc+KQaHH4iYsPi5fk95\n+EIDBWtGUu9pxx8trc33v51t7dKyQqNH4qLrKywM9OybG/FZT2aCRRXtjuMgmaN+\nXfV5OYksS9Mj+JFtCNWmhWC8BLAtfdyLejLpofUDwrdfwFwZ0g==\n-----END CERTIFICATE-----",
75
+ "KEY": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAsCJqQwV2i8Asi349qUUbcYtx07IQ8Gp6ZbsXPbGmOSeQ/LN/\nuofGs5LDs13MLDUNhFrSb6et5Y/Dj85j0qMvzhW1cgcxMXNYLhwWCAX99sqBGhnL\nfF6rSSi7ZkbEAtTDwHqBLk/Es0ts512k1H6ReejLbsgGYDwiuZULXpfd4Iw9t6V2\n2lQw6B1n9CLmNueTKkUM7jAN5LnF4fBCof3jpTB821taDog0Dla7DUGV1AdIyyJy\nLqk+8obDqXuCiooGwUTrBUOTrWRNlP/Tw7W0Lv76duoqLQs2INUeKRfUJYei/+cy\n2fFkZZ8GKaHGZ2eoOQ0L9VumbeCzW8MOsO4QawIDAQABAoIBAQCfRy/y1cDjFfDy\nYEHgjccIggJ4XuGkl5WB45Nbzge0Tcx2SNhr1RbiEwl4bY0SORO1KfB82hSOsNg3\ndnuc4sd7RPRlXo2k21rVr75YmRqVj4D6GnOCT5XzvariDYJ50PAIYn/pYmdNgBrG\ni09gfeiOZu94idgCNL9uNZMngow53vddASgFH+fN4W3xWxXgexXRIxzhObvJGzux\nS2gCvePJ6n//lNIFcB1DR0ewpeLSwvmX6lZDg9IBoWbSCE/jlnAO7owzHphg8+IV\naONKIqeI0JAR1Fnmnh2t06ovVLYdx2eRo29Oqb6W//smHFfMBF22YF6Uq6HGuPQr\nSzHo6+hRAoGBAOTQf8V1qSW19WOMyDFCvvsUweGYlHJsU4dlZV7NaJAUh5n39W3x\nnJi7jZSDW/OUY/7wfGEI+k6WS7ICkZYD+an6Q7l6c4aKq6YkOCQmh2J/b+ZkAkzy\n7b3AyNG1r81fxnq1DMZC4htIDmtt2ru1fElPk8vxAgjagdtxk+v68gezAoGBAMUP\noMvtXa4qgEIk+aYv3S55P1xD4cdjYDtq1PKnkcKuzgj5QqRF3FnsWDKsNHfrD7IM\nFREFx0/iyLBVk1IrjrxHA0m3T0GrAvjpMVtyZDLa2oiKgSVLiBbTigmLebsBQSda\n2COs1IZ2mhgKM6Luyk42r5COL96BjsUHS+lpP3hpAoGBANFreuXw0IUxSox4d2mO\nm1kWIHUnvwYS20hapzLjcUYdZBapeTnNHvQzBFve9jOzpunYlR4Cp4VxzYn5C+Jv\ndPv7kCycREvpczy2faOol9SwqmwFMI3Y8XrwjVxSm7quY+w+9Jgo8uThSEFO5BlU\n+5HlgXHw/Vm5E40TIL2kigw9AoGAffd4fQMVoDCw3hdOsmnkREHjO7J00AT5TeID\nj72IEl+1es0DSYkSyzSmSHYF8CYFWXYZvVDpUGqSiQ2a56rKShZGxsdz1XFgrAY8\ns80SueNmUGPhHBsFOjotAd7ziJPLt0F96ogfLnkAFZ/n1B46mfahEZGijeRZhB8e\n6myJ0wkCgYEA1fMa/pwU2JdNvoAoCh18FWAKk/j7nmF8NPb3a9g7Eyo7Kd5CywdG\nIqDOla0gX1ZvidSj8ujJU/6NVRfjXsaOAWb/shMvFnQF5EZHt/0Om0AUufkqxXly\nJ4rTmFSt4UqDlcm6B1avenWIRVIhDZIH+q07L1OudmX+PDmWVJ0PnSw=\n-----END RSA PRIVATE KEY-----"
76
+ }
77
+ ],
78
+ "GITHUB_CONFIG": {
79
+ "TEST_CASES_REPO_OWNER": "mojaloop",
80
+ "TEST_CASES_REPO_NAME": "testing-toolkit-test-cases",
81
+ "TEST_CASES_REPO_DEFAULT_RELEASE_TAG": "latest",
82
+ "TEST_CASES_REPO_BASE_PATH": "collections/dfsp",
83
+ "TEST_CASES_REPO_HUB_GP_PATH": "collections/hub/golden_path",
84
+ "TEST_CASES_REPO_HUB_PROVISIONING_PATH": "collections/hub/provisioning"
85
+ },
86
+ "DEFAULT_ENVIRONMENT_FILE_NAME": "hub_local_environment.json",
87
+ "LABELS": [
88
+ {
89
+ "name": "p2p",
90
+ "description": "tests related to p2p transfer",
91
+ "color": "red"
92
+ },
93
+ {
94
+ "name": "settlements",
95
+ "description": "tests related to settlements",
96
+ "color": "green"
97
+ },
98
+ {
99
+ "name": "quotes",
100
+ "description": "tests related to quoting service",
101
+ "color": "blue"
102
+ }
103
+ ],
104
+ "INSTANCE_NAME": "Mojaloop Testing Toolkit",
105
+ "UI_THEME": {
106
+ "HEADER_COLOR": "rgb(41, 62, 93)",
107
+ "TITLE_COLOR": "#fff"
108
+ }
109
+ }