passbase 1.0.1 → 1.3.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 (273) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +15 -3
  3. data/README.md +16 -15
  4. data/docs/Cursor.md +8 -7
  5. data/docs/Identity.md +24 -17
  6. data/docs/IdentityApi.md +204 -61
  7. data/docs/IdentityOwner.md +22 -0
  8. data/docs/IdentityResource.md +10 -9
  9. data/docs/PaginatedIdentities.md +10 -9
  10. data/docs/PaginatedResources.md +10 -9
  11. data/docs/ProjectApi.md +29 -12
  12. data/docs/ProjectSettings.md +18 -17
  13. data/docs/ProjectSettingsCustomizations.md +12 -11
  14. data/docs/ProjectSettingsVerificationSteps.md +10 -9
  15. data/docs/Resource.md +18 -17
  16. data/docs/ResourceFile.md +14 -13
  17. data/docs/ResourceInput.md +16 -15
  18. data/docs/User.md +12 -11
  19. data/docs/WatchlistResponse.md +16 -15
  20. data/lib/passbase.rb +2 -1
  21. data/lib/passbase/api/identity_api.rb +109 -30
  22. data/lib/passbase/api/project_api.rb +5 -4
  23. data/lib/passbase/api_client.rb +42 -51
  24. data/lib/passbase/api_error.rb +1 -1
  25. data/lib/passbase/configuration.rb +42 -13
  26. data/lib/passbase/models/cursor.rb +18 -8
  27. data/lib/passbase/models/identity.rb +48 -9
  28. data/lib/passbase/models/identity_owner.rb +239 -0
  29. data/lib/passbase/models/identity_resource.rb +18 -8
  30. data/lib/passbase/models/paginated_identities.rb +18 -8
  31. data/lib/passbase/models/paginated_resources.rb +18 -8
  32. data/lib/passbase/models/project_settings.rb +19 -9
  33. data/lib/passbase/models/project_settings_customizations.rb +18 -42
  34. data/lib/passbase/models/project_settings_verification_steps.rb +18 -8
  35. data/lib/passbase/models/resource.rb +18 -8
  36. data/lib/passbase/models/resource_file.rb +18 -8
  37. data/lib/passbase/models/resource_input.rb +18 -8
  38. data/lib/passbase/models/user.rb +18 -8
  39. data/lib/passbase/models/watchlist_response.rb +18 -8
  40. data/lib/passbase/version.rb +3 -3
  41. data/passbase.gemspec +4 -4
  42. data/spec/api/identity_api_spec.rb +21 -7
  43. data/spec/api/project_api_spec.rb +1 -1
  44. data/spec/api_client_spec.rb +1 -1
  45. data/spec/configuration_spec.rb +4 -4
  46. data/spec/models/cursor_spec.rb +4 -11
  47. data/spec/models/identity_owner_spec.rb +46 -0
  48. data/spec/models/identity_resource_spec.rb +4 -11
  49. data/spec/models/identity_spec.rb +23 -12
  50. data/spec/models/paginated_identities_spec.rb +4 -11
  51. data/spec/models/paginated_resources_spec.rb +4 -11
  52. data/spec/models/project_settings_customizations_spec.rb +4 -15
  53. data/spec/models/project_settings_spec.rb +5 -12
  54. data/spec/models/project_settings_verification_steps_spec.rb +4 -11
  55. data/spec/models/resource_file_spec.rb +4 -11
  56. data/spec/models/resource_input_spec.rb +4 -11
  57. data/spec/models/resource_spec.rb +5 -12
  58. data/spec/models/user_spec.rb +4 -11
  59. data/spec/models/watchlist_response_spec.rb +4 -11
  60. data/spec/spec_helper.rb +1 -1
  61. data/vendor/bundle/ruby/2.7.0/bin/htmldiff +1 -1
  62. data/vendor/bundle/ruby/2.7.0/bin/ldiff +1 -1
  63. data/vendor/bundle/ruby/2.7.0/cache/faraday-1.4.2.gem +0 -0
  64. data/vendor/bundle/ruby/2.7.0/cache/faraday-em_http-1.0.0.gem +0 -0
  65. data/vendor/bundle/ruby/2.7.0/cache/faraday-em_synchrony-1.0.0.gem +0 -0
  66. data/vendor/bundle/ruby/2.7.0/cache/faraday-excon-1.1.0.gem +0 -0
  67. data/vendor/bundle/ruby/2.7.0/cache/faraday-net_http-1.0.1.gem +0 -0
  68. data/vendor/bundle/ruby/2.7.0/cache/faraday-net_http_persistent-1.1.0.gem +0 -0
  69. data/vendor/bundle/ruby/2.7.0/cache/ruby2_keywords-0.0.4.gem +0 -0
  70. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/2.7.0/byebug-11.1.3/byebug/byebug.so +0 -0
  71. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/{2.7.0-static → 2.7.0}/byebug-11.1.3/gem.build_complete +0 -0
  72. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/{2.7.0-static → 2.7.0}/byebug-11.1.3/gem_make.out +2 -2
  73. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/{2.7.0-static → 2.7.0}/jaro_winkler-1.5.4/gem.build_complete +0 -0
  74. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/2.7.0/jaro_winkler-1.5.4/gem_make.out +67 -0
  75. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/2.7.0/jaro_winkler-1.5.4/jaro_winkler/jaro_winkler_ext.so +0 -0
  76. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/{2.7.0-static → 2.7.0}/psych-3.2.0/gem.build_complete +0 -0
  77. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/{2.7.0-static → 2.7.0}/psych-3.2.0/gem_make.out +2 -2
  78. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/2.7.0/psych-3.2.0/mkmf.log +196 -0
  79. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/2.7.0/psych-3.2.0/psych.so +0 -0
  80. data/vendor/bundle/ruby/2.7.0/gems/byebug-11.1.3/ext/byebug/Makefile +13 -13
  81. data/vendor/bundle/ruby/2.7.0/gems/byebug-11.1.3/ext/byebug/breakpoint.o +0 -0
  82. data/vendor/bundle/ruby/2.7.0/gems/byebug-11.1.3/ext/byebug/byebug.o +0 -0
  83. data/vendor/bundle/ruby/2.7.0/gems/byebug-11.1.3/ext/byebug/byebug.so +0 -0
  84. data/vendor/bundle/ruby/2.7.0/gems/byebug-11.1.3/ext/byebug/context.o +0 -0
  85. data/vendor/bundle/ruby/2.7.0/gems/byebug-11.1.3/ext/byebug/locker.o +0 -0
  86. data/vendor/bundle/ruby/2.7.0/gems/byebug-11.1.3/ext/byebug/threads.o +0 -0
  87. data/vendor/bundle/ruby/2.7.0/gems/byebug-11.1.3/lib/byebug/byebug.so +0 -0
  88. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/CHANGELOG.md +104 -0
  89. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/LICENSE.md +1 -1
  90. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/README.md +3 -5
  91. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/Rakefile +0 -0
  92. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/examples/client_spec.rb +1 -1
  93. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/examples/client_test.rb +0 -0
  94. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday.rb +55 -41
  95. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/adapter.rb +1 -8
  96. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/adapter/httpclient.rb +0 -0
  97. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/adapter/patron.rb +0 -0
  98. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/adapter/rack.rb +0 -0
  99. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/adapter/test.rb +0 -0
  100. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/adapter/typhoeus.rb +0 -0
  101. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/adapter_registry.rb +0 -0
  102. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/autoload.rb +1 -6
  103. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/connection.rb +11 -4
  104. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/dependency_loader.rb +0 -0
  105. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/encoders/flat_params_encoder.rb +9 -2
  106. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/encoders/nested_params_encoder.rb +7 -2
  107. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/error.rb +20 -0
  108. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/file_part.rb +0 -0
  109. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/logging/formatter.rb +0 -0
  110. data/vendor/bundle/ruby/2.7.0/gems/faraday-1.4.2/lib/faraday/methods.rb +6 -0
  111. data/vendor/bundle/ruby/2.7.0/gems/faraday-1.4.2/lib/faraday/middleware.rb +31 -0
  112. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/middleware_registry.rb +0 -0
  113. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/options.rb +4 -8
  114. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/options/connection_options.rb +0 -0
  115. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/options/env.rb +0 -0
  116. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/options/proxy_options.rb +4 -0
  117. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/options/request_options.rb +0 -0
  118. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/options/ssl_options.rb +0 -0
  119. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/param_part.rb +0 -0
  120. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/parameters.rb +0 -0
  121. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/rack_builder.rb +13 -12
  122. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/request.rb +20 -10
  123. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/request/authorization.rb +0 -0
  124. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/request/basic_authentication.rb +0 -0
  125. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/request/instrumentation.rb +0 -0
  126. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/request/multipart.rb +9 -2
  127. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/request/retry.rb +2 -2
  128. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/request/token_authentication.rb +0 -0
  129. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/request/url_encoded.rb +0 -0
  130. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/response.rb +0 -6
  131. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/response/logger.rb +0 -0
  132. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/response/raise_error.rb +12 -1
  133. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/utils.rb +2 -2
  134. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/utils/headers.rb +2 -2
  135. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/lib/faraday/utils/params_hash.rb +0 -0
  136. data/vendor/bundle/ruby/2.7.0/gems/faraday-1.4.2/lib/faraday/version.rb +5 -0
  137. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/external_adapters/faraday_specs_setup.rb +0 -0
  138. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/adapter/em_http_spec.rb +0 -0
  139. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/adapter/em_synchrony_spec.rb +0 -0
  140. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/adapter/excon_spec.rb +0 -0
  141. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/adapter/httpclient_spec.rb +0 -0
  142. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/adapter/net_http_spec.rb +0 -0
  143. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/adapter/patron_spec.rb +0 -0
  144. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/adapter/rack_spec.rb +0 -0
  145. data/vendor/bundle/ruby/2.7.0/gems/faraday-1.4.2/spec/faraday/adapter/test_spec.rb +260 -0
  146. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/adapter/typhoeus_spec.rb +0 -0
  147. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/adapter_registry_spec.rb +0 -0
  148. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/adapter_spec.rb +0 -0
  149. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/composite_read_io_spec.rb +0 -0
  150. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/connection_spec.rb +38 -0
  151. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/error_spec.rb +15 -0
  152. data/vendor/bundle/ruby/2.7.0/gems/faraday-1.4.2/spec/faraday/middleware_spec.rb +52 -0
  153. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/options/env_spec.rb +0 -0
  154. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/options/options_spec.rb +0 -0
  155. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/options/proxy_options_spec.rb +7 -0
  156. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/options/request_options_spec.rb +0 -0
  157. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/params_encoders/flat_spec.rb +8 -0
  158. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/params_encoders/nested_spec.rb +8 -0
  159. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/rack_builder_spec.rb +149 -0
  160. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/request/authorization_spec.rb +2 -2
  161. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/request/instrumentation_spec.rb +0 -0
  162. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/request/multipart_spec.rb +41 -13
  163. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/request/retry_spec.rb +1 -1
  164. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/request/url_encoded_spec.rb +0 -0
  165. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/request_spec.rb +16 -5
  166. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/response/logger_spec.rb +0 -0
  167. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/response/middleware_spec.rb +0 -0
  168. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/response/raise_error_spec.rb +63 -0
  169. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/response_spec.rb +0 -0
  170. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/utils/headers_spec.rb +0 -0
  171. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday/utils_spec.rb +0 -0
  172. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/faraday_spec.rb +0 -0
  173. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/spec_helper.rb +0 -0
  174. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/support/disabling_stub.rb +0 -0
  175. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/support/fake_safe_buffer.rb +0 -0
  176. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/support/helper_methods.rb +0 -0
  177. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/support/shared_examples/adapter.rb +2 -1
  178. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/support/shared_examples/params_encoder.rb +0 -0
  179. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/support/shared_examples/request_method.rb +39 -11
  180. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/support/streaming_response_checker.rb +0 -0
  181. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-1.4.2}/spec/support/webmock_rack_app.rb +0 -0
  182. data/vendor/bundle/ruby/2.7.0/gems/faraday-em_http-1.0.0/LICENSE.md +21 -0
  183. data/vendor/bundle/ruby/2.7.0/gems/faraday-em_http-1.0.0/README.md +61 -0
  184. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-em_http-1.0.0}/lib/faraday/adapter/em_http.rb +23 -20
  185. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-em_http-1.0.0}/lib/faraday/adapter/em_http_ssl_patch.rb +0 -0
  186. data/vendor/bundle/ruby/2.7.0/gems/faraday-em_http-1.0.0/lib/faraday/em_http.rb +11 -0
  187. data/vendor/bundle/ruby/2.7.0/gems/faraday-em_http-1.0.0/lib/faraday/em_http/version.rb +7 -0
  188. data/vendor/bundle/ruby/2.7.0/gems/faraday-em_synchrony-1.0.0/LICENSE.md +21 -0
  189. data/vendor/bundle/ruby/2.7.0/gems/faraday-em_synchrony-1.0.0/README.md +65 -0
  190. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-em_synchrony-1.0.0}/lib/faraday/adapter/em_synchrony.rb +16 -13
  191. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-em_synchrony-1.0.0}/lib/faraday/adapter/em_synchrony/parallel_manager.rb +0 -0
  192. data/vendor/bundle/ruby/2.7.0/gems/faraday-em_synchrony-1.0.0/lib/faraday/em_synchrony.rb +12 -0
  193. data/vendor/bundle/ruby/2.7.0/gems/faraday-em_synchrony-1.0.0/lib/faraday/em_synchrony/version.rb +7 -0
  194. data/vendor/bundle/ruby/2.7.0/gems/faraday-excon-1.1.0/LICENSE.md +21 -0
  195. data/vendor/bundle/ruby/2.7.0/gems/faraday-excon-1.1.0/README.md +61 -0
  196. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-excon-1.1.0}/lib/faraday/adapter/excon.rb +2 -2
  197. data/vendor/bundle/ruby/2.7.0/gems/faraday-excon-1.1.0/lib/faraday/excon.rb +11 -0
  198. data/vendor/bundle/ruby/2.7.0/gems/faraday-excon-1.1.0/lib/faraday/excon/version.rb +7 -0
  199. data/vendor/bundle/ruby/2.7.0/gems/faraday-net_http-1.0.1/LICENSE.md +21 -0
  200. data/vendor/bundle/ruby/2.7.0/gems/faraday-net_http-1.0.1/README.md +57 -0
  201. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-net_http-1.0.1}/lib/faraday/adapter/net_http.rb +21 -27
  202. data/vendor/bundle/ruby/2.7.0/gems/faraday-net_http-1.0.1/lib/faraday/net_http.rb +10 -0
  203. data/vendor/bundle/ruby/2.7.0/gems/faraday-net_http-1.0.1/lib/faraday/net_http/version.rb +7 -0
  204. data/vendor/bundle/ruby/2.7.0/gems/faraday-net_http_persistent-1.1.0/LICENSE.md +21 -0
  205. data/vendor/bundle/ruby/2.7.0/gems/faraday-net_http_persistent-1.1.0/README.md +73 -0
  206. data/vendor/bundle/ruby/2.7.0/gems/{faraday-1.0.1 → faraday-net_http_persistent-1.1.0}/lib/faraday/adapter/net_http_persistent.rb +11 -11
  207. data/vendor/bundle/ruby/2.7.0/gems/faraday-net_http_persistent-1.1.0/lib/faraday/net_http_persistent.rb +17 -0
  208. data/vendor/bundle/ruby/2.7.0/gems/faraday-net_http_persistent-1.1.0/lib/faraday/net_http_persistent/version.rb +7 -0
  209. data/vendor/bundle/ruby/2.7.0/gems/jaro_winkler-1.5.4/ext/jaro_winkler/Makefile +14 -14
  210. data/vendor/bundle/ruby/2.7.0/gems/jaro_winkler-1.5.4/ext/jaro_winkler/adj_matrix.o +0 -0
  211. data/vendor/bundle/ruby/2.7.0/gems/jaro_winkler-1.5.4/ext/jaro_winkler/codepoints.o +0 -0
  212. data/vendor/bundle/ruby/2.7.0/gems/jaro_winkler-1.5.4/ext/jaro_winkler/jaro.o +0 -0
  213. data/vendor/bundle/ruby/2.7.0/gems/jaro_winkler-1.5.4/ext/jaro_winkler/jaro_winkler.o +0 -0
  214. data/vendor/bundle/ruby/2.7.0/gems/jaro_winkler-1.5.4/ext/jaro_winkler/jaro_winkler_ext.so +0 -0
  215. data/vendor/bundle/ruby/2.7.0/gems/jaro_winkler-1.5.4/lib/jaro_winkler/jaro_winkler_ext.so +0 -0
  216. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/Makefile +14 -14
  217. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/api.o +0 -0
  218. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/dumper.o +0 -0
  219. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/emitter.o +0 -0
  220. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/loader.o +0 -0
  221. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/parser.o +0 -0
  222. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/psych.o +0 -0
  223. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/psych_emitter.o +0 -0
  224. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/psych_parser.o +0 -0
  225. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/psych_to_ruby.o +0 -0
  226. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/psych_yaml_tree.o +0 -0
  227. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/reader.o +0 -0
  228. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/scanner.o +0 -0
  229. data/vendor/bundle/ruby/2.7.0/gems/psych-3.2.0/ext/psych/writer.o +0 -0
  230. data/vendor/bundle/ruby/2.7.0/gems/ruby2_keywords-0.0.4/LICENSE +22 -0
  231. data/vendor/bundle/ruby/2.7.0/gems/ruby2_keywords-0.0.4/README.md +67 -0
  232. data/vendor/bundle/ruby/2.7.0/gems/ruby2_keywords-0.0.4/lib/ruby2_keywords.rb +57 -0
  233. data/vendor/bundle/ruby/2.7.0/specifications/ast-2.4.1.gemspec +2 -2
  234. data/vendor/bundle/ruby/2.7.0/specifications/byebug-11.1.3.gemspec +2 -2
  235. data/vendor/bundle/ruby/2.7.0/specifications/coderay-1.1.3.gemspec +2 -2
  236. data/vendor/bundle/ruby/2.7.0/specifications/diff-lcs-1.4.4.gemspec +2 -2
  237. data/vendor/bundle/ruby/2.7.0/specifications/faraday-1.4.2.gemspec +0 -0
  238. data/vendor/bundle/ruby/2.7.0/specifications/faraday-em_http-1.0.0.gemspec +52 -0
  239. data/vendor/bundle/ruby/2.7.0/specifications/faraday-em_synchrony-1.0.0.gemspec +56 -0
  240. data/vendor/bundle/ruby/2.7.0/specifications/faraday-excon-1.1.0.gemspec +52 -0
  241. data/vendor/bundle/ruby/2.7.0/specifications/faraday-net_http-1.0.1.gemspec +50 -0
  242. data/vendor/bundle/ruby/2.7.0/specifications/faraday-net_http_persistent-1.1.0.gemspec +48 -0
  243. data/vendor/bundle/ruby/2.7.0/specifications/jaro_winkler-1.5.4.gemspec +2 -2
  244. data/vendor/bundle/ruby/2.7.0/specifications/method_source-1.0.0.gemspec +2 -2
  245. data/vendor/bundle/ruby/2.7.0/specifications/multipart-post-2.1.1.gemspec +2 -2
  246. data/vendor/bundle/ruby/2.7.0/specifications/parallel-1.19.2.gemspec +2 -2
  247. data/vendor/bundle/ruby/2.7.0/specifications/parser-2.7.1.4.gemspec +2 -2
  248. data/vendor/bundle/ruby/2.7.0/specifications/pry-0.13.1.gemspec +2 -2
  249. data/vendor/bundle/ruby/2.7.0/specifications/pry-byebug-3.9.0.gemspec +2 -2
  250. data/vendor/bundle/ruby/2.7.0/specifications/psych-3.2.0.gemspec +2 -2
  251. data/vendor/bundle/ruby/2.7.0/specifications/rainbow-3.0.0.gemspec +2 -2
  252. data/vendor/bundle/ruby/2.7.0/specifications/rake-13.0.1.gemspec +2 -2
  253. data/vendor/bundle/ruby/2.7.0/specifications/rspec-3.9.0.gemspec +2 -2
  254. data/vendor/bundle/ruby/2.7.0/specifications/rspec-core-3.9.2.gemspec +2 -2
  255. data/vendor/bundle/ruby/2.7.0/specifications/rspec-expectations-3.9.2.gemspec +2 -2
  256. data/vendor/bundle/ruby/2.7.0/specifications/rspec-mocks-3.9.1.gemspec +2 -2
  257. data/vendor/bundle/ruby/2.7.0/specifications/rspec-support-3.9.3.gemspec +2 -2
  258. data/vendor/bundle/ruby/2.7.0/specifications/rubocop-0.66.0.gemspec +2 -2
  259. data/vendor/bundle/ruby/2.7.0/specifications/ruby-progressbar-1.10.1.gemspec +2 -2
  260. data/vendor/bundle/ruby/2.7.0/specifications/ruby2_keywords-0.0.4.gemspec +19 -0
  261. data/vendor/bundle/ruby/2.7.0/specifications/unicode-display_width-1.5.0.gemspec +2 -2
  262. data/walkthrough.md +1 -1
  263. metadata +172 -125
  264. data/vendor/bundle/ruby/2.7.0/cache/faraday-1.0.1.gem +0 -0
  265. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/2.7.0-static/byebug-11.1.3/byebug/byebug.so +0 -0
  266. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/2.7.0-static/jaro_winkler-1.5.4/gem_make.out +0 -64
  267. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/2.7.0-static/jaro_winkler-1.5.4/jaro_winkler/jaro_winkler_ext.so +0 -0
  268. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/2.7.0-static/psych-3.2.0/mkmf.log +0 -197
  269. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/2.7.0-static/psych-3.2.0/psych.so +0 -0
  270. data/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/middleware.rb +0 -21
  271. data/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/spec/faraday/adapter/net_http_persistent_spec.rb +0 -57
  272. data/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/spec/faraday/middleware_spec.rb +0 -26
  273. data/vendor/bundle/ruby/2.7.0/specifications/faraday-1.0.1.gemspec +0 -0
@@ -28,7 +28,7 @@ module Faraday
28
28
 
29
29
  def escape(str)
30
30
  str.to_s.gsub(ESCAPE_RE) do |match|
31
- '%' + match.unpack('H2' * match.bytesize).join('%').upcase
31
+ "%#{match.unpack('H2' * match.bytesize).join('%').upcase}"
32
32
  end.gsub(' ', default_space_encoding)
33
33
  end
34
34
 
@@ -89,7 +89,7 @@ module Faraday
89
89
  # the path with the query string sorted.
90
90
  def normalize_path(url)
91
91
  url = URI(url)
92
- (url.path.start_with?('/') ? url.path : '/' + url.path) +
92
+ (url.path.start_with?('/') ? url.path : "/#{url.path}") +
93
93
  (url.query ? "?#{sort_query_params(url.query)}" : '')
94
94
  end
95
95
 
@@ -105,7 +105,7 @@ module Faraday
105
105
  end
106
106
 
107
107
  def to_hash
108
- ::Hash.new.update(self)
108
+ {}.update(self)
109
109
  end
110
110
 
111
111
  def parse(header_string)
@@ -114,7 +114,7 @@ module Faraday
114
114
  headers = header_string.split(/\r\n/)
115
115
 
116
116
  # Find the last set of response headers.
117
- start_index = headers.rindex { |x| x.match(%r{^HTTP/}) } || 0
117
+ start_index = headers.rindex { |x| x.start_with?('HTTP/') } || 0
118
118
  last_response = headers.slice(start_index, headers.size)
119
119
 
120
120
  last_response
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faraday
4
+ VERSION = '1.4.2'
5
+ end
@@ -0,0 +1,260 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe Faraday::Adapter::Test do
4
+ let(:stubs) do
5
+ described_class::Stubs.new do |stub|
6
+ stub.get('http://domain.test/hello') do
7
+ [200, { 'Content-Type' => 'text/html' }, 'domain: hello']
8
+ end
9
+
10
+ stub.get('http://wrong.test/hello') do
11
+ [200, { 'Content-Type' => 'text/html' }, 'wrong: hello']
12
+ end
13
+
14
+ stub.get('http://wrong.test/bait') do
15
+ [404, { 'Content-Type' => 'text/html' }]
16
+ end
17
+
18
+ stub.get('/hello') do
19
+ [200, { 'Content-Type' => 'text/html' }, 'hello']
20
+ end
21
+
22
+ stub.get('/method-echo') do |env|
23
+ [200, { 'Content-Type' => 'text/html' }, env[:method].to_s]
24
+ end
25
+
26
+ stub.get(%r{\A/resources/\d+(?:\?|\z)}) do
27
+ [200, { 'Content-Type' => 'text/html' }, 'show']
28
+ end
29
+
30
+ stub.get(%r{\A/resources/(specified)\z}) do |_env, meta|
31
+ [200, { 'Content-Type' => 'text/html' }, "show #{meta[:match_data][1]}"]
32
+ end
33
+ end
34
+ end
35
+
36
+ let(:connection) do
37
+ Faraday.new do |builder|
38
+ builder.adapter :test, stubs
39
+ end
40
+ end
41
+
42
+ let(:response) { connection.get('/hello') }
43
+
44
+ context 'with simple path sets status' do
45
+ subject { response.status }
46
+
47
+ it { is_expected.to eq 200 }
48
+ end
49
+
50
+ context 'with simple path sets headers' do
51
+ subject { response.headers['Content-Type'] }
52
+
53
+ it { is_expected.to eq 'text/html' }
54
+ end
55
+
56
+ context 'with simple path sets body' do
57
+ subject { response.body }
58
+
59
+ it { is_expected.to eq 'hello' }
60
+ end
61
+
62
+ context 'with host points to the right stub' do
63
+ subject { connection.get('http://domain.test/hello').body }
64
+
65
+ it { is_expected.to eq 'domain: hello' }
66
+ end
67
+
68
+ describe 'can be called several times' do
69
+ subject { connection.get('/hello').body }
70
+
71
+ it { is_expected.to eq 'hello' }
72
+ end
73
+
74
+ describe 'can handle regular expression path' do
75
+ subject { connection.get('/resources/1').body }
76
+
77
+ it { is_expected.to eq 'show' }
78
+ end
79
+
80
+ describe 'can handle single parameter block' do
81
+ subject { connection.get('/method-echo').body }
82
+
83
+ it { is_expected.to eq 'get' }
84
+ end
85
+
86
+ describe 'can handle regular expression path with captured result' do
87
+ subject { connection.get('/resources/specified').body }
88
+
89
+ it { is_expected.to eq 'show specified' }
90
+ end
91
+
92
+ context 'with get params' do
93
+ subject { connection.get('/param?a=1').body }
94
+
95
+ before do
96
+ stubs.get('/param?a=1') { [200, {}, 'a'] }
97
+ end
98
+
99
+ it { is_expected.to eq 'a' }
100
+ end
101
+
102
+ describe 'ignoring unspecified get params' do
103
+ before do
104
+ stubs.get('/optional?a=1') { [200, {}, 'a'] }
105
+ end
106
+
107
+ context 'with multiple params' do
108
+ subject { connection.get('/optional?a=1&b=1').body }
109
+
110
+ it { is_expected.to eq 'a' }
111
+ end
112
+
113
+ context 'with single param' do
114
+ subject { connection.get('/optional?a=1').body }
115
+
116
+ it { is_expected.to eq 'a' }
117
+ end
118
+
119
+ context 'without params' do
120
+ subject(:request) { connection.get('/optional') }
121
+
122
+ it do
123
+ expect { request }.to raise_error(
124
+ Faraday::Adapter::Test::Stubs::NotFound
125
+ )
126
+ end
127
+ end
128
+ end
129
+
130
+ context 'with http headers' do
131
+ before do
132
+ stubs.get('/yo', 'X-HELLO' => 'hello') { [200, {}, 'a'] }
133
+ stubs.get('/yo') { [200, {}, 'b'] }
134
+ end
135
+
136
+ context 'with header' do
137
+ subject do
138
+ connection.get('/yo') { |env| env.headers['X-HELLO'] = 'hello' }.body
139
+ end
140
+
141
+ it { is_expected.to eq 'a' }
142
+ end
143
+
144
+ context 'without header' do
145
+ subject do
146
+ connection.get('/yo').body
147
+ end
148
+
149
+ it { is_expected.to eq 'b' }
150
+ end
151
+ end
152
+
153
+ describe 'different outcomes for the same request' do
154
+ def make_request
155
+ connection.get('/foo')
156
+ end
157
+
158
+ subject(:request) { make_request.body }
159
+
160
+ before do
161
+ stubs.get('/foo') { [200, { 'Content-Type' => 'text/html' }, 'hello'] }
162
+ stubs.get('/foo') { [200, { 'Content-Type' => 'text/html' }, 'world'] }
163
+ end
164
+
165
+ context 'the first request' do
166
+ it { is_expected.to eq 'hello' }
167
+ end
168
+
169
+ context 'the second request' do
170
+ before do
171
+ make_request
172
+ end
173
+
174
+ it { is_expected.to eq 'world' }
175
+ end
176
+ end
177
+
178
+ describe 'yielding env to stubs' do
179
+ subject { connection.get('http://foo.com/foo?a=1').body }
180
+
181
+ before do
182
+ stubs.get '/foo' do |env|
183
+ expect(env[:url].path).to eq '/foo'
184
+ expect(env[:url].host).to eq 'foo.com'
185
+ expect(env[:params]['a']).to eq '1'
186
+ expect(env[:request_headers]['Accept']).to eq 'text/plain'
187
+ [200, {}, 'a']
188
+ end
189
+
190
+ connection.headers['Accept'] = 'text/plain'
191
+ end
192
+
193
+ it { is_expected.to eq 'a' }
194
+ end
195
+
196
+ describe 'params parsing' do
197
+ subject { connection.get('http://foo.com/foo?a[b]=1').body }
198
+
199
+ context 'with default encoder' do
200
+ before do
201
+ stubs.get '/foo' do |env|
202
+ expect(env[:params]['a']['b']).to eq '1'
203
+ [200, {}, 'a']
204
+ end
205
+ end
206
+
207
+ it { is_expected.to eq 'a' }
208
+ end
209
+
210
+ context 'with nested encoder' do
211
+ before do
212
+ stubs.get '/foo' do |env|
213
+ expect(env[:params]['a']['b']).to eq '1'
214
+ [200, {}, 'a']
215
+ end
216
+
217
+ connection.options.params_encoder = Faraday::NestedParamsEncoder
218
+ end
219
+
220
+ it { is_expected.to eq 'a' }
221
+ end
222
+
223
+ context 'with flat encoder' do
224
+ before do
225
+ stubs.get '/foo' do |env|
226
+ expect(env[:params]['a[b]']).to eq '1'
227
+ [200, {}, 'a']
228
+ end
229
+
230
+ connection.options.params_encoder = Faraday::FlatParamsEncoder
231
+ end
232
+
233
+ it { is_expected.to eq 'a' }
234
+ end
235
+ end
236
+
237
+ describe 'raising an error if no stub was found' do
238
+ describe 'for request' do
239
+ subject(:request) { connection.get('/invalid') { [200, {}, []] } }
240
+
241
+ it { expect { request }.to raise_error described_class::Stubs::NotFound }
242
+ end
243
+
244
+ describe 'for specified host' do
245
+ subject(:request) { connection.get('http://domain.test/bait') }
246
+
247
+ it { expect { request }.to raise_error described_class::Stubs::NotFound }
248
+ end
249
+
250
+ describe 'for request without specified header' do
251
+ subject(:request) { connection.get('/yo') }
252
+
253
+ before do
254
+ stubs.get('/yo', 'X-HELLO' => 'hello') { [200, {}, 'a'] }
255
+ end
256
+
257
+ it { expect { request }.to raise_error described_class::Stubs::NotFound }
258
+ end
259
+ end
260
+ end
@@ -18,6 +18,13 @@ shared_examples 'initializer with url' do
18
18
  it { expect(subject.path_prefix).to eq('/fish') }
19
19
  it { expect(subject.params).to eq('a' => '1') }
20
20
  end
21
+
22
+ context 'with IPv6 address' do
23
+ let(:address) { 'http://[::1]:85/' }
24
+
25
+ it { expect(subject.host).to eq('[::1]') }
26
+ it { expect(subject.port).to eq(85) }
27
+ end
21
28
  end
22
29
 
23
30
  shared_examples 'default connection options' do
@@ -270,6 +277,29 @@ RSpec.describe Faraday::Connection do
270
277
  expect(uri.to_s).to eq('http://sushi.com/sake/')
271
278
  end
272
279
  end
280
+
281
+ context 'with colon in path' do
282
+ let(:url) { 'http://service.com' }
283
+
284
+ it 'joins url to base when used absolute path' do
285
+ conn = Faraday.new(url: url)
286
+ uri = conn.build_exclusive_url('/service:search?limit=400')
287
+ expect(uri.to_s).to eq('http://service.com/service:search?limit=400')
288
+ end
289
+
290
+ it 'joins url to base when used relative path' do
291
+ conn = Faraday.new(url: url)
292
+ uri = conn.build_exclusive_url('service:search?limit=400')
293
+ expect(uri.to_s).to eq('http://service.com/service%3Asearch?limit=400')
294
+ end
295
+
296
+ it 'joins url to base when used with path prefix' do
297
+ conn = Faraday.new(url: url)
298
+ conn.path_prefix = '/api'
299
+ uri = conn.build_exclusive_url('service:search?limit=400')
300
+ expect(uri.to_s).to eq('http://service.com/api/service%3Asearch?limit=400')
301
+ end
302
+ end
273
303
  end
274
304
 
275
305
  describe '#build_url' do
@@ -412,6 +442,14 @@ RSpec.describe Faraday::Connection do
412
442
  end
413
443
  end
414
444
 
445
+ it 'allows when url in no proxy list with url_prefix' do
446
+ with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => 'example.com' do
447
+ conn = Faraday::Connection.new
448
+ conn.url_prefix = 'http://example.com'
449
+ expect(conn.proxy).to be_nil
450
+ end
451
+ end
452
+
415
453
  it 'allows when prefixed url is not in no proxy list' do
416
454
  with_env 'http_proxy' => 'http://proxy.com', 'no_proxy' => 'example.com' do
417
455
  conn = Faraday::Connection.new('http://prefixedexample.com')
@@ -13,6 +13,7 @@ RSpec.describe Faraday::ClientError do
13
13
  it { expect(subject.message).to eq(exception.message) }
14
14
  it { expect(subject.backtrace).to eq(exception.backtrace) }
15
15
  it { expect(subject.inspect).to eq('#<Faraday::ClientError wrapped=#<RuntimeError: test>>') }
16
+ it { expect(subject.response_status).to be_nil }
16
17
  end
17
18
 
18
19
  context 'with response hash' do
@@ -22,6 +23,7 @@ RSpec.describe Faraday::ClientError do
22
23
  it { expect(subject.response).to eq(exception) }
23
24
  it { expect(subject.message).to eq('the server responded with status 400') }
24
25
  it { expect(subject.inspect).to eq('#<Faraday::ClientError response={:status=>400}>') }
26
+ it { expect(subject.response_status).to eq(400) }
25
27
  end
26
28
 
27
29
  context 'with string' do
@@ -31,6 +33,7 @@ RSpec.describe Faraday::ClientError do
31
33
  it { expect(subject.response).to be_nil }
32
34
  it { expect(subject.message).to eq('custom message') }
33
35
  it { expect(subject.inspect).to eq('#<Faraday::ClientError #<Faraday::ClientError: custom message>>') }
36
+ it { expect(subject.response_status).to be_nil }
34
37
  end
35
38
 
36
39
  context 'with anything else #to_s' do
@@ -40,6 +43,18 @@ RSpec.describe Faraday::ClientError do
40
43
  it { expect(subject.response).to be_nil }
41
44
  it { expect(subject.message).to eq('["error1", "error2"]') }
42
45
  it { expect(subject.inspect).to eq('#<Faraday::ClientError #<Faraday::ClientError: ["error1", "error2"]>>') }
46
+ it { expect(subject.response_status).to be_nil }
47
+ end
48
+
49
+ context 'with exception string and response hash' do
50
+ let(:exception) { 'custom message' }
51
+ let(:response) { { status: 400 } }
52
+
53
+ it { expect(subject.wrapped_exception).to be_nil }
54
+ it { expect(subject.response).to eq(response) }
55
+ it { expect(subject.message).to eq('custom message') }
56
+ it { expect(subject.inspect).to eq('#<Faraday::ClientError response={:status=>400}>') }
57
+ it { expect(subject.response_status).to eq(400) }
43
58
  end
44
59
  end
45
60
  end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe Faraday::Middleware do
4
+ subject { described_class.new(app) }
5
+ let(:app) { double }
6
+
7
+ describe 'options' do
8
+ context 'when options are passed to the middleware' do
9
+ subject { described_class.new(app, options) }
10
+ let(:options) { { field: 'value' } }
11
+
12
+ it 'accepts options when initialized' do
13
+ expect(subject.options[:field]).to eq('value')
14
+ end
15
+ end
16
+ end
17
+
18
+ describe '#on_request' do
19
+ subject do
20
+ Class.new(described_class) do
21
+ def on_request(env)
22
+ # do nothing
23
+ end
24
+ end.new(app)
25
+ end
26
+
27
+ it 'is called by #call' do
28
+ expect(app).to receive(:call).and_return(app)
29
+ expect(app).to receive(:on_complete)
30
+ is_expected.to receive(:call).and_call_original
31
+ is_expected.to receive(:on_request)
32
+ subject.call(double)
33
+ end
34
+ end
35
+
36
+ describe '#close' do
37
+ context "with app that doesn't support \#close" do
38
+ it 'should issue warning' do
39
+ is_expected.to receive(:warn)
40
+ subject.close
41
+ end
42
+ end
43
+
44
+ context "with app that supports \#close" do
45
+ it 'should issue warning' do
46
+ expect(app).to receive(:close)
47
+ is_expected.to_not receive(:warn)
48
+ subject.close
49
+ end
50
+ end
51
+ end
52
+ end