cybrid_api_organization_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 (160) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/README.md +5 -5
  4. data/cybrid_api_organization_ruby.gemspec +1 -1
  5. data/lib/cybrid_api_organization_ruby/api/organizations_organization_api.rb +1 -1
  6. data/lib/cybrid_api_organization_ruby/api/subscription_deliveries_organization_api.rb +1 -1
  7. data/lib/cybrid_api_organization_ruby/api/subscription_events_organization_api.rb +1 -1
  8. data/lib/cybrid_api_organization_ruby/api/subscriptions_organization_api.rb +1 -1
  9. data/lib/cybrid_api_organization_ruby/api_client.rb +1 -1
  10. data/lib/cybrid_api_organization_ruby/api_error.rb +1 -1
  11. data/lib/cybrid_api_organization_ruby/configuration.rb +1 -1
  12. data/lib/cybrid_api_organization_ruby/models/error_response_organization_model.rb +1 -1
  13. data/lib/cybrid_api_organization_ruby/models/organization_organization_model.rb +1 -1
  14. data/lib/cybrid_api_organization_ruby/models/patch_organization_organization_model.rb +1 -1
  15. data/lib/cybrid_api_organization_ruby/models/post_subscription_delivery_organization_model.rb +1 -1
  16. data/lib/cybrid_api_organization_ruby/models/post_subscription_organization_model.rb +1 -1
  17. data/lib/cybrid_api_organization_ruby/models/subscription_delivery_list_organization_model.rb +1 -1
  18. data/lib/cybrid_api_organization_ruby/models/subscription_delivery_organization_model.rb +1 -1
  19. data/lib/cybrid_api_organization_ruby/models/subscription_environment_organization_model.rb +1 -1
  20. data/lib/cybrid_api_organization_ruby/models/subscription_event_list_organization_model.rb +1 -1
  21. data/lib/cybrid_api_organization_ruby/models/subscription_event_organization_model.rb +1 -1
  22. data/lib/cybrid_api_organization_ruby/models/subscription_list_organization_model.rb +1 -1
  23. data/lib/cybrid_api_organization_ruby/models/subscription_organization_model.rb +1 -1
  24. data/lib/cybrid_api_organization_ruby/models/subscription_state_organization_model.rb +1 -1
  25. data/lib/cybrid_api_organization_ruby/models/subscription_type_organization_model.rb +1 -1
  26. data/lib/cybrid_api_organization_ruby/version.rb +2 -2
  27. data/lib/cybrid_api_organization_ruby.rb +1 -1
  28. data/spec/api/organizations_organization_api_spec.rb +1 -1
  29. data/spec/api/subscription_deliveries_organization_api_spec.rb +1 -1
  30. data/spec/api/subscription_events_organization_api_spec.rb +1 -1
  31. data/spec/api/subscriptions_organization_api_spec.rb +1 -1
  32. data/spec/api_client_spec.rb +1 -1
  33. data/spec/configuration_spec.rb +1 -1
  34. data/spec/models/error_response_organization_model_spec.rb +1 -1
  35. data/spec/models/organization_organization_model_spec.rb +1 -1
  36. data/spec/models/patch_organization_organization_model_spec.rb +1 -1
  37. data/spec/models/post_subscription_delivery_organization_model_spec.rb +1 -1
  38. data/spec/models/post_subscription_organization_model_spec.rb +1 -1
  39. data/spec/models/subscription_delivery_list_organization_model_spec.rb +1 -1
  40. data/spec/models/subscription_delivery_organization_model_spec.rb +1 -1
  41. data/spec/models/subscription_environment_organization_model_spec.rb +1 -1
  42. data/spec/models/subscription_event_list_organization_model_spec.rb +1 -1
  43. data/spec/models/subscription_event_organization_model_spec.rb +1 -1
  44. data/spec/models/subscription_list_organization_model_spec.rb +1 -1
  45. data/spec/models/subscription_organization_model_spec.rb +1 -1
  46. data/spec/models/subscription_state_organization_model_spec.rb +1 -1
  47. data/spec/models/subscription_type_organization_model_spec.rb +1 -1
  48. data/spec/spec_helper.rb +1 -1
  49. data/vendor/bundle/ruby/3.3.0/cache/ethon-0.17.0.gem +0 -0
  50. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-12.0.0/gem_make.out +5 -5
  51. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/gem_make.out +5 -5
  52. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  53. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/gem_make.out +5 -5
  54. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
  55. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/gem_make.out +5 -5
  56. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/CHANGELOG.md +26 -1
  57. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/README.md +1 -1
  58. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/ethon.gemspec +6 -3
  59. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/codes.rb +3 -2
  60. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/version.rb +1 -1
  61. data/vendor/bundle/ruby/3.3.0/specifications/{ethon-0.16.0.gemspec → ethon-0.17.0.gemspec} +6 -5
  62. metadata +61 -105
  63. data/vendor/bundle/ruby/3.3.0/cache/ethon-0.16.0.gem +0 -0
  64. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.github/workflows/ruby.yml +0 -41
  65. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.gitignore +0 -8
  66. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.rspec +0 -3
  67. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Gemfile +0 -43
  68. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Guardfile +0 -10
  69. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Rakefile +0 -40
  70. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/benchmarks.rb +0 -104
  71. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/memory_leaks.rb +0 -114
  72. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/perf_spec_helper.rb +0 -37
  73. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/memory_test_helpers.rb +0 -76
  74. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/os_memory_leak_tracker.rb +0 -48
  75. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/ruby_object_leak_tracker.rb +0 -49
  76. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/curl_spec.rb +0 -38
  77. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/callbacks_spec.rb +0 -81
  78. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/debug_info_spec.rb +0 -54
  79. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/features_spec.rb +0 -24
  80. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/form_spec.rb +0 -104
  81. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/header_spec.rb +0 -79
  82. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/custom_spec.rb +0 -177
  83. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/delete_spec.rb +0 -21
  84. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/get_spec.rb +0 -126
  85. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/head_spec.rb +0 -80
  86. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/options_spec.rb +0 -51
  87. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/patch_spec.rb +0 -51
  88. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/post_spec.rb +0 -317
  89. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/put_spec.rb +0 -168
  90. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http_spec.rb +0 -64
  91. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/informations_spec.rb +0 -126
  92. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/mirror_spec.rb +0 -47
  93. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/operations_spec.rb +0 -271
  94. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/options_spec.rb +0 -193
  95. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/queryable_spec.rb +0 -235
  96. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/response_callbacks_spec.rb +0 -152
  97. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/util_spec.rb +0 -28
  98. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy_spec.rb +0 -203
  99. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/libc_spec.rb +0 -14
  100. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/loggable_spec.rb +0 -22
  101. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/operations_spec.rb +0 -298
  102. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/options_spec.rb +0 -182
  103. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/stack_spec.rb +0 -80
  104. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi_spec.rb +0 -152
  105. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/spec_helper.rb +0 -28
  106. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/support/localhost_server.rb +0 -95
  107. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/support/server.rb +0 -115
  108. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/LICENSE +0 -0
  109. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curl.rb +0 -0
  110. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/classes.rb +0 -0
  111. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/constants.rb +0 -0
  112. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/form_options.rb +0 -0
  113. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/functions.rb +0 -0
  114. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/infos.rb +0 -0
  115. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/messages.rb +0 -0
  116. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/options.rb +0 -0
  117. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/curls/settings.rb +0 -0
  118. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/callbacks.rb +0 -0
  119. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/debug_info.rb +0 -0
  120. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/features.rb +0 -0
  121. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/form.rb +0 -0
  122. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/header.rb +0 -0
  123. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/actionable.rb +0 -0
  124. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/custom.rb +0 -0
  125. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/delete.rb +0 -0
  126. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/get.rb +0 -0
  127. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/head.rb +0 -0
  128. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/options.rb +0 -0
  129. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/patch.rb +0 -0
  130. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/post.rb +0 -0
  131. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/postable.rb +0 -0
  132. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/put.rb +0 -0
  133. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http/putable.rb +0 -0
  134. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/http.rb +0 -0
  135. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/informations.rb +0 -0
  136. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/mirror.rb +0 -0
  137. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/operations.rb +0 -0
  138. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/options.rb +0 -0
  139. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/params.rb +0 -0
  140. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/queryable.rb +0 -0
  141. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/response_callbacks.rb +0 -0
  142. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy/util.rb +0 -0
  143. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/easy.rb +0 -0
  144. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/ethon_error.rb +0 -0
  145. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/global_init.rb +0 -0
  146. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/invalid_option.rb +0 -0
  147. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/invalid_value.rb +0 -0
  148. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/multi_add.rb +0 -0
  149. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/multi_fdset.rb +0 -0
  150. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/multi_remove.rb +0 -0
  151. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/multi_timeout.rb +0 -0
  152. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors/select.rb +0 -0
  153. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/errors.rb +0 -0
  154. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/libc.rb +0 -0
  155. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/loggable.rb +0 -0
  156. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/multi/operations.rb +0 -0
  157. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/multi/options.rb +0 -0
  158. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/multi/stack.rb +0 -0
  159. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon/multi.rb +0 -0
  160. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.17.0}/lib/ethon.rb +0 -0
@@ -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
@@ -1,126 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- describe Ethon::Easy::Informations 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 "#httpauth_avail" do
13
- it "returns" do
14
- expect(easy.httpauth_avail).to be
15
- end
16
- end
17
-
18
- describe "#total_time" do
19
- it "returns float" do
20
- expect(easy.total_time).to be_a(Float)
21
- end
22
- end
23
-
24
- describe "#starttransfer_time" do
25
- it "returns float" do
26
- expect(easy.starttransfer_time).to be_a(Float)
27
- end
28
- end
29
-
30
- describe "#appconnect_time" do
31
- it "returns float" do
32
- expect(easy.appconnect_time).to be_a(Float)
33
- end
34
- end
35
-
36
- describe "#pretransfer_time" do
37
- it "returns float" do
38
- expect(easy.pretransfer_time).to be_a(Float)
39
- end
40
- end
41
-
42
- describe "#connect_time" do
43
- it "returns float" do
44
- expect(easy.connect_time).to be_a(Float)
45
- end
46
- end
47
-
48
- describe "#namelookup_time" do
49
- it "returns float" do
50
- expect(easy.namelookup_time).to be_a(Float)
51
- end
52
- end
53
-
54
- describe "#redirect_time" do
55
- it "returns float" do
56
- expect(easy.redirect_time).to be_a(Float)
57
- end
58
- end
59
-
60
- describe "#effective_url" do
61
- it "returns url" do
62
- expect(easy.effective_url).to match(/^http:\/\/localhost:3001\/?/)
63
- end
64
- end
65
-
66
- describe "#primary_ip" do
67
- it "returns localhost" do
68
- expect(easy.primary_ip).to match(/::1|127\.0\.0\.1/)
69
- end
70
- end
71
-
72
- describe "#response_code" do
73
- it "returns 200" do
74
- expect(easy.response_code).to eq(200)
75
- end
76
- end
77
-
78
- describe "#redirect_count" do
79
- it "returns 0" do
80
- expect(easy.redirect_count).to eq(0)
81
- end
82
- end
83
-
84
- describe "#redirect_url" do
85
- it "returns nil as there is no redirect" do
86
- expect(easy.redirect_url).to be(nil)
87
- end
88
- end
89
-
90
- describe "#request_size" do
91
- it "returns 53" do
92
- expect(easy.request_size).to eq(53)
93
- end
94
- end
95
-
96
- describe "#supports_zlib?" do
97
- it "returns true" do
98
- expect(Kernel).to receive(:warn)
99
- expect(easy.supports_zlib?).to be_truthy
100
- end
101
- end
102
-
103
- describe "#size_upload" do
104
- it "returns float" do
105
- expect(easy.size_upload).to be_a(Float)
106
- end
107
- end
108
-
109
- describe "#size_download" do
110
- it "returns float" do
111
- expect(easy.size_download).to be_a(Float)
112
- end
113
- end
114
-
115
- describe "#speed_upload" do
116
- it "returns float" do
117
- expect(easy.speed_upload).to be_a(Float)
118
- end
119
- end
120
-
121
- describe "#speed_download" do
122
- it "returns float" do
123
- expect(easy.speed_download).to be_a(Float)
124
- end
125
- end
126
- end