cybrid_api_id_ruby 0.124.79 → 0.124.80

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 (158) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/README.md +5 -5
  4. data/cybrid_api_id_ruby.gemspec +1 -1
  5. data/lib/cybrid_api_id_ruby/api/bank_applications_idp_api.rb +1 -1
  6. data/lib/cybrid_api_id_ruby/api/customer_tokens_idp_api.rb +1 -1
  7. data/lib/cybrid_api_id_ruby/api/organization_applications_idp_api.rb +1 -1
  8. data/lib/cybrid_api_id_ruby/api/users_idp_api.rb +1 -1
  9. data/lib/cybrid_api_id_ruby/api_client.rb +1 -1
  10. data/lib/cybrid_api_id_ruby/api_error.rb +1 -1
  11. data/lib/cybrid_api_id_ruby/configuration.rb +1 -1
  12. data/lib/cybrid_api_id_ruby/models/application_idp_model.rb +1 -1
  13. data/lib/cybrid_api_id_ruby/models/application_list_idp_model.rb +1 -1
  14. data/lib/cybrid_api_id_ruby/models/application_with_secret_all_of_idp_model.rb +1 -1
  15. data/lib/cybrid_api_id_ruby/models/application_with_secret_idp_model.rb +1 -1
  16. data/lib/cybrid_api_id_ruby/models/customer_token_idp_model.rb +1 -1
  17. data/lib/cybrid_api_id_ruby/models/error_response_idp_model.rb +1 -1
  18. data/lib/cybrid_api_id_ruby/models/patch_user_idp_model.rb +1 -1
  19. data/lib/cybrid_api_id_ruby/models/post_bank_application_idp_model.rb +1 -1
  20. data/lib/cybrid_api_id_ruby/models/post_customer_token_idp_model.rb +1 -1
  21. data/lib/cybrid_api_id_ruby/models/post_organization_application_idp_model.rb +1 -1
  22. data/lib/cybrid_api_id_ruby/models/post_user_idp_model.rb +1 -1
  23. data/lib/cybrid_api_id_ruby/models/user_idp_model.rb +1 -1
  24. data/lib/cybrid_api_id_ruby/models/user_list_idp_model.rb +1 -1
  25. data/lib/cybrid_api_id_ruby/version.rb +2 -2
  26. data/lib/cybrid_api_id_ruby.rb +1 -1
  27. data/spec/api/bank_applications_idp_api_spec.rb +1 -1
  28. data/spec/api/customer_tokens_idp_api_spec.rb +1 -1
  29. data/spec/api/organization_applications_idp_api_spec.rb +1 -1
  30. data/spec/api/users_idp_api_spec.rb +1 -1
  31. data/spec/api_client_spec.rb +1 -1
  32. data/spec/configuration_spec.rb +1 -1
  33. data/spec/models/application_idp_model_spec.rb +1 -1
  34. data/spec/models/application_list_idp_model_spec.rb +1 -1
  35. data/spec/models/application_with_secret_all_of_idp_model_spec.rb +1 -1
  36. data/spec/models/application_with_secret_idp_model_spec.rb +1 -1
  37. data/spec/models/customer_token_idp_model_spec.rb +1 -1
  38. data/spec/models/error_response_idp_model_spec.rb +1 -1
  39. data/spec/models/patch_user_idp_model_spec.rb +1 -1
  40. data/spec/models/post_bank_application_idp_model_spec.rb +1 -1
  41. data/spec/models/post_customer_token_idp_model_spec.rb +1 -1
  42. data/spec/models/post_organization_application_idp_model_spec.rb +1 -1
  43. data/spec/models/post_user_idp_model_spec.rb +1 -1
  44. data/spec/models/user_idp_model_spec.rb +1 -1
  45. data/spec/models/user_list_idp_model_spec.rb +1 -1
  46. data/spec/spec_helper.rb +1 -1
  47. data/vendor/bundle/ruby/3.3.0/cache/ethon-0.17.0.gem +0 -0
  48. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-12.0.0/gem_make.out +5 -5
  49. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/gem_make.out +5 -5
  50. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  51. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/gem_make.out +5 -5
  52. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
  53. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/gem_make.out +5 -5
  54. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/CHANGELOG.md +26 -1
  55. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/README.md +1 -1
  56. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/ethon.gemspec +6 -3
  57. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/codes.rb +3 -2
  58. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/version.rb +1 -1
  59. data/vendor/bundle/ruby/3.3.0/specifications/{ethon-0.16.0.gemspec → ethon-0.17.0.gemspec} +6 -5
  60. metadata +61 -105
  61. data/vendor/bundle/ruby/3.3.0/cache/ethon-0.16.0.gem +0 -0
  62. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.github/workflows/ruby.yml +0 -41
  63. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.gitignore +0 -8
  64. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.rspec +0 -3
  65. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Gemfile +0 -43
  66. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Guardfile +0 -10
  67. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Rakefile +0 -40
  68. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/benchmarks.rb +0 -104
  69. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/memory_leaks.rb +0 -114
  70. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/perf_spec_helper.rb +0 -37
  71. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/memory_test_helpers.rb +0 -76
  72. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/os_memory_leak_tracker.rb +0 -48
  73. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/ruby_object_leak_tracker.rb +0 -49
  74. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/curl_spec.rb +0 -38
  75. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/callbacks_spec.rb +0 -81
  76. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/debug_info_spec.rb +0 -54
  77. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/features_spec.rb +0 -24
  78. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/form_spec.rb +0 -104
  79. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/header_spec.rb +0 -79
  80. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/custom_spec.rb +0 -177
  81. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/delete_spec.rb +0 -21
  82. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/get_spec.rb +0 -126
  83. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/head_spec.rb +0 -80
  84. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/options_spec.rb +0 -51
  85. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/patch_spec.rb +0 -51
  86. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/post_spec.rb +0 -317
  87. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/put_spec.rb +0 -168
  88. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http_spec.rb +0 -64
  89. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/informations_spec.rb +0 -126
  90. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/mirror_spec.rb +0 -47
  91. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/operations_spec.rb +0 -271
  92. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/options_spec.rb +0 -193
  93. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/queryable_spec.rb +0 -235
  94. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/response_callbacks_spec.rb +0 -152
  95. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/util_spec.rb +0 -28
  96. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy_spec.rb +0 -203
  97. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/libc_spec.rb +0 -14
  98. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/loggable_spec.rb +0 -22
  99. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/operations_spec.rb +0 -298
  100. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/options_spec.rb +0 -182
  101. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/stack_spec.rb +0 -80
  102. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi_spec.rb +0 -152
  103. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/spec_helper.rb +0 -28
  104. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/support/localhost_server.rb +0 -95
  105. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/support/server.rb +0 -115
  106. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/LICENSE +0 -0
  107. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curl.rb +0 -0
  108. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/classes.rb +0 -0
  109. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/constants.rb +0 -0
  110. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/form_options.rb +0 -0
  111. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/functions.rb +0 -0
  112. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/infos.rb +0 -0
  113. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/messages.rb +0 -0
  114. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/options.rb +0 -0
  115. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/settings.rb +0 -0
  116. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/callbacks.rb +0 -0
  117. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/debug_info.rb +0 -0
  118. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/features.rb +0 -0
  119. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/form.rb +0 -0
  120. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/header.rb +0 -0
  121. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/actionable.rb +0 -0
  122. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/custom.rb +0 -0
  123. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/delete.rb +0 -0
  124. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/get.rb +0 -0
  125. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/head.rb +0 -0
  126. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/options.rb +0 -0
  127. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/patch.rb +0 -0
  128. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/post.rb +0 -0
  129. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/postable.rb +0 -0
  130. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/put.rb +0 -0
  131. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/putable.rb +0 -0
  132. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http.rb +0 -0
  133. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/informations.rb +0 -0
  134. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/mirror.rb +0 -0
  135. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/operations.rb +0 -0
  136. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/options.rb +0 -0
  137. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/params.rb +0 -0
  138. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/queryable.rb +0 -0
  139. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/response_callbacks.rb +0 -0
  140. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/util.rb +0 -0
  141. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy.rb +0 -0
  142. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/ethon_error.rb +0 -0
  143. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/global_init.rb +0 -0
  144. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/invalid_option.rb +0 -0
  145. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/invalid_value.rb +0 -0
  146. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/multi_add.rb +0 -0
  147. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/multi_fdset.rb +0 -0
  148. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/multi_remove.rb +0 -0
  149. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/multi_timeout.rb +0 -0
  150. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/select.rb +0 -0
  151. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors.rb +0 -0
  152. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/libc.rb +0 -0
  153. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/loggable.rb +0 -0
  154. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/multi/operations.rb +0 -0
  155. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/multi/options.rb +0 -0
  156. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/multi/stack.rb +0 -0
  157. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/multi.rb +0 -0
  158. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon.rb +0 -0
@@ -1,51 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::Http::Options do
5
- let(:easy) { Ethon::Easy.new }
6
- let(:url) { "http://localhost:3001/" }
7
- let(:params) { nil }
8
- let(:form) { nil }
9
- let(:options) { described_class.new(url, {:params => params, :body => form}) }
10
-
11
- describe "#setup" do
12
- it "sets customrequest" do
13
- expect(easy).to receive(:customrequest=).with("OPTIONS")
14
- options.setup(easy)
15
- end
16
-
17
- it "sets url" do
18
- options.setup(easy)
19
- expect(easy.url).to eq(url)
20
- end
21
-
22
- context "when requesting" do
23
- let(:params) { {:a => "1&b=2"} }
24
-
25
- before do
26
- options.setup(easy)
27
- easy.perform
28
- end
29
-
30
- it "returns ok" do
31
- expect(easy.return_code).to eq(:ok)
32
- end
33
-
34
- it "is a options request" do
35
- expect(easy.response_body).to include('"REQUEST_METHOD":"OPTIONS"')
36
- end
37
-
38
- it "requests parameterized url" do
39
- expect(easy.effective_url).to eq("http://localhost:3001/?a=1%26b%3D2")
40
- end
41
-
42
- context "when url already contains params" do
43
- let(:url) { "http://localhost:3001/?query=here" }
44
-
45
- it "requests parameterized url" do
46
- expect(easy.effective_url).to eq("http://localhost:3001/?query=here&a=1%26b%3D2")
47
- end
48
- end
49
- end
50
- end
51
- end
@@ -1,51 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::Http::Patch do
5
- let(:easy) { Ethon::Easy.new }
6
- let(:url) { "http://localhost:3001/" }
7
- let(:params) { nil }
8
- let(:form) { nil }
9
- let(:patch) { described_class.new(url, {:params => params, :body => form}) }
10
-
11
- describe "#setup" do
12
- it "sets customrequest" do
13
- expect(easy).to receive(:customrequest=).with("PATCH")
14
- patch.setup(easy)
15
- end
16
-
17
- it "sets url" do
18
- patch.setup(easy)
19
- expect(easy.url).to eq(url)
20
- end
21
-
22
- context "when requesting" do
23
- let(:params) { {:a => "1&b=2"} }
24
-
25
- before do
26
- patch.setup(easy)
27
- easy.perform
28
- end
29
-
30
- it "returns ok" do
31
- expect(easy.return_code).to eq(:ok)
32
- end
33
-
34
- it "is a patch request" do
35
- expect(easy.response_body).to include('"REQUEST_METHOD":"PATCH"')
36
- end
37
-
38
- it "requests parameterized url" do
39
- expect(easy.effective_url).to eq("http://localhost:3001/?a=1%26b%3D2")
40
- end
41
-
42
- context "when url already contains params" do
43
- let(:url) { "http://localhost:3001/?query=here" }
44
-
45
- it "requests parameterized url" do
46
- expect(easy.effective_url).to eq("http://localhost:3001/?query=here&a=1%26b%3D2")
47
- end
48
- end
49
- end
50
- end
51
- end
@@ -1,317 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::Http::Post do
5
- let(:easy) { Ethon::Easy.new }
6
- let(:url) { "http://localhost:3001/" }
7
- let(:params) { nil }
8
- let(:form) { nil }
9
- let(:options) { Hash.new }
10
- let(:post) { described_class.new(url, options.merge({:params => params, :body => form})) }
11
-
12
- describe "#setup" do
13
- context "when nothing" do
14
- it "sets url" do
15
- post.setup(easy)
16
- expect(easy.url).to eq(url)
17
- end
18
-
19
- it "sets postfield_size" do
20
- expect(easy).to receive(:postfieldsize=).with(0)
21
- post.setup(easy)
22
- end
23
-
24
- it "sets copy_postfields" do
25
- expect(easy).to receive(:copypostfields=).with("")
26
- post.setup(easy)
27
- end
28
-
29
- it "makes a post request" do
30
- post.setup(easy)
31
- easy.perform
32
- expect(easy.response_body).to include('"REQUEST_METHOD":"POST"')
33
- end
34
- end
35
-
36
- context "when params" do
37
- let(:params) { {:a => "1&"} }
38
-
39
- it "attaches escaped to url" do
40
- post.setup(easy)
41
- expect(easy.url).to eq("#{url}?a=1%26")
42
- end
43
-
44
- context "with arrays" do
45
- let(:params) { {:a => %w( foo bar )} }
46
-
47
- context "by default" do
48
- it "encodes them with indexes" do
49
- post.setup(easy)
50
- expect(easy.url).to eq("#{url}?a%5B0%5D=foo&a%5B1%5D=bar")
51
- end
52
- end
53
-
54
- context "when params_encoding is :rack" do
55
- let(:options) { {:params_encoding => :rack} }
56
- it "encodes them without indexes" do
57
- post.setup(easy)
58
- expect(easy.url).to eq("#{url}?a%5B%5D=foo&a%5B%5D=bar")
59
- end
60
- end
61
- end
62
-
63
- context "with :escape" do
64
- context 'missing' do
65
- it "escapes values" do
66
- post.setup(easy)
67
- expect(easy.url).to eq("#{url}?a=1%26")
68
- end
69
- end
70
-
71
- context 'nil' do
72
- let(:options) { {:escape => nil} }
73
-
74
- it "escapes values" do
75
- post.setup(easy)
76
- expect(easy.url).to eq("#{url}?a=1%26")
77
- end
78
- end
79
-
80
- context 'true' do
81
- let(:options) { {:escape => true} }
82
-
83
- it "escapes values" do
84
- post.setup(easy)
85
- expect(easy.url).to eq("#{url}?a=1%26")
86
- end
87
- end
88
-
89
- context 'false' do
90
- let(:options) { {:escape => false} }
91
-
92
- it "sends raw values" do
93
- post.setup(easy)
94
- expect(easy.url).to eq("#{url}?a=1&")
95
- end
96
- end
97
- end
98
-
99
- it "sets postfieldsize" do
100
- expect(easy).to receive(:postfieldsize=).with(0)
101
- post.setup(easy)
102
- end
103
-
104
- it "sets copypostfields" do
105
- expect(easy).to receive(:copypostfields=).with("")
106
- post.setup(easy)
107
- end
108
-
109
- context "when requesting" do
110
- let(:postredir) { nil }
111
-
112
- before do
113
- easy.headers = { 'Expect' => '' }
114
- post.setup(easy)
115
- easy.postredir = postredir
116
- easy.followlocation = true
117
- easy.perform
118
- end
119
-
120
- it "is a post" do
121
- expect(easy.response_body).to include('"REQUEST_METHOD":"POST"')
122
- end
123
-
124
- it "uses application/x-www-form-urlencoded content type" do
125
- expect(easy.response_body).to include('"CONTENT_TYPE":"application/x-www-form-urlencoded"')
126
- end
127
-
128
- it "requests parameterized url" do
129
- expect(easy.response_body).to include('"REQUEST_URI":"http://localhost:3001/?a=1%26"')
130
- end
131
-
132
- context "when redirection" do
133
- let(:url) { "localhost:3001/redirect" }
134
-
135
- context "when no postredirs" do
136
- it "is a get" do
137
- expect(easy.response_body).to include('"REQUEST_METHOD":"GET"')
138
- end
139
- end
140
-
141
- unless ENV['TRAVIS']
142
- context "when postredirs" do
143
- let(:postredir) { :post_all }
144
-
145
- it "is a post" do
146
- expect(easy.response_body).to include('"REQUEST_METHOD":"POST"')
147
- end
148
- end
149
- end
150
- end
151
- end
152
- end
153
-
154
- context "when body" do
155
- context "when multipart" do
156
- let(:form) { {:a => File.open(__FILE__, 'r')} }
157
-
158
- it "sets httppost" do
159
- expect(easy).to receive(:httppost=)
160
- post.setup(easy)
161
- end
162
-
163
- context "when requesting" do
164
- before do
165
- easy.headers = { 'Expect' => '' }
166
- post.setup(easy)
167
- easy.perform
168
- end
169
-
170
- it "returns ok" do
171
- expect(easy.return_code).to eq(:ok)
172
- end
173
-
174
- it "is a post" do
175
- expect(easy.response_body).to include('"REQUEST_METHOD":"POST"')
176
- end
177
-
178
- it "uses multipart/form-data content type" do
179
- expect(easy.response_body).to include('"CONTENT_TYPE":"multipart/form-data')
180
- end
181
-
182
- it "submits a body" do
183
- expect(easy.response_body).to match('"body":".+"')
184
- end
185
-
186
- it "submits the data" do
187
- expect(easy.response_body).to include('"filename":"post_spec.rb"')
188
- end
189
- end
190
- end
191
-
192
- context "when not multipart" do
193
- let(:form) { {:a => "1&b=2"} }
194
- let(:encoded) { "a=1%26b%3D2" }
195
-
196
- it "sets escaped copypostfields" do
197
- expect(easy).to receive(:copypostfields=).with(encoded)
198
- post.setup(easy)
199
- end
200
-
201
- it "sets postfieldsize" do
202
- expect(easy).to receive(:postfieldsize=).with(encoded.bytesize)
203
- post.setup(easy)
204
- end
205
-
206
- context "when requesting" do
207
- before do
208
- easy.headers = { 'Expect' => '' }
209
- post.setup(easy)
210
- easy.perform
211
- end
212
-
213
- it "returns ok" do
214
- expect(easy.return_code).to eq(:ok)
215
- end
216
-
217
- it "is a post" do
218
- expect(easy.response_body).to include('"REQUEST_METHOD":"POST"')
219
- end
220
-
221
- it "uses multipart/form-data content type" do
222
- expect(easy.response_body).to include('"CONTENT_TYPE":"application/x-www-form-urlencoded')
223
- end
224
-
225
- it "submits a body" do
226
- expect(easy.response_body).to match('"body":"a=1%26b%3D2"')
227
- end
228
-
229
- it "submits the data" do
230
- expect(easy.response_body).to include('"rack.request.form_hash":{"a":"1&b=2"}')
231
- end
232
- end
233
- end
234
-
235
- context "when string" do
236
- let(:form) { "{a: 1}" }
237
-
238
- context "when requesting" do
239
- before do
240
- easy.headers = { 'Expect' => '' }
241
- post.setup(easy)
242
- easy.perform
243
- end
244
-
245
- it "returns ok" do
246
- expect(easy.return_code).to eq(:ok)
247
- end
248
-
249
- it "sends string" do
250
- expect(easy.response_body).to include('"body":"{a: 1}"')
251
- end
252
- end
253
- end
254
-
255
- context "when binary with null bytes" do
256
- let(:form) { [1, 0, 1].pack('c*') }
257
-
258
- context "when requesting" do
259
- before do
260
- easy.headers = { 'Expect' => '' }
261
- post.setup(easy)
262
- easy.perform
263
- end
264
-
265
- it "returns ok" do
266
- expect(easy.return_code).to eq(:ok)
267
- end
268
-
269
- it "sends binary data" do
270
- expect(easy.response_body).to include('"body":"\\u0001\\u0000\\u0001"')
271
- end
272
- end
273
- end
274
-
275
- context "when arrays" do
276
- let(:form) { {:a => %w( foo bar )} }
277
-
278
- context "by default" do
279
- it "sets copypostfields with indexed, escaped representation" do
280
- expect(easy).to receive(:copypostfields=).with('a%5B0%5D=foo&a%5B1%5D=bar')
281
- post.setup(easy)
282
- end
283
- end
284
-
285
- context "when params_encoding is :rack" do
286
- let(:options) { {:params_encoding => :rack} }
287
-
288
- it "sets copypostfields with non-indexed, escaped representation" do
289
- expect(easy).to receive(:copypostfields=).with('a%5B%5D=foo&a%5B%5D=bar')
290
- post.setup(easy)
291
- end
292
- end
293
- end
294
- end
295
-
296
- context "when params and body" do
297
- let(:form) { {:a => "1"} }
298
- let(:params) { {:b => "2"} }
299
-
300
- context "when requesting" do
301
- before do
302
- easy.headers = { 'Expect' => '' }
303
- post.setup(easy)
304
- easy.perform
305
- end
306
-
307
- it "url contains params" do
308
- expect(easy.response_body).to include('"REQUEST_URI":"http://localhost:3001/?b=2"')
309
- end
310
-
311
- it "body contains form" do
312
- expect(easy.response_body).to include('"body":"a=1"')
313
- end
314
- end
315
- end
316
- end
317
- end
@@ -1,168 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::Http::Put do
5
- let(:easy) { Ethon::Easy.new }
6
- let(:url) { "http://localhost:3001/" }
7
- let(:params) { nil }
8
- let(:form) { nil }
9
- let(:options) { Hash.new }
10
- let(:put) { described_class.new(url, options.merge({:params => params, :body => form})) }
11
-
12
- describe "#setup" do
13
- context "when nothing" do
14
- it "sets url" do
15
- put.setup(easy)
16
- expect(easy.url).to eq(url)
17
- end
18
-
19
- it "sets upload" do
20
- expect(easy).to receive(:upload=).with(true)
21
- put.setup(easy)
22
- end
23
-
24
- it "sets infilesize" do
25
- expect(easy).to receive(:infilesize=).with(0)
26
- put.setup(easy)
27
- end
28
-
29
- context "when requesting" do
30
- it "makes a put request" do
31
- put.setup(easy)
32
- easy.perform
33
- expect(easy.response_body).to include('"REQUEST_METHOD":"PUT"')
34
- end
35
- end
36
- end
37
-
38
- context "when params" do
39
- let(:params) { {:a => "1&"} }
40
-
41
- it "attaches escaped to url" do
42
- put.setup(easy)
43
- expect(easy.url).to eq("#{url}?a=1%26")
44
- end
45
-
46
- context "with arrays" do
47
- let(:params) { {:a => %w( foo bar )} }
48
-
49
- context "by default" do
50
- it "encodes them with indexes" do
51
- put.setup(easy)
52
- expect(easy.url).to eq("#{url}?a%5B0%5D=foo&a%5B1%5D=bar")
53
- end
54
- end
55
-
56
- context "when params_encoding is :rack" do
57
- let(:options) { {:params_encoding => :rack} }
58
- it "encodes them without indexes" do
59
- put.setup(easy)
60
- expect(easy.url).to eq("#{url}?a%5B%5D=foo&a%5B%5D=bar")
61
- end
62
- end
63
- end
64
-
65
- it "sets upload" do
66
- expect(easy).to receive(:upload=).with(true)
67
- put.setup(easy)
68
- end
69
-
70
- it "sets infilesize" do
71
- expect(easy).to receive(:infilesize=).with(0)
72
- put.setup(easy)
73
- end
74
-
75
- context "when requesting" do
76
- before do
77
- put.setup(easy)
78
- easy.perform
79
- end
80
-
81
- it "makes a put request" do
82
- expect(easy.response_body).to include('"REQUEST_METHOD":"PUT"')
83
- end
84
- end
85
- end
86
-
87
- context "when body" do
88
- let(:form) { {:a => "1&b=2"} }
89
-
90
- it "sets infilesize" do
91
- expect(easy).to receive(:infilesize=).with(11)
92
- put.setup(easy)
93
- end
94
-
95
- it "sets readfunction" do
96
- expect(easy).to receive(:readfunction)
97
- put.setup(easy)
98
- end
99
-
100
- it "sets upload" do
101
- expect(easy).to receive(:upload=).with(true)
102
- put.setup(easy)
103
- end
104
-
105
- context "when requesting" do
106
- context "sending string body" do
107
- before do
108
- easy.headers = { 'Expect' => '' }
109
- put.setup(easy)
110
- easy.perform
111
- end
112
-
113
- it "makes a put request" do
114
- expect(easy.response_body).to include('"REQUEST_METHOD":"PUT"')
115
- end
116
-
117
- it "submits a body" do
118
- expect(easy.response_body).to include('"body":"a=1%26b%3D2"')
119
- end
120
- end
121
-
122
- context "when injecting a file as body" do
123
- let(:file) { File.open(__FILE__) }
124
- let(:easy) do
125
- e = Ethon::Easy.new(:url => url, :upload => true)
126
- e.set_read_callback(file)
127
- e.infilesize = File.size(file.path)
128
- e
129
- end
130
-
131
- before do
132
- easy.headers = { 'Expect' => '' }
133
- easy.perform
134
- end
135
-
136
- it "submits file" do
137
- expect(easy.response_body).to include("injecting")
138
- end
139
- end
140
- end
141
-
142
- context "when arrays" do
143
- let(:form) { {:a => %w( foo bar )} }
144
-
145
- before do
146
- put.setup(easy)
147
- easy.perform
148
- end
149
-
150
- context "by default" do
151
- it "submits an indexed, escaped representation" do
152
- expect(easy.response_body).to include('"body":"a%5B0%5D=foo&a%5B1%5D=bar"')
153
- end
154
- end
155
-
156
- context "when params_encoding is :rack" do
157
- let(:options) { {:params_encoding => :rack} }
158
-
159
- it "submits an non-indexed, escaped representation" do
160
- expect(easy.response_body).to include('"body":"a%5B%5D=foo&a%5B%5D=bar"')
161
- end
162
- end
163
- end
164
- end
165
-
166
- context "when params and body"
167
- end
168
- end
@@ -1,64 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::Http do
5
- let(:easy) { Ethon::Easy.new }
6
-
7
- describe "#http_request" do
8
- let(:url) { "http://localhost:3001/" }
9
- let(:action_name) { :get }
10
- let(:options) { {} }
11
-
12
- let(:get) { double(:setup) }
13
- let(:get_class) { Ethon::Easy::Http::Get }
14
-
15
- it "instanciates action" do
16
- expect(get).to receive(:setup)
17
- expect(get_class).to receive(:new).and_return(get)
18
- easy.http_request(url, action_name, options)
19
- end
20
-
21
- context "when requesting" do
22
- [ :get, :post, :put, :delete, :head, :patch, :options ].map do |action|
23
- it "returns ok" do
24
- easy.http_request(url, action, options)
25
- easy.perform
26
- expect(easy.return_code).to be(:ok)
27
- end
28
-
29
- unless action == :head
30
- it "makes a #{action.to_s.upcase} request" do
31
- easy.http_request(url, action, options)
32
- easy.perform
33
- expect(easy.response_body).to include("\"REQUEST_METHOD\":\"#{action.to_s.upcase}\"")
34
- end
35
-
36
- it "streams the response body from the #{action.to_s.upcase} request" do
37
- bytes_read = 0
38
- easy.on_body { |chunk, response| bytes_read += chunk.bytesize }
39
- easy.http_request(url, action, options)
40
- easy.perform
41
- content_length = ((easy.response_headers =~ /Content-Length: (\d+)/) && $1.to_i)
42
- expect(bytes_read).to eq(content_length)
43
- expect(easy.response_body).to eq("")
44
- end
45
-
46
- it "notifies when headers are ready" do
47
- headers = []
48
- easy.on_headers { |r| headers << r.response_headers }
49
- easy.http_request(url, action, options)
50
- easy.perform
51
- expect(headers).to eq([easy.response_headers])
52
- expect(headers.first).to match(/Content-Length: (\d+)/)
53
- end
54
- end
55
- end
56
-
57
- it "makes requests with custom HTTP verbs" do
58
- easy.http_request(url, :purge, options)
59
- easy.perform
60
- expect(easy.response_body).to include(%{"REQUEST_METHOD":"PURGE"})
61
- end
62
- end
63
- end
64
- end