pq-api-matic-sdk 1.0.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 (268) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +208 -0
  4. data/bin/console +15 -0
  5. data/lib/pay_quicker_sdk/api_helper.rb +10 -0
  6. data/lib/pay_quicker_sdk/client.rb +205 -0
  7. data/lib/pay_quicker_sdk/configuration.rb +229 -0
  8. data/lib/pay_quicker_sdk/controllers/agreements_controller.rb +129 -0
  9. data/lib/pay_quicker_sdk/controllers/balances_controller.rb +156 -0
  10. data/lib/pay_quicker_sdk/controllers/bank_accounts_controller.rb +587 -0
  11. data/lib/pay_quicker_sdk/controllers/base_controller.rb +60 -0
  12. data/lib/pay_quicker_sdk/controllers/client_side_controller.rb +237 -0
  13. data/lib/pay_quicker_sdk/controllers/compliance_controller.rb +77 -0
  14. data/lib/pay_quicker_sdk/controllers/documents_controller.rb +233 -0
  15. data/lib/pay_quicker_sdk/controllers/electronic_wallets_controller.rb +280 -0
  16. data/lib/pay_quicker_sdk/controllers/events_controller.rb +75 -0
  17. data/lib/pay_quicker_sdk/controllers/invitations_controller.rb +179 -0
  18. data/lib/pay_quicker_sdk/controllers/jobs_controller.rb +154 -0
  19. data/lib/pay_quicker_sdk/controllers/o_auth_authorization_controller.rb +43 -0
  20. data/lib/pay_quicker_sdk/controllers/payments_controller.rb +217 -0
  21. data/lib/pay_quicker_sdk/controllers/prepaid_cards_controller.rb +262 -0
  22. data/lib/pay_quicker_sdk/controllers/program_controller.rb +88 -0
  23. data/lib/pay_quicker_sdk/controllers/receipts_controller.rb +287 -0
  24. data/lib/pay_quicker_sdk/controllers/spendback_controller.rb +201 -0
  25. data/lib/pay_quicker_sdk/controllers/spendback_refunds_controller.rb +232 -0
  26. data/lib/pay_quicker_sdk/controllers/statements_controller.rb +197 -0
  27. data/lib/pay_quicker_sdk/controllers/transfers_controller.rb +259 -0
  28. data/lib/pay_quicker_sdk/controllers/users_controller.rb +151 -0
  29. data/lib/pay_quicker_sdk/controllers/webhooks_controller.rb +173 -0
  30. data/lib/pay_quicker_sdk/exceptions/api_error_result_exception.rb +80 -0
  31. data/lib/pay_quicker_sdk/exceptions/api_exception.rb +21 -0
  32. data/lib/pay_quicker_sdk/exceptions/o_auth_provider_exception.rb +64 -0
  33. data/lib/pay_quicker_sdk/http/auth/clientside.rb +53 -0
  34. data/lib/pay_quicker_sdk/http/auth/server.rb +156 -0
  35. data/lib/pay_quicker_sdk/http/http_call_back.rb +10 -0
  36. data/lib/pay_quicker_sdk/http/http_method_enum.rb +10 -0
  37. data/lib/pay_quicker_sdk/http/http_request.rb +10 -0
  38. data/lib/pay_quicker_sdk/http/http_response.rb +10 -0
  39. data/lib/pay_quicker_sdk/http/proxy_settings.rb +22 -0
  40. data/lib/pay_quicker_sdk/logging/configuration/api_logging_configuration.rb +186 -0
  41. data/lib/pay_quicker_sdk/logging/sdk_logger.rb +17 -0
  42. data/lib/pay_quicker_sdk/models/addresses.rb +45 -0
  43. data/lib/pay_quicker_sdk/models/agreement_list_result_json.rb +106 -0
  44. data/lib/pay_quicker_sdk/models/agreement_object.rb +120 -0
  45. data/lib/pay_quicker_sdk/models/agreement_result.rb +130 -0
  46. data/lib/pay_quicker_sdk/models/agreement_types.rb +64 -0
  47. data/lib/pay_quicker_sdk/models/authorization_list_result.rb +106 -0
  48. data/lib/pay_quicker_sdk/models/authorization_object.rb +194 -0
  49. data/lib/pay_quicker_sdk/models/balance_list_result.rb +106 -0
  50. data/lib/pay_quicker_sdk/models/balance_object.rb +118 -0
  51. data/lib/pay_quicker_sdk/models/balance_result.rb +128 -0
  52. data/lib/pay_quicker_sdk/models/bank_account_address.rb +132 -0
  53. data/lib/pay_quicker_sdk/models/bank_account_field.rb +83 -0
  54. data/lib/pay_quicker_sdk/models/bank_account_fields.rb +195 -0
  55. data/lib/pay_quicker_sdk/models/bank_account_list_result.rb +106 -0
  56. data/lib/pay_quicker_sdk/models/bank_account_object.rb +226 -0
  57. data/lib/pay_quicker_sdk/models/bank_account_ownership.rb +36 -0
  58. data/lib/pay_quicker_sdk/models/bank_account_required_fields.rb +125 -0
  59. data/lib/pay_quicker_sdk/models/bank_account_requirement.rb +142 -0
  60. data/lib/pay_quicker_sdk/models/bank_account_requirement_format.rb +93 -0
  61. data/lib/pay_quicker_sdk/models/bank_account_requirement_format_legend.rb +93 -0
  62. data/lib/pay_quicker_sdk/models/bank_account_requirement_list_result.rb +110 -0
  63. data/lib/pay_quicker_sdk/models/bank_account_requirement_validator.rb +86 -0
  64. data/lib/pay_quicker_sdk/models/bank_account_result.rb +234 -0
  65. data/lib/pay_quicker_sdk/models/bank_account_statuses.rb +49 -0
  66. data/lib/pay_quicker_sdk/models/bank_account_types.rb +47 -0
  67. data/lib/pay_quicker_sdk/models/bank_types.rb +68 -0
  68. data/lib/pay_quicker_sdk/models/base_model.rb +122 -0
  69. data/lib/pay_quicker_sdk/models/business_contact_roles.rb +44 -0
  70. data/lib/pay_quicker_sdk/models/card_networks.rb +36 -0
  71. data/lib/pay_quicker_sdk/models/card_processors.rb +52 -0
  72. data/lib/pay_quicker_sdk/models/category_types.rb +36 -0
  73. data/lib/pay_quicker_sdk/models/countries.rb +1031 -0
  74. data/lib/pay_quicker_sdk/models/countries_alpha_code3.rb +1028 -0
  75. data/lib/pay_quicker_sdk/models/create_invitation.rb +614 -0
  76. data/lib/pay_quicker_sdk/models/create_or_update_bank_account.rb +163 -0
  77. data/lib/pay_quicker_sdk/models/create_or_update_document.rb +82 -0
  78. data/lib/pay_quicker_sdk/models/create_or_update_document_fields.rb +81 -0
  79. data/lib/pay_quicker_sdk/models/create_or_update_electronic_wallet.rb +126 -0
  80. data/lib/pay_quicker_sdk/models/create_or_update_user.rb +614 -0
  81. data/lib/pay_quicker_sdk/models/create_spendback_refund_quote.rb +173 -0
  82. data/lib/pay_quicker_sdk/models/create_webhook_request.rb +82 -0
  83. data/lib/pay_quicker_sdk/models/currencies.rb +700 -0
  84. data/lib/pay_quicker_sdk/models/delivery_details.rb +119 -0
  85. data/lib/pay_quicker_sdk/models/document_details.rb +81 -0
  86. data/lib/pay_quicker_sdk/models/document_list_result.rb +108 -0
  87. data/lib/pay_quicker_sdk/models/document_object.rb +147 -0
  88. data/lib/pay_quicker_sdk/models/document_requirements_list_result.rb +91 -0
  89. data/lib/pay_quicker_sdk/models/document_result.rb +157 -0
  90. data/lib/pay_quicker_sdk/models/document_status_types.rb +48 -0
  91. data/lib/pay_quicker_sdk/models/document_types.rb +264 -0
  92. data/lib/pay_quicker_sdk/models/electronic_funds_transfer_types.rb +36 -0
  93. data/lib/pay_quicker_sdk/models/electronic_transfer_failure_types.rb +97 -0
  94. data/lib/pay_quicker_sdk/models/electronic_transfer_status_types.rb +46 -0
  95. data/lib/pay_quicker_sdk/models/electronic_wallet_field.rb +83 -0
  96. data/lib/pay_quicker_sdk/models/electronic_wallet_fields.rb +41 -0
  97. data/lib/pay_quicker_sdk/models/electronic_wallet_list_result.rb +106 -0
  98. data/lib/pay_quicker_sdk/models/electronic_wallet_object.rb +186 -0
  99. data/lib/pay_quicker_sdk/models/electronic_wallet_required_fields.rb +125 -0
  100. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement.rb +166 -0
  101. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_format.rb +93 -0
  102. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_format_legend.rb +93 -0
  103. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_list_result.rb +110 -0
  104. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_validator.rb +86 -0
  105. data/lib/pay_quicker_sdk/models/electronic_wallet_result.rb +195 -0
  106. data/lib/pay_quicker_sdk/models/electronic_wallet_statuses.rb +48 -0
  107. data/lib/pay_quicker_sdk/models/electronic_wallet_type.rb +99 -0
  108. data/lib/pay_quicker_sdk/models/electronic_wallet_types.rb +368 -0
  109. data/lib/pay_quicker_sdk/models/event_category_types.rb +40 -0
  110. data/lib/pay_quicker_sdk/models/event_list_result.rb +106 -0
  111. data/lib/pay_quicker_sdk/models/event_object.rb +191 -0
  112. data/lib/pay_quicker_sdk/models/event_requirement_categories.rb +56 -0
  113. data/lib/pay_quicker_sdk/models/event_requirements.rb +105 -0
  114. data/lib/pay_quicker_sdk/models/event_statuses.rb +52 -0
  115. data/lib/pay_quicker_sdk/models/event_types.rb +36 -0
  116. data/lib/pay_quicker_sdk/models/expected_delivery_types.rb +36 -0
  117. data/lib/pay_quicker_sdk/models/fee_configuration.rb +154 -0
  118. data/lib/pay_quicker_sdk/models/fee_distribution.rb +159 -0
  119. data/lib/pay_quicker_sdk/models/fee_responsibility_parties.rb +44 -0
  120. data/lib/pay_quicker_sdk/models/fee_responsibility_sources.rb +36 -0
  121. data/lib/pay_quicker_sdk/models/fee_sources.rb +40 -0
  122. data/lib/pay_quicker_sdk/models/fee_values.rb +36 -0
  123. data/lib/pay_quicker_sdk/models/fees.rb +222 -0
  124. data/lib/pay_quicker_sdk/models/fx_rate.rb +144 -0
  125. data/lib/pay_quicker_sdk/models/gateway_payment_job.rb +131 -0
  126. data/lib/pay_quicker_sdk/models/gateway_payment_job_quote.rb +167 -0
  127. data/lib/pay_quicker_sdk/models/gateway_payment_quote.rb +220 -0
  128. data/lib/pay_quicker_sdk/models/gateway_spendback_quote.rb +167 -0
  129. data/lib/pay_quicker_sdk/models/gateway_transfer_quote.rb +195 -0
  130. data/lib/pay_quicker_sdk/models/genders.rb +48 -0
  131. data/lib/pay_quicker_sdk/models/government_ids.rb +45 -0
  132. data/lib/pay_quicker_sdk/models/hateoas_relationship.rb +69 -0
  133. data/lib/pay_quicker_sdk/models/hateoas_self_ref.rb +84 -0
  134. data/lib/pay_quicker_sdk/models/identity_verification_providers.rb +62 -0
  135. data/lib/pay_quicker_sdk/models/identity_verification_result_sub_types.rb +38 -0
  136. data/lib/pay_quicker_sdk/models/identity_verification_result_types.rb +57 -0
  137. data/lib/pay_quicker_sdk/models/idv_check_list_result.rb +108 -0
  138. data/lib/pay_quicker_sdk/models/idv_check_object.rb +209 -0
  139. data/lib/pay_quicker_sdk/models/idv_check_result.rb +221 -0
  140. data/lib/pay_quicker_sdk/models/invitation_list_result.rb +106 -0
  141. data/lib/pay_quicker_sdk/models/invitation_object.rb +262 -0
  142. data/lib/pay_quicker_sdk/models/invitation_result.rb +272 -0
  143. data/lib/pay_quicker_sdk/models/job_status_types.rb +68 -0
  144. data/lib/pay_quicker_sdk/models/job_types.rb +36 -0
  145. data/lib/pay_quicker_sdk/models/languages.rb +101 -0
  146. data/lib/pay_quicker_sdk/models/list_metadata.rb +116 -0
  147. data/lib/pay_quicker_sdk/models/lock_side_types.rb +37 -0
  148. data/lib/pay_quicker_sdk/models/metadata.rb +72 -0
  149. data/lib/pay_quicker_sdk/models/metadata_items.rb +80 -0
  150. data/lib/pay_quicker_sdk/models/o_auth_provider_error.rb +62 -0
  151. data/lib/pay_quicker_sdk/models/o_auth_scope_server.rb +36 -0
  152. data/lib/pay_quicker_sdk/models/o_auth_token.rb +106 -0
  153. data/lib/pay_quicker_sdk/models/occupations.rb +100 -0
  154. data/lib/pay_quicker_sdk/models/operation_result.rb +72 -0
  155. data/lib/pay_quicker_sdk/models/order_prepaid_card.rb +97 -0
  156. data/lib/pay_quicker_sdk/models/payment_job_list_result.rb +106 -0
  157. data/lib/pay_quicker_sdk/models/payment_job_object.rb +211 -0
  158. data/lib/pay_quicker_sdk/models/payment_job_result.rb +220 -0
  159. data/lib/pay_quicker_sdk/models/payment_list_result.rb +106 -0
  160. data/lib/pay_quicker_sdk/models/payment_object.rb +263 -0
  161. data/lib/pay_quicker_sdk/models/payment_purposes.rb +58 -0
  162. data/lib/pay_quicker_sdk/models/payment_result.rb +272 -0
  163. data/lib/pay_quicker_sdk/models/portal_payment_job.rb +131 -0
  164. data/lib/pay_quicker_sdk/models/portal_payment_job_quote.rb +176 -0
  165. data/lib/pay_quicker_sdk/models/portal_payment_quote.rb +228 -0
  166. data/lib/pay_quicker_sdk/models/portal_spendback_quote.rb +177 -0
  167. data/lib/pay_quicker_sdk/models/portal_transfer_quote.rb +204 -0
  168. data/lib/pay_quicker_sdk/models/prepaid_card_authorizations.rb +129 -0
  169. data/lib/pay_quicker_sdk/models/prepaid_card_capabilities.rb +69 -0
  170. data/lib/pay_quicker_sdk/models/prepaid_card_data_object.rb +136 -0
  171. data/lib/pay_quicker_sdk/models/prepaid_card_data_result.rb +146 -0
  172. data/lib/pay_quicker_sdk/models/prepaid_card_data_token_object.rb +134 -0
  173. data/lib/pay_quicker_sdk/models/prepaid_card_data_token_result.rb +145 -0
  174. data/lib/pay_quicker_sdk/models/prepaid_card_data_type.rb +36 -0
  175. data/lib/pay_quicker_sdk/models/prepaid_card_image_side.rb +36 -0
  176. data/lib/pay_quicker_sdk/models/prepaid_card_list_result.rb +106 -0
  177. data/lib/pay_quicker_sdk/models/prepaid_card_object.rb +243 -0
  178. data/lib/pay_quicker_sdk/models/prepaid_card_pin_object.rb +108 -0
  179. data/lib/pay_quicker_sdk/models/prepaid_card_pin_result.rb +121 -0
  180. data/lib/pay_quicker_sdk/models/prepaid_card_pin_token_object.rb +128 -0
  181. data/lib/pay_quicker_sdk/models/prepaid_card_pin_token_result.rb +139 -0
  182. data/lib/pay_quicker_sdk/models/prepaid_card_replacement_reasons.rb +48 -0
  183. data/lib/pay_quicker_sdk/models/prepaid_card_result.rb +254 -0
  184. data/lib/pay_quicker_sdk/models/prepaid_card_statuses.rb +71 -0
  185. data/lib/pay_quicker_sdk/models/program_list_result.rb +106 -0
  186. data/lib/pay_quicker_sdk/models/program_object.rb +138 -0
  187. data/lib/pay_quicker_sdk/models/program_result.rb +147 -0
  188. data/lib/pay_quicker_sdk/models/program_types.rb +44 -0
  189. data/lib/pay_quicker_sdk/models/receipt_descriptions.rb +84 -0
  190. data/lib/pay_quicker_sdk/models/receipt_details.rb +439 -0
  191. data/lib/pay_quicker_sdk/models/receipt_list_result.rb +106 -0
  192. data/lib/pay_quicker_sdk/models/receipt_object.rb +241 -0
  193. data/lib/pay_quicker_sdk/models/receipt_result.rb +251 -0
  194. data/lib/pay_quicker_sdk/models/receipt_statuses.rb +76 -0
  195. data/lib/pay_quicker_sdk/models/replace_prepaid_card.rb +85 -0
  196. data/lib/pay_quicker_sdk/models/retrieve_card_data.rb +73 -0
  197. data/lib/pay_quicker_sdk/models/retrieve_card_pin.rb +76 -0
  198. data/lib/pay_quicker_sdk/models/sandbox_instance.rb +76 -0
  199. data/lib/pay_quicker_sdk/models/signs.rb +40 -0
  200. data/lib/pay_quicker_sdk/models/spendback_list_result.rb +106 -0
  201. data/lib/pay_quicker_sdk/models/spendback_object.rb +291 -0
  202. data/lib/pay_quicker_sdk/models/spendback_quote_accept_result.rb +301 -0
  203. data/lib/pay_quicker_sdk/models/spendback_refund_list_result.rb +106 -0
  204. data/lib/pay_quicker_sdk/models/spendback_refund_object.rb +251 -0
  205. data/lib/pay_quicker_sdk/models/spendback_refund_result.rb +262 -0
  206. data/lib/pay_quicker_sdk/models/spendback_result.rb +301 -0
  207. data/lib/pay_quicker_sdk/models/statement_list_result.rb +106 -0
  208. data/lib/pay_quicker_sdk/models/statement_object.rb +183 -0
  209. data/lib/pay_quicker_sdk/models/statement_result.rb +192 -0
  210. data/lib/pay_quicker_sdk/models/tax_resident_statuses.rb +40 -0
  211. data/lib/pay_quicker_sdk/models/token_purposes.rb +36 -0
  212. data/lib/pay_quicker_sdk/models/transfer_list_result.rb +106 -0
  213. data/lib/pay_quicker_sdk/models/transfer_method_types.rb +48 -0
  214. data/lib/pay_quicker_sdk/models/transfer_object.rb +309 -0
  215. data/lib/pay_quicker_sdk/models/transfer_result.rb +318 -0
  216. data/lib/pay_quicker_sdk/models/transfer_statuses.rb +76 -0
  217. data/lib/pay_quicker_sdk/models/transfer_types.rb +112 -0
  218. data/lib/pay_quicker_sdk/models/translation.rb +85 -0
  219. data/lib/pay_quicker_sdk/models/uat_instance.rb +48 -0
  220. data/lib/pay_quicker_sdk/models/update_card_pin.rb +87 -0
  221. data/lib/pay_quicker_sdk/models/update_prepaid_card.rb +85 -0
  222. data/lib/pay_quicker_sdk/models/upload_fields.rb +40 -0
  223. data/lib/pay_quicker_sdk/models/user_action.rb +40 -0
  224. data/lib/pay_quicker_sdk/models/user_doc_req_item_docs_items_metadata_items.rb +101 -0
  225. data/lib/pay_quicker_sdk/models/user_doc_req_item_docs_items_metadata_items_name_items.rb +83 -0
  226. data/lib/pay_quicker_sdk/models/user_doc_req_item_docs_items_supplemental_docs_items.rb +92 -0
  227. data/lib/pay_quicker_sdk/models/user_document_requirement_item.rb +105 -0
  228. data/lib/pay_quicker_sdk/models/user_document_requirement_item_documents_items.rb +132 -0
  229. data/lib/pay_quicker_sdk/models/user_event_result.rb +201 -0
  230. data/lib/pay_quicker_sdk/models/user_impact.rb +48 -0
  231. data/lib/pay_quicker_sdk/models/user_list_result.rb +106 -0
  232. data/lib/pay_quicker_sdk/models/user_object.rb +676 -0
  233. data/lib/pay_quicker_sdk/models/user_result.rb +686 -0
  234. data/lib/pay_quicker_sdk/models/user_statuses.rb +40 -0
  235. data/lib/pay_quicker_sdk/models/user_types.rb +36 -0
  236. data/lib/pay_quicker_sdk/models/validator_types.rb +50 -0
  237. data/lib/pay_quicker_sdk/models/webhook_namespaces.rb +307 -0
  238. data/lib/pay_quicker_sdk/models/webhook_subscription_list_result.rb +106 -0
  239. data/lib/pay_quicker_sdk/models/webhook_subscription_object.rb +158 -0
  240. data/lib/pay_quicker_sdk/models/webhook_subscription_result.rb +167 -0
  241. data/lib/pay_quicker_sdk/models/webhook_subscription_statuses.rb +44 -0
  242. data/lib/pay_quicker_sdk/utilities/date_time_helper.rb +11 -0
  243. data/lib/pay_quicker_sdk/utilities/file_wrapper.rb +28 -0
  244. data/lib/pay_quicker_sdk/utilities/union_type_lookup.rb +62 -0
  245. data/lib/pay_quicker_sdk.rb +274 -0
  246. data/test/controllers/controller_test_base.rb +24 -0
  247. data/test/controllers/test_agreements_controller.rb +108 -0
  248. data/test/controllers/test_balances_controller.rb +132 -0
  249. data/test/controllers/test_bank_accounts_controller.rb +645 -0
  250. data/test/controllers/test_client_side_controller.rb +295 -0
  251. data/test/controllers/test_compliance_controller.rb +86 -0
  252. data/test/controllers/test_documents_controller.rb +212 -0
  253. data/test/controllers/test_electronic_wallets_controller.rb +292 -0
  254. data/test/controllers/test_events_controller.rb +138 -0
  255. data/test/controllers/test_invitations_controller.rb +162 -0
  256. data/test/controllers/test_jobs_controller.rb +114 -0
  257. data/test/controllers/test_payments_controller.rb +323 -0
  258. data/test/controllers/test_prepaid_cards_controller.rb +351 -0
  259. data/test/controllers/test_program_controller.rb +134 -0
  260. data/test/controllers/test_receipts_controller.rb +813 -0
  261. data/test/controllers/test_spendback_controller.rb +302 -0
  262. data/test/controllers/test_spendback_refunds_controller.rb +128 -0
  263. data/test/controllers/test_statements_controller.rb +192 -0
  264. data/test/controllers/test_transfers_controller.rb +613 -0
  265. data/test/controllers/test_users_controller.rb +483 -0
  266. data/test/controllers/test_webhooks_controller.rb +402 -0
  267. data/test/http_response_catcher.rb +19 -0
  268. metadata +379 -0
@@ -0,0 +1,402 @@
1
+ # pay_quicker_sdk
2
+ #
3
+ # This file was automatically generated for PayQuicker by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ require_relative 'controller_test_base'
7
+
8
+ class WebhooksControllerTest < ControllerTestBase
9
+ # Called only once for the class before any test has executed
10
+ def setup
11
+ setup_class
12
+ @controller = @client.webhooks
13
+ @response_catcher = @controller.http_call_back
14
+ end
15
+
16
+ # Retrieve a list of all [webhook subscriptions](page:resources/webhooks) that supports filtering, sorting, and pagination through existing mechanisms
17
+ #
18
+ def test_list_subscriptions
19
+ # Parameters for the API call
20
+ page = 1
21
+ page_size = 20
22
+ filter = 'string'
23
+ sort = 'string'
24
+ language = 'en-US'
25
+
26
+ # Perform the API call through the SDK function
27
+ result = @controller.list_subscriptions(page, page_size, filter: filter,
28
+ sort: sort, language: language)
29
+
30
+ # Test response code
31
+ assert_equal(200, @response_catcher.response.status_code)
32
+ # Test headers
33
+ expected_headers = {}
34
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
35
+
36
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
37
+
38
+ # Test whether the captured response is as we expected
39
+ refute_nil(result)
40
+ expected_body = JSON.parse(
41
+ '{"payload":[{"token":"webh-4cdcb012-8b3f-453f-af4f-c29e6091db92","creat'\
42
+ 'ed":"2020-07-24T14:53:08Z","lastUpdated":"2021-08-09T18:31:55Z","url":"'\
43
+ 'https://api.sandbox.payquicker.io/integrations/internal/twohundred","na'\
44
+ 'mespace":"PREPAIDCARDS.UPDATED.STATUS.CLOSEDSTOLEN","status":"SUBSCRIBE'\
45
+ 'D","links":[{"href":"https://platform.mypayquicker.dev/api/v2/webhooks/'\
46
+ 'webh-4cdcb012-8b3f-453f-af4f-c29e6091db92","params":{"rel":"self"}}]},{'\
47
+ '"token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-'\
48
+ '24T14:53:08Z","lastUpdated":"2021-08-09T18:31:55Z","url":"https://faweb'\
49
+ 'hookreceiver.azurewebsites.net/api/receive","namespace":"PAPERCHECKS.UP'\
50
+ 'DATED.STATUS.REDEEMED","status":"SUBSCRIBED","links":[{"href":"https://'\
51
+ 'platform.mypayquicker.dev/api/v2/webhooks/webh-4de2d5d8-f04a-4fe1-bff0-'\
52
+ '8d343295f24e","params":{"rel":"self"}}]},{"namespace":"USERS.CREATED","'\
53
+ 'status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e"'\
54
+ ',"created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z",'\
55
+ '"url":"https://fawebhookreceiver.azurewebsites.net/api/receive"},{"name'\
56
+ 'space":"USERS.UPDATED.STATUS.REGISTRATIONINPROGRESS","status":"AVAILABL'\
57
+ 'E","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-'\
58
+ '07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://fa'\
59
+ 'webhookreceiver.azurewebsites.net/api/receive"},{"namespace":"USERS.UPD'\
60
+ 'ATED.STATUS.REGISTRATIONCOMPLETE","status":"AVAILABLE","token":"webh-4d'\
61
+ 'e2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z","l'\
62
+ 'astUpdated":"2020-07-24T14:53:08Z","url":"https://fawebhookreceiver.azu'\
63
+ 'rewebsites.net/api/receive"},{"namespace":"USERS.UPDATED.KYC.REQUIRED",'\
64
+ '"status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e'\
65
+ '","created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z"'\
66
+ ',"url":"https://fawebhookreceiver.azurewebsites.net/api/receive"},{"nam'\
67
+ 'espace":"USERS.UPDATED.KYC.PROVIDED","status":"AVAILABLE","token":"webh'\
68
+ '-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z"'\
69
+ ',"lastUpdated":"2020-07-24T14:53:08Z","url":"https://fawebhookreceiver.'\
70
+ 'azurewebsites.net/api/receive"},{"namespace":"USERS.UPDATED.KYC.REJECTE'\
71
+ 'D","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f'\
72
+ '24e","created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:0'\
73
+ '8Z","url":"https://fawebhookreceiver.azurewebsites.net/api/receive"},{"'\
74
+ 'namespace":"USERS.UPDATED.KYC.APPROVED","status":"AVAILABLE","token":"w'\
75
+ 'ebh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:0'\
76
+ '8Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://fawebhookreceiv'\
77
+ 'er.azurewebsites.net/api/receive"},{"namespace":"PREPAIDCARDS.CREATED",'\
78
+ '"status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e'\
79
+ '","created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z"'\
80
+ ',"url":"https://fawebhookreceiver.azurewebsites.net/api/receive"},{"nam'\
81
+ 'espace":"PREPAIDCARDS.UPDATED.STATUS.ACTIVE","status":"AVAILABLE","toke'\
82
+ 'n":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14'\
83
+ ':53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://fawebhookr'\
84
+ 'eceiver.azurewebsites.net/api/receive"},{"namespace":"PREPAIDCARDS.UPDA'\
85
+ 'TED.STATUS.CLOSED","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe'\
86
+ '1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z","lastUpdated":"20'\
87
+ '20-07-24T14:53:08Z","url":"https://fawebhookreceiver.azurewebsites.net/'\
88
+ 'api/receive"},{"namespace":"PREPAIDCARDS.UPDATED.STATUS.CLOSEDLOST","st'\
89
+ 'atus":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","'\
90
+ 'created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","u'\
91
+ 'rl":"https://fawebhookreceiver.azurewebsites.net/api/receive"},{"namesp'\
92
+ 'ace":"PREPAIDCARDS.UPDATED.STATUS.PENDINGACTIVATION","status":"AVAILABL'\
93
+ 'E","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-'\
94
+ '07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://fa'\
95
+ 'webhookreceiver.azurewebsites.net/api/receive"},{"namespace":"PREPAIDCA'\
96
+ 'RDS.UPDATED.STATUS.PENDINGORDER","status":"AVAILABLE","token":"webh-4de'\
97
+ '2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z","la'\
98
+ 'stUpdated":"2020-07-24T14:53:08Z","url":"https://fawebhookreceiver.azur'\
99
+ 'ewebsites.net/api/receive"},{"namespace":"PREPAIDCARDS.UPDATED.STATUS.S'\
100
+ 'USPENDED","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d'\
101
+ '343295f24e","created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T'\
102
+ '14:53:08Z","url":"https://fawebhookreceiver.azurewebsites.net/api/recei'\
103
+ 've"},{"namespace":"BANKACCOUNTS.CREATED","status":"AVAILABLE","token":"'\
104
+ 'webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:'\
105
+ '08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://fawebhookrecei'\
106
+ 'ver.azurewebsites.net/api/receive"},{"namespace":"BANKACCOUNTS.UPDATED.'\
107
+ 'STATUS.APPROVED","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-'\
108
+ 'bff0-8d343295f24e","created":"2020-07-24T14:53:08Z","lastUpdated":"2020'\
109
+ '-07-24T14:53:08Z","url":"https://fawebhookreceiver.azurewebsites.net/ap'\
110
+ 'i/receive"},{"namespace":"BANKACCOUNTS.UPDATED.STATUS.DELETED","status"'\
111
+ ':"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","creat'\
112
+ 'ed":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"'\
113
+ 'https://fawebhookreceiver.azurewebsites.net/api/receive"},{"namespace":'\
114
+ '"BANKACCOUNTS.UPDATED.STATUS.COMPLIANCEHOLD","status":"AVAILABLE","toke'\
115
+ 'n":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14'\
116
+ ':53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://fawebhookr'\
117
+ 'eceiver.azurewebsites.net/api/receive"},{"namespace":"BANKACCOUNTS.UPDA'\
118
+ 'TED.DETAILS.MODIFIED","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-'\
119
+ '4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z","lastUpdated":'\
120
+ '"2020-07-24T14:53:08Z","url":"https://fawebhookreceiver.azurewebsites.n'\
121
+ 'et/api/receive"},{"namespace":"PAPERCHECKS.CREATED","status":"AVAILABLE'\
122
+ '","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-0'\
123
+ '7-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://faw'\
124
+ 'ebhookreceiver.azurewebsites.net/api/receive"},{"namespace":"PAPERCHECK'\
125
+ 'S.UPDATED.STATUS.INPROGRESS","status":"AVAILABLE","token":"webh-4de2d5d'\
126
+ '8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z","lastUp'\
127
+ 'dated":"2020-07-24T14:53:08Z","url":"https://fawebhookreceiver.azureweb'\
128
+ 'sites.net/api/receive"},{"namespace":"PAPERCHECKS.UPDATED.STATUS.CANCEL'\
129
+ 'LED","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d34329'\
130
+ '5f24e","created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53'\
131
+ ':08Z","url":"https://fawebhookreceiver.azurewebsites.net/api/receive"},'\
132
+ '{"namespace":"PAPERCHECKS.UPDATED.DETAILS.MODIFIED","status":"AVAILABLE'\
133
+ '","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-0'\
134
+ '7-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://faw'\
135
+ 'ebhookreceiver.azurewebsites.net/api/receive"},{"namespace":"TRANSFERQU'\
136
+ 'OTES.CREATED","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff'\
137
+ '0-8d343295f24e","created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07'\
138
+ '-24T14:53:08Z","url":"https://fawebhookreceiver.azurewebsites.net/api/r'\
139
+ 'eceive"},{"namespace":"TRANSFERQUOTES.ACCEPTED","status":"AVAILABLE","t'\
140
+ 'oken":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24'\
141
+ 'T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://fawebho'\
142
+ 'okreceiver.azurewebsites.net/api/receive"},{"namespace":"TRANSFERQUOTES'\
143
+ '.VOIDED","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d3'\
144
+ '43295f24e","created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T1'\
145
+ '4:53:08Z","url":"https://fawebhookreceiver.azurewebsites.net/api/receiv'\
146
+ 'e"},{"namespace":"TRANSFERQUOTES.CANCELLED","status":"AVAILABLE","token'\
147
+ '":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:'\
148
+ '53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://fawebhookre'\
149
+ 'ceiver.azurewebsites.net/api/receive"},{"namespace":"PAYMENTQUOTES.CREA'\
150
+ 'TED","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d34329'\
151
+ '5f24e","created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53'\
152
+ ':08Z","url":"https://fawebhookreceiver.azurewebsites.net/api/receive"},'\
153
+ '{"namespace":"PAYMENTQUOTES.ACCEPTED","status":"AVAILABLE","token":"web'\
154
+ 'h-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z'\
155
+ '","lastUpdated":"2020-07-24T14:53:08Z","url":"https://fawebhookreceiver'\
156
+ '.azurewebsites.net/api/receive"},{"namespace":"PAYMENTQUOTES.VOIDED","s'\
157
+ 'tatus":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e",'\
158
+ '"created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","'\
159
+ 'url":"https://fawebhookreceiver.azurewebsites.net/api/receive"},{"names'\
160
+ 'pace":"PAYMENTQUOTES.CANCELLED","status":"AVAILABLE","token":"webh-4de2'\
161
+ 'd5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z","las'\
162
+ 'tUpdated":"2020-07-24T14:53:08Z","url":"https://fawebhookreceiver.azure'\
163
+ 'websites.net/api/receive"},{"namespace":"SPENDBACKQUOTES.CREATED","stat'\
164
+ 'us":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","cr'\
165
+ 'eated":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url'\
166
+ '":"https://fawebhookreceiver.azurewebsites.net/api/receive"},{"namespac'\
167
+ 'e":"SPENDBACKQUOTES.ACCEPTED","status":"AVAILABLE","token":"webh-4de2d5'\
168
+ 'd8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z","lastU'\
169
+ 'pdated":"2020-07-24T14:53:08Z","url":"https://fawebhookreceiver.azurewe'\
170
+ 'bsites.net/api/receive"},{"namespace":"SPENDBACKQUOTES.VOIDED","status"'\
171
+ ':"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","creat'\
172
+ 'ed":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"'\
173
+ 'https://fawebhookreceiver.azurewebsites.net/api/receive"},{"namespace":'\
174
+ '"SPENDBACKQUOTES.CANCELLED","status":"AVAILABLE","token":"webh-4de2d5d8'\
175
+ '-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z","lastUpd'\
176
+ 'ated":"2020-07-24T14:53:08Z","url":"https://fawebhookreceiver.azurewebs'\
177
+ 'ites.net/api/receive"},{"namespace":"RECEIPTS.CREATED","status":"AVAILA'\
178
+ 'BLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"202'\
179
+ '0-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://'\
180
+ 'fawebhookreceiver.azurewebsites.net/api/receive"},{"namespace":"RECEIPT'\
181
+ 'S.UPDATED.STATUS.COMPLETED","status":"AVAILABLE","token":"webh-4de2d5d8'\
182
+ '-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z","lastUpd'\
183
+ 'ated":"2020-07-24T14:53:08Z","url":"https://fawebhookreceiver.azurewebs'\
184
+ 'ites.net/api/receive"},{"namespace":"RECEIPTS.UPDATED.STATUS.CANCELLED"'\
185
+ ',"status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24'\
186
+ 'e","created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z'\
187
+ '","url":"https://fawebhookreceiver.azurewebsites.net/api/receive"},{"na'\
188
+ 'mespace":"RECEIPTS.UPDATED.STATUS.REFUNDED","status":"AVAILABLE","token'\
189
+ '":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:'\
190
+ '53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://fawebhookre'\
191
+ 'ceiver.azurewebsites.net/api/receive"},{"namespace":"RECEIPTS.UPDATED.S'\
192
+ 'TATUS.FAILED","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff'\
193
+ '0-8d343295f24e","created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07'\
194
+ '-24T14:53:08Z","url":"https://fawebhookreceiver.azurewebsites.net/api/r'\
195
+ 'eceive"},{"namespace":"RECEIPTS.UPDATED.STATUS.PENDING","status":"AVAIL'\
196
+ 'ABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"20'\
197
+ '20-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https:/'\
198
+ '/fawebhookreceiver.azurewebsites.net/api/receive"},{"namespace":"RECEIP'\
199
+ 'TS.UPDATED.STATUS.SCHEDULED","status":"AVAILABLE","token":"webh-4de2d5d'\
200
+ '8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z","lastUp'\
201
+ 'dated":"2020-07-24T14:53:08Z","url":"https://fawebhookreceiver.azureweb'\
202
+ 'sites.net/api/receive"},{"namespace":"RECEIPTS.UPDATED.STATUS.PROCESSIN'\
203
+ 'G","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f'\
204
+ '24e","created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:0'\
205
+ '8Z","url":"https://fawebhookreceiver.azurewebsites.net/api/receive"},{"'\
206
+ 'namespace":"RECEIPTS.UPDATED.STATUS.REVERSED","status":"AVAILABLE","tok'\
207
+ 'en":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T1'\
208
+ '4:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://fawebhook'\
209
+ 'receiver.azurewebsites.net/api/receive"},{"namespace":"RECEIPTS.UPDATED'\
210
+ '.DETAILS.MODIFIED","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe'\
211
+ '1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z","lastUpdated":"20'\
212
+ '20-07-24T14:53:08Z","url":"https://fawebhookreceiver.azurewebsites.net/'\
213
+ 'api/receive"},{"namespace":"USEREVENTS.STARTED","status":"AVAILABLE","t'\
214
+ 'oken":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24'\
215
+ 'T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"https://fawebho'\
216
+ 'okreceiver.azurewebsites.net/api/receive"},{"namespace":"USEREVENTS.UPD'\
217
+ 'ATED","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d3432'\
218
+ '95f24e","created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:5'\
219
+ '3:08Z","url":"https://fawebhookreceiver.azurewebsites.net/api/receive"}'\
220
+ ',{"namespace":"USEREVENTS.COMPLETED","status":"AVAILABLE","token":"webh'\
221
+ '-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","created":"2020-07-24T14:53:08Z"'\
222
+ ',"lastUpdated":"2020-07-24T14:53:08Z","url":"https://fawebhookreceiver.'\
223
+ 'azurewebsites.net/api/receive"},{"namespace":"RECEIPTS.UPDATED.STATUS.R'\
224
+ 'ETURNED","status":"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d3'\
225
+ '43295f24e","created":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T1'\
226
+ '4:53:08Z","url":"https://fawebhookreceiver.azurewebsites.net/api/receiv'\
227
+ 'e"},{"namespace":"PREPAIDCARDS.UPDATED.STATUS.PENDINGRELEASE","status":'\
228
+ '"AVAILABLE","token":"webh-4de2d5d8-f04a-4fe1-bff0-8d343295f24e","create'\
229
+ 'd":"2020-07-24T14:53:08Z","lastUpdated":"2020-07-24T14:53:08Z","url":"h'\
230
+ 'ttps://fawebhookreceiver.azurewebsites.net/api/receive"}],"meta":{"page'\
231
+ 'No":"1","pageSize":"100","pageCount":"0","recordCount":"0","timezone":"'\
232
+ 'GMT","requestRef":"request-reference-value"},"links":[{"href":"https://'\
233
+ 'platform.mypayquicker.dev/api/v2/webhooks","params":{"rel":"self"}}]}'
234
+ )
235
+ received_body = JSON.parse(@response_catcher.response.raw_body)
236
+ assert(ComparisonHelper.match_body(expected_body, received_body))
237
+ end
238
+
239
+ # Update a [webhook subscription](page:resources/webhooks).
240
+ def test_update_subscription
241
+ # Parameters for the API call
242
+ body = CreateWebhookRequest.from_hash(APIHelper.json_deserialize(
243
+ '{"namespace":"PAYMENTQUOTES.ACCEPTED","url":"https://fawebhookreceiver.'\
244
+ 'azurewebsites.net/api/receive"}', false))
245
+
246
+ # Perform the API call through the SDK function
247
+ result = @controller.update_subscription(body: body)
248
+
249
+ # Test response code
250
+ assert_equal(201, @response_catcher.response.status_code)
251
+ # Test headers
252
+ expected_headers = {}
253
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
254
+
255
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
256
+
257
+ # Test whether the captured response is as we expected
258
+ refute_nil(result)
259
+ expected_body = JSON.parse(
260
+ '{"token":"webh-c33c81ab-9fd7-4835-8cf9-1b23473e1163","created":"2020-07'\
261
+ '-24T14:53:08Z","lastUpdated":"2022-04-13T05:53:48Z","url":"https://fawe'\
262
+ 'bhookreceiver.azurewebsites.net/api/receive","namespace":"PAYMENTQUOTES'\
263
+ '.ACCEPTED","status":"SUBSCRIBED","links":[{"href":"https://api.sandbox.'\
264
+ 'payquicker.io/api/v2/webhooks/webh-c33c81ab-9fd7-4835-8cf9-1b23473e1163'\
265
+ '","params":{"rel":"self"}}],"meta":{"timezone":"GMT","requestRef":"requ'\
266
+ 'est-reference-value"}}'
267
+ )
268
+ received_body = JSON.parse(@response_catcher.response.raw_body)
269
+ assert(ComparisonHelper.match_body(expected_body, received_body))
270
+ end
271
+
272
+ # Create a [webhook subscription](page:resources/webhooks).
273
+ def test_create_subscription
274
+ # Parameters for the API call
275
+ body = CreateWebhookRequest.from_hash(APIHelper.json_deserialize(
276
+ '{"namespace":"PAYMENTQUOTES.ACCEPTED","url":"https://fawebhookreceiver.'\
277
+ 'azurewebsites.net/api/receive"}', false))
278
+
279
+ # Perform the API call through the SDK function
280
+ result = @controller.create_subscription(body: body)
281
+
282
+ # Test response code
283
+ assert_equal(200, @response_catcher.response.status_code)
284
+ # Test headers
285
+ expected_headers = {}
286
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
287
+
288
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
289
+
290
+ # Test whether the captured response is as we expected
291
+ refute_nil(result)
292
+ expected_body = JSON.parse(
293
+ '{"token":"webh-c33c81ab-9fd7-4835-8cf9-1b23473e1163","created":"2020-07'\
294
+ '-24T14:53:08Z","lastUpdated":"2022-04-13T05:53:48Z","url":"https://fawe'\
295
+ 'bhookreceiver.azurewebsites.net/api/receive","namespace":"PAYMENTQUOTES'\
296
+ '.ACCEPTED","status":"SUBSCRIBED","links":[{"href":"https://api.sandbox.'\
297
+ 'payquicker.io/api/v2/webhooks/webh-c33c81ab-9fd7-4835-8cf9-1b23473e1163'\
298
+ '","params":{"rel":"self"}}],"meta":{"timezone":"GMT","requestRef":"requ'\
299
+ 'est-reference-value"}}'
300
+ )
301
+ received_body = JSON.parse(@response_catcher.response.raw_body)
302
+ assert(ComparisonHelper.match_body(expected_body, received_body))
303
+ end
304
+
305
+ # Create a [webhook subscription](page:resources/webhooks).
306
+ def test_create_subscription1
307
+ # Parameters for the API call
308
+ body = CreateWebhookRequest.from_hash(APIHelper.json_deserialize(
309
+ '{"namespace":"PAYMENTQUOTES.ACCEPTED","url":"https://fawebhookreceiver.'\
310
+ 'azurewebsites.net/api/receive"}', false))
311
+
312
+ # Perform the API call through the SDK function
313
+ result = @controller.create_subscription(body: body)
314
+
315
+ # Test response code
316
+ assert_equal(201, @response_catcher.response.status_code)
317
+ # Test headers
318
+ expected_headers = {}
319
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
320
+
321
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
322
+
323
+ # Test whether the captured response is as we expected
324
+ refute_nil(result)
325
+ expected_body = JSON.parse(
326
+ '{"token":"webh-c33c81ab-9fd7-4835-8cf9-1b23473e1163","created":"2020-07'\
327
+ '-24T14:53:08Z","lastUpdated":"2022-04-13T05:53:48Z","url":"https://fawe'\
328
+ 'bhookreceiver.azurewebsites.net/api/receive","namespace":"PAYMENTQUOTES'\
329
+ '.ACCEPTED","status":"SUBSCRIBED","links":[{"href":"https://api.sandbox.'\
330
+ 'payquicker.io/api/v2/webhooks/webh-c33c81ab-9fd7-4835-8cf9-1b23473e1163'\
331
+ '","params":{"rel":"self"}}],"meta":{"timezone":"GMT","requestRef":"requ'\
332
+ 'est-reference-value"}}'
333
+ )
334
+ received_body = JSON.parse(@response_catcher.response.raw_body)
335
+ assert(ComparisonHelper.match_body(expected_body, received_body))
336
+ end
337
+
338
+ # Retrieve a single [webhook subscription](page:resources/webhooks) using the webhook token.
339
+ #
340
+ def test_retrieve_subscription
341
+ # Parameters for the API call
342
+ webhook_token = 'webh-2dd54a53-3814-4ce1-862f-dc06b09ead4a'
343
+
344
+ # Perform the API call through the SDK function
345
+ result = @controller.retrieve_subscription(webhook_token)
346
+
347
+ # Test response code
348
+ assert_equal(200, @response_catcher.response.status_code)
349
+ # Test headers
350
+ expected_headers = {}
351
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
352
+
353
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
354
+
355
+ # Test whether the captured response is as we expected
356
+ refute_nil(result)
357
+ expected_body = JSON.parse(
358
+ '{"token":"webh-c33c81ab-9fd7-4835-8cf9-1b23473e1163","created":"2020-07'\
359
+ '-24T14:53:08Z","lastUpdated":"2022-04-13T05:53:48Z","url":"https://fawe'\
360
+ 'bhookreceiver.azurewebsites.net/api/receive","namespace":"PAYMENTQUOTES'\
361
+ '.ACCEPTED","status":"SUBSCRIBED","links":[{"href":"https://api.sandbox.'\
362
+ 'payquicker.io/api/v2/webhooks/webh-c33c81ab-9fd7-4835-8cf9-1b23473e1163'\
363
+ '","params":{"rel":"self"}}],"meta":{"timezone":"GMT","requestRef":"requ'\
364
+ 'est-reference-value"}}'
365
+ )
366
+ received_body = JSON.parse(@response_catcher.response.raw_body)
367
+ assert(ComparisonHelper.match_body(expected_body, received_body))
368
+ end
369
+
370
+ # Delete a [webhook subscription](page:resources/webhooks).
371
+ #
372
+ def test_delete_subscription
373
+ # Parameters for the API call
374
+ webhook_token = 'webh-2dd54a53-3814-4ce1-862f-dc06b09ead4a'
375
+
376
+ # Perform the API call through the SDK function
377
+ result = @controller.delete_subscription(webhook_token)
378
+
379
+ # Test response code
380
+ assert_equal(201, @response_catcher.response.status_code)
381
+ # Test headers
382
+ expected_headers = {}
383
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
384
+
385
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
386
+
387
+ # Test whether the captured response is as we expected
388
+ refute_nil(result)
389
+ expected_body = JSON.parse(
390
+ '{"token":"webh-c33c81ab-9fd7-4835-8cf9-1b23473e1163","created":"2020-07'\
391
+ '-24T14:53:08Z","lastUpdated":"2022-04-13T05:53:48Z","url":"https://fawe'\
392
+ 'bhookreceiver.azurewebsites.net/api/receive","namespace":"PAYMENTQUOTES'\
393
+ '.ACCEPTED","status":"SUBSCRIBED","links":[{"href":"https://api.sandbox.'\
394
+ 'payquicker.io/api/v2/webhooks/webh-c33c81ab-9fd7-4835-8cf9-1b23473e1163'\
395
+ '","params":{"rel":"self"}}],"meta":{"timezone":"GMT","requestRef":"requ'\
396
+ 'est-reference-value"}}'
397
+ )
398
+ received_body = JSON.parse(@response_catcher.response.raw_body)
399
+ assert(ComparisonHelper.match_body(expected_body, received_body))
400
+ end
401
+
402
+ end
@@ -0,0 +1,19 @@
1
+ # pay_quicker_sdk
2
+ #
3
+ # This file was automatically generated for PayQuicker by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ class HttpResponseCatcher < PayQuickerSdk::HttpCallBack
7
+ attr_reader :response
8
+
9
+ def on_before_request(request)
10
+ end
11
+
12
+ # Catching the response
13
+ def on_after_response(response)
14
+ @response = response
15
+ end
16
+ end
17
+
18
+
19
+