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,152 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Easy::ResponseCallbacks do
5
+ let(:easy) { Ethon::Easy.new }
6
+
7
+ [:on_complete, :on_headers, :on_body, :on_progress].each do |callback_type|
8
+ describe "##{callback_type}" do
9
+ it "responds" do
10
+ expect(easy).to respond_to("#{callback_type}")
11
+ end
12
+
13
+ context "when no block given" do
14
+ it "returns @#{callback_type}" do
15
+ expect(easy.send("#{callback_type}")).to eq([])
16
+ end
17
+ end
18
+
19
+ context "when block given" do
20
+ it "stores" do
21
+ easy.send(callback_type) { p 1 }
22
+ expect(easy.instance_variable_get("@#{callback_type}").size).to eq(1)
23
+ end
24
+ end
25
+
26
+ context "when multiple blocks given" do
27
+ it "stores" do
28
+ easy.send(callback_type) { p 1 }
29
+ easy.send(callback_type) { p 2 }
30
+ expect(easy.instance_variable_get("@#{callback_type}").size).to eq(2)
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+ describe "#complete" do
37
+ before do
38
+ easy.on_complete {|r| String.new(r.url) }
39
+ end
40
+
41
+ it "executes blocks and passes self" do
42
+ expect(String).to receive(:new).with(easy.url)
43
+ easy.complete
44
+ end
45
+
46
+ context "when @on_complete nil" do
47
+ it "doesn't raise" do
48
+ easy.instance_variable_set(:@on_complete, nil)
49
+ expect{ easy.complete }.to_not raise_error
50
+ end
51
+ end
52
+ end
53
+
54
+ describe "#headers" do
55
+ before do
56
+ easy.on_headers {|r| String.new(r.url) }
57
+ end
58
+
59
+ it "executes blocks and passes self" do
60
+ expect(String).to receive(:new).with(easy.url)
61
+ easy.headers
62
+ end
63
+
64
+ context "when @on_headers nil" do
65
+ it "doesn't raise" do
66
+ easy.instance_variable_set(:@on_headers, nil)
67
+ expect{ easy.headers }.to_not raise_error
68
+ end
69
+ end
70
+ end
71
+
72
+ describe "#progress" do
73
+ context "when requesting for realz" do
74
+ it "executes callback" do
75
+ post = Ethon::Easy::Http::Post.new("http://localhost:3001", {:body => "bar=fu"})
76
+ post.setup(easy)
77
+ @called = false
78
+ @has_dltotal = false
79
+ @has_ultotal = false
80
+ easy.on_progress { @called = true }
81
+ easy.on_progress { |dltotal, _, _, _| @has_dltotal ||= true }
82
+ easy.on_progress { |_, _, ultotal, _| @has_ultotal ||= true }
83
+ easy.perform
84
+ expect(@called).to be true
85
+ expect(@has_dltotal).to be true
86
+ expect(@has_ultotal).to be true
87
+ end
88
+ end
89
+
90
+ context "when pretending" do
91
+ before do
92
+ @dltotal = nil
93
+ @dlnow = nil
94
+ @ultotal = nil
95
+ @ulnow = nil
96
+ easy.on_progress { |dltotal, dlnow, ultotal, ulnow| @dltotal = dltotal ; @dlnow = dlnow; @ultotal = ultotal; @ulnow = ulnow }
97
+ end
98
+
99
+ it "executes blocks and passes dltotal" do
100
+ easy.progress(1, 2, 3, 4)
101
+ expect(@dltotal).to eq(1)
102
+ end
103
+
104
+ it "executes blocks and passes dlnow" do
105
+ easy.progress(1, 2, 3, 4)
106
+ expect(@dlnow).to eq(2)
107
+ end
108
+
109
+ it "executes blocks and passes ultotal" do
110
+ easy.progress(1, 2, 3, 4)
111
+ expect(@ultotal).to eq(3)
112
+ end
113
+
114
+ it "executes blocks and passes ulnow" do
115
+ easy.progress(1, 2, 3, 4)
116
+ expect(@ulnow).to eq(4)
117
+ end
118
+
119
+ context "when @on_progress nil" do
120
+ it "doesn't raise" do
121
+ easy.instance_variable_set(:@on_progress, nil)
122
+ expect{ easy.progress(1, 2, 3, 4) }.to_not raise_error
123
+ end
124
+ end
125
+ end
126
+ end
127
+
128
+ describe "#body" do
129
+ before do
130
+ @chunk = nil
131
+ @r = nil
132
+ easy.on_body { |chunk, r| @chunk = chunk ; @r = r }
133
+ end
134
+
135
+ it "executes blocks and passes self" do
136
+ easy.body("the chunk")
137
+ expect(@r).to be(easy)
138
+ end
139
+
140
+ it "executes blocks and passes chunk" do
141
+ easy.body("the chunk")
142
+ expect(@chunk).to eq("the chunk")
143
+ end
144
+
145
+ context "when @on_body nil" do
146
+ it "doesn't raise" do
147
+ easy.instance_variable_set(:@on_body, nil)
148
+ expect{ easy.body("the chunk") }.to_not raise_error
149
+ end
150
+ end
151
+ end
152
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Easy::Util do
5
+ class Dummy
6
+ include Ethon::Easy::Util
7
+ end
8
+
9
+ let(:klass) { Dummy.new }
10
+
11
+ describe "escape_zero_byte" do
12
+ context "when value has no zero byte" do
13
+ let(:value) { "hello world" }
14
+
15
+ it "returns same value" do
16
+ expect(klass.escape_zero_byte(value)).to be(value)
17
+ end
18
+ end
19
+
20
+ context "when value has zero byte" do
21
+ let(:value) { "hello \0world" }
22
+
23
+ it "returns escaped" do
24
+ expect(klass.escape_zero_byte(value)).to eq("hello \\0world")
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,203 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Easy do
5
+ let(:easy) { Ethon::Easy.new }
6
+
7
+ describe ".new" do
8
+ it "inits curl" do
9
+ expect(Ethon::Curl).to receive(:init)
10
+ easy
11
+ end
12
+
13
+ context "when options are empty" do
14
+ it "sets only callbacks" do
15
+ expect_any_instance_of(Ethon::Easy).to receive(:set_callbacks)
16
+ expect(Ethon::Easy).to receive(:set_option).never
17
+ easy
18
+ end
19
+ end
20
+
21
+ context "when options not empty" do
22
+ context "when followlocation is set" do
23
+ let(:options) { { :followlocation => true } }
24
+ let(:easy) { Ethon::Easy.new(options) }
25
+
26
+ it "sets followlocation" do
27
+ expect_any_instance_of(Ethon::Easy).to receive(:set_callbacks)
28
+ expect(Ethon::Curl).to receive(:set_option).with(:followlocation, true, anything)
29
+ easy
30
+ end
31
+ end
32
+ end
33
+ end
34
+
35
+ describe "#set_attributes" do
36
+ context "when options are empty" do
37
+ it "sets only callbacks" do
38
+ expect_any_instance_of(Ethon::Easy).to receive(:set_callbacks)
39
+ expect(Ethon::Easy).to receive(:set_option).never
40
+ easy
41
+ end
42
+ end
43
+
44
+ context "when options aren't empty" do
45
+ context "when valid key" do
46
+ it "sets" do
47
+ expect(easy).to receive(:verbose=).with(true)
48
+ easy.set_attributes({:verbose => true})
49
+ end
50
+ end
51
+
52
+ context "when invalid key" do
53
+ it "raises invalid option error" do
54
+ expect{ easy.set_attributes({:fubar => 1}) }.to raise_error(Ethon::Errors::InvalidOption)
55
+ end
56
+ end
57
+ end
58
+ end
59
+
60
+ describe "#reset" do
61
+ before { easy.url = "www.example.com" }
62
+
63
+ it "resets url" do
64
+ easy.reset
65
+ expect(easy.url).to be_nil
66
+ end
67
+
68
+ it "resets escape?" do
69
+ easy.escape = false
70
+ easy.reset
71
+ expect(easy.escape?).to be_truthy
72
+ end
73
+
74
+ it "resets hash" do
75
+ easy.reset
76
+ expect(easy.instance_variable_get(:@hash)).to be_nil
77
+ end
78
+
79
+ it "resets easy handle" do
80
+ expect(Ethon::Curl).to receive(:easy_reset)
81
+ easy.reset
82
+ end
83
+
84
+ it "resets on_complete" do
85
+ easy.on_complete { p 1 }
86
+ easy.reset
87
+ expect(easy.on_complete).to be_empty
88
+ end
89
+
90
+ it "resets on_headers" do
91
+ easy.on_headers { p 1 }
92
+ easy.reset
93
+ expect(easy.on_headers).to be_empty
94
+ end
95
+
96
+ it "resets on_body" do
97
+ easy.on_body { p 1 }
98
+ easy.reset
99
+ expect(easy.on_body).to be_empty
100
+ end
101
+ end
102
+
103
+ describe "#dup" do
104
+ let!(:easy) do
105
+ easy = Ethon::Easy.new
106
+ easy.url = "http://localhost:3001/"
107
+ easy.on_complete { 'on_complete' }
108
+ easy.on_headers { 'on_headers' }
109
+ easy.on_progress { 'on_progress' }
110
+ easy.response_body = String.new('test_body')
111
+ easy.response_headers = String.new('test_headers')
112
+ easy
113
+ end
114
+ let!(:e) { easy.dup }
115
+
116
+ it "sets a new handle" do
117
+ expect(e.handle).not_to eq(easy.handle)
118
+ end
119
+
120
+ it "preserves url" do
121
+ expect(e.url).to eq(easy.url)
122
+ end
123
+
124
+ it "preserves on_complete callback" do
125
+ expect(e.on_complete).to be(easy.on_complete)
126
+ end
127
+
128
+ it "preserves on_headers callback" do
129
+ expect(e.on_headers).to be(easy.on_headers)
130
+ end
131
+
132
+ it 'preserves body_write_callback of original handle' do
133
+ expect { easy.perform }.to change { easy.response_body }
134
+ expect { easy.perform }.not_to change { e.response_body }
135
+ end
136
+
137
+ it "preserves on_progress callback" do
138
+ expect(e.on_progress).to be(easy.on_progress)
139
+ end
140
+
141
+ it 'sets new body_write_callback of duplicated handle' do
142
+ expect { e.perform }.to change { e.response_body }
143
+ expect { e.perform }.not_to change { easy.response_body }
144
+ end
145
+
146
+ it 'preserves headers_write_callback of original handle' do
147
+ expect { easy.perform }.to change { easy.response_headers }
148
+ expect { easy.perform }.not_to change { e.response_headers }
149
+ end
150
+
151
+ it 'sets new headers_write_callback of duplicated handle' do
152
+ expect { e.perform }.to change { e.response_headers }
153
+ expect { e.perform }.not_to change { easy.response_headers }
154
+ end
155
+
156
+ it "resets response_body" do
157
+ expect(e.response_body).to be_empty
158
+ end
159
+
160
+ it "resets response_headers" do
161
+ expect(e.response_headers).to be_empty
162
+ end
163
+
164
+ it "sets response_body for duplicated Easy" do
165
+ e.perform
166
+ expect(e.response_body).not_to be_empty
167
+ end
168
+
169
+ it "sets response_headers for duplicated Easy" do
170
+ e.perform
171
+ expect(e.response_headers).not_to be_empty
172
+ end
173
+
174
+ it "preserves response_body for original Easy" do
175
+ e.perform
176
+ expect(easy.response_body).to eq('test_body')
177
+ end
178
+
179
+ it "preserves response_headers for original Easy" do
180
+ e.perform
181
+ expect(easy.response_headers).to eq('test_headers')
182
+ end
183
+ end
184
+
185
+ describe "#mirror" do
186
+ it "returns a Mirror" do
187
+ expect(easy.mirror).to be_a(Ethon::Easy::Mirror)
188
+ end
189
+
190
+ it "builds from easy" do
191
+ expect(Ethon::Easy::Mirror).to receive(:from_easy).with(easy)
192
+ easy.mirror
193
+ end
194
+ end
195
+
196
+ describe "#log_inspect" do
197
+ [ :url, :response_code, :return_code, :total_time ].each do |name|
198
+ it "contains #{name}" do
199
+ expect(easy.log_inspect).to match name.to_s
200
+ end
201
+ end
202
+ end
203
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Libc do
5
+ describe "#getdtablesize", :if => !Ethon::Curl.windows? do
6
+ it "returns an integer" do
7
+ expect(Ethon::Libc.getdtablesize).to be_a(Integer)
8
+ end
9
+
10
+ it "returns bigger zero", :if => !Ethon::Curl.windows? do
11
+ expect(Ethon::Libc.getdtablesize).to_not be_zero
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ require "spec_helper"
3
+
4
+ describe Ethon::Loggable do
5
+
6
+ describe "#logger=" do
7
+
8
+ let(:logger) do
9
+ Logger.new($stdout).tap do |log|
10
+ log.level = Logger::INFO
11
+ end
12
+ end
13
+
14
+ before do
15
+ Ethon.logger = logger
16
+ end
17
+
18
+ it "sets the logger" do
19
+ expect(Ethon.logger).to eq(logger)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,298 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Multi::Operations do
5
+ let(:multi) { Ethon::Multi.new }
6
+ let(:easy) { Ethon::Easy.new }
7
+ let(:pointer) { FFI::MemoryPointer.new(:int) }
8
+
9
+ describe "#handle" do
10
+ it "returns a pointer" do
11
+ expect(multi.handle).to be_a(FFI::Pointer)
12
+ end
13
+ end
14
+
15
+ describe "#running_count" do
16
+ context "when hydra has no easy" do
17
+ it "returns nil" do
18
+ expect(multi.send(:running_count)).to be_nil
19
+ end
20
+ end
21
+
22
+ context "when hydra has easy" do
23
+ before do
24
+ easy.url = "http://localhost:3001/"
25
+ multi.add(easy)
26
+ multi.send(:trigger, pointer)
27
+ end
28
+
29
+ it "returns 1" do
30
+ expect(multi.send(:running_count)).to eq(1)
31
+ end
32
+ end
33
+
34
+ context "when hydra has more easys" do
35
+ let(:another_easy) { Ethon::Easy.new }
36
+
37
+ before do
38
+ easy.url = "http://localhost:3001/"
39
+ another_easy.url = "http://localhost:3001/"
40
+ multi.add(easy)
41
+ multi.add(another_easy)
42
+ multi.send(:trigger, pointer)
43
+ end
44
+
45
+ it "returns 2" do
46
+ expect(multi.send(:running_count)).to eq(2)
47
+ end
48
+ end
49
+ end
50
+
51
+ describe "#get_timeout" do
52
+ context "when code ok" do
53
+ let(:timeout) { 1 }
54
+
55
+ before do
56
+ expect(Ethon::Curl).to receive(:multi_timeout).and_return(:ok)
57
+ multi.instance_variable_set(:@timeout, double(:read_long => timeout))
58
+ end
59
+
60
+ it "doesn't raise" do
61
+ expect{ multi.send(:get_timeout) }.to_not raise_error
62
+ end
63
+
64
+ context "when timeout smaller zero" do
65
+ let(:timeout) { -1 }
66
+
67
+ it "returns 1" do
68
+ expect(multi.send(:get_timeout)).to eq(1)
69
+ end
70
+ end
71
+
72
+ context "when timeout bigger or equal zero" do
73
+ let(:timeout) { 2 }
74
+
75
+ it "returns timeout" do
76
+ expect(multi.send(:get_timeout)).to eq(timeout)
77
+ end
78
+ end
79
+ end
80
+
81
+ context "when code not ok" do
82
+ before { expect(Ethon::Curl).to receive(:multi_timeout).and_return(:not_ok) }
83
+
84
+ it "raises MultiTimeout error" do
85
+ expect{ multi.send(:get_timeout) }.to raise_error(Ethon::Errors::MultiTimeout)
86
+ end
87
+ end
88
+ end
89
+
90
+ describe "#set_fds" do
91
+ let(:timeout) { 1 }
92
+ let(:max_fd) { 1 }
93
+
94
+ context "when code ok" do
95
+ before { expect(Ethon::Curl).to receive(:multi_fdset).and_return(:ok) }
96
+
97
+ it "doesn't raise" do
98
+ expect{ multi.method(:set_fds).call(timeout) }.to_not raise_error
99
+ end
100
+
101
+ context "when max_fd -1" do
102
+ let(:max_fd) { -1 }
103
+
104
+ before do
105
+ multi.instance_variable_set(:@max_fd, double(:read_int => max_fd))
106
+ expect(multi).to receive(:sleep).with(0.001)
107
+ end
108
+
109
+ it "waits 100ms" do
110
+ multi.method(:set_fds).call(timeout)
111
+ end
112
+ end
113
+
114
+ context "when max_fd not -1" do
115
+ context "when code smaller zero" do
116
+ before { expect(Ethon::Curl).to receive(:select).and_return(-1) }
117
+
118
+ it "raises Select error" do
119
+ expect{ multi.method(:set_fds).call(timeout) }.to raise_error(Ethon::Errors::Select)
120
+ end
121
+ end
122
+
123
+ context "when code bigger or equal zero" do
124
+ before { expect(Ethon::Curl).to receive(:select).and_return(0) }
125
+
126
+ it "doesn't raise" do
127
+ expect{ multi.method(:set_fds).call(timeout) }.to_not raise_error
128
+ end
129
+ end
130
+ end
131
+ end
132
+
133
+ context "when code not ok" do
134
+ before { expect(Ethon::Curl).to receive(:multi_fdset).and_return(:not_ok) }
135
+
136
+ it "raises MultiFdset error" do
137
+ expect{ multi.method(:set_fds).call(timeout) }.to raise_error(Ethon::Errors::MultiFdset)
138
+ end
139
+ end
140
+ end
141
+
142
+ describe "#perform" do
143
+ context "when no easy handles" do
144
+ it "returns nil" do
145
+ expect(multi.perform).to be_nil
146
+ end
147
+
148
+ it "logs" do
149
+ expect(Ethon.logger).to receive(:debug).twice
150
+ multi.perform
151
+ end
152
+ end
153
+
154
+ context "when easy handle" do
155
+ before do
156
+ easy.url = "http://localhost:3001/"
157
+ multi.add(easy)
158
+ end
159
+
160
+ it "requests" do
161
+ multi.perform
162
+ end
163
+
164
+ it "sets easy" do
165
+ multi.perform
166
+ expect(easy.response_code).to eq(200)
167
+ end
168
+ end
169
+
170
+ context "when four easy handles" do
171
+ let(:easies) do
172
+ ary = []
173
+ 4.times do
174
+ ary << another_easy = Ethon::Easy.new
175
+ another_easy.url = "http://localhost:3001/"
176
+ end
177
+ ary
178
+ end
179
+
180
+ before do
181
+ easies.each { |e| multi.add(e) }
182
+ multi.perform
183
+ end
184
+
185
+ it "sets response codes" do
186
+ expect(easies.all?{ |e| e.response_code == 200 }).to be_truthy
187
+ end
188
+ end
189
+ end
190
+
191
+ describe "#ongoing?" do
192
+ context "when easy_handles" do
193
+ before { multi.easy_handles << 1 }
194
+
195
+ context "when running_count not greater 0" do
196
+ before { multi.instance_variable_set(:@running_count, 0) }
197
+
198
+ it "returns true" do
199
+ expect(multi.method(:ongoing?).call).to be_truthy
200
+ end
201
+ end
202
+
203
+ context "when running_count greater 0" do
204
+ before { multi.instance_variable_set(:@running_count, 1) }
205
+
206
+ it "returns true" do
207
+ expect(multi.method(:ongoing?).call).to be_truthy
208
+ end
209
+ end
210
+ end
211
+
212
+ context "when no easy_handles" do
213
+ context "when running_count not greater 0" do
214
+ before { multi.instance_variable_set(:@running_count, 0) }
215
+
216
+ it "returns false" do
217
+ expect(multi.method(:ongoing?).call).to be_falsey
218
+ end
219
+ end
220
+
221
+ context "when running_count greater 0" do
222
+ before { multi.instance_variable_set(:@running_count, 1) }
223
+
224
+ it "returns true" do
225
+ expect(multi.method(:ongoing?).call).to be_truthy
226
+ end
227
+ end
228
+ end
229
+ end
230
+
231
+ describe "#init_vars" do
232
+ it "sets @timeout" do
233
+ expect(multi.instance_variable_get(:@timeout)).to be_a(FFI::MemoryPointer)
234
+ end
235
+
236
+ it "sets @timeval" do
237
+ expect(multi.instance_variable_get(:@timeval)).to be_a(Ethon::Curl::Timeval)
238
+ end
239
+
240
+ it "sets @fd_read" do
241
+ expect(multi.instance_variable_get(:@fd_read)).to be_a(Ethon::Curl::FDSet)
242
+ end
243
+
244
+ it "sets @fd_write" do
245
+ expect(multi.instance_variable_get(:@fd_write)).to be_a(Ethon::Curl::FDSet)
246
+ end
247
+
248
+ it "sets @fd_excep" do
249
+ expect(multi.instance_variable_get(:@fd_excep)).to be_a(Ethon::Curl::FDSet)
250
+ end
251
+
252
+ it "sets @max_fd" do
253
+ expect(multi.instance_variable_get(:@max_fd)).to be_a(FFI::MemoryPointer)
254
+ end
255
+ end
256
+
257
+ describe "#reset_fds" do
258
+ after { multi.method(:reset_fds).call }
259
+
260
+ it "resets @fd_read" do
261
+ expect(multi.instance_variable_get(:@fd_read)).to receive(:clear)
262
+ end
263
+
264
+ it "resets @fd_write" do
265
+ expect(multi.instance_variable_get(:@fd_write)).to receive(:clear)
266
+ end
267
+
268
+ it "resets @fd_excep" do
269
+ expect(multi.instance_variable_get(:@fd_excep)).to receive(:clear)
270
+ end
271
+ end
272
+
273
+ describe "#check" do
274
+ it { skip("untested") }
275
+ end
276
+
277
+ describe "#run" do
278
+ it { skip("untested") }
279
+ end
280
+
281
+ describe "#trigger" do
282
+ it "calls multi perform" do
283
+ expect(Ethon::Curl).to receive(:multi_perform)
284
+ multi.send(:trigger, pointer)
285
+ end
286
+
287
+ it "sets running count" do
288
+ multi.instance_variable_set(:@running_count, nil)
289
+ multi.send(:trigger, pointer)
290
+ expect(multi.instance_variable_get(:@running_count)).to_not be_nil
291
+ end
292
+
293
+ it "returns multi perform code" do
294
+ expect(Ethon::Curl).to receive(:multi_perform).and_return(:ok)
295
+ expect(multi.send(:trigger, pointer)).to eq(:ok)
296
+ end
297
+ end
298
+ end