Diff of the two buildlogs: -- --- b1/build.log 2025-01-25 00:53:01.864541087 +0000 +++ b2/build.log 2025-01-25 00:57:27.736610137 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Jan 24 12:50:39 -12 2025 -I: pbuilder-time-stamp: 1737766239 +I: Current time: Sat Jan 25 14:53:10 +14 2025 +I: pbuilder-time-stamp: 1737766390 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -27,52 +27,84 @@ dpkg-source: info: applying clean_spec_helper.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/14877/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/27661/tmp/hooks/D01_modify_environment starting +debug: Running on virt64a. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Jan 25 00:53 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/27661/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/27661/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='armhf' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='e0d863e908f54cd9a15f508bd8dcf44a' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='14877' - PS1='# ' - PS2='> ' + INVOCATION_ID=79974ea5696543cba50f81793f042db5 + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=27661 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.ZfkX08lu/pbuilderrc_rMd2 --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.ZfkX08lu/b1 --logfile b1/build.log ruby-httparty_0.21.0-1.dsc' - SUDO_GID='110' - SUDO_UID='103' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.ZfkX08lu/pbuilderrc_cnpL --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.ZfkX08lu/b2 --logfile b2/build.log ruby-httparty_0.21.0-1.dsc' + SUDO_GID=114 + SUDO_UID=108 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux virt32z 6.1.0-30-armmp-lpae #1 SMP Debian 6.1.124-1 (2025-01-12) armv7l GNU/Linux + Linux i-capture-the-hostname 6.1.0-30-arm64 #1 SMP Debian 6.1.124-1 (2025-01-12) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/14877/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/27661/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -277,7 +309,7 @@ Get: 151 http://deb.debian.org/debian unstable/main armhf ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 152 http://deb.debian.org/debian unstable/main armhf ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Get: 153 http://deb.debian.org/debian unstable/main armhf ruby-webmock all 3.24.0-1 [68.5 kB] -Fetched 54.0 MB in 9s (5924 kB/s) +Fetched 54.0 MB in 3s (18.7 MB/s) Preconfiguring packages ... Selecting previously unselected package liblocale-gettext-perl. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19557 files and directories currently installed.) @@ -783,8 +815,8 @@ Setting up tzdata (2025a-1) ... Current default time zone: 'Etc/UTC' -Local time is now: Sat Jan 25 00:51:52 UTC 2025. -Universal Time is now: Sat Jan 25 00:51:52 UTC 2025. +Local time is now: Sat Jan 25 00:55:56 UTC 2025. +Universal Time is now: Sat Jan 25 00:55:56 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up ruby-minitest (5.22.3-1) ... @@ -924,7 +956,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/ruby-httparty-0.21.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ruby-httparty_0.21.0-1_source.changes +I: user script /srv/workspace/pbuilder/27661/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/27661/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-httparty-0.21.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../ruby-httparty_0.21.0-1_source.changes dpkg-buildpackage: info: source package ruby-httparty dpkg-buildpackage: info: source version 0.21.0-1 dpkg-buildpackage: info: source distribution unstable @@ -961,7 +997,7 @@ │ ruby-httparty: Installing files and building extensions for ruby3.3 │ └──────────────────────────────────────────────────────────────────────────────┘ -/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20250124-27625-iaa026/gemspec +/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20250125-6498-bzldc1/gemspec WARNING: description and summary are identical WARNING: open-ended dependency on multi_xml (>= 0.5.2) is not recommended if multi_xml is semantically versioned, use: @@ -974,7 +1010,7 @@ Name: httparty Version: 0.21.0 File: httparty-0.21.0.gem -/usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-httparty/usr/share/rubygems-integration/all /tmp/d20250124-27625-iaa026/httparty-0.21.0.gem +/usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-httparty/usr/share/rubygems-integration/all /tmp/d20250125-6498-bzldc1/httparty-0.21.0.gem /build/reproducible-path/ruby-httparty-0.21.0/debian/ruby-httparty/usr/share/rubygems-integration/all/gems/httparty-0.21.0/bin/httparty /build/reproducible-path/ruby-httparty-0.21.0/debian/ruby-httparty/usr/share/rubygems-integration/all/gems/httparty-0.21.0/lib/httparty.rb /build/reproducible-path/ruby-httparty-0.21.0/debian/ruby-httparty/usr/share/rubygems-integration/all/gems/httparty-0.21.0/lib/httparty/connection_adapter.rb @@ -1041,394 +1077,553 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 54187 +Randomized with seed 11822 + +HTTParty::Request + SSL certificate verification + should work when no trusted CA list is specified, when the verify option is set to false +# terminated with exception (report_on_exception is true): +/usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (SSL alert number 48) (OpenSSL::SSL::SSLError) + from /usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' + should fail when no trusted CA list is specified, with a bogus hostname, by default +# terminated with exception (report_on_exception is true): +/usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (SSL alert number 48) (OpenSSL::SSL::SSLError) + from /usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' + should fail when using ssl_ca_file and the server uses an unrecognized certificate authority + should work when using ssl_ca_file with a certificate authority +# terminated with exception (report_on_exception is true): +/usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: ssl/tls alert bad certificate (SSL alert number 42) (OpenSSL::SSL::SSLError) + from /usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' + should fail when using ssl_ca_file and the server uses a bogus hostname + should work when using ssl_ca_file with a self-signed CA +# terminated with exception (report_on_exception is true): +/usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (SSL alert number 48) (OpenSSL::SSL::SSLError) + from /usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' + should fail when no trusted CA list is specified, by default + should work when using ssl_ca_path with a certificate authority + should work when no trusted CA list is specified, even with a bogus hostname, when the verify option is set to true +# terminated with exception (report_on_exception is true): +/usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (SSL alert number 48) (OpenSSL::SSL::SSLError) + from /usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' + should fail when using ssl_ca_path and the server uses an unrecognized certificate authority + should provide the certificate used by the server via peer_cert +# terminated with exception (report_on_exception is true): +/usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (SSL alert number 48) (OpenSSL::SSL::SSLError) + from /usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' + should fail when using ssl_ca_path and the server uses a bogus hostname + +HTTParty::Logger + .build + raises error when formatter exists + defaults format to :apache + builds :curl style logger + builds :logstash style logger + defaults level to :info + builds :custom style logger + +HTTParty::ConnectionAdapter + #connection + the resulting connection + is expected to be an instance of Net::HTTP + when providing proxy address and port + is expected to be a proxy + #proxy_port + is expected to eq 8080 + as well as proxy user and password + #proxy_pass + is expected to eq "pass" + #proxy_user + is expected to eq "user" + #proxy_address + is expected to eq "1.2.3.4" + when timeout is set and write_timeout is set to 8 seconds + should override the timeout option + #write_timeout + is expected to eq 8 + when timeout is not set and open_timeout is set to 7 seconds + should not set the read_timeout + should not set the write_timeout + #open_timeout + is expected to eq 7 + when timeout is not set and read_timeout is set to 6 seconds + should not set the open_timeout + should not set the write_timeout + #read_timeout + is expected to eq 6 + when setting timeout + and timeout is a string + doesn't set the timeout + to 5 seconds + #read_timeout + is expected to eq 5 + #open_timeout + is expected to eq 5 + #write_timeout + is expected to eq 5 + when providing nil as proxy address + does pass nil proxy parameters to the connection, this forces to not use a proxy + is expected not to be a proxy + when not providing a proxy address + does not pass any proxy parameters to the connection + when providing a local bind address and port + #local_port + is expected to eq 12345 + #local_host + is expected to eq "127.0.0.1" + when dealing with IPv6 + strips brackets from the address + specifying ciphers + should set the ciphers on the connection + using port 80 + is expected not to use ssl + when timeout is not set and write_timeout is set to 8 seconds + should not set the open timeout + should not set the read timeout + #write_timeout + is expected to eq 8 + when uri port is not defined + falls back to 80 port on http + is expected to equal 80 + falls back to 443 port on https + is expected to equal 443 + when debug_output + is set to $stderr + has debug output set + is not provided + does not set_debug_output + when max_retries is not set + doesn't set the max_retries + when dealing with ssl + https scheme with default port + is expected to use ssl + when ssl version is set + sets ssl version + https scheme with non-standard port + is expected to use ssl + using port 443 for ssl + is expected to use ssl + uses the system cert_store, by default + is expected to use cert store # + should use the specified cert store, when one is given + is expected to use cert store # + when timeout is set and read_timeout is set to 6 seconds + should override the timeout option + #read_timeout + is expected to eq 6 + #open_timeout + is expected to eq 5 + #write_timeout + is expected to eq 5 + when providing PKCS12 certificates + when scheme is https + will verify the certificate + uses the provided P12 certificate + when options include verify_peer=false + should not verify the certificate + when options include verify=false + should not verify the certificate + when scheme is not https + has no PKCS12 certificate + when setting max_retries + to 5 times + #max_retries + is expected to eq 5 + and max_retries is a string + doesn't set the max_retries + to 0 times + #max_retries + is expected to eq 0 + when providing PEM certificates + when scheme is not https + has no PEM certificate + when scheme is https + uses the provided PEM certificate + will verify the certificate + when options include verify=false + should not verify the certificate + when options include verify_peer=false + should not verify the certificate + when timeout is set and open_timeout is set to 7 seconds + should override the timeout option + #read_timeout + is expected to eq 5 + #write_timeout + is expected to eq 5 + #open_timeout + is expected to eq 7 + when timeout is not set + doesn't set the timeout + .call + generates an HTTParty::ConnectionAdapter instance with the given uri and options + calls #connection on the connection adapter + initialization + raises an ArgumentError if the uri is a String + also accepts an optional options hash + raises an ArgumentError if the uri is nil + sets the options + takes a URI as input + sets the uri Net::HTTPHeader::DigestAuthenticator - with a cookie value in the response header - should set cookie header - with http basic auth response when net digest auth expected - should not fail - when quality of protection (qop) is unquoted - should still set qop - with algorithm specified - should recognise algorithm was specified - should set the algorithm header - with md5-sess algorithm specified - should set response using md5-sess algorithm - should recognise algorithm was specified - should set the algorithm header - with specified quality of protection (qop) + with multiple authenticate headers should set response - should set nonce-count + should set username should set digest-uri should set prefix - should set username + should set nonce-count should set qop should set cnonce + with md5-sess algorithm specified + should set response using md5-sess algorithm + should recognise algorithm was specified + should set the algorithm header with unspecified quality of protection (qop) - should not set nonce-count - should set digest-uri - should not set cnonce - should set response should not set qop should set prefix + should set response + should not set cnonce + should not set nonce-count should set username - without a cookie value in the response header - should set empty cookie header array - with multiple authenticate headers should set digest-uri + with specified quality of protection (qop) should set response - should set prefix should set nonce-count + should set prefix should set username should set cnonce should set qop + should set digest-uri Net::HTTPHeader#digest_auth should set the authorization header without an opaque valid in the response header should not set opaque + with a cookie value in the response header + should set cookie header + when quality of protection (qop) is unquoted + should still set qop + with http basic auth response when net digest auth expected + should not fail with an opaque value in the response header should set opaque - -HTTParty - base uri - should have reader - should not modify the parameter during assignment - should have writer - default timeout - should default to nil - should raise an exception if unsupported type provided - should support floats - should support updating - #get - should not get undefined method add_node for nil class for the following xml - should accept webcal URIs - should accept https URIs - should raise an InvalidURIError on URIs that can't be parsed at all -[DEPRECATION] HTTParty will no longer override `response#nil?`. This functionality will be removed in future versions. Please, add explicit check `response.body.nil? || response.body.empty?`. For more info refer to: https://github.com/jnunemaker/httparty/issues/568 -/usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:69:in `match' - should parse empty response fine - should be able to get html - should be able parse response type xml automatically - should be able to get chunked html - should be able parse response type csv automatically - should return an empty body if stream_body option is turned on - should be able parse response type json automatically - should accept http URIs - when streaming body - is expected to eq # - ciphers - should set the ciphers content - debug_output - stores the given stream as a default_option - stores the $stderr stream by default - pem - should set the password - should set the password to nil if it's not provided - should set the pem content - .raise_on - when parameters is an array - sets raise_on option - when parameters is a fixnum - sets raise_on option - http_proxy - should set the address - should set the proxy user and pass when they are provided - two child classes inheriting from one parent - should dup the proc on the child class - doesn't modify the parent's default cookies - doesn't modify hashes in the parent's default options - does not modify each others inherited attributes - works with lambda values - inherits default_cookies from the parent class - doesn't modify the parent's default options - inherits default_options from the superclass - headers - uses the class headers when sending a request - should default to empty hash - should be able to accept block as header value - merges class headers with request headers - should pass options as argument to header block value - should be able to be updated - does not modify default_options when no arguments are passed - overrides class headers with request headers - with cookies - adds cookies to the headers - doesnt modify default headers - utilizes the class-level cookies - adds optional cookies to the optional headers - when headers passed as symbols - converts default headers to string - converts them to string - when posting file - changes content-type headers to multipart/form-data - uri_adapter - with custom URI Adaptor - should process a request with a uri instance parsed from the uri_adapter - should raise an ArgumentError if uri_adapter doesn't implement parse method - should set the uri_adapter - with Addressable::URI - handles international domains - format - should allow csv - should allow plain - should only print each format once with an exception - should not allow funky format - should allow xml - does not reset parser to the default parser - sets the default parser - should allow json - default params - should default to empty hash - should be able to be updated - #ensure_method_maintained_across_redirects - should set maintain_method_across_redirects option if unspecified - should not set maintain_method_across_redirects option if value is present - pkcs12 - should set the password - should set the p12 content - digest http authentication - should work - with explicit override of automatic redirect handling - should fail with redirected GET - should fail with redirected PATCH - should fail with redirected COPY - should fail with redirected HEAD - should fail with redirected MOVE - should fail with redirected DELETE - should fail with redirected PUT - should fail with redirected POST - should fail with redirected OPTIONS - should fail with redirected MKCOL - #no_follow - sets no_follow to false by default - sets the no_follow option to true - .follow_redirects - sets follow redirects to true by default - sets the follow_redirects option to false - head requests should follow redirects requesting HEAD only - should remain HEAD request across redirects, unless specified otherwise - connection_adapter - should set the connection_adapter - should set the connection_adapter_options when provided - should process a request with a connection from the adapter - should not set the connection_adapter_options when not provided - .query_string_normalizer - sets the query_string_normalizer option - with multiple class definitions - should not run over each others options - grand parent with inherited callback - continues running the #inherited on the parent - .normalize_base_uri - should not modify the parameter - should not remove https for ssl requests - should add https if not present for ssl requests - should add http if not present for non ssl requests - should not treat uri's with a port of 4430 as ssl - cookies - should not be in the headers by default - should raise an ArgumentError if passed a non-Hash - should allow a cookie to be specified with a one-off request - when a cookie is set at the class level - should pass the proper cookies when requested multiple times - should allow the class defaults to be overridden - should include that cookie in the request - in a class with multiple methods that use different cookies - should not allow cookies used in one method to carry over into other methods - ssl_version - should set the ssl_version content - parser - should set parser options - does not validate format whe custom parser is a proc - raises UnsupportedFormat when the parser cannot handle the format - should be able parse response with custom parser - .disable_rails_query_string_format - sets the query string normalizer to HTTParty::Request::NON_RAILS_QUERY_STRING_NORMALIZER - #maintain_method_across_redirects - sets the maintain_method_across_redirects option to false - sets maintain_method_across_redirects to true by default - #resend_on_redirect - sets resend_on_redirect option to false - sets resend_on_redirect to true by default - basic http authentication - should work - -HTTParty::Logger - .build - defaults level to :info - raises error when formatter exists - builds :curl style logger - builds :logstash style logger - builds :custom style logger - defaults format to :apache - -HTTParty::Logger::LogstashFormatter - #format - formats a response to be compatible with Logstash - -HTTParty::Error - HTTParty::ResponseError - #ancestors - is expected to include HTTParty::Error - HTTParty::DuplicateLocationHeader - #ancestors - is expected to include HTTParty::ResponseError - HTTParty::RedirectionTooDeep - #ancestors - is expected to include HTTParty::ResponseError - HTTParty::UnsupportedFormat - #ancestors - is expected to include HTTParty::Error - #ancestors - is expected to include StandardError - HTTParty::UnsupportedURIScheme - #ancestors - is expected to include HTTParty::Error + without a cookie value in the response header + should set empty cookie header array + with algorithm specified + should recognise algorithm was specified + should set the algorithm header HTTParty::Request - should not fail for missing mime type [DEPRECATION] HTTParty will no longer override `response#nil?`. This functionality will be removed in future versions. Please, add explicit check `response.body.nil? || response.body.empty?`. For more info refer to: https://github.com/jnunemaker/httparty/issues/568 /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:69:in `match' [DEPRECATION] HTTParty will no longer override `response#nil?`. This functionality will be removed in future versions. Please, add explicit check `response.body.nil? || response.body.empty?`. For more info refer to: https://github.com/jnunemaker/httparty/issues/568 /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:69:in `match' should not attempt to parse empty responses - a request that 308 redirects + should not fail for missing mime type + marshalling + properly marshals the request object + #uri + query strings + does not add an empty query string when default_params are blank + does not append an ampersand when queries are embedded in paths + does not duplicate query string parameters when uri is called twice + respects the query string normalization proc + when representing an array + returns a Rails style query string + redirects + returns correct path when the server sets the location header to a full uri + returns correct path when the server sets the location header to a network-path reference + returns correct path when the server sets the location header to a filename + location header is an absolute path + returns the correct path when location has no leading slash + returns correct path when location has leading slash + parsing responses + should handle utf-8 bom in json + should handle xml automatically + should process utf-16 charset with big endian bom correctly + should handle json automatically + should assume utf-16 little endian if options has been chosen + should perform no encoding if the charset is not available + should handle csv automatically + should process response with a nil body + should handle utf-8 bom in xml + should include any HTTP headers in the returned response + should perform no encoding if the content type is specified but no charset is specified + with non-200 responses + should return a valid object for 4xx response + should return a valid object for 5xx response + parses response lazily so codes can be checked prior + 3xx responses + redirects if a 300 contains a relative location header + calls block given to perform with each redirect (PENDING: Temporarily skipped with xit) + redirects including port + redirects if a 300 contains a location header + handles multiple redirects and relative location headers on different hosts + returns the HTTParty::Response when the 300 does not contain a location header + raises an error if redirect has duplicate location header +[DEPRECATION] HTTParty will no longer override `response#nil?`. This functionality will be removed in future versions. Please, add explicit check `response.body.nil? || response.body.empty?`. For more info refer to: https://github.com/jnunemaker/httparty/issues/568 +/usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:69:in `match' + returns a valid object for 304 not modified + when body has ascii-8bit encoding + processes charset in content type properly + processes quoted charset in content type properly + processes charset in content type properly if it has a different case + when stubed body is frozen + processes frozen body correctly + when assume_utf16_is_big_endian is true + should process utf-16 charset with little endian bom correctly + processes stubbed frozen body correctly + decompression + should not decompress the body if the :skip_decompression option is set + should not decompress unrecognized Content-Encoding + should remove the Content-Encoding header if uncompressed + should decompress the body and remove the Content-Encoding header + a request that 301 redirects infinitely should raise an exception once - should be handled by PUT transparently - should maintain method in resulting request if options[:maintain_method_across_redirects] is false - should update cookies with redirects - should be handled by GET transparently - should maintain method in resulting request - should be handled by UNLOCK transparently - should be handled by PATCH transparently + should make resulting request a get request if it not already should log the redirection + should be handled by POST transparently + should keep track of cookies between redirects + should be handled by PATCH transparently + should be handled by LOCK transparently should keep cookies between redirects + should be handled by COPY transparently + should not make resulting request a get request if options[:maintain_method_across_redirects] is true + should be handled by OPTIONS transparently + should be handled by UNLOCK transparently + should update cookies with redirects + should handle multiple Set-Cookie headers between redirects + should be handled by MKCOL transparently should be handled by HEAD transparently - should maintain method in resulting request if options[:maintain_method_across_redirects] is true - should be handled by POST transparently + should be handled by PUT transparently + should be handled by MOVE transparently should be handled by DELETE transparently + should be handled by GET transparently + a request that 302 redirects + once should be handled by MKCOL transparently should be handled by MOVE transparently - should be handled by COPY transparently - should keep track of cookies between redirects + should not make resulting request a get request if options[:maintain_method_across_redirects] is true + should update cookies with redirects + should be handled by UNLOCK transparently + should log the redirection + should be handled by PATCH transparently should be handled by LOCK transparently + should be handled by HEAD transparently + should be handled by POST transparently + should be handled by PUT transparently + should make resulting request a get request if it not already should be handled by OPTIONS transparently + should be handled by DELETE transparently + should keep cookies between redirects + should keep track of cookies between redirects + should be handled by GET transparently + should be handled by COPY transparently should handle multiple Set-Cookie headers between redirects + infinitely + should raise an exception + initialization + sets connection_adapter to the optional connection_adapter + sets parser to HTTParty::Parser + sets parser to the optional parser + sets connection_adapter to HTTParty::ConnectionAdapter + when basic authentication credentials provided in uri + when basic auth options wasn't set explicitly + sets basic auth from uri + when basic auth options was set explicitly + uses basic auth from url anyway + when using a query string + and it has an empty array + sets correct query string + when sending an array with only one element + sets correct query + with POST http method + should raise argument error if query is not a hash + #format + request has been made + returns the content-type from the last response when the option is not set + returns format option + request yet to be made + returns format option + returns nil format Net::HTTP decompression - with skip_decompression false (default) - with Accept-Encoding specified - behaves like enables Net::HTTP decompression - is expected to eq true + with skip_decompression true + with accept-encoding (lowercase) specified behaves like sets custom Accept-Encoding is expected to eq "custom" + behaves like disables Net::HTTP decompression + is expected to eq false + with other headers specified + behaves like sets default Accept-Encoding + is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" + behaves like disables Net::HTTP decompression + is expected to eq false + with no headers specified + behaves like disables Net::HTTP decompression + is expected to eq false + behaves like sets default Accept-Encoding + is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" with Accept-Encoding and other headers specified + behaves like sets custom Accept-Encoding + is expected to eq "custom" + behaves like disables Net::HTTP decompression + is expected to eq false + with Accept-Encoding specified + behaves like sets custom Accept-Encoding + is expected to eq "custom" + behaves like disables Net::HTTP decompression + is expected to eq false + with skip_decompression false (default) + with accept-encoding (lowercase) specified behaves like enables Net::HTTP decompression is expected to eq true behaves like sets custom Accept-Encoding is expected to eq "custom" with other headers specified - behaves like sets default Accept-Encoding - is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" - behaves like enables Net::HTTP decompression - is expected to eq true - with no headers specified behaves like enables Net::HTTP decompression is expected to eq true behaves like sets default Accept-Encoding is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" - with accept-encoding (lowercase) specified + with Accept-Encoding and other headers specified behaves like sets custom Accept-Encoding is expected to eq "custom" behaves like enables Net::HTTP decompression is expected to eq true - with skip_decompression true - with other headers specified - behaves like disables Net::HTTP decompression - is expected to eq false - behaves like sets default Accept-Encoding - is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" with no headers specified behaves like sets default Accept-Encoding is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" - behaves like disables Net::HTTP decompression - is expected to eq false + behaves like enables Net::HTTP decompression + is expected to eq true with Accept-Encoding specified - behaves like disables Net::HTTP decompression - is expected to eq false - behaves like sets custom Accept-Encoding - is expected to eq "custom" - with accept-encoding (lowercase) specified behaves like sets custom Accept-Encoding is expected to eq "custom" - behaves like disables Net::HTTP decompression - is expected to eq false - with Accept-Encoding and other headers specified - behaves like disables Net::HTTP decompression - is expected to eq false - behaves like sets custom Accept-Encoding - is expected to eq "custom" - initialization - sets parser to HTTParty::Parser - sets connection_adapter to the optional connection_adapter - sets parser to the optional parser - sets connection_adapter to HTTParty::ConnectionAdapter - when using a query string - when sending an array with only one element - sets correct query - and it has an empty array - sets correct query string - when basic authentication credentials provided in uri - when basic auth options was set explicitly - uses basic auth from url anyway - when basic auth options wasn't set explicitly - sets basic auth from uri - a request that 300 redirects + behaves like enables Net::HTTP decompression + is expected to eq true + #format_from_mimetype + returns nil when using a default parser + should handle application/vnd.api+json + should handle text/json + should handle application/hal+json + should handle text/xml + should handle application/xml + should handle application/csv + should handle application/json + returns nil for an unrecognized mimetype + should handle text/csv + should handle text/javascript + should handle application/javascript + should handle text/comma-separated-values + #send_authorization_header? + basic_auth + should send Authorization header when redirecting to a relative path + should not send Authorization header when redirecting to a different host + should send Authorization header when redirecting to the same host + should send Authorization header when redirecting to a different port on the same host + http + should get a connection from the connection_adapter + a request that returns 304 + should report 304 with a HEAD request + should not log the redirection + should report 304 with a GET request + should report 304 with a PATCH request + should report 304 with a PUT request + should be handled by UNLOCK transparently + should report 304 with a POST request + should report 304 with a OPTIONS request + should report 304 with a COPY request + should report 304 with a DELETE request + should report 304 with a MKCOL request + should be handled by LOCK transparently + should report 304 with a MOVE request + a request that 305 redirects + infinitely + should raise an exception once - should be handled by DELETE transparently - should be handled by PUT transparently - should be handled by LOCK transparently - should be handled by COPY transparently - should be handled by PATCH transparently should keep track of cookies between redirects should not make resulting request a get request if options[:maintain_method_across_redirects] is true + should be handled by DELETE transparently + should be handled by MKCOL transparently + should be handled by POST transparently + should update cookies with redirects + should be handled by PATCH transparently + should be handled by PUT transparently should be handled by UNLOCK transparently should log the redirection - should update cookies with redirects - should make resulting request a get request if it not already - should be handled by POST transparently + should keep cookies between redirects should be handled by GET transparently - should be handled by HEAD transparently should be handled by OPTIONS transparently - should be handled by MKCOL transparently - should keep cookies between redirects should handle multiple Set-Cookie headers between redirects + should be handled by LOCK transparently should be handled by MOVE transparently - infinitely - should raise an exception - a request that 307 redirects - once - should be handled by PUT transparently + should be handled by HEAD transparently should be handled by COPY transparently + should make resulting request a get request if it not already + argument validation + should raise argument error if basic_auth is not a hash + should raise RedirectionTooDeep error if limit is negative + should raise argument error if headers is not a hash + should raise argument error if basic_auth and digest_auth are both present + should raise argument error if http method is post and query is not hash + should raise argument error if digest_auth is not a hash + should raise argument error if options method is not http accepted method + ::JSON_API_QUERY_STRING_NORMALIZER + doesn't modify strings + when the query is an array + URI encodes array values + doesn't include brackets + when the query is a hash + correctly handles nil values + options + should normalize base uri when specified as request option + should use basic auth when configured + should use body_stream when configured + digest_auth + should be used when configured and the response is 401 + should merge cookies from request and a 401 response + should not send credentials more than once + should not be used when configured and the response is 200 + should maintain cookies returned from a 401 response + ::NON_RAILS_QUERY_STRING_NORMALIZER + doesn't modify strings + when the query is a hash + correctly handles nil values + when the query is an array + doesn't include brackets + URI encodes array values + a request that 308 redirects + once should maintain method in resulting request if options[:maintain_method_across_redirects] is false - should update cookies with redirects - should be handled by GET transparently + should be handled by HEAD transparently + should be handled by DELETE transparently should be handled by LOCK transparently - should handle multiple Set-Cookie headers between redirects - should keep track of cookies between redirects - should be handled by POST transparently - should maintain method in resulting request - should keep cookies between redirects + should be handled by PUT transparently should be handled by UNLOCK transparently - should be handled by PATCH transparently - should be handled by DELETE transparently + should handle multiple Set-Cookie headers between redirects should be handled by MOVE transparently - should be handled by HEAD transparently - should be handled by OPTIONS transparently - should maintain method in resulting request if options[:maintain_method_across_redirects] is true should log the redirection + should be handled by POST transparently + should keep track of cookies between redirects + should update cookies with redirects + should be handled by COPY transparently + should be handled by OPTIONS transparently + should be handled by PATCH transparently should be handled by MKCOL transparently + should keep cookies between redirects + should be handled by GET transparently + should maintain method in resulting request + should maintain method in resulting request if options[:maintain_method_across_redirects] is true infinitely should raise an exception #setup_raw_request @@ -1441,278 +1636,744 @@ sets header Content-Type: multipart/form-data; boundary= and header Content-Type is provided overwrites the header to: multipart/form-data; boundary= - with POST http method - should raise argument error if query is not a hash - options - should use basic auth when configured - should use body_stream when configured - should normalize base uri when specified as request option - digest_auth - should be used when configured and the response is 401 - should not be used when configured and the response is 200 - should not send credentials more than once - should merge cookies from request and a 401 response - should maintain cookies returned from a 401 response - #send_authorization_header? - basic_auth - should send Authorization header when redirecting to a different port on the same host - should not send Authorization header when redirecting to a different host - should send Authorization header when redirecting to a relative path - should send Authorization header when redirecting to the same host - #format - request yet to be made - returns format option - returns nil format - request has been made - returns format option - returns the content-type from the last response when the option is not set - ::NON_RAILS_QUERY_STRING_NORMALIZER - doesn't modify strings - when the query is a hash - correctly handles nil values - when the query is an array - doesn't include brackets - URI encodes array values a request that 303 redirects once - should be handled by LOCK transparently - should log the redirection - should be handled by POST transparently - should be handled by MOVE transparently should make resulting request a get request if options[:maintain_method_across_redirects] is false should update cookies with redirects - should be handled by GET transparently - should be handled by MKCOL transparently - should keep track of cookies between redirects - should be handled by PATCH transparently - should make resulting request a get request if it not already - should be handled by PUT transparently + should be handled by MOVE transparently should not make resulting request a get request if options[:maintain_method_across_redirects] and options[:resend_on_redirect] is true + should log the redirection + should be handled by MKCOL transparently should keep cookies between redirects + should be handled by PATCH transparently + should be handled by GET transparently should be handled by OPTIONS transparently - should be handled by COPY transparently + should be handled by LOCK transparently + should be handled by PUT transparently + should make resulting request a get request if it not already should be handled by HEAD transparently - should be handled by UNLOCK transparently - should be handled by DELETE transparently should make resulting request a get request if options[:maintain_method_across_redirects] is true but options[:resend_on_redirect] is false + should keep track of cookies between redirects should handle multiple Set-Cookie headers between redirects + should be handled by COPY transparently + should be handled by POST transparently + should be handled by DELETE transparently + should be handled by UNLOCK transparently infinitely should raise an exception - http - should get a connection from the connection_adapter - argument validation - should raise argument error if basic_auth is not a hash - should raise RedirectionTooDeep error if limit is negative - should raise argument error if http method is post and query is not hash - should raise argument error if options method is not http accepted method - should raise argument error if basic_auth and digest_auth are both present - should raise argument error if digest_auth is not a hash - should raise argument error if headers is not a hash - #format_from_mimetype - should handle text/xml - returns nil for an unrecognized mimetype - should handle application/vnd.api+json - should handle application/hal+json - returns nil when using a default parser - should handle application/json - should handle application/javascript - should handle application/csv - should handle text/csv - should handle text/json - should handle application/xml - should handle text/comma-separated-values - should handle text/javascript - a request that returns 304 - should report 304 with a MKCOL request - should report 304 with a COPY request - should report 304 with a HEAD request - should be handled by LOCK transparently - should report 304 with a OPTIONS request - should report 304 with a PATCH request - should be handled by UNLOCK transparently - should report 304 with a GET request - should not log the redirection - should report 304 with a POST request - should report 304 with a DELETE request - should report 304 with a MOVE request - should report 304 with a PUT request - a request that 305 redirects + a request that 300 redirects infinitely should raise an exception once - should keep track of cookies between redirects should be handled by OPTIONS transparently - should be handled by HEAD transparently - should be handled by UNLOCK transparently + should be handled by PUT transparently should be handled by MOVE transparently - should update cookies with redirects - should be handled by MKCOL transparently - should keep cookies between redirects - should make resulting request a get request if it not already - should not make resulting request a get request if options[:maintain_method_across_redirects] is true + should be handled by UNLOCK transparently should be handled by COPY transparently - should handle multiple Set-Cookie headers between redirects - should log the redirection should be handled by DELETE transparently should be handled by GET transparently - should be handled by PUT transparently - should be handled by LOCK transparently - should be handled by PATCH transparently - should be handled by POST transparently - parsing responses - should handle utf-8 bom in xml - should assume utf-16 little endian if options has been chosen - should perform no encoding if the content type is specified but no charset is specified - should handle xml automatically - should process response with a nil body - should process utf-16 charset with big endian bom correctly - should handle json automatically - should handle utf-8 bom in json - should perform no encoding if the charset is not available - should include any HTTP headers in the returned response - should handle csv automatically - with non-200 responses - should return a valid object for 4xx response - parses response lazily so codes can be checked prior - should return a valid object for 5xx response - 3xx responses - returns the HTTParty::Response when the 300 does not contain a location header - raises an error if redirect has duplicate location header -[DEPRECATION] HTTParty will no longer override `response#nil?`. This functionality will be removed in future versions. Please, add explicit check `response.body.nil? || response.body.empty?`. For more info refer to: https://github.com/jnunemaker/httparty/issues/568 -/usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:69:in `match' - returns a valid object for 304 not modified - handles multiple redirects and relative location headers on different hosts - redirects including port - redirects if a 300 contains a relative location header - calls block given to perform with each redirect (PENDING: Temporarily skipped with xit) - redirects if a 300 contains a location header - decompression - should decompress the body and remove the Content-Encoding header - should not decompress unrecognized Content-Encoding - should remove the Content-Encoding header if uncompressed - should not decompress the body if the :skip_decompression option is set - when body has ascii-8bit encoding - processes quoted charset in content type properly - processes charset in content type properly - processes charset in content type properly if it has a different case - when stubed body is frozen - processes frozen body correctly - when assume_utf16_is_big_endian is true - processes stubbed frozen body correctly - should process utf-16 charset with little endian bom correctly - a request that 302 redirects - once - should be handled by UNLOCK transparently - should make resulting request a get request if it not already + should keep cookies between redirects + should be handled by HEAD transparently should be handled by POST transparently - should be handled by GET transparently - should keep track of cookies between redirects - should be handled by MOVE transparently + should be handled by LOCK transparently should be handled by MKCOL transparently - should be handled by HEAD transparently - should be handled by COPY transparently + should keep track of cookies between redirects + should make resulting request a get request if it not already should be handled by PATCH transparently + should not make resulting request a get request if options[:maintain_method_across_redirects] is true should handle multiple Set-Cookie headers between redirects - should be handled by PUT transparently - should log the redirection should update cookies with redirects - should be handled by DELETE transparently - should be handled by LOCK transparently - should keep cookies between redirects - should not make resulting request a get request if options[:maintain_method_across_redirects] is true - should be handled by OPTIONS transparently - infinitely - should raise an exception - #uri - redirects - returns correct path when the server sets the location header to a filename - returns correct path when the server sets the location header to a full uri - returns correct path when the server sets the location header to a network-path reference - location header is an absolute path - returns correct path when location has leading slash - returns the correct path when location has no leading slash - query strings - does not duplicate query string parameters when uri is called twice - does not add an empty query string when default_params are blank - respects the query string normalization proc - does not append an ampersand when queries are embedded in paths - when representing an array - returns a Rails style query string - a request that 301 redirects + should log the redirection + a request that 307 redirects infinitely should raise an exception once - should be handled by UNLOCK transparently - should be handled by POST transparently + should maintain method in resulting request + should maintain method in resulting request if options[:maintain_method_across_redirects] is true should be handled by PUT transparently - should be handled by MKCOL transparently - should log the redirection - should update cookies with redirects - should keep track of cookies between redirects - should keep cookies between redirects - should make resulting request a get request if it not already - should be handled by DELETE transparently - should not make resulting request a get request if options[:maintain_method_across_redirects] is true should be handled by COPY transparently - should be handled by GET transparently - should be handled by HEAD transparently + should maintain method in resulting request if options[:maintain_method_across_redirects] is false + should keep cookies between redirects + should handle multiple Set-Cookie headers between redirects should be handled by LOCK transparently - should be handled by PATCH transparently - should be handled by OPTIONS transparently should be handled by MOVE transparently - should handle multiple Set-Cookie headers between redirects + should be handled by UNLOCK transparently + should be handled by HEAD transparently + should be handled by DELETE transparently + should update cookies with redirects + should be handled by OPTIONS transparently + should be handled by MKCOL transparently + should keep track of cookies between redirects + should be handled by PATCH transparently + should be handled by POST transparently + should log the redirection + should be handled by GET transparently + +HTTParty::Parser + .SupportedFormats + returns a hash + parsers + parses xml with MultiXml + parses json with JSON + parses plain text by simply returning the body + parses csv with CSV + parses html by simply returning the body + .supported_formats + returns a unique set of supported formats represented by symbols + .formats + returns the SupportedFormats constant + returns the SupportedFormats constant for subclasses + .supports_format? + returns false for an unsupported format + returns true for a supported format + .format_from_mimetype + returns a symbol representing the format mimetype + returns nil when the mimetype is not supported + .call + generates an HTTParty::Parser instance with the given body and format + calls #parse on the parser + #parse_supported_format + calls the parser for the given format + when a parsing method does not exist for the given format + raises a useful exception message for subclasses + raises an exception + #supports_format? + utilizes the class method to determine if the format is supported + #parse + returns the unparsed body when the format is unsupported + returns nil for a nil body + returns nil for a 'null' body + parses frozen strings + parses ascii 8bit encoding + does not raise exceptions for bodies with invalid encodings + attempts to parse supported formats + returns nil for a body with spaces only + ignores utf-8 bom + returns nil for an empty body + +HTTParty::HeadersProcessor + when headers are dynamic + returns processed global and request specific headers + when global and request specific headers are set + returns merged global and request specific headers + when headers are not set at all + returns empty hash + when only global headers are set + returns stringified global headers + when only request specific headers are set + returns stringified request specific headers + +HTTParty::Logger::LogstashFormatter + #format + formats a response to be compatible with Logstash + +HTTParty::Response + should send missing methods to delegate + responds to anything parsed_response responds to + returns response headers + returns a comma-delimited value when multiple values exist + responds to parsed_response + responds to headers + responds to response + does raise an error about itself when invoking a method that does not exist + response to request + responds to predicates + responds to hash methods + does raise an error about itself when using #method + allows headers to be accessed by mixed-case names in hash notation + responds to body marshalling - properly marshals the request object - ::JSON_API_QUERY_STRING_NORMALIZER - doesn't modify strings - when the query is a hash - correctly handles nil values - when the query is an array - doesn't include brackets - URI encodes array values + is expected to eq 200 + initialization + should set body + should set http_version + should set code + should set code as an Integer + should set the Net::HTTP Response + when raise_on is supplied + and response's status code is not in range + does not throw exception + and response's status code is in range + throws exception + #tap + is possible to tap into a response + .underscore + works with all caps + works with titlecase + works with one capitalized word + response is array + should equal the string response object body + should be able to iterate + should respond to array methods + should display the same as an array + #is_a? + is expected to respond to #is_a? with 1 argument + is expected to be truthy + is expected to be truthy + #inspect + works + semantic methods for response codes + for specific codes + responds to proxy_authentication_required? + responds to internal_server_error? + responds to length_required? + responds to found? + responds to bad_request? + responds to accepted? + responds to uri_too_long? + responds to unauthorized? + responds to continue? + responds to expectation_failed? + responds to payload_too_large? + responds to reset_content? + responds to ok? + responds to gone? + responds to created? + responds to not_acceptable? + responds to request_entity_too_large? + responds to bad_gateway? + responds to conflict? + responds to payment_required? + responds to forbidden? + responds to method_not_allowed? + responds to gateway_time_out? + responds to use_proxy? + responds to requested_range_not_satisfiable? + responds to request_uri_too_long? + responds to gateway_timeout? + responds to switch_protocol? + responds to not_implemented? + responds to not_found? + responds to precondition_failed? + responds to not_modified? + responds to multiple_choices? + responds to see_other? + responds to request_time_out? + responds to non_authoritative_information? + responds to unsupported_media_type? + responds to request_timeout? + responds to multiple_choice? + responds to service_unavailable? + responds to range_not_satisfiable? + responds to temporary_redirect? + responds to moved_permanently? + responds to version_not_supported? + responds to no_content? + responds to partial_content? + major codes + is redirection + is server error + is success + is client error + is information + #kind_of? + is expected to be truthy + is expected to respond to #kind_of? with 1 argument + is expected to be truthy + headers + can initialize without headers + does not equal itself when not equivalent + always equals itself + does equal a hash + +HTTParty::Request::Body + #multipart? + when params does not respond to to_hash + is expected to equal false + when params responds to to_hash + when force_multipart is true + is expected to equal true + when it does not contain a file + is expected to eq false + when it contains file + is expected to equal true + #call + when params is hash + is expected to eq "people%5B%5D=Bob%20Jones&people%5B%5D=Mike%20Smith" + when params has file + is expected not to change `file.pos` + is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[avatar]\";...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" + file object responds to original_filename + is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[avatar]\";...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" + when passing multipart as an option + is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[first_name...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" + when file name contains [ " \r \n ] + is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[attachment...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" + when params is string + is expected to eq "name=Bob%20Jones" + +HTTParty::ResponseFragment + access to fragment + has access to delegators + +HTTParty + default timeout + should support floats + should raise an exception if unsupported type provided + should support updating + should default to nil + pkcs12 + should set the password + should set the p12 content + default params + should default to empty hash + should be able to be updated + ssl_version + should set the ssl_version content + #resend_on_redirect + sets resend_on_redirect to true by default + sets resend_on_redirect option to false + basic http authentication + should work + #no_follow + sets no_follow to false by default + sets the no_follow option to true + http_proxy + should set the proxy user and pass when they are provided + should set the address + head requests should follow redirects requesting HEAD only + should remain HEAD request across redirects, unless specified otherwise + #get +[DEPRECATION] HTTParty will no longer override `response#nil?`. This functionality will be removed in future versions. Please, add explicit check `response.body.nil? || response.body.empty?`. For more info refer to: https://github.com/jnunemaker/httparty/issues/568 +/usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:69:in `match' + should parse empty response fine + should be able to get html + should be able to get chunked html + should accept http URIs + should return an empty body if stream_body option is turned on + should be able parse response type xml automatically + should accept webcal URIs + should raise an InvalidURIError on URIs that can't be parsed at all + should be able parse response type json automatically + should accept https URIs + should not get undefined method add_node for nil class for the following xml + should be able parse response type csv automatically + when streaming body + is expected to eq # + format + should allow xml + should allow json + should not allow funky format + should only print each format once with an exception + should allow csv + does not reset parser to the default parser + should allow plain + sets the default parser + with multiple class definitions + should not run over each others options + #maintain_method_across_redirects + sets maintain_method_across_redirects to true by default + sets the maintain_method_across_redirects option to false + headers + should default to empty hash + does not modify default_options when no arguments are passed + should be able to accept block as header value + merges class headers with request headers + should pass options as argument to header block value + uses the class headers when sending a request + should be able to be updated + overrides class headers with request headers + when headers passed as symbols + converts them to string + converts default headers to string + when posting file + changes content-type headers to multipart/form-data + with cookies + utilizes the class-level cookies + adds cookies to the headers + doesnt modify default headers + adds optional cookies to the optional headers + base uri + should not modify the parameter during assignment + should have writer + should have reader + .raise_on + when parameters is an array + sets raise_on option + when parameters is a fixnum + sets raise_on option + two child classes inheriting from one parent + doesn't modify hashes in the parent's default options + does not modify each others inherited attributes + inherits default_options from the superclass + should dup the proc on the child class + doesn't modify the parent's default options + works with lambda values + doesn't modify the parent's default cookies + inherits default_cookies from the parent class + .disable_rails_query_string_format + sets the query string normalizer to HTTParty::Request::NON_RAILS_QUERY_STRING_NORMALIZER + .query_string_normalizer + sets the query_string_normalizer option + debug_output + stores the $stderr stream by default + stores the given stream as a default_option + grand parent with inherited callback + continues running the #inherited on the parent + parser + does not validate format whe custom parser is a proc + raises UnsupportedFormat when the parser cannot handle the format + should be able parse response with custom parser + should set parser options + uri_adapter + with custom URI Adaptor + should set the uri_adapter + should process a request with a uri instance parsed from the uri_adapter + should raise an ArgumentError if uri_adapter doesn't implement parse method + with Addressable::URI + handles international domains + with explicit override of automatic redirect handling + should fail with redirected OPTIONS + should fail with redirected MOVE + should fail with redirected GET + should fail with redirected HEAD + should fail with redirected PATCH + should fail with redirected DELETE + should fail with redirected COPY + should fail with redirected POST + should fail with redirected PUT + should fail with redirected MKCOL + pem + should set the password + should set the pem content + should set the password to nil if it's not provided + cookies + should allow a cookie to be specified with a one-off request + should raise an ArgumentError if passed a non-Hash + should not be in the headers by default + when a cookie is set at the class level + should include that cookie in the request + should allow the class defaults to be overridden + should pass the proper cookies when requested multiple times + in a class with multiple methods that use different cookies + should not allow cookies used in one method to carry over into other methods + digest http authentication + should work + ciphers + should set the ciphers content + .normalize_base_uri + should not treat uri's with a port of 4430 as ssl + should add https if not present for ssl requests + should add http if not present for non ssl requests + should not remove https for ssl requests + should not modify the parameter + #ensure_method_maintained_across_redirects + should set maintain_method_across_redirects option if unspecified + should not set maintain_method_across_redirects option if value is present + .follow_redirects + sets follow redirects to true by default + sets the follow_redirects option to false + connection_adapter + should not set the connection_adapter_options when not provided + should set the connection_adapter_options when provided + should process a request with a connection from the adapter + should set the connection_adapter + +HTTParty::Error + HTTParty::UnsupportedFormat + #ancestors + is expected to include HTTParty::Error + #ancestors + is expected to include StandardError + HTTParty::UnsupportedURIScheme + #ancestors + is expected to include HTTParty::Error + HTTParty::ResponseError + #ancestors + is expected to include HTTParty::Error + HTTParty::RedirectionTooDeep + #ancestors + is expected to include HTTParty::ResponseError + HTTParty::DuplicateLocationHeader + #ancestors + is expected to include HTTParty::ResponseError + +HTTParty::HashConversions + .normalize_param + value is an empty array + creates a params string + value is an array + creates a params string + value is a string + creates a params string + value is hash + creates a params string + .to_params + creates a params string from a hash + nested params + creates a params string from a hash + +HTTParty::CookieHash + #to_cookie_string + should not include client side only cookies + should not include client side only cookies even when attributes use camal case + should format the key/value pairs, delimited by semi-colons + should not mutate the hash + should not include SameSite attribute + #add_cookies + with other class + should error + with a hash + should add new key/value pairs to the hash + should overwrite any existing key + with a string + should overwrite any existing key + should add new key/value pairs to the hash + should handle '=' within cookie value + should handle an empty cookie parameter + +HTTParty::Logger::ApacheFormatter + #format + formats a response in a style that resembles apache's access log + when there is a parsed response + can handle the Content-Length header + +HTTParty::Logger::CurlFormatter + #format + formats a response in a style that resembles a -v curl + when request is logged + and query is present + logs Query + logs query params + and headers are present + logs headers keys + logs Headers + and headers are not present + not log Headers + and request's option 'base_uri' is not present + logs url + and request's option 'base_uri' is present + logs url + and query is not present + not logs Query + when request raw_body is present + not logs request body + when response is logged + logs headers + logs http version and response code + logs body HTTParty::Decompressor - .SupportedEncodings - returns a hash #decompress + when encoding is blank + behaves like returns the body + is expected to eq "body" + when encoding is "none" + behaves like returns the body + is expected to eq "body" when encoding is nil behaves like returns the body is expected to eq "body" when encoding is "identity" behaves like returns the body is expected to eq "body" - when body is nil - behaves like returns nil - is expected to be nil when encoding is unsupported behaves like returns nil is expected to be nil - when body is blank - is expected to eq " " when encoding is "zstd" - when zstd-ruby included - is expected to eq "foobar" when zstd-ruby gem not included behaves like returns nil is expected to be nil when zstd raises error is expected to eq nil + when zstd-ruby included + is expected to eq "foobar" + when encoding is "br" + when brotli raises error + is expected to eq nil + when brotli gem not included + behaves like returns nil + is expected to be nil + when brotli included + is expected to eq "foobar" + when body is nil + behaves like returns nil + is expected to be nil + when body is blank + is expected to eq " " when encoding is "compress" when LZW gem not included behaves like returns nil is expected to be nil when ruby-lzws included is expected to eq "foobar" + when compress-lzw included + is expected to eq "foobar" when ruby-lzws raises error is expected to eq nil + .SupportedEncodings + returns a hash + +Pending: (Failures listed here are expected and do not affect your suite's status) + + 1) HTTParty::Request parsing responses with non-200 responses 3xx responses calls block given to perform with each redirect + # Temporarily skipped with xit + # ./spec/httparty/request_spec.rb:691 + +Top 10 slowest examples (2.27 seconds, 39.5% of total time): + HTTParty#get should be able parse response type xml automatically + 0.70257 seconds ./spec/httparty_spec.rb:907 + HTTParty::Request SSL certificate verification should provide the certificate used by the server via peer_cert + 0.23446 seconds ./spec/httparty/ssl_spec.rb:74 + HTTParty::Request SSL certificate verification should work when using ssl_ca_file with a certificate authority + 0.22588 seconds ./spec/httparty/ssl_spec.rb:37 + HTTParty::Request SSL certificate verification should work when using ssl_ca_file with a self-signed CA + 0.22488 seconds ./spec/httparty/ssl_spec.rb:33 + HTTParty::Request SSL certificate verification should work when no trusted CA list is specified, when the verify option is set to false + 0.19205 seconds ./spec/httparty/ssl_spec.rb:19 + HTTParty::Request SSL certificate verification should work when no trusted CA list is specified, even with a bogus hostname, when the verify option is set to true + 0.18616 seconds ./spec/httparty/ssl_spec.rb:29 + HTTParty::Request SSL certificate verification should fail when no trusted CA list is specified, by default + 0.13222 seconds ./spec/httparty/ssl_spec.rb:13 + HTTParty::Request SSL certificate verification should fail when using ssl_ca_path and the server uses an unrecognized certificate authority + 0.12683 seconds ./spec/httparty/ssl_spec.rb:56 + HTTParty::Request::Body#call when params is hash when params has file is expected not to change `file.pos` + 0.12565 seconds ./spec/httparty/request/body_spec.rb:67 + HTTParty::Request SSL certificate verification should fail when no trusted CA list is specified, with a bogus hostname, by default + 0.12401 seconds ./spec/httparty/ssl_spec.rb:23 + +Top 10 slowest example groups: + HTTParty::Request + 0.15726 seconds average (1.89 seconds / 12 examples) ./spec/httparty/ssl_spec.rb:3 + HTTParty::Request::Body + 0.01509 seconds average (0.16604 seconds / 11 examples) ./spec/httparty/request/body_spec.rb:6 + HTTParty::ConnectionAdapter + 0.01122 seconds average (0.78521 seconds / 70 examples) ./spec/httparty/connection_adapter_spec.rb:3 + HTTParty + 0.00957 seconds average (1.12 seconds / 117 examples) ./spec/httparty_spec.rb:3 + HTTParty::Logger::CurlFormatter + 0.00523 seconds average (0.06805 seconds / 13 examples) ./spec/httparty/logger/curl_formatter_spec.rb:3 + HTTParty::Request + 0.00447 seconds average (1.25 seconds / 280 examples) ./spec/httparty/request_spec.rb:3 + HTTParty::Error + 0.0034 seconds average (0.0204 seconds / 6 examples) ./spec/httparty/exception_spec.rb:3 + HTTParty::Logger::ApacheFormatter + 0.00334 seconds average (0.00668 seconds / 2 examples) ./spec/httparty/logger/apache_formatter_spec.rb:3 + Net::HTTPHeader::DigestAuthenticator + 0.0033 seconds average (0.10878 seconds / 33 examples) ./spec/httparty/net_digest_auth_spec.rb:3 + HTTParty::Logger::LogstashFormatter + 0.00304 seconds average (0.00304 seconds / 1 example) ./spec/httparty/logger/logstash_formatter_spec.rb:3 + +Finished in 5.76 seconds (files took 2.02 seconds to load) +715 examples, 0 failures, 1 pending + +Randomized with seed 11822 + +/usr/bin/ruby3.1 /usr/bin/gem2deb-test-runner + +┌──────────────────────────────────────────────────────────────────────────────┐ +│ Checking Rubygems dependency resolution on ruby3.1 │ +└──────────────────────────────────────────────────────────────────────────────┘ + +RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-httparty-0.21.0/debian/ruby-httparty/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-httparty-0.21.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/arm-linux-gnueabihf/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/arm-linux-gnueabihf/rubygems-integration/3.1.0 ruby3.1 -e gem\ \"httparty\" + +┌──────────────────────────────────────────────────────────────────────────────┐ +│ Run tests for ruby3.1 from debian/ruby-tests.rake │ +└──────────────────────────────────────────────────────────────────────────────┘ + +RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-httparty-0.21.0/debian/ruby-httparty/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-httparty-0.21.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/arm-linux-gnueabihf/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/arm-linux-gnueabihf/rubygems-integration/3.1.0 ruby3.1 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake +/usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation +/build/reproducible-path/ruby-httparty-0.21.0/spec/httparty/request/body_spec.rb:4: warning: setting Encoding.default_external +Run options: include {:focus=>true} + +All examples were filtered out; ignoring {:focus=>true} + +Randomized with seed 48770 + +HTTParty::CookieHash + #add_cookies + with other class + should error + with a string + should handle an empty cookie parameter + should add new key/value pairs to the hash + should overwrite any existing key + should handle '=' within cookie value + with a hash + should overwrite any existing key + should add new key/value pairs to the hash + #to_cookie_string + should not mutate the hash + should not include client side only cookies even when attributes use camal case + should not include client side only cookies + should format the key/value pairs, delimited by semi-colons + should not include SameSite attribute + +HTTParty::Request + SSL certificate verification +# terminated with exception (report_on_exception is true): +/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) + from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' + should fail when using ssl_ca_path and the server uses an unrecognized certificate authority +# terminated with exception (report_on_exception is true): +/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) + from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' + should fail when no trusted CA list is specified, with a bogus hostname, by default + should work when using ssl_ca_path with a certificate authority + should work when using ssl_ca_file with a certificate authority +# terminated with exception (report_on_exception is true): +/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) + from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' + should fail when no trusted CA list is specified, by default +# terminated with exception (report_on_exception is true): +/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: ssl/tls alert bad certificate (OpenSSL::SSL::SSLError) + from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' + should fail when using ssl_ca_file and the server uses a bogus hostname + should provide the certificate used by the server via peer_cert + should work when using ssl_ca_file with a self-signed CA +# terminated with exception (report_on_exception is true): +/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) + from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' + should fail when using ssl_ca_path and the server uses a bogus hostname +# terminated with exception (report_on_exception is true): +/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) + from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' + should fail when using ssl_ca_file and the server uses an unrecognized certificate authority + should work when no trusted CA list is specified, when the verify option is set to false + should work when no trusted CA list is specified, even with a bogus hostname, when the verify option is set to true + +HTTParty::Logger::LogstashFormatter + #format + formats a response to be compatible with Logstash + +HTTParty::ResponseFragment + access to fragment + has access to delegators + +HTTParty::Decompressor + .SupportedEncodings + returns a hash + #decompress + when encoding is "compress" + when ruby-lzws included + is expected to eq "foobar" + when LZW gem not included + behaves like returns nil + is expected to be nil when compress-lzw included is expected to eq "foobar" + when ruby-lzws raises error + is expected to eq nil when encoding is "none" behaves like returns the body is expected to eq "body" - when encoding is blank - behaves like returns the body - is expected to eq "body" + when body is blank + is expected to eq " " + when encoding is unsupported + behaves like returns nil + is expected to be nil when encoding is "br" when brotli raises error is expected to eq nil @@ -1721,78 +2382,92 @@ when brotli gem not included behaves like returns nil is expected to be nil + when encoding is nil + behaves like returns the body + is expected to eq "body" + when encoding is blank + behaves like returns the body + is expected to eq "body" + when body is nil + behaves like returns nil + is expected to be nil + when encoding is "identity" + behaves like returns the body + is expected to eq "body" + when encoding is "zstd" + when zstd-ruby gem not included + behaves like returns nil + is expected to be nil + when zstd raises error + is expected to eq nil + when zstd-ruby included + is expected to eq "foobar" + +HTTParty::Parser + #parse + parses ascii 8bit encoding + does not raise exceptions for bodies with invalid encodings + returns nil for an empty body + returns nil for a body with spaces only + parses frozen strings + returns the unparsed body when the format is unsupported + attempts to parse supported formats + returns nil for a 'null' body + returns nil for a nil body + ignores utf-8 bom + #parse_supported_format + calls the parser for the given format + when a parsing method does not exist for the given format + raises a useful exception message for subclasses + raises an exception + #supports_format? + utilizes the class method to determine if the format is supported + parsers + parses xml with MultiXml + parses csv with CSV + parses html by simply returning the body + parses plain text by simply returning the body + parses json with JSON + .supported_formats + returns a unique set of supported formats represented by symbols + .format_from_mimetype + returns a symbol representing the format mimetype + returns nil when the mimetype is not supported + .supports_format? + returns true for a supported format + returns false for an unsupported format + .SupportedFormats + returns a hash + .formats + returns the SupportedFormats constant + returns the SupportedFormats constant for subclasses + .call + calls #parse on the parser + generates an HTTParty::Parser instance with the given body and format HTTParty::ConnectionAdapter - initialization - sets the options - raises an ArgumentError if the uri is nil - takes a URI as input - raises an ArgumentError if the uri is a String - sets the uri - also accepts an optional options hash .call - generates an HTTParty::ConnectionAdapter instance with the given uri and options calls #connection on the connection adapter + generates an HTTParty::ConnectionAdapter instance with the given uri and options #connection the resulting connection is expected to be an instance of Net::HTTP - when uri port is not defined - falls back to 80 port on http - is expected to equal 80 - falls back to 443 port on https - is expected to equal 443 - using port 80 - is expected not to use ssl - when debug_output - is not provided - does not set_debug_output - is set to $stderr - has debug output set - when providing PEM certificates - when scheme is https - uses the provided PEM certificate - will verify the certificate - when options include verify=false - should not verify the certificate - when options include verify_peer=false - should not verify the certificate - when scheme is not https - has no PEM certificate - when timeout is set and write_timeout is set to 8 seconds - should override the timeout option - #write_timeout - is expected to eq 8 + when providing proxy address and port + is expected to be a proxy + #proxy_address + is expected to eq "1.2.3.4" + #proxy_port + is expected to eq 8080 + as well as proxy user and password + #proxy_user + is expected to eq "user" + #proxy_pass + is expected to eq "pass" when providing nil as proxy address is expected not to be a proxy does pass nil proxy parameters to the connection, this forces to not use a proxy - when timeout is set and open_timeout is set to 7 seconds - should override the timeout option - #write_timeout - is expected to eq 5 - #read_timeout - is expected to eq 5 - #open_timeout - is expected to eq 7 - when timeout is not set and write_timeout is set to 8 seconds - should not set the open timeout - should not set the read timeout - #write_timeout - is expected to eq 8 - when dealing with ssl - uses the system cert_store, by default - is expected to use cert store # - when ssl version is set - sets ssl version - https scheme with default port - is expected to use ssl - https scheme with non-standard port - is expected to use ssl - using port 443 for ssl - is expected to use ssl - should use the specified cert store, when one is given - is expected to use cert store # - when max_retries is not set - doesn't set the max_retries + specifying ciphers + should set the ciphers on the connection when setting max_retries to 5 times #max_retries @@ -1802,15 +2477,23 @@ to 0 times #max_retries is expected to eq 0 - when timeout is not set and read_timeout is set to 6 seconds - should not set the open_timeout - should not set the write_timeout - #read_timeout - is expected to eq 6 when not providing a proxy address does not pass any proxy parameters to the connection - specifying ciphers - should set the ciphers on the connection + when timeout is not set and write_timeout is set to 8 seconds + should not set the read timeout + should not set the open timeout + #write_timeout + is expected to eq 8 + when dealing with IPv6 + strips brackets from the address + when timeout is set and read_timeout is set to 6 seconds + should override the timeout option + #read_timeout + is expected to eq 6 + #write_timeout + is expected to eq 5 + #open_timeout + is expected to eq 5 when setting timeout to 5 seconds #open_timeout @@ -1821,428 +2504,357 @@ is expected to eq 5 and timeout is a string doesn't set the timeout - when timeout is not set and open_timeout is set to 7 seconds - should not set the write_timeout - should not set the read_timeout - #open_timeout - is expected to eq 7 - when providing a local bind address and port - #local_port - is expected to eq 12345 - #local_host - is expected to eq "127.0.0.1" + when providing PEM certificates + when scheme is https + uses the provided PEM certificate + will verify the certificate + when options include verify_peer=false + should not verify the certificate + when options include verify=false + should not verify the certificate + when scheme is not https + has no PEM certificate + using port 80 + is expected not to use ssl when providing PKCS12 certificates when scheme is not https has no PKCS12 certificate when scheme is https - will verify the certificate uses the provided P12 certificate - when options include verify=false - should not verify the certificate + will verify the certificate when options include verify_peer=false should not verify the certificate - when providing proxy address and port - is expected to be a proxy - #proxy_port - is expected to eq 8080 - as well as proxy user and password - #proxy_user - is expected to eq "user" - #proxy_pass - is expected to eq "pass" - #proxy_address - is expected to eq "1.2.3.4" - when dealing with IPv6 - strips brackets from the address - when timeout is set and read_timeout is set to 6 seconds + when options include verify=false + should not verify the certificate + when uri port is not defined + falls back to 80 port on http + is expected to equal 80 + falls back to 443 port on https + is expected to equal 443 + when providing a local bind address and port + #local_host + is expected to eq "127.0.0.1" + #local_port + is expected to eq 12345 + when timeout is set and write_timeout is set to 8 seconds should override the timeout option - #open_timeout + #write_timeout + is expected to eq 8 + when dealing with ssl + should use the specified cert store, when one is given + is expected to use cert store # + when ssl version is set + sets ssl version + using port 443 for ssl + is expected to use ssl + https scheme with default port + is expected to use ssl + uses the system cert_store, by default + is expected to use cert store # + https scheme with non-standard port + is expected to use ssl + when timeout is set and open_timeout is set to 7 seconds + should override the timeout option + #read_timeout is expected to eq 5 + #open_timeout + is expected to eq 7 #write_timeout is expected to eq 5 + when timeout is not set and open_timeout is set to 7 seconds + should not set the read_timeout + should not set the write_timeout + #open_timeout + is expected to eq 7 + when max_retries is not set + doesn't set the max_retries + when debug_output + is not provided + does not set_debug_output + is set to $stderr + has debug output set + when timeout is not set and read_timeout is set to 6 seconds + should not set the write_timeout + should not set the open_timeout #read_timeout is expected to eq 6 when timeout is not set doesn't set the timeout - -HTTParty::ResponseFragment - access to fragment - has access to delegators - -HTTParty::Request - SSL certificate verification -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: ssl/tls alert bad certificate (SSL alert number 42) (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when using ssl_ca_file and the server uses a bogus hostname - should work when using ssl_ca_file with a self-signed CA - should provide the certificate used by the server via peer_cert - should work when no trusted CA list is specified, when the verify option is set to false -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (SSL alert number 48) (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when no trusted CA list is specified, with a bogus hostname, by default - should work when using ssl_ca_file with a certificate authority - should work when using ssl_ca_path with a certificate authority -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (SSL alert number 48) (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when using ssl_ca_file and the server uses an unrecognized certificate authority - should work when no trusted CA list is specified, even with a bogus hostname, when the verify option is set to true -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (SSL alert number 48) (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when using ssl_ca_path and the server uses an unrecognized certificate authority -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (SSL alert number 48) (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when no trusted CA list is specified, by default -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (SSL alert number 48) (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.3.0/openssl/ssl.rb:527:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when using ssl_ca_path and the server uses a bogus hostname - -HTTParty::Logger::ApacheFormatter - #format - formats a response in a style that resembles apache's access log - when there is a parsed response - can handle the Content-Length header - -HTTParty::CookieHash - #to_cookie_string - should not mutate the hash - should format the key/value pairs, delimited by semi-colons - should not include client side only cookies - should not include client side only cookies even when attributes use camal case - should not include SameSite attribute - #add_cookies - with other class - should error - with a hash - should add new key/value pairs to the hash - should overwrite any existing key - with a string - should handle '=' within cookie value - should add new key/value pairs to the hash - should handle an empty cookie parameter - should overwrite any existing key + initialization + raises an ArgumentError if the uri is nil + also accepts an optional options hash + sets the uri + sets the options + raises an ArgumentError if the uri is a String + takes a URI as input HTTParty::Logger::CurlFormatter #format formats a response in a style that resembles a -v curl when response is logged - logs headers logs body + logs headers logs http version and response code when request is logged + when request raw_body is present + not logs request body and headers are present logs headers keys logs Headers - and request's option 'base_uri' is not present - logs url and query is present logs Query logs query params and request's option 'base_uri' is present logs url - when request raw_body is present - not logs request body - and query is not present - not logs Query + and request's option 'base_uri' is not present + logs url and headers are not present not log Headers + and query is not present + not logs Query + +HTTParty::HashConversions + .normalize_param + value is an empty array + creates a params string + value is a string + creates a params string + value is hash + creates a params string + value is an array + creates a params string + .to_params + creates a params string from a hash + nested params + creates a params string from a hash HTTParty::Response + does raise an error about itself when invoking a method that does not exist + should send missing methods to delegate responds to parsed_response - responds to hash methods + returns response headers does raise an error about itself when using #method responds to anything parsed_response responds to - responds to response - returns a comma-delimited value when multiple values exist + responds to body responds to headers - does raise an error about itself when invoking a method that does not exist - responds to predicates response to request - responds to body - returns response headers - should send missing methods to delegate + responds to predicates + responds to hash methods allows headers to be accessed by mixed-case names in hash notation - .underscore - works with titlecase - works with all caps - works with one capitalized word - #inspect - works - response is array - should display the same as an array - should respond to array methods - should equal the string response object body - should be able to iterate - #is_a? - is expected to be truthy - is expected to be truthy - is expected to respond to #is_a? with 1 argument - marshalling - is expected to eq 200 + responds to response + returns a comma-delimited value when multiple values exist initialization - should set code as an Integer - should set the Net::HTTP Response + should set body should set http_version + should set code as an Integer should set code - should set body + should set the Net::HTTP Response when raise_on is supplied and response's status code is in range throws exception and response's status code is not in range does not throw exception - #kind_of? + marshalling + is expected to eq 200 + response is array + should display the same as an array + should respond to array methods + should equal the string response object body + should be able to iterate + #is_a? + is expected to be truthy + is expected to respond to #is_a? with 1 argument is expected to be truthy + .underscore + works with one capitalized word + works with all caps + works with titlecase + #kind_of? is expected to respond to #kind_of? with 1 argument is expected to be truthy - #tap - is possible to tap into a response + is expected to be truthy headers - does not equal itself when not equivalent does equal a hash + does not equal itself when not equivalent always equals itself can initialize without headers + #inspect + works semantic methods for response codes - major codes - is information - is success - is server error - is redirection - is client error for specific codes + responds to precondition_failed? + responds to requested_range_not_satisfiable? + responds to switch_protocol? + responds to proxy_authentication_required? responds to not_implemented? - responds to request_time_out? - responds to partial_content? - responds to multiple_choice? - responds to not_acceptable? - responds to conflict? - responds to unsupported_media_type? - responds to multiple_choices? + responds to service_unavailable? responds to gateway_timeout? - responds to method_not_allowed? - responds to requested_range_not_satisfiable? - responds to length_required? - responds to forbidden? - responds to moved_permanently? - responds to not_modified? + responds to ok? + responds to expectation_failed? + responds to conflict? + responds to partial_content? + responds to payload_too_large? + responds to range_not_satisfiable? + responds to found? + responds to no_content? + responds to bad_gateway? responds to version_not_supported? responds to request_uri_too_long? - responds to proxy_authentication_required? + responds to multiple_choice? + responds to method_not_allowed? + responds to created? + responds to request_entity_too_large? + responds to multiple_choices? responds to use_proxy? - responds to uri_too_long? responds to continue? + responds to moved_permanently? + responds to gateway_time_out? + responds to not_modified? + responds to gone? + responds to request_timeout? responds to bad_request? - responds to internal_server_error? - responds to service_unavailable? - responds to range_not_satisfiable? - responds to bad_gateway? - responds to found? + responds to uri_too_long? responds to reset_content? - responds to request_timeout? - responds to gateway_time_out? - responds to see_other? - responds to precondition_failed? + responds to request_time_out? responds to payment_required? - responds to request_entity_too_large? - responds to gone? - responds to unauthorized? - responds to ok? - responds to expectation_failed? responds to accepted? - responds to no_content? - responds to payload_too_large? - responds to switch_protocol? - responds to not_found? + responds to see_other? + responds to internal_server_error? + responds to unauthorized? responds to non_authoritative_information? + responds to unsupported_media_type? + responds to not_acceptable? + responds to forbidden? responds to temporary_redirect? - responds to created? + responds to not_found? + responds to length_required? + major codes + is success + is server error + is client error + is information + is redirection + #tap + is possible to tap into a response HTTParty::Request::Body + #multipart? + when params responds to to_hash + when it contains file + is expected to equal true + when force_multipart is true + is expected to equal true + when it does not contain a file + is expected to eq false + when params does not respond to to_hash + is expected to equal false #call + when params is string + is expected to eq "name=Bob%20Jones" when params is hash is expected to eq "people%5B%5D=Bob%20Jones&people%5B%5D=Mike%20Smith" when params has file - is expected not to change `file.pos` is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[avatar]\";...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" - file object responds to original_filename - is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[avatar]\";...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" + is expected not to change `file.pos` when file name contains [ " \r \n ] is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[attachment...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" + file object responds to original_filename + is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[avatar]\";...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" when passing multipart as an option is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[first_name...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" - when params is string - is expected to eq "name=Bob%20Jones" - #multipart? - when params responds to to_hash - when it does not contain a file - is expected to eq false - when force_multipart is true - is expected to equal true - when it contains file - is expected to equal true - when params does not respond to to_hash - is expected to equal false -HTTParty::HashConversions - .normalize_param - value is a string - creates a params string - value is an array - creates a params string - value is an empty array - creates a params string - value is hash - creates a params string - .to_params - creates a params string from a hash - nested params - creates a params string from a hash +HTTParty::Error + HTTParty::UnsupportedFormat + #ancestors + is expected to include HTTParty::Error + #ancestors + is expected to include StandardError + HTTParty::UnsupportedURIScheme + #ancestors + is expected to include HTTParty::Error + HTTParty::RedirectionTooDeep + #ancestors + is expected to include HTTParty::ResponseError + HTTParty::DuplicateLocationHeader + #ancestors + is expected to include HTTParty::ResponseError + HTTParty::ResponseError + #ancestors + is expected to include HTTParty::Error -HTTParty::Parser - .formats - returns the SupportedFormats constant - returns the SupportedFormats constant for subclasses - .supports_format? - returns true for a supported format - returns false for an unsupported format - #supports_format? - utilizes the class method to determine if the format is supported - .format_from_mimetype - returns nil when the mimetype is not supported - returns a symbol representing the format mimetype - .call - generates an HTTParty::Parser instance with the given body and format - calls #parse on the parser - .SupportedFormats - returns a hash - .supported_formats - returns a unique set of supported formats represented by symbols - #parse - parses frozen strings - parses ascii 8bit encoding - ignores utf-8 bom - returns the unparsed body when the format is unsupported - returns nil for a 'null' body - does not raise exceptions for bodies with invalid encodings - returns nil for a nil body - returns nil for a body with spaces only - returns nil for an empty body - attempts to parse supported formats - #parse_supported_format - calls the parser for the given format - when a parsing method does not exist for the given format - raises a useful exception message for subclasses - raises an exception - parsers - parses html by simply returning the body - parses csv with CSV - parses plain text by simply returning the body - parses xml with MultiXml - parses json with JSON +Net::HTTPHeader::DigestAuthenticator + with algorithm specified + should recognise algorithm was specified + should set the algorithm header + with an opaque value in the response header + should set opaque + with multiple authenticate headers + should set nonce-count + should set qop + should set digest-uri + should set username + should set prefix + should set cnonce + should set response + when quality of protection (qop) is unquoted + should still set qop + without a cookie value in the response header + should set empty cookie header array + with specified quality of protection (qop) + should set username + should set digest-uri + should set nonce-count + should set qop + should set prefix + should set response + should set cnonce + without an opaque valid in the response header + should not set opaque + Net::HTTPHeader#digest_auth + should set the authorization header + with unspecified quality of protection (qop) + should set digest-uri + should set username + should set prefix + should not set qop + should not set nonce-count + should set response + should not set cnonce + with a cookie value in the response header + should set cookie header + with md5-sess algorithm specified + should set the algorithm header + should recognise algorithm was specified + should set response using md5-sess algorithm + with http basic auth response when net digest auth expected + should not fail HTTParty::HeadersProcessor - when only request specific headers are set - returns stringified request specific headers - when only global headers are set - returns stringified global headers + when global and request specific headers are set + returns merged global and request specific headers when headers are not set at all returns empty hash + when only request specific headers are set + returns stringified request specific headers when headers are dynamic returns processed global and request specific headers - when global and request specific headers are set - returns merged global and request specific headers - -Pending: (Failures listed here are expected and do not affect your suite's status) - - 1) HTTParty::Request parsing responses with non-200 responses 3xx responses calls block given to perform with each redirect - # Temporarily skipped with xit - # ./spec/httparty/request_spec.rb:691 - -Top 10 slowest examples (1.48 seconds, 34.5% of total time): - HTTParty::Request SSL certificate verification should work when using ssl_ca_file with a self-signed CA - 0.20866 seconds ./spec/httparty/ssl_spec.rb:33 - HTTParty::Request SSL certificate verification should provide the certificate used by the server via peer_cert - 0.20413 seconds ./spec/httparty/ssl_spec.rb:74 - HTTParty::Request SSL certificate verification should work when using ssl_ca_file with a certificate authority - 0.19179 seconds ./spec/httparty/ssl_spec.rb:37 - HTTParty::Request SSL certificate verification should work when no trusted CA list is specified, when the verify option is set to false - 0.18318 seconds ./spec/httparty/ssl_spec.rb:19 - HTTParty::Request SSL certificate verification should work when no trusted CA list is specified, even with a bogus hostname, when the verify option is set to true - 0.16929 seconds ./spec/httparty/ssl_spec.rb:29 - HTTParty#get should be able parse response type xml automatically - 0.12784 seconds ./spec/httparty_spec.rb:907 - HTTParty::Request SSL certificate verification should fail when using ssl_ca_path and the server uses an unrecognized certificate authority - 0.10618 seconds ./spec/httparty/ssl_spec.rb:56 - HTTParty::Request SSL certificate verification should fail when using ssl_ca_file and the server uses a bogus hostname - 0.1055 seconds ./spec/httparty/ssl_spec.rb:62 - HTTParty#get should accept webcal URIs - 0.09416 seconds ./spec/httparty_spec.rb:958 - HTTParty::Request SSL certificate verification should fail when no trusted CA list is specified, by default - 0.09028 seconds ./spec/httparty/ssl_spec.rb:13 - -Top 10 slowest example groups: - HTTParty::Request - 0.13025 seconds average (1.56 seconds / 12 examples) ./spec/httparty/ssl_spec.rb:3 - HTTParty::Request::Body - 0.01052 seconds average (0.11569 seconds / 11 examples) ./spec/httparty/request/body_spec.rb:6 - HTTParty::ConnectionAdapter - 0.00746 seconds average (0.52212 seconds / 70 examples) ./spec/httparty/connection_adapter_spec.rb:3 - HTTParty - 0.00457 seconds average (0.53515 seconds / 117 examples) ./spec/httparty_spec.rb:3 - HTTParty::HashConversions - 0.00392 seconds average (0.02354 seconds / 6 examples) ./spec/httparty/hash_conversions_spec.rb:3 - HTTParty::Logger::CurlFormatter - 0.00391 seconds average (0.05084 seconds / 13 examples) ./spec/httparty/logger/curl_formatter_spec.rb:3 - Net::HTTPHeader::DigestAuthenticator - 0.00381 seconds average (0.12581 seconds / 33 examples) ./spec/httparty/net_digest_auth_spec.rb:3 - HTTParty::Request - 0.00348 seconds average (0.97403 seconds / 280 examples) ./spec/httparty/request_spec.rb:3 - HTTParty::Logger::LogstashFormatter - 0.00323 seconds average (0.00323 seconds / 1 example) ./spec/httparty/logger/logstash_formatter_spec.rb:3 - HTTParty::Decompressor - 0.00318 seconds average (0.05729 seconds / 18 examples) ./spec/httparty/decompressor_spec.rb:3 - -Finished in 4.29 seconds (files took 1.62 seconds to load) -715 examples, 0 failures, 1 pending - -Randomized with seed 54187 - -/usr/bin/ruby3.1 /usr/bin/gem2deb-test-runner - -┌──────────────────────────────────────────────────────────────────────────────┐ -│ Checking Rubygems dependency resolution on ruby3.1 │ -└──────────────────────────────────────────────────────────────────────────────┘ - -RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-httparty-0.21.0/debian/ruby-httparty/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-httparty-0.21.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/arm-linux-gnueabihf/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/arm-linux-gnueabihf/rubygems-integration/3.1.0 ruby3.1 -e gem\ \"httparty\" - -┌──────────────────────────────────────────────────────────────────────────────┐ -│ Run tests for ruby3.1 from debian/ruby-tests.rake │ -└──────────────────────────────────────────────────────────────────────────────┘ - -RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-httparty-0.21.0/debian/ruby-httparty/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-httparty-0.21.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/arm-linux-gnueabihf/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/arm-linux-gnueabihf/rubygems-integration/3.1.0 ruby3.1 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake -/usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation -/build/reproducible-path/ruby-httparty-0.21.0/spec/httparty/request/body_spec.rb:4: warning: setting Encoding.default_external -Run options: include {:focus=>true} + when only global headers are set + returns stringified global headers -All examples were filtered out; ignoring {:focus=>true} +HTTParty::Logger::ApacheFormatter + #format + formats a response in a style that resembles apache's access log + when there is a parsed response + can handle the Content-Length header -Randomized with seed 4033 +HTTParty::Logger + .build + builds :curl style logger + raises error when formatter exists + defaults level to :info + builds :logstash style logger + defaults format to :apache + builds :custom style logger HTTParty::Request [DEPRECATION] HTTParty will no longer override `response#nil?`. This functionality will be removed in future versions. Please, add explicit check `response.body.nil? || response.body.empty?`. For more info refer to: https://github.com/jnunemaker/httparty/issues/568 @@ -2251,1123 +2863,547 @@ /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:69:in `match' should not attempt to parse empty responses should not fail for missing mime type - ::NON_RAILS_QUERY_STRING_NORMALIZER + #send_authorization_header? + basic_auth + should send Authorization header when redirecting to a relative path + should send Authorization header when redirecting to a different port on the same host + should send Authorization header when redirecting to the same host + should not send Authorization header when redirecting to a different host + initialization + sets connection_adapter to HTTParty::ConnectionAdapter + sets connection_adapter to the optional connection_adapter + sets parser to the optional parser + sets parser to HTTParty::Parser + when using a query string + and it has an empty array + sets correct query string + when sending an array with only one element + sets correct query + when basic authentication credentials provided in uri + when basic auth options wasn't set explicitly + sets basic auth from uri + when basic auth options was set explicitly + uses basic auth from url anyway + http + should get a connection from the connection_adapter + argument validation + should raise argument error if options method is not http accepted method + should raise RedirectionTooDeep error if limit is negative + should raise argument error if digest_auth is not a hash + should raise argument error if basic_auth is not a hash + should raise argument error if basic_auth and digest_auth are both present + should raise argument error if http method is post and query is not hash + should raise argument error if headers is not a hash + ::JSON_API_QUERY_STRING_NORMALIZER doesn't modify strings when the query is an array - URI encodes array values doesn't include brackets + URI encodes array values when the query is a hash correctly handles nil values - a request that returns 304 - should report 304 with a MOVE request - should report 304 with a PATCH request - should report 304 with a POST request - should report 304 with a HEAD request - should report 304 with a OPTIONS request - should report 304 with a DELETE request - should report 304 with a GET request - should be handled by LOCK transparently - should report 304 with a MKCOL request - should not log the redirection - should report 304 with a PUT request - should be handled by UNLOCK transparently - should report 304 with a COPY request - #format_from_mimetype - returns nil for an unrecognized mimetype - returns nil when using a default parser - should handle text/csv - should handle application/vnd.api+json - should handle text/json - should handle text/javascript - should handle application/javascript - should handle application/xml - should handle application/json - should handle text/xml - should handle application/hal+json - should handle text/comma-separated-values - should handle application/csv + #uri + redirects + returns correct path when the server sets the location header to a network-path reference + returns correct path when the server sets the location header to a full uri + returns correct path when the server sets the location header to a filename + location header is an absolute path + returns correct path when location has leading slash + returns the correct path when location has no leading slash + query strings + does not append an ampersand when queries are embedded in paths + does not duplicate query string parameters when uri is called twice + does not add an empty query string when default_params are blank + respects the query string normalization proc + when representing an array + returns a Rails style query string + with POST http method + should raise argument error if query is not a hash parsing responses should process utf-16 charset with big endian bom correctly + should assume utf-16 little endian if options has been chosen + should handle json automatically + should handle csv automatically should handle xml automatically + should process response with a nil body + should handle utf-8 bom in xml should perform no encoding if the content type is specified but no charset is specified - should perform no encoding if the charset is not available - should include any HTTP headers in the returned response - should handle csv automatically should handle utf-8 bom in json - should assume utf-16 little endian if options has been chosen - should handle utf-8 bom in xml - should process response with a nil body - should handle json automatically + should include any HTTP headers in the returned response + should perform no encoding if the charset is not available + when body has ascii-8bit encoding + processes quoted charset in content type properly + processes charset in content type properly + processes charset in content type properly if it has a different case + when stubed body is frozen + processes frozen body correctly + when assume_utf16_is_big_endian is true + should process utf-16 charset with little endian bom correctly + processes stubbed frozen body correctly with non-200 responses parses response lazily so codes can be checked prior - should return a valid object for 4xx response should return a valid object for 5xx response + should return a valid object for 4xx response 3xx responses - redirects if a 300 contains a relative location header - returns the HTTParty::Response when the 300 does not contain a location header - calls block given to perform with each redirect (PENDING: Temporarily skipped with xit) handles multiple redirects and relative location headers on different hosts - redirects if a 300 contains a location header redirects including port + returns the HTTParty::Response when the 300 does not contain a location header + calls block given to perform with each redirect (PENDING: Temporarily skipped with xit) + raises an error if redirect has duplicate location header [DEPRECATION] HTTParty will no longer override `response#nil?`. This functionality will be removed in future versions. Please, add explicit check `response.body.nil? || response.body.empty?`. For more info refer to: https://github.com/jnunemaker/httparty/issues/568 /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:69:in `match' returns a valid object for 304 not modified - raises an error if redirect has duplicate location header - when assume_utf16_is_big_endian is true - should process utf-16 charset with little endian bom correctly - processes stubbed frozen body correctly - when body has ascii-8bit encoding - processes charset in content type properly if it has a different case - processes charset in content type properly - processes quoted charset in content type properly - when stubed body is frozen - processes frozen body correctly + redirects if a 300 contains a location header + redirects if a 300 contains a relative location header decompression - should not decompress unrecognized Content-Encoding - should not decompress the body if the :skip_decompression option is set should decompress the body and remove the Content-Encoding header + should not decompress the body if the :skip_decompression option is set + should not decompress unrecognized Content-Encoding should remove the Content-Encoding header if uncompressed - #uri - query strings - respects the query string normalization proc - does not add an empty query string when default_params are blank - does not append an ampersand when queries are embedded in paths - does not duplicate query string parameters when uri is called twice - when representing an array - returns a Rails style query string - redirects - returns correct path when the server sets the location header to a network-path reference - returns correct path when the server sets the location header to a full uri - returns correct path when the server sets the location header to a filename - location header is an absolute path - returns correct path when location has leading slash - returns the correct path when location has no leading slash - #format - request has been made - returns format option - returns the content-type from the last response when the option is not set - request yet to be made - returns format option - returns nil format - initialization - sets parser to the optional parser - sets connection_adapter to HTTParty::ConnectionAdapter - sets parser to HTTParty::Parser - sets connection_adapter to the optional connection_adapter - when using a query string - and it has an empty array - sets correct query string - when sending an array with only one element - sets correct query - when basic authentication credentials provided in uri - when basic auth options was set explicitly - uses basic auth from url anyway - when basic auth options wasn't set explicitly - sets basic auth from uri - a request that 301 redirects - once - should be handled by HEAD transparently - should make resulting request a get request if it not already - should not make resulting request a get request if options[:maintain_method_across_redirects] is true - should be handled by MKCOL transparently - should log the redirection - should keep track of cookies between redirects - should be handled by PATCH transparently - should be handled by UNLOCK transparently - should be handled by OPTIONS transparently - should be handled by MOVE transparently - should be handled by PUT transparently - should update cookies with redirects - should be handled by GET transparently - should be handled by DELETE transparently - should be handled by COPY transparently - should handle multiple Set-Cookie headers between redirects - should be handled by LOCK transparently - should keep cookies between redirects - should be handled by POST transparently - infinitely - should raise an exception - http - should get a connection from the connection_adapter - ::JSON_API_QUERY_STRING_NORMALIZER + ::NON_RAILS_QUERY_STRING_NORMALIZER doesn't modify strings when the query is a hash correctly handles nil values when the query is an array doesn't include brackets URI encodes array values - a request that 308 redirects - infinitely - should raise an exception + marshalling + properly marshals the request object + a request that 303 redirects once - should keep cookies between redirects - should be handled by PUT transparently should be handled by UNLOCK transparently - should maintain method in resulting request - should be handled by GET transparently - should be handled by POST transparently - should be handled by HEAD transparently - should log the redirection - should be handled by MOVE transparently - should be handled by MKCOL transparently - should keep track of cookies between redirects - should be handled by OPTIONS transparently should be handled by DELETE transparently - should handle multiple Set-Cookie headers between redirects - should be handled by LOCK transparently - should be handled by PATCH transparently - should maintain method in resulting request if options[:maintain_method_across_redirects] is true - should update cookies with redirects - should maintain method in resulting request if options[:maintain_method_across_redirects] is false + should make resulting request a get request if options[:maintain_method_across_redirects] is true but options[:resend_on_redirect] is false + should keep cookies between redirects + should keep track of cookies between redirects should be handled by COPY transparently - a request that 305 redirects - once - should be handled by LOCK transparently - should be handled by PUT transparently - should be handled by UNLOCK transparently - should handle multiple Set-Cookie headers between redirects - should update cookies with redirects - should be handled by GET transparently - should be handled by POST transparently - should be handled by PATCH transparently - should not make resulting request a get request if options[:maintain_method_across_redirects] is true - should be handled by MKCOL transparently - should be handled by DELETE transparently - should be handled by HEAD transparently + should make resulting request a get request if options[:maintain_method_across_redirects] is false should make resulting request a get request if it not already - should be handled by COPY transparently + should be handled by PUT transparently should be handled by OPTIONS transparently - should log the redirection - should keep cookies between redirects - should keep track of cookies between redirects should be handled by MOVE transparently - infinitely - should raise an exception - a request that 300 redirects - infinitely - should raise an exception - once + should be handled by GET transparently + should log the redirection should update cookies with redirects - should keep cookies between redirects - should handle multiple Set-Cookie headers between redirects + should not make resulting request a get request if options[:maintain_method_across_redirects] and options[:resend_on_redirect] is true + should be handled by POST transparently + should be handled by MKCOL transparently should be handled by PATCH transparently - should be handled by COPY transparently - should be handled by GET transparently - should be handled by UNLOCK transparently - should be handled by DELETE transparently - should be handled by OPTIONS transparently should be handled by LOCK transparently - should be handled by MOVE transparently - should be handled by POST transparently - should log the redirection - should keep track of cookies between redirects - should not make resulting request a get request if options[:maintain_method_across_redirects] is true should be handled by HEAD transparently - should be handled by PUT transparently - should be handled by MKCOL transparently - should make resulting request a get request if it not already - #send_authorization_header? - basic_auth - should not send Authorization header when redirecting to a different host - should send Authorization header when redirecting to a different port on the same host - should send Authorization header when redirecting to the same host - should send Authorization header when redirecting to a relative path - a request that 307 redirects + should handle multiple Set-Cookie headers between redirects infinitely should raise an exception + #setup_raw_request + when multipart + when mulipart option is provided + sets header Content-Type: multipart/form-data; boundary= + when body contains file + sets header Content-Type: multipart/form-data; boundary= + and header Content-Type is provided + overwrites the header to: multipart/form-data; boundary= + when query_string_normalizer is set + sets the body to the return value of the proc + options + should use body_stream when configured + should use basic auth when configured + should normalize base uri when specified as request option + digest_auth + should merge cookies from request and a 401 response + should not be used when configured and the response is 200 + should maintain cookies returned from a 401 response + should be used when configured and the response is 401 + should not send credentials more than once + a request that 301 redirects once - should be handled by LOCK transparently - should maintain method in resulting request - should be handled by POST transparently - should handle multiple Set-Cookie headers between redirects - should be handled by GET transparently - should update cookies with redirects - should keep cookies between redirects - should maintain method in resulting request if options[:maintain_method_across_redirects] is false - should be handled by MKCOL transparently - should be handled by PUT transparently - should be handled by OPTIONS transparently - should be handled by MOVE transparently - should be handled by PATCH transparently should be handled by UNLOCK transparently - should be handled by HEAD transparently - should log the redirection + should be handled by OPTIONS transparently + should handle multiple Set-Cookie headers between redirects should be handled by DELETE transparently - should be handled by COPY transparently - should maintain method in resulting request if options[:maintain_method_across_redirects] is true - should keep track of cookies between redirects - a request that 303 redirects - once should make resulting request a get request if it not already - should be handled by OPTIONS transparently - should be handled by MKCOL transparently - should log the redirection + should be handled by PATCH transparently + should be handled by GET transparently should keep track of cookies between redirects + should keep cookies between redirects should be handled by COPY transparently - should be handled by PUT transparently should be handled by HEAD transparently - should be handled by PATCH transparently - should be handled by POST transparently - should be handled by GET transparently should update cookies with redirects - should not make resulting request a get request if options[:maintain_method_across_redirects] and options[:resend_on_redirect] is true - should be handled by UNLOCK transparently - should handle multiple Set-Cookie headers between redirects + should be handled by PUT transparently + should log the redirection + should not make resulting request a get request if options[:maintain_method_across_redirects] is true + should be handled by MKCOL transparently should be handled by LOCK transparently + should be handled by POST transparently should be handled by MOVE transparently - should make resulting request a get request if options[:maintain_method_across_redirects] is false - should keep cookies between redirects - should make resulting request a get request if options[:maintain_method_across_redirects] is true but options[:resend_on_redirect] is false - should be handled by DELETE transparently infinitely should raise an exception - options - should use basic auth when configured - should use body_stream when configured - should normalize base uri when specified as request option - digest_auth - should maintain cookies returned from a 401 response - should not send credentials more than once - should be used when configured and the response is 401 - should merge cookies from request and a 401 response - should not be used when configured and the response is 200 - argument validation - should raise argument error if digest_auth is not a hash - should raise RedirectionTooDeep error if limit is negative - should raise argument error if basic_auth is not a hash - should raise argument error if headers is not a hash - should raise argument error if http method is post and query is not hash - should raise argument error if basic_auth and digest_auth are both present - should raise argument error if options method is not http accepted method - marshalling - properly marshals the request object - with POST http method - should raise argument error if query is not a hash - #setup_raw_request - when query_string_normalizer is set - sets the body to the return value of the proc - when multipart - when mulipart option is provided - sets header Content-Type: multipart/form-data; boundary= - when body contains file - sets header Content-Type: multipart/form-data; boundary= - and header Content-Type is provided - overwrites the header to: multipart/form-data; boundary= + a request that returns 304 + should be handled by UNLOCK transparently + should report 304 with a DELETE request + should report 304 with a GET request + should report 304 with a COPY request + should report 304 with a MKCOL request + should not log the redirection + should report 304 with a POST request + should report 304 with a PUT request + should report 304 with a PATCH request + should report 304 with a OPTIONS request + should be handled by LOCK transparently + should report 304 with a HEAD request + should report 304 with a MOVE request + #format + request has been made + returns format option + returns the content-type from the last response when the option is not set + request yet to be made + returns format option + returns nil format + #format_from_mimetype + returns nil when using a default parser + should handle application/csv + should handle application/json + should handle text/comma-separated-values + should handle text/json + should handle application/vnd.api+json + should handle text/javascript + should handle text/xml + should handle text/csv + should handle application/hal+json + should handle application/javascript + should handle application/xml + returns nil for an unrecognized mimetype Net::HTTP decompression - with skip_decompression true - with Accept-Encoding and other headers specified - behaves like disables Net::HTTP decompression - is expected to eq false - behaves like sets custom Accept-Encoding - is expected to eq "custom" - with Accept-Encoding specified - behaves like sets custom Accept-Encoding - is expected to eq "custom" - behaves like disables Net::HTTP decompression - is expected to eq false + with skip_decompression false (default) with no headers specified - behaves like disables Net::HTTP decompression - is expected to eq false + behaves like enables Net::HTTP decompression + is expected to eq true behaves like sets default Accept-Encoding is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" with accept-encoding (lowercase) specified + behaves like enables Net::HTTP decompression + is expected to eq true behaves like sets custom Accept-Encoding is expected to eq "custom" - behaves like disables Net::HTTP decompression - is expected to eq false - with other headers specified - behaves like sets default Accept-Encoding - is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" - behaves like disables Net::HTTP decompression - is expected to eq false - with skip_decompression false (default) with Accept-Encoding specified behaves like sets custom Accept-Encoding is expected to eq "custom" behaves like enables Net::HTTP decompression is expected to eq true - with no headers specified + with Accept-Encoding and other headers specified behaves like enables Net::HTTP decompression is expected to eq true + behaves like sets custom Accept-Encoding + is expected to eq "custom" + with other headers specified behaves like sets default Accept-Encoding is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" - with accept-encoding (lowercase) specified behaves like enables Net::HTTP decompression is expected to eq true + with skip_decompression true + with Accept-Encoding specified + behaves like sets custom Accept-Encoding + is expected to eq "custom" + behaves like disables Net::HTTP decompression + is expected to eq false + with no headers specified + behaves like sets default Accept-Encoding + is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" + behaves like disables Net::HTTP decompression + is expected to eq false + with accept-encoding (lowercase) specified + behaves like disables Net::HTTP decompression + is expected to eq false behaves like sets custom Accept-Encoding is expected to eq "custom" with other headers specified - behaves like enables Net::HTTP decompression - is expected to eq true + behaves like disables Net::HTTP decompression + is expected to eq false behaves like sets default Accept-Encoding is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" with Accept-Encoding and other headers specified - behaves like enables Net::HTTP decompression - is expected to eq true + behaves like disables Net::HTTP decompression + is expected to eq false behaves like sets custom Accept-Encoding is expected to eq "custom" a request that 302 redirects infinitely should raise an exception once - should be handled by LOCK transparently + should log the redirection should keep cookies between redirects + should be handled by HEAD transparently + should be handled by OPTIONS transparently + should update cookies with redirects + should be handled by POST transparently + should be handled by UNLOCK transparently + should be handled by GET transparently + should make resulting request a get request if it not already + should be handled by COPY transparently + should be handled by MOVE transparently + should keep track of cookies between redirects + should be handled by MKCOL transparently + should be handled by LOCK transparently should be handled by PATCH transparently + should be handled by PUT transparently should handle multiple Set-Cookie headers between redirects + should be handled by DELETE transparently should not make resulting request a get request if options[:maintain_method_across_redirects] is true - should update cookies with redirects + a request that 305 redirects + infinitely + should raise an exception + once + should be handled by UNLOCK transparently + should be handled by OPTIONS transparently + should be handled by MOVE transparently + should be handled by GET transparently + should make resulting request a get request if it not already + should be handled by POST transparently + should be handled by LOCK transparently + should be handled by PATCH transparently + should log the redirection + should keep cookies between redirects should be handled by MKCOL transparently + should be handled by HEAD transparently should be handled by COPY transparently + should not make resulting request a get request if options[:maintain_method_across_redirects] is true + should keep track of cookies between redirects should be handled by PUT transparently - should be handled by UNLOCK transparently - should be handled by MOVE transparently + should handle multiple Set-Cookie headers between redirects should be handled by DELETE transparently + should update cookies with redirects + a request that 300 redirects + once + should handle multiple Set-Cookie headers between redirects + should be handled by DELETE transparently + should make resulting request a get request if it not already + should update cookies with redirects + should keep cookies between redirects + should be handled by UNLOCK transparently + should be handled by GET transparently + should log the redirection + should be handled by COPY transparently should be handled by POST transparently should keep track of cookies between redirects + should be handled by HEAD transparently + should be handled by PATCH transparently + should not make resulting request a get request if options[:maintain_method_across_redirects] is true + should be handled by PUT transparently + should be handled by MKCOL transparently should be handled by OPTIONS transparently + should be handled by MOVE transparently + should be handled by LOCK transparently + infinitely + should raise an exception + a request that 308 redirects + once + should maintain method in resulting request if options[:maintain_method_across_redirects] is true + should be handled by DELETE transparently + should be handled by POST transparently + should be handled by PATCH transparently + should be handled by GET transparently + should update cookies with redirects + should be handled by MOVE transparently should log the redirection - should make resulting request a get request if it not already + should be handled by LOCK transparently + should be handled by PUT transparently + should be handled by COPY transparently + should maintain method in resulting request + should keep cookies between redirects + should be handled by OPTIONS transparently + should handle multiple Set-Cookie headers between redirects + should be handled by MKCOL transparently + should be handled by UNLOCK transparently + should maintain method in resulting request if options[:maintain_method_across_redirects] is false + should keep track of cookies between redirects + should be handled by HEAD transparently + infinitely + should raise an exception + a request that 307 redirects + infinitely + should raise an exception + once + should be handled by DELETE transparently + should be handled by MOVE transparently + should be handled by PUT transparently + should handle multiple Set-Cookie headers between redirects should be handled by GET transparently + should be handled by LOCK transparently + should be handled by POST transparently + should log the redirection + should be handled by COPY transparently + should be handled by MKCOL transparently + should maintain method in resulting request if options[:maintain_method_across_redirects] is false + should be handled by PATCH transparently + should keep track of cookies between redirects + should keep cookies between redirects + should maintain method in resulting request if options[:maintain_method_across_redirects] is true + should maintain method in resulting request + should be handled by OPTIONS transparently + should update cookies with redirects should be handled by HEAD transparently - -HTTParty::Logger::CurlFormatter - #format - formats a response in a style that resembles a -v curl - when request is logged - and query is present - logs Query - logs query params - and headers are present - logs headers keys - logs Headers - when request raw_body is present - not logs request body - and query is not present - not logs Query - and request's option 'base_uri' is not present - logs url - and headers are not present - not log Headers - and request's option 'base_uri' is present - logs url - when response is logged - logs body - logs http version and response code - logs headers + should be handled by UNLOCK transparently HTTParty - grand parent with inherited callback - continues running the #inherited on the parent - .follow_redirects - sets follow redirects to true by default - sets the follow_redirects option to false - .raise_on - when parameters is an array - sets raise_on option - when parameters is a fixnum - sets raise_on option - debug_output - stores the given stream as a default_option - stores the $stderr stream by default - .disable_rails_query_string_format - sets the query string normalizer to HTTParty::Request::NON_RAILS_QUERY_STRING_NORMALIZER - head requests should follow redirects requesting HEAD only - should remain HEAD request across redirects, unless specified otherwise + #resend_on_redirect + sets resend_on_redirect option to false + sets resend_on_redirect to true by default + default timeout + should default to nil + should support updating + should raise an exception if unsupported type provided + should support floats ciphers should set the ciphers content - ssl_version - should set the ssl_version content #get - should not get undefined method add_node for nil class for the following xml -[DEPRECATION] HTTParty will no longer override `response#nil?`. This functionality will be removed in future versions. Please, add explicit check `response.body.nil? || response.body.empty?`. For more info refer to: https://github.com/jnunemaker/httparty/issues/568 -/usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:69:in `match' - should parse empty response fine - should accept webcal URIs - should raise an InvalidURIError on URIs that can't be parsed at all - should be able to get html should return an empty body if stream_body option is turned on should be able parse response type csv automatically + should accept webcal URIs should be able parse response type xml automatically - should be able parse response type json automatically - should accept https URIs should accept http URIs + should accept https URIs + should raise an InvalidURIError on URIs that can't be parsed at all + should be able parse response type json automatically + should not get undefined method add_node for nil class for the following xml + should be able to get html +[DEPRECATION] HTTParty will no longer override `response#nil?`. This functionality will be removed in future versions. Please, add explicit check `response.body.nil? || response.body.empty?`. For more info refer to: https://github.com/jnunemaker/httparty/issues/568 +/usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:69:in `match' + should parse empty response fine should be able to get chunked html when streaming body is expected to eq # + #no_follow + sets no_follow to false by default + sets the no_follow option to true + two child classes inheriting from one parent + doesn't modify the parent's default cookies + does not modify each others inherited attributes + should dup the proc on the child class + inherits default_options from the superclass + doesn't modify hashes in the parent's default options + inherits default_cookies from the parent class + works with lambda values + doesn't modify the parent's default options + .follow_redirects + sets the follow_redirects option to false + sets follow redirects to true by default digest http authentication should work - #maintain_method_across_redirects - sets the maintain_method_across_redirects option to false - sets maintain_method_across_redirects to true by default - connection_adapter - should set the connection_adapter_options when provided - should process a request with a connection from the adapter - should set the connection_adapter - should not set the connection_adapter_options when not provided - basic http authentication - should work - #ensure_method_maintained_across_redirects - should set maintain_method_across_redirects option if unspecified - should not set maintain_method_across_redirects option if value is present + with explicit override of automatic redirect handling + should fail with redirected HEAD + should fail with redirected MOVE + should fail with redirected OPTIONS + should fail with redirected PUT + should fail with redirected GET + should fail with redirected COPY + should fail with redirected PATCH + should fail with redirected DELETE + should fail with redirected MKCOL + should fail with redirected POST + .normalize_base_uri + should not modify the parameter + should not treat uri's with a port of 4430 as ssl + should add https if not present for ssl requests + should add http if not present for non ssl requests + should not remove https for ssl requests + parser + should be able parse response with custom parser + should set parser options + raises UnsupportedFormat when the parser cannot handle the format + does not validate format whe custom parser is a proc + format + should not allow funky format + should allow csv + should allow xml + should only print each format once with an exception + should allow json + does not reset parser to the default parser + should allow plain + sets the default parser + default params + should be able to be updated + should default to empty hash + uri_adapter + with Addressable::URI + handles international domains + with custom URI Adaptor + should set the uri_adapter + should process a request with a uri instance parsed from the uri_adapter + should raise an ArgumentError if uri_adapter doesn't implement parse method + debug_output + stores the given stream as a default_option + stores the $stderr stream by default + head requests should follow redirects requesting HEAD only + should remain HEAD request across redirects, unless specified otherwise base uri - should not modify the parameter during assignment should have reader + should not modify the parameter during assignment should have writer + basic http authentication + should work + #maintain_method_across_redirects + sets the maintain_method_across_redirects option to false + sets maintain_method_across_redirects to true by default cookies should allow a cookie to be specified with a one-off request - should not be in the headers by default should raise an ArgumentError if passed a non-Hash + should not be in the headers by default in a class with multiple methods that use different cookies should not allow cookies used in one method to carry over into other methods when a cookie is set at the class level - should allow the class defaults to be overridden should pass the proper cookies when requested multiple times + should allow the class defaults to be overridden should include that cookie in the request - pkcs12 - should set the password - should set the p12 content - parser - does not validate format whe custom parser is a proc - should be able parse response with custom parser - raises UnsupportedFormat when the parser cannot handle the format - should set parser options - two child classes inheriting from one parent - inherits default_cookies from the parent class - does not modify each others inherited attributes - should dup the proc on the child class - doesn't modify hashes in the parent's default options - inherits default_options from the superclass - doesn't modify the parent's default cookies - works with lambda values - doesn't modify the parent's default options + .raise_on + when parameters is an array + sets raise_on option + when parameters is a fixnum + sets raise_on option headers - merges class headers with request headers + overrides class headers with request headers does not modify default_options when no arguments are passed - should be able to accept block as header value + merges class headers with request headers should be able to be updated - should default to empty hash uses the class headers when sending a request - overrides class headers with request headers + should default to empty hash + should be able to accept block as header value should pass options as argument to header block value when posting file changes content-type headers to multipart/form-data with cookies - utilizes the class-level cookies - adds cookies to the headers adds optional cookies to the optional headers doesnt modify default headers + adds cookies to the headers + utilizes the class-level cookies when headers passed as symbols converts them to string converts default headers to string - .normalize_base_uri - should not treat uri's with a port of 4430 as ssl - should add http if not present for non ssl requests - should not modify the parameter - should add https if not present for ssl requests - should not remove https for ssl requests + connection_adapter + should not set the connection_adapter_options when not provided + should set the connection_adapter + should set the connection_adapter_options when provided + should process a request with a connection from the adapter + http_proxy + should set the proxy user and pass when they are provided + should set the address + with multiple class definitions + should not run over each others options pem should set the password to nil if it's not provided should set the pem content should set the password - default timeout - should raise an exception if unsupported type provided - should default to nil - should support updating - should support floats - #resend_on_redirect - sets resend_on_redirect to true by default - sets resend_on_redirect option to false - default params - should be able to be updated - should default to empty hash - with explicit override of automatic redirect handling - should fail with redirected OPTIONS - should fail with redirected PATCH - should fail with redirected PUT - should fail with redirected POST - should fail with redirected DELETE - should fail with redirected MKCOL - should fail with redirected MOVE - should fail with redirected COPY - should fail with redirected HEAD - should fail with redirected GET - http_proxy - should set the address - should set the proxy user and pass when they are provided - format - should only print each format once with an exception - should not allow funky format - sets the default parser - does not reset parser to the default parser - should allow plain - should allow csv - should allow json - should allow xml + pkcs12 + should set the password + should set the p12 content + #ensure_method_maintained_across_redirects + should set maintain_method_across_redirects option if unspecified + should not set maintain_method_across_redirects option if value is present + .disable_rails_query_string_format + sets the query string normalizer to HTTParty::Request::NON_RAILS_QUERY_STRING_NORMALIZER .query_string_normalizer sets the query_string_normalizer option - #no_follow - sets the no_follow option to true - sets no_follow to false by default - uri_adapter - with custom URI Adaptor - should set the uri_adapter - should process a request with a uri instance parsed from the uri_adapter - should raise an ArgumentError if uri_adapter doesn't implement parse method - with Addressable::URI - handles international domains - with multiple class definitions - should not run over each others options - -HTTParty::Request - SSL certificate verification - should work when no trusted CA list is specified, even with a bogus hostname, when the verify option is set to true -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when using ssl_ca_file and the server uses an unrecognized certificate authority - should work when using ssl_ca_file with a certificate authority - should work when using ssl_ca_file with a self-signed CA -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when no trusted CA list is specified, with a bogus hostname, by default - should work when using ssl_ca_path with a certificate authority -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: ssl/tls alert bad certificate (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when using ssl_ca_file and the server uses a bogus hostname - should provide the certificate used by the server via peer_cert -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when using ssl_ca_path and the server uses an unrecognized certificate authority -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when no trusted CA list is specified, by default - should work when no trusted CA list is specified, when the verify option is set to false -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when using ssl_ca_path and the server uses a bogus hostname - -HTTParty::Logger - .build - builds :custom style logger - builds :curl style logger - defaults level to :info - builds :logstash style logger - defaults format to :apache - raises error when formatter exists - -HTTParty::Request::Body - #call - when params is hash - is expected to eq "people%5B%5D=Bob%20Jones&people%5B%5D=Mike%20Smith" - when params has file - is expected not to change `file.pos` - is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[avatar]\";...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" - when file name contains [ " \r \n ] - is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[attachment...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" - when passing multipart as an option - is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[first_name...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" - file object responds to original_filename - is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[avatar]\";...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" - when params is string - is expected to eq "name=Bob%20Jones" - #multipart? - when params responds to to_hash - when it does not contain a file - is expected to eq false - when force_multipart is true - is expected to equal true - when it contains file - is expected to equal true - when params does not respond to to_hash - is expected to equal false - -HTTParty::Error - HTTParty::UnsupportedFormat - #ancestors - is expected to include HTTParty::Error - HTTParty::ResponseError - #ancestors - is expected to include HTTParty::Error - HTTParty::UnsupportedURIScheme - #ancestors - is expected to include HTTParty::Error - #ancestors - is expected to include StandardError - HTTParty::DuplicateLocationHeader - #ancestors - is expected to include HTTParty::ResponseError - HTTParty::RedirectionTooDeep - #ancestors - is expected to include HTTParty::ResponseError - -HTTParty::Parser - .supports_format? - returns true for a supported format - returns false for an unsupported format - #parse_supported_format - calls the parser for the given format - when a parsing method does not exist for the given format - raises an exception - raises a useful exception message for subclasses - .supported_formats - returns a unique set of supported formats represented by symbols - .call - calls #parse on the parser - generates an HTTParty::Parser instance with the given body and format - .formats - returns the SupportedFormats constant for subclasses - returns the SupportedFormats constant - .format_from_mimetype - returns a symbol representing the format mimetype - returns nil when the mimetype is not supported - .SupportedFormats - returns a hash - parsers - parses xml with MultiXml - parses json with JSON - parses csv with CSV - parses html by simply returning the body - parses plain text by simply returning the body - #parse - parses frozen strings - returns nil for a body with spaces only - ignores utf-8 bom - does not raise exceptions for bodies with invalid encodings - returns nil for a nil body - parses ascii 8bit encoding - returns nil for an empty body - attempts to parse supported formats - returns the unparsed body when the format is unsupported - returns nil for a 'null' body - #supports_format? - utilizes the class method to determine if the format is supported - -HTTParty::Logger::ApacheFormatter - #format - formats a response in a style that resembles apache's access log - when there is a parsed response - can handle the Content-Length header - -HTTParty::Decompressor - .SupportedEncodings - returns a hash - #decompress - when encoding is nil - behaves like returns the body - is expected to eq "body" - when encoding is unsupported - behaves like returns nil - is expected to be nil - when body is blank - is expected to eq " " - when encoding is "zstd" - when zstd raises error - is expected to eq nil - when zstd-ruby gem not included - behaves like returns nil - is expected to be nil - when zstd-ruby included - is expected to eq "foobar" - when encoding is blank - behaves like returns the body - is expected to eq "body" - when encoding is "compress" - when ruby-lzws raises error - is expected to eq nil - when ruby-lzws included - is expected to eq "foobar" - when LZW gem not included - behaves like returns nil - is expected to be nil - when compress-lzw included - is expected to eq "foobar" - when encoding is "none" - behaves like returns the body - is expected to eq "body" - when body is nil - behaves like returns nil - is expected to be nil - when encoding is "br" - when brotli included - is expected to eq "foobar" - when brotli raises error - is expected to eq nil - when brotli gem not included - behaves like returns nil - is expected to be nil - when encoding is "identity" - behaves like returns the body - is expected to eq "body" - -HTTParty::HeadersProcessor - when only global headers are set - returns stringified global headers - when only request specific headers are set - returns stringified request specific headers - when headers are not set at all - returns empty hash - when global and request specific headers are set - returns merged global and request specific headers - when headers are dynamic - returns processed global and request specific headers - -HTTParty::ResponseFragment - access to fragment - has access to delegators - -HTTParty::ConnectionAdapter - .call - calls #connection on the connection adapter - generates an HTTParty::ConnectionAdapter instance with the given uri and options - #connection - the resulting connection - is expected to be an instance of Net::HTTP - when providing PEM certificates - when scheme is https - will verify the certificate - uses the provided PEM certificate - when options include verify_peer=false - should not verify the certificate - when options include verify=false - should not verify the certificate - when scheme is not https - has no PEM certificate - when setting max_retries - to 0 times - #max_retries - is expected to eq 0 - and max_retries is a string - doesn't set the max_retries - to 5 times - #max_retries - is expected to eq 5 - when timeout is set and write_timeout is set to 8 seconds - should override the timeout option - #write_timeout - is expected to eq 8 - when timeout is set and read_timeout is set to 6 seconds - should override the timeout option - #read_timeout - is expected to eq 6 - #write_timeout - is expected to eq 5 - #open_timeout - is expected to eq 5 - when uri port is not defined - falls back to 80 port on http - is expected to equal 80 - falls back to 443 port on https - is expected to equal 443 - when dealing with IPv6 - strips brackets from the address - specifying ciphers - should set the ciphers on the connection - when providing a local bind address and port - #local_host - is expected to eq "127.0.0.1" - #local_port - is expected to eq 12345 - when not providing a proxy address - does not pass any proxy parameters to the connection - when timeout is not set and open_timeout is set to 7 seconds - should not set the read_timeout - should not set the write_timeout - #open_timeout - is expected to eq 7 - when max_retries is not set - doesn't set the max_retries - when timeout is set and open_timeout is set to 7 seconds - should override the timeout option - #open_timeout - is expected to eq 7 - #read_timeout - is expected to eq 5 - #write_timeout - is expected to eq 5 - when providing nil as proxy address - is expected not to be a proxy - does pass nil proxy parameters to the connection, this forces to not use a proxy - when debug_output - is set to $stderr - has debug output set - is not provided - does not set_debug_output - when timeout is not set and write_timeout is set to 8 seconds - should not set the open timeout - should not set the read timeout - #write_timeout - is expected to eq 8 - when dealing with ssl - should use the specified cert store, when one is given - is expected to use cert store # - https scheme with non-standard port - is expected to use ssl - when ssl version is set - sets ssl version - uses the system cert_store, by default - is expected to use cert store # - https scheme with default port - is expected to use ssl - using port 443 for ssl - is expected to use ssl - when providing PKCS12 certificates - when scheme is not https - has no PKCS12 certificate - when scheme is https - will verify the certificate - uses the provided P12 certificate - when options include verify=false - should not verify the certificate - when options include verify_peer=false - should not verify the certificate - when providing proxy address and port - is expected to be a proxy - as well as proxy user and password - #proxy_user - is expected to eq "user" - #proxy_pass - is expected to eq "pass" - #proxy_port - is expected to eq 8080 - #proxy_address - is expected to eq "1.2.3.4" - when timeout is not set and read_timeout is set to 6 seconds - should not set the write_timeout - should not set the open_timeout - #read_timeout - is expected to eq 6 - using port 80 - is expected not to use ssl - when timeout is not set - doesn't set the timeout - when setting timeout - to 5 seconds - #read_timeout - is expected to eq 5 - #write_timeout - is expected to eq 5 - #open_timeout - is expected to eq 5 - and timeout is a string - doesn't set the timeout - initialization - also accepts an optional options hash - takes a URI as input - raises an ArgumentError if the uri is a String - sets the options - sets the uri - raises an ArgumentError if the uri is nil - -HTTParty::Logger::LogstashFormatter - #format - formats a response to be compatible with Logstash - -HTTParty::CookieHash - #add_cookies - with other class - should error - with a string - should add new key/value pairs to the hash - should handle an empty cookie parameter - should handle '=' within cookie value - should overwrite any existing key - with a hash - should add new key/value pairs to the hash - should overwrite any existing key - #to_cookie_string - should format the key/value pairs, delimited by semi-colons - should not include SameSite attribute - should not include client side only cookies even when attributes use camal case - should not mutate the hash - should not include client side only cookies - -Net::HTTPHeader::DigestAuthenticator - with a cookie value in the response header - should set cookie header - with specified quality of protection (qop) - should set nonce-count - should set response - should set cnonce - should set qop - should set username - should set prefix - should set digest-uri - when quality of protection (qop) is unquoted - should still set qop - without an opaque valid in the response header - should not set opaque - with multiple authenticate headers - should set response - should set cnonce - should set digest-uri - should set nonce-count - should set prefix - should set username - should set qop - Net::HTTPHeader#digest_auth - should set the authorization header - with md5-sess algorithm specified - should set response using md5-sess algorithm - should recognise algorithm was specified - should set the algorithm header - with an opaque value in the response header - should set opaque - with http basic auth response when net digest auth expected - should not fail - with algorithm specified - should set the algorithm header - should recognise algorithm was specified - with unspecified quality of protection (qop) - should set response - should set prefix - should set digest-uri - should set username - should not set qop - should not set cnonce - should not set nonce-count - without a cookie value in the response header - should set empty cookie header array - -HTTParty::Response - responds to hash methods - responds to body - response to request - returns response headers - returns a comma-delimited value when multiple values exist - responds to parsed_response - does raise an error about itself when invoking a method that does not exist - allows headers to be accessed by mixed-case names in hash notation - responds to anything parsed_response responds to - responds to response - responds to predicates - does raise an error about itself when using #method - responds to headers - should send missing methods to delegate - #tap - is possible to tap into a response - #kind_of? - is expected to be truthy - is expected to respond to #kind_of? with 1 argument - is expected to be truthy - semantic methods for response codes - major codes - is server error - is client error - is information - is success - is redirection - for specific codes - responds to internal_server_error? - responds to bad_gateway? - responds to request_entity_too_large? - responds to gateway_time_out? - responds to reset_content? - responds to created? - responds to uri_too_long? - responds to moved_permanently? - responds to use_proxy? - responds to multiple_choices? - responds to payload_too_large? - responds to temporary_redirect? - responds to partial_content? - responds to version_not_supported? - responds to forbidden? - responds to no_content? - responds to precondition_failed? - responds to unauthorized? - responds to requested_range_not_satisfiable? - responds to conflict? - responds to see_other? - responds to non_authoritative_information? - responds to bad_request? - responds to range_not_satisfiable? - responds to not_found? - responds to expectation_failed? - responds to not_implemented? - responds to payment_required? - responds to found? - responds to service_unavailable? - responds to not_acceptable? - responds to request_timeout? - responds to proxy_authentication_required? - responds to method_not_allowed? - responds to gone? - responds to ok? - responds to not_modified? - responds to switch_protocol? - responds to multiple_choice? - responds to continue? - responds to request_uri_too_long? - responds to accepted? - responds to unsupported_media_type? - responds to length_required? - responds to request_time_out? - responds to gateway_timeout? - headers - does equal a hash - always equals itself - does not equal itself when not equivalent - can initialize without headers - marshalling - is expected to eq 200 - response is array - should respond to array methods - should display the same as an array - should equal the string response object body - should be able to iterate - #is_a? - is expected to respond to #is_a? with 1 argument - is expected to be truthy - is expected to be truthy - #inspect - works - initialization - should set the Net::HTTP Response - should set http_version - should set code - should set code as an Integer - should set body - when raise_on is supplied - and response's status code is not in range - does not throw exception - and response's status code is in range - throws exception - .underscore - works with one capitalized word - works with titlecase - works with all caps - -HTTParty::HashConversions - .to_params - creates a params string from a hash - nested params - creates a params string from a hash - .normalize_param - value is a string - creates a params string - value is an array - creates a params string - value is an empty array - creates a params string - value is hash - creates a params string + grand parent with inherited callback + continues running the #inherited on the parent + ssl_version + should set the ssl_version content Pending: (Failures listed here are expected and do not affect your suite's status) @@ -3375,54 +3411,54 @@ # Temporarily skipped with xit # ./spec/httparty/request_spec.rb:691 -Top 10 slowest examples (1.46 seconds, 33.8% of total time): - HTTParty::Request SSL certificate verification should work when using ssl_ca_file with a self-signed CA - 0.27728 seconds ./spec/httparty/ssl_spec.rb:33 - HTTParty::Request SSL certificate verification should work when using ssl_ca_file with a certificate authority - 0.22229 seconds ./spec/httparty/ssl_spec.rb:37 +Top 10 slowest examples (1.56 seconds, 31.2% of total time): HTTParty::Request SSL certificate verification should provide the certificate used by the server via peer_cert - 0.18083 seconds ./spec/httparty/ssl_spec.rb:74 + 0.2156 seconds ./spec/httparty/ssl_spec.rb:74 + HTTParty::Request SSL certificate verification should work when using ssl_ca_file with a certificate authority + 0.2152 seconds ./spec/httparty/ssl_spec.rb:37 + HTTParty::Request SSL certificate verification should work when using ssl_ca_file with a self-signed CA + 0.21216 seconds ./spec/httparty/ssl_spec.rb:33 HTTParty::Request SSL certificate verification should work when no trusted CA list is specified, even with a bogus hostname, when the verify option is set to true - 0.15867 seconds ./spec/httparty/ssl_spec.rb:29 + 0.16963 seconds ./spec/httparty/ssl_spec.rb:29 HTTParty::Request SSL certificate verification should work when no trusted CA list is specified, when the verify option is set to false - 0.14858 seconds ./spec/httparty/ssl_spec.rb:19 - HTTParty::Request SSL certificate verification should fail when no trusted CA list is specified, with a bogus hostname, by default - 0.10556 seconds ./spec/httparty/ssl_spec.rb:23 - HTTParty::Request::Body#call when params is hash when params has file is expected not to change `file.pos` - 0.10064 seconds ./spec/httparty/request/body_spec.rb:67 - HTTParty::Request SSL certificate verification should fail when using ssl_ca_file and the server uses an unrecognized certificate authority - 0.09905 seconds ./spec/httparty/ssl_spec.rb:50 + 0.16783 seconds ./spec/httparty/ssl_spec.rb:19 HTTParty#get should be able parse response type xml automatically - 0.08787 seconds ./spec/httparty_spec.rb:907 + 0.13213 seconds ./spec/httparty_spec.rb:907 + HTTParty::Request SSL certificate verification should fail when using ssl_ca_path and the server uses an unrecognized certificate authority + 0.11476 seconds ./spec/httparty/ssl_spec.rb:56 + HTTParty::Request SSL certificate verification should fail when using ssl_ca_file and the server uses an unrecognized certificate authority + 0.11064 seconds ./spec/httparty/ssl_spec.rb:50 HTTParty::Request SSL certificate verification should fail when using ssl_ca_file and the server uses a bogus hostname - 0.07752 seconds ./spec/httparty/ssl_spec.rb:62 + 0.11049 seconds ./spec/httparty/ssl_spec.rb:62 + HTTParty::Request SSL certificate verification should fail when no trusted CA list is specified, with a bogus hostname, by default + 0.10932 seconds ./spec/httparty/ssl_spec.rb:23 Top 10 slowest example groups: HTTParty::Request - 0.13003 seconds average (1.56 seconds / 12 examples) ./spec/httparty/ssl_spec.rb:3 + 0.14339 seconds average (1.72 seconds / 12 examples) ./spec/httparty/ssl_spec.rb:3 HTTParty::Request::Body - 0.01127 seconds average (0.12398 seconds / 11 examples) ./spec/httparty/request/body_spec.rb:6 + 0.01265 seconds average (0.13916 seconds / 11 examples) ./spec/httparty/request/body_spec.rb:6 HTTParty::ConnectionAdapter - 0.00667 seconds average (0.46656 seconds / 70 examples) ./spec/httparty/connection_adapter_spec.rb:3 + 0.01006 seconds average (0.70405 seconds / 70 examples) ./spec/httparty/connection_adapter_spec.rb:3 + HTTParty::HeadersProcessor + 0.00665 seconds average (0.03323 seconds / 5 examples) ./spec/httparty/headers_processor_spec.rb:3 HTTParty::Logger::CurlFormatter - 0.00646 seconds average (0.08403 seconds / 13 examples) ./spec/httparty/logger/curl_formatter_spec.rb:3 - HTTParty - 0.00431 seconds average (0.50456 seconds / 117 examples) ./spec/httparty_spec.rb:3 + 0.00647 seconds average (0.08406 seconds / 13 examples) ./spec/httparty/logger/curl_formatter_spec.rb:3 + Net::HTTPHeader::DigestAuthenticator + 0.00471 seconds average (0.15531 seconds / 33 examples) ./spec/httparty/net_digest_auth_spec.rb:3 HTTParty::Logger::LogstashFormatter - 0.0037 seconds average (0.0037 seconds / 1 example) ./spec/httparty/logger/logstash_formatter_spec.rb:3 + 0.00466 seconds average (0.00466 seconds / 1 example) ./spec/httparty/logger/logstash_formatter_spec.rb:3 HTTParty::Request - 0.00367 seconds average (1.03 seconds / 280 examples) ./spec/httparty/request_spec.rb:3 - Net::HTTPHeader::DigestAuthenticator - 0.00343 seconds average (0.11309 seconds / 33 examples) ./spec/httparty/net_digest_auth_spec.rb:3 - HTTParty::HashConversions - 0.00312 seconds average (0.01874 seconds / 6 examples) ./spec/httparty/hash_conversions_spec.rb:3 - HTTParty::Response - 0.00305 seconds average (0.28092 seconds / 92 examples) ./spec/httparty/response_spec.rb:3 + 0.00438 seconds average (1.23 seconds / 280 examples) ./spec/httparty/request_spec.rb:3 + HTTParty + 0.00407 seconds average (0.47615 seconds / 117 examples) ./spec/httparty_spec.rb:3 + HTTParty::Decompressor + 0.00387 seconds average (0.06973 seconds / 18 examples) ./spec/httparty/decompressor_spec.rb:3 -Finished in 4.31 seconds (files took 1.44 seconds to load) +Finished in 4.99 seconds (files took 1.78 seconds to load) 715 examples, 0 failures, 1 pending -Randomized with seed 4033 +Randomized with seed 48770 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -3462,12 +3498,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/27661/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/27661/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/14877 and its subdirectories -I: Current time: Fri Jan 24 12:52:57 -12 2025 -I: pbuilder-time-stamp: 1737766377 +I: removing directory /srv/workspace/pbuilder/27661 and its subdirectories +I: Current time: Sat Jan 25 14:57:17 +14 2025 +I: pbuilder-time-stamp: 1737766637