cybrid_api_organization_ruby 0.124.85 → 0.124.86

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 (255) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +4 -4
  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.15.0.gem +0 -0
  50. data/vendor/bundle/ruby/3.3.0/cache/typhoeus-1.5.0.gem +0 -0
  51. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-12.0.0/gem_make.out +5 -5
  52. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/gem_make.out +5 -5
  53. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  54. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/gem_make.out +5 -5
  55. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
  56. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/gem_make.out +5 -5
  57. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/.github/workflows/ruby.yml +41 -0
  58. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → ethon-0.15.0}/.gitignore +4 -4
  59. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → ethon-0.15.0}/.rspec +0 -1
  60. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/CHANGELOG.md +1 -29
  61. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/Gemfile +43 -0
  62. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → ethon-0.15.0}/Guardfile +3 -2
  63. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/README.md +0 -23
  64. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → ethon-0.15.0}/Rakefile +7 -5
  65. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/ethon.gemspec +3 -6
  66. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/classes.rb +2 -12
  67. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/codes.rb +2 -3
  68. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/options.rb +3 -4
  69. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/callbacks.rb +1 -2
  70. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/informations.rb +0 -3
  71. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/response_callbacks.rb +1 -6
  72. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/version.rb +1 -1
  73. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/profile/benchmarks.rb +104 -0
  74. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/profile/memory_leaks.rb +114 -0
  75. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/profile/perf_spec_helper.rb +37 -0
  76. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/profile/support/memory_test_helpers.rb +76 -0
  77. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/profile/support/os_memory_leak_tracker.rb +48 -0
  78. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/profile/support/ruby_object_leak_tracker.rb +49 -0
  79. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/curl_spec.rb +38 -0
  80. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/callbacks_spec.rb +59 -0
  81. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/debug_info_spec.rb +54 -0
  82. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/features_spec.rb +24 -0
  83. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/form_spec.rb +104 -0
  84. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/header_spec.rb +79 -0
  85. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/custom_spec.rb +177 -0
  86. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/delete_spec.rb +21 -0
  87. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/get_spec.rb +126 -0
  88. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/head_spec.rb +80 -0
  89. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/options_spec.rb +51 -0
  90. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/patch_spec.rb +51 -0
  91. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/post_spec.rb +317 -0
  92. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/put_spec.rb +168 -0
  93. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http_spec.rb +64 -0
  94. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/informations_spec.rb +120 -0
  95. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/mirror_spec.rb +47 -0
  96. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/operations_spec.rb +268 -0
  97. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/options_spec.rb +193 -0
  98. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/queryable_spec.rb +235 -0
  99. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/response_callbacks_spec.rb +152 -0
  100. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/util_spec.rb +28 -0
  101. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy_spec.rb +203 -0
  102. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/libc_spec.rb +14 -0
  103. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/loggable_spec.rb +22 -0
  104. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/multi/operations_spec.rb +298 -0
  105. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/multi/options_spec.rb +182 -0
  106. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/multi/stack_spec.rb +80 -0
  107. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/multi_spec.rb +152 -0
  108. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/spec_helper.rb +28 -0
  109. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → ethon-0.15.0}/spec/support/localhost_server.rb +2 -1
  110. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → ethon-0.15.0}/spec/support/server.rb +10 -11
  111. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/CHANGELOG.md +43 -1
  112. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/expectation.rb +4 -2
  113. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/responseable.rb +1 -1
  114. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/version.rb +1 -1
  115. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/typhoeus.gemspec +14 -4
  116. data/vendor/bundle/ruby/3.3.0/specifications/{ethon-0.17.0.gemspec → ethon-0.15.0.gemspec} +5 -6
  117. data/vendor/bundle/ruby/3.3.0/specifications/typhoeus-1.5.0.gemspec +26 -0
  118. metadata +156 -160
  119. data/vendor/bundle/ruby/3.3.0/cache/ethon-0.17.0.gem +0 -0
  120. data/vendor/bundle/ruby/3.3.0/cache/typhoeus-1.4.1.gem +0 -0
  121. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/ci.yml +0 -30
  122. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/experimental.yml +0 -33
  123. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Gemfile +0 -36
  124. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/profile.rb +0 -14
  125. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/vs_nethttp.rb +0 -64
  126. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb +0 -156
  127. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder_spec.rb +0 -31
  128. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/spec_helper.rb +0 -29
  129. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/memory_cache.rb +0 -15
  130. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/adapters/faraday_spec.rb +0 -339
  131. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/dalli_spec.rb +0 -41
  132. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/redis_spec.rb +0 -41
  133. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/config_spec.rb +0 -15
  134. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/easy_factory_spec.rb +0 -143
  135. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/errors/no_stub_spec.rb +0 -13
  136. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/expectation_spec.rb +0 -280
  137. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/addable_spec.rb +0 -22
  138. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/before_spec.rb +0 -98
  139. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/block_connection_spec.rb +0 -18
  140. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/cacheable_spec.rb +0 -88
  141. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/memoizable_spec.rb +0 -53
  142. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/queueable_spec.rb +0 -98
  143. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/runnable_spec.rb +0 -137
  144. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/stubbable_spec.rb +0 -48
  145. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra_spec.rb +0 -22
  146. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/pool_spec.rb +0 -137
  147. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/actions_spec.rb +0 -19
  148. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/before_spec.rb +0 -93
  149. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/block_connection_spec.rb +0 -75
  150. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/cacheable_spec.rb +0 -94
  151. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/callbacks_spec.rb +0 -91
  152. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/marshal_spec.rb +0 -60
  153. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/memoizable_spec.rb +0 -34
  154. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/operations_spec.rb +0 -101
  155. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/responseable_spec.rb +0 -13
  156. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/stubbable_spec.rb +0 -45
  157. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request_spec.rb +0 -256
  158. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/header_spec.rb +0 -147
  159. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/informations_spec.rb +0 -323
  160. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/status_spec.rb +0 -256
  161. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response_spec.rb +0 -100
  162. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus_spec.rb +0 -105
  163. data/vendor/bundle/ruby/3.3.0/specifications/typhoeus-1.4.1.gemspec +0 -24
  164. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/LICENSE +0 -0
  165. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curl.rb +0 -0
  166. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/constants.rb +0 -0
  167. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/form_options.rb +0 -0
  168. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/functions.rb +0 -0
  169. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/infos.rb +0 -0
  170. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/messages.rb +0 -0
  171. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/settings.rb +0 -0
  172. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/debug_info.rb +0 -0
  173. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/features.rb +0 -0
  174. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/form.rb +0 -0
  175. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/header.rb +0 -0
  176. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/actionable.rb +0 -0
  177. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/custom.rb +0 -0
  178. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/delete.rb +0 -0
  179. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/get.rb +0 -0
  180. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/head.rb +0 -0
  181. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/options.rb +0 -0
  182. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/patch.rb +0 -0
  183. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/post.rb +0 -0
  184. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/postable.rb +0 -0
  185. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/put.rb +0 -0
  186. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/putable.rb +0 -0
  187. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http.rb +0 -0
  188. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/mirror.rb +0 -0
  189. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/operations.rb +0 -0
  190. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/options.rb +0 -0
  191. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/params.rb +0 -0
  192. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/queryable.rb +0 -0
  193. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/util.rb +0 -0
  194. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy.rb +0 -0
  195. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/ethon_error.rb +0 -0
  196. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/global_init.rb +0 -0
  197. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/invalid_option.rb +0 -0
  198. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/invalid_value.rb +0 -0
  199. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/multi_add.rb +0 -0
  200. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/multi_fdset.rb +0 -0
  201. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/multi_remove.rb +0 -0
  202. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/multi_timeout.rb +0 -0
  203. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/select.rb +0 -0
  204. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors.rb +0 -0
  205. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/libc.rb +0 -0
  206. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/loggable.rb +0 -0
  207. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/multi/operations.rb +0 -0
  208. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/multi/options.rb +0 -0
  209. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/multi/stack.rb +0 -0
  210. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/multi.rb +0 -0
  211. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon.rb +0 -0
  212. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/CONTRIBUTING.md +0 -0
  213. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/LICENSE +0 -0
  214. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/README.md +0 -0
  215. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/UPGRADE.md +0 -0
  216. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/rack/typhoeus/middleware/params_decoder/helper.rb +0 -0
  217. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/rack/typhoeus/middleware/params_decoder.rb +0 -0
  218. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/rack/typhoeus.rb +0 -0
  219. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/adapters/faraday.rb +0 -0
  220. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/cache/dalli.rb +0 -0
  221. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/cache/rails.rb +0 -0
  222. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/cache/redis.rb +0 -0
  223. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/config.rb +0 -0
  224. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/easy_factory.rb +0 -0
  225. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/errors/no_stub.rb +0 -0
  226. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/errors/typhoeus_error.rb +0 -0
  227. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/errors.rb +0 -0
  228. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/addable.rb +0 -0
  229. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/before.rb +0 -0
  230. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/block_connection.rb +0 -0
  231. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/cacheable.rb +0 -0
  232. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/memoizable.rb +0 -0
  233. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/queueable.rb +0 -0
  234. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/runnable.rb +0 -0
  235. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/stubbable.rb +0 -0
  236. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra.rb +0 -0
  237. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/pool.rb +0 -0
  238. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/railtie.rb +0 -0
  239. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/actions.rb +0 -0
  240. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/before.rb +0 -0
  241. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/block_connection.rb +0 -0
  242. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/cacheable.rb +0 -0
  243. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/callbacks.rb +0 -0
  244. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/marshal.rb +0 -0
  245. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/memoizable.rb +0 -0
  246. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/operations.rb +0 -0
  247. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/streamable.rb +0 -0
  248. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/stubbable.rb +0 -0
  249. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request.rb +0 -0
  250. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/cacheable.rb +0 -0
  251. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/header.rb +0 -0
  252. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/informations.rb +0 -0
  253. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/status.rb +0 -0
  254. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response.rb +0 -0
  255. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus.rb +0 -0
@@ -0,0 +1,317 @@
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
@@ -0,0 +1,168 @@
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
@@ -0,0 +1,64 @@
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
@@ -0,0 +1,120 @@
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 "#request_size" do
85
+ it "returns 53" do
86
+ expect(easy.request_size).to eq(53)
87
+ end
88
+ end
89
+
90
+ describe "#supports_zlib?" do
91
+ it "returns true" do
92
+ expect(Kernel).to receive(:warn)
93
+ expect(easy.supports_zlib?).to be_truthy
94
+ end
95
+ end
96
+
97
+ describe "#size_upload" do
98
+ it "returns float" do
99
+ expect(easy.size_upload).to be_a(Float)
100
+ end
101
+ end
102
+
103
+ describe "#size_download" do
104
+ it "returns float" do
105
+ expect(easy.size_download).to be_a(Float)
106
+ end
107
+ end
108
+
109
+ describe "#speed_upload" do
110
+ it "returns float" do
111
+ expect(easy.speed_upload).to be_a(Float)
112
+ end
113
+ end
114
+
115
+ describe "#speed_download" do
116
+ it "returns float" do
117
+ expect(easy.speed_download).to be_a(Float)
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Easy::Mirror do
5
+ let(:options) { nil }
6
+ let(:mirror) { described_class.new(options) }
7
+
8
+ describe "::INFORMATIONS_TO_LOG" do
9
+ [
10
+ :return_code, :response_code, :response_body, :response_headers,
11
+ :total_time, :starttransfer_time, :appconnect_time,
12
+ :pretransfer_time, :connect_time, :namelookup_time, :redirect_time,
13
+ :size_upload, :size_download, :speed_upload, :speed_upload,
14
+ :effective_url, :primary_ip, :redirect_count, :debug_info
15
+ ].each do |name|
16
+ it "contains #{name}" do
17
+ expect(described_class::INFORMATIONS_TO_MIRROR).to include(name)
18
+ end
19
+ end
20
+ end
21
+
22
+ describe "#to_hash" do
23
+ let(:options) { {:return_code => 1} }
24
+
25
+ it "returns mirror as hash" do
26
+ expect(mirror.to_hash).to eq(options)
27
+ end
28
+ end
29
+
30
+ describe "#log_informations" do
31
+ let(:options) { {:return_code => 1} }
32
+
33
+ it "returns hash" do
34
+ expect(mirror.log_informations).to be_a(Hash)
35
+ end
36
+
37
+ it "only calls methods that exist" do
38
+ described_class::INFORMATIONS_TO_LOG.each do |method_name|
39
+ expect(mirror.respond_to? method_name).to eql(true)
40
+ end
41
+ end
42
+
43
+ it "includes return code" do
44
+ expect(mirror.log_informations).to include(options)
45
+ end
46
+ end
47
+ end