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,54 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::DebugInfo do
5
- let(:easy) { Ethon::Easy.new }
6
-
7
- before do
8
- easy.url = "http://localhost:3001/"
9
- easy.perform
10
- end
11
-
12
- describe "#debug_info" do
13
- context "when verbose is not set to true" do
14
- it "does not save any debug info after a request" do
15
- expect(easy.debug_info.to_a.length).to eq(0)
16
- expect(easy.debug_info.to_h.values.flatten.length).to eq(0)
17
- end
18
- end
19
-
20
- context "when verbose is set to true" do
21
- before do
22
- easy.verbose = true
23
- easy.perform
24
- end
25
-
26
- after do
27
- easy.verbose = false
28
- easy.reset
29
- end
30
-
31
- it "saves debug info after a request" do
32
- expect(easy.debug_info.to_a.length).to be > 0
33
- end
34
-
35
- it "saves request headers" do
36
- expect(easy.debug_info.header_out.join).to include('GET / HTTP/1.1')
37
- end
38
-
39
- it "saves response headers" do
40
- expect(easy.debug_info.header_in.length).to be > 0
41
- expect(easy.response_headers).to include(easy.debug_info.header_in.join)
42
- end
43
-
44
- it "saves incoming data" do
45
- expect(easy.debug_info.data_in.length).to be > 0
46
- expect(easy.response_body).to include(easy.debug_info.data_in.join)
47
- end
48
-
49
- it "saves debug text" do
50
- expect(easy.debug_info.text.length).to be > 0
51
- end
52
- end
53
- end
54
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::Informations do
5
-
6
- describe "#supports_asynch_dns?" do
7
- it "returns boolean" do
8
- expect([true, false].include? Ethon::Easy.supports_asynch_dns?).to be_truthy
9
- end
10
- end
11
-
12
- describe "#supports_zlib?" do
13
- it "returns boolean" do
14
- expect([true, false].include? Ethon::Easy.supports_zlib?).to be_truthy
15
- end
16
- end
17
-
18
- describe "#supports_timeout_ms?" do
19
- it "returns boolean" do
20
- expect([true, false].include? Ethon::Easy.supports_timeout_ms?).to be_truthy
21
- end
22
- end
23
-
24
- end
@@ -1,104 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::Form do
5
- let(:hash) { {} }
6
- let!(:easy) { Ethon::Easy.new }
7
- let(:form) { Ethon::Easy::Form.new(easy, hash) }
8
-
9
- describe ".new" do
10
- it "assigns attribute to @params" do
11
- expect(form.instance_variable_get(:@params)).to eq(hash)
12
- end
13
- end
14
-
15
- describe "#first" do
16
- it "returns a pointer" do
17
- expect(form.first).to be_a(FFI::Pointer)
18
- end
19
- end
20
-
21
- describe "#last" do
22
- it "returns a pointer" do
23
- expect(form.first).to be_a(FFI::Pointer)
24
- end
25
- end
26
-
27
- describe "#multipart?" do
28
- before { form.instance_variable_set(:@query_pairs, pairs) }
29
-
30
- context "when query_pairs contains string values" do
31
- let(:pairs) { [['a', '1'], ['b', '2']] }
32
-
33
- it "returns false" do
34
- expect(form.multipart?).to be_falsey
35
- end
36
- end
37
-
38
- context "when query_pairs contains file" do
39
- let(:pairs) { [['a', '1'], ['b', ['path', 'encoding', 'abs_path']]] }
40
-
41
- it "returns true" do
42
- expect(form.multipart?).to be_truthy
43
- end
44
- end
45
-
46
- context "when options contains multipart=true" do
47
- before { form.instance_variable_set(:@multipart, true) }
48
- let(:pairs) { [['a', '1'], ['b', '2']] }
49
-
50
- it "returns true" do
51
- expect(form.multipart?).to be_truthy
52
- end
53
- end
54
- end
55
-
56
- describe "#materialize" do
57
- before { form.instance_variable_set(:@query_pairs, pairs) }
58
-
59
- context "when query_pairs contains string values" do
60
- let(:pairs) { [['a', '1']] }
61
-
62
- it "adds params to form" do
63
- expect(Ethon::Curl).to receive(:formadd)
64
- form.materialize
65
- end
66
- end
67
-
68
- context "when query_pairs contains nil" do
69
- let(:pairs) { [['a', nil]] }
70
-
71
- it "adds params to form" do
72
- expect(Ethon::Curl).to receive(:formadd)
73
- form.materialize
74
- end
75
- end
76
-
77
- context "when query_pairs contains file" do
78
- let(:pairs) { [['a', ["file", "type", "path/file"]]] }
79
-
80
- it "adds file to form" do
81
- expect(Ethon::Curl).to receive(:formadd)
82
- form.materialize
83
- end
84
- end
85
-
86
- context "when query_pairs contains file and string values" do
87
- let(:pairs) { [['a', ["file", "type", "path/file"]], ['b', '1']] }
88
-
89
- it "adds file to form" do
90
- expect(Ethon::Curl).to receive(:formadd).twice
91
- form.materialize
92
- end
93
- end
94
-
95
- context "when query_pairs contains file, string and int values" do
96
- let(:pairs) { [['a', ["file", "type", "path/file"]], ['b', '1'], ['c', 1]] }
97
-
98
- it "adds file to form" do
99
- expect(Ethon::Curl).to receive(:formadd).exactly(3).times
100
- form.materialize
101
- end
102
- end
103
- end
104
- end
@@ -1,79 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::Header do
5
- let(:easy) { Ethon::Easy.new }
6
-
7
- describe "#headers=" do
8
- let(:headers) { { 'User-Agent' => 'Ethon' } }
9
-
10
- it "sets header" do
11
- expect_any_instance_of(Ethon::Easy).to receive(:set_callbacks)
12
- expect(Ethon::Curl).to receive(:set_option)
13
- easy.headers = headers
14
- end
15
-
16
- context "when requesting" do
17
- before do
18
- easy.headers = headers
19
- easy.url = "http://localhost:3001"
20
- easy.perform
21
- end
22
-
23
- it "sends" do
24
- expect(easy.response_body).to include('"HTTP_USER_AGENT":"Ethon"')
25
- end
26
-
27
- context "when header value contains null byte" do
28
- let(:headers) { { 'User-Agent' => "Ethon\0" } }
29
-
30
- it "escapes" do
31
- expect(easy.response_body).to include('"HTTP_USER_AGENT":"Ethon\\\\0"')
32
- end
33
- end
34
-
35
- context "when header value has leading whitespace" do
36
- let(:headers) { { 'User-Agent' => " Ethon" } }
37
-
38
- it "removes" do
39
- expect(easy.response_body).to include('"HTTP_USER_AGENT":"Ethon"')
40
- end
41
- end
42
-
43
- context "when header value has traiing whitespace" do
44
- let(:headers) { { 'User-Agent' => "Ethon " } }
45
-
46
- it "removes" do
47
- expect(easy.response_body).to include('"HTTP_USER_AGENT":"Ethon"')
48
- end
49
- end
50
- end
51
- end
52
-
53
- describe "#compose_header" do
54
- it "has space in between" do
55
- expect(easy.compose_header('a', 'b')).to eq('a: b')
56
- end
57
-
58
- context "when value is a symbol" do
59
- it "works" do
60
- expect{ easy.compose_header('a', :b) }.to_not raise_error
61
- end
62
- end
63
- end
64
-
65
- describe "#header_list" do
66
- context "when no set_headers" do
67
- it "returns nil" do
68
- expect(easy.header_list).to eq(nil)
69
- end
70
- end
71
-
72
- context "when set_headers" do
73
- it "returns pointer to header list" do
74
- easy.headers = {'User-Agent' => 'Custom'}
75
- expect(easy.header_list).to be_a(FFI::Pointer)
76
- end
77
- end
78
- end
79
- end
@@ -1,177 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::Http::Custom do
5
- let(:easy) { Ethon::Easy.new }
6
- let(:url) { "http://localhost:3001/" }
7
- let(:params) { nil }
8
- let(:form) { nil }
9
- let(:custom) { described_class.new("PURGE", url, {:params => params, :body => form}) }
10
-
11
- describe "#setup" do
12
- context "when nothing" do
13
- it "sets url" do
14
- custom.setup(easy)
15
- expect(easy.url).to eq(url)
16
- end
17
-
18
- it "makes a custom request" do
19
- custom.setup(easy)
20
- easy.perform
21
- expect(easy.response_body).to include('"REQUEST_METHOD":"PURGE"')
22
- end
23
- end
24
-
25
- context "when params" do
26
- let(:params) { {:a => "1&"} }
27
-
28
- it "attaches escaped to url" do
29
- custom.setup(easy)
30
- expect(easy.url).to eq("#{url}?a=1%26")
31
- end
32
-
33
- context "when requesting" do
34
- before do
35
- easy.headers = { 'Expect' => '' }
36
- custom.setup(easy)
37
- easy.perform
38
- end
39
-
40
- it "is a custom verb" do
41
- expect(easy.response_body).to include('"REQUEST_METHOD":"PURGE"')
42
- end
43
-
44
- it "does not use application/x-www-form-urlencoded content type" do
45
- expect(easy.response_body).to_not include('"CONTENT_TYPE":"application/x-www-form-urlencoded"')
46
- end
47
-
48
- it "requests parameterized url" do
49
- expect(easy.response_body).to include('"REQUEST_URI":"http://localhost:3001/?a=1%26"')
50
- end
51
- end
52
- end
53
-
54
- context "when body" do
55
- context "when multipart" do
56
- let(:form) { {:a => File.open(__FILE__, 'r')} }
57
-
58
- it "sets httppost" do
59
- expect(easy).to receive(:httppost=)
60
- custom.setup(easy)
61
- end
62
-
63
- context "when requesting" do
64
- before do
65
- easy.headers = { 'Expect' => '' }
66
- custom.setup(easy)
67
- easy.perform
68
- end
69
-
70
- it "returns ok" do
71
- expect(easy.return_code).to eq(:ok)
72
- end
73
-
74
- it "is a custom verb" do
75
- expect(easy.response_body).to include('"REQUEST_METHOD":"PURGE"')
76
- end
77
-
78
- it "uses multipart/form-data content type" do
79
- expect(easy.response_body).to include('"CONTENT_TYPE":"multipart/form-data')
80
- end
81
-
82
- it "submits a body" do
83
- expect(easy.response_body).to match('"body":".+"')
84
- end
85
-
86
- it "submits the data" do
87
- expect(easy.response_body).to include('"filename":"custom_spec.rb"')
88
- end
89
- end
90
- end
91
-
92
- context "when not multipart" do
93
- let(:form) { {:a => "1&b=2"} }
94
- let(:encoded) { "a=1%26b%3D2" }
95
-
96
- it "sets escaped copypostfields" do
97
- expect(easy).to receive(:copypostfields=).with(encoded)
98
- custom.setup(easy)
99
- end
100
-
101
- it "sets postfieldsize" do
102
- expect(easy).to receive(:postfieldsize=).with(encoded.bytesize)
103
- custom.setup(easy)
104
- end
105
-
106
- context "when requesting" do
107
- before do
108
- easy.headers = { 'Expect' => '' }
109
- custom.setup(easy)
110
- easy.perform
111
- end
112
-
113
- it "returns ok" do
114
- expect(easy.return_code).to eq(:ok)
115
- end
116
-
117
- it "is a custom verb" do
118
- expect(easy.response_body).to include('"REQUEST_METHOD":"PURGE"')
119
- end
120
-
121
- it "uses multipart/form-data content type" do
122
- expect(easy.response_body).to include('"CONTENT_TYPE":"application/x-www-form-urlencoded')
123
- end
124
-
125
- it "submits a body" do
126
- expect(easy.response_body).to match('"body":"a=1%26b%3D2"')
127
- end
128
-
129
- it "submits the data" do
130
- expect(easy.response_body).to include('"rack.request.form_hash":{"a":"1&b=2"}')
131
- end
132
- end
133
- end
134
-
135
- context "when string" do
136
- let(:form) { "{a: 1}" }
137
-
138
- context "when requesting" do
139
- before do
140
- easy.headers = { 'Expect' => '' }
141
- custom.setup(easy)
142
- easy.perform
143
- end
144
-
145
- it "returns ok" do
146
- expect(easy.return_code).to eq(:ok)
147
- end
148
-
149
- it "sends string" do
150
- expect(easy.response_body).to include('"body":"{a: 1}"')
151
- end
152
- end
153
- end
154
- end
155
-
156
- context "when params and body" do
157
- let(:form) { {:a => "1"} }
158
- let(:params) { {:b => "2"} }
159
-
160
- context "when requesting" do
161
- before do
162
- easy.headers = { 'Expect' => '' }
163
- custom.setup(easy)
164
- easy.perform
165
- end
166
-
167
- it "url contains params" do
168
- expect(easy.response_body).to include('"REQUEST_URI":"http://localhost:3001/?b=2"')
169
- end
170
-
171
- it "body contains form" do
172
- expect(easy.response_body).to include('"body":"a=1"')
173
- end
174
- end
175
- end
176
- end
177
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::Http::Delete do
5
- let(:easy) { Ethon::Easy.new }
6
- let(:url) { "http://localhost:3001/" }
7
- let(:params) { nil }
8
- let(:form) { nil }
9
- let(:delete) { described_class.new(url, {:params => params, :body => form}) }
10
-
11
- context "when requesting" do
12
- before do
13
- delete.setup(easy)
14
- easy.perform
15
- end
16
-
17
- it "makes a delete request" do
18
- expect(easy.response_body).to include('"REQUEST_METHOD":"DELETE"')
19
- end
20
- end
21
- end
@@ -1,126 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::Http::Get do
5
- let(:easy) { Ethon::Easy.new }
6
- let(:url) { "http://localhost:3001/" }
7
- let(:params) { nil }
8
- let(:form) { nil }
9
- let(:options) { {} }
10
- let(:get) { described_class.new(url, {:params => params, :body => form}.merge(options)) }
11
-
12
- describe "#setup" do
13
- it "sets url" do
14
- get.setup(easy)
15
- expect(easy.url).to eq(url)
16
- end
17
-
18
- context "when body" do
19
- let(:form) { { :a => 1 } }
20
-
21
- it "sets customrequest" do
22
- expect(easy).to receive(:customrequest=).with("GET")
23
- get.setup(easy)
24
- end
25
- end
26
-
27
- context "when no body" do
28
- it "doesn't set customrequest" do
29
- expect(easy).to receive(:customrequest=).never
30
- get.setup(easy)
31
- end
32
- end
33
-
34
- context "when requesting" do
35
- before do
36
- get.setup(easy)
37
- easy.perform
38
- end
39
-
40
- context "when url already contains params" do
41
- let(:url) { "http://localhost:3001/?query=here" }
42
- let(:params) { {:a => "1&b=2"} }
43
-
44
- it "returns ok" do
45
- expect(easy.return_code).to eq(:ok)
46
- end
47
-
48
- it "is a get request" do
49
- expect(easy.response_body).to include('"REQUEST_METHOD":"GET"')
50
- end
51
-
52
- it "requests parameterized url" do
53
- expect(easy.effective_url).to eq("http://localhost:3001/?query=here&a=1%26b%3D2")
54
- end
55
- end
56
-
57
- context "when params and no body" do
58
- let(:params) { {:a => "1&b=2"} }
59
-
60
- it "returns ok" do
61
- expect(easy.return_code).to eq(:ok)
62
- end
63
-
64
- it "is a get request" do
65
- expect(easy.response_body).to include('"REQUEST_METHOD":"GET"')
66
- end
67
-
68
- it "requests parameterized url" do
69
- expect(easy.effective_url).to eq("http://localhost:3001/?a=1%26b%3D2")
70
- end
71
- end
72
-
73
- context "when params and body" do
74
- let(:params) { {:a => "1&b=2"} }
75
- let(:form) { {:b => "2"} }
76
-
77
- it "returns ok" do
78
- expect(easy.return_code).to eq(:ok)
79
- end
80
-
81
- it "is a get request" do
82
- expect(easy.response_body).to include('"REQUEST_METHOD":"GET"')
83
- end
84
-
85
- it "requests parameterized url" do
86
- expect(easy.effective_url).to eq("http://localhost:3001/?a=1%26b%3D2")
87
- end
88
- end
89
-
90
- context "with :escape" do
91
- let(:params) { {:a => "1&b=2"} }
92
-
93
- context 'missing' do
94
- it "escapes values" do
95
- expect(easy.url).to eq("#{url}?a=1%26b%3D2")
96
- end
97
- end
98
-
99
- context 'nil' do
100
- let(:options) { {:escape => nil} }
101
-
102
- it "escapes values" do
103
- expect(easy.url).to eq("#{url}?a=1%26b%3D2")
104
- end
105
- end
106
-
107
- context 'true' do
108
- let(:options) { {:escape => true} }
109
-
110
- it "escapes values" do
111
- expect(easy.url).to eq("#{url}?a=1%26b%3D2")
112
- end
113
- end
114
-
115
- context 'false' do
116
- let(:options) { {:escape => false} }
117
-
118
- it "sends raw values" do
119
- expect(easy.url).to eq("#{url}?a=1&b=2")
120
- end
121
- end
122
- end
123
-
124
- end
125
- end
126
- end
@@ -1,80 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::Http::Head do
5
- let(:easy) { Ethon::Easy.new }
6
- let(:url) { "http://localhost:3001/" }
7
- let(:params) { nil }
8
- let(:form) { nil }
9
- let(:head) { described_class.new(url, {:params => params, :body => form}) }
10
-
11
- describe "#setup" do
12
- context "when nothing" do
13
- it "sets nobody" do
14
- expect(easy).to receive(:nobody=).with(true)
15
- head.setup(easy)
16
- end
17
-
18
- it "sets url" do
19
- head.setup(easy)
20
- expect(easy.url).to eq(url)
21
- end
22
- end
23
-
24
- context "when params" do
25
- let(:params) { {:a => "1&b=2"} }
26
-
27
- it "sets nobody" do
28
- expect(easy).to receive(:nobody=).with(true)
29
- head.setup(easy)
30
- end
31
-
32
- it "attaches escaped to url" do
33
- head.setup(easy)
34
- expect(easy.url).to eq("#{url}?a=1%26b%3D2")
35
- end
36
-
37
- context "when requesting" do
38
- before do
39
- head.setup(easy)
40
- easy.perform
41
- end
42
-
43
- it "returns ok" do
44
- expect(easy.return_code).to eq(:ok)
45
- end
46
-
47
- it "has no body" do
48
- expect(easy.response_body).to be_empty
49
- end
50
-
51
- it "requests parameterized url" do
52
- expect(easy.effective_url).to eq("http://localhost:3001/?a=1%26b%3D2")
53
- end
54
-
55
- context "when url already contains params" do
56
- let(:url) { "http://localhost:3001/?query=here" }
57
-
58
- it "requests parameterized url" do
59
- expect(easy.effective_url).to eq("http://localhost:3001/?query=here&a=1%26b%3D2")
60
- end
61
- end
62
- end
63
- end
64
-
65
- context "when body" do
66
- let(:form) { {:a => 1} }
67
-
68
- context "when requesting" do
69
- before do
70
- head.setup(easy)
71
- easy.perform
72
- end
73
-
74
- it "returns ok" do
75
- expect(easy.return_code).to eq(:ok)
76
- end
77
- end
78
- end
79
- end
80
- end