Diff of the two buildlogs: -- --- b1/build.log 2024-04-20 03:49:31.143942867 +0000 +++ b2/build.log 2024-04-20 03:53:41.165254224 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Apr 19 15:45:29 -12 2024 -I: pbuilder-time-stamp: 1713584729 +I: Current time: Sat Apr 20 17:49:42 +14 2024 +I: pbuilder-time-stamp: 1713584982 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -30,52 +30,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/21792/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/8549/tmp/hooks/D01_modify_environment starting +debug: Running on virt64c. +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 Apr 20 03:50 /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/8549/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/8549/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]="21" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.2.21(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='5c3bf77196704a30b7762e3a29bc47a0' - 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='21792' - PS1='# ' - PS2='> ' + INVOCATION_ID=0631044b203d488d8019d27ae3dcbbe6 + 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=8549 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.eXkEKw7D/pbuilderrc_1DVn --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.eXkEKw7D/b1 --logfile b1/build.log ruby-httparty_0.21.0-1.dsc' - SUDO_GID='113' - SUDO_UID='107' - 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.eXkEKw7D/pbuilderrc_mg4q --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.eXkEKw7D/b2 --logfile b2/build.log ruby-httparty_0.21.0-1.dsc' + SUDO_GID=113 + SUDO_UID=107 + 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 virt32a 6.1.0-20-armmp-lpae #1 SMP Debian 6.1.85-1 (2024-04-11) armv7l GNU/Linux + Linux i-capture-the-hostname 6.1.0-20-arm64 #1 SMP Debian 6.1.85-1 (2024-04-11) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Apr 16 07:43 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/21792/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Apr 17 07:43 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/8549/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -268,7 +300,7 @@ Get: 139 http://deb.debian.org/debian unstable/main armhf ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 140 http://deb.debian.org/debian unstable/main armhf ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Get: 141 http://deb.debian.org/debian unstable/main armhf ruby-webmock all 3.18.1-2 [66.2 kB] -Fetched 45.7 MB in 2s (28.4 MB/s) +Fetched 45.7 MB in 2s (19.1 MB/s) debconf: delaying package configuration, since apt-utils is not installed 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 ... 19442 files and directories currently installed.) @@ -736,8 +768,8 @@ Setting up tzdata (2024a-3) ... Current default time zone: 'Etc/UTC' -Local time is now: Sat Apr 20 03:47:28 UTC 2024. -Universal Time is now: Sat Apr 20 03:47:28 UTC 2024. +Local time is now: Sat Apr 20 03:52:04 UTC 2024. +Universal Time is now: Sat Apr 20 03:52:04 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -866,7 +898,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/8549/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/8549/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 @@ -898,7 +934,7 @@ dh_prep -O--buildsystem=ruby dh_auto_install --destdir=debian/ruby-httparty/ -O--buildsystem=ruby dh_ruby --install /build/reproducible-path/ruby-httparty-0.21.0/debian/ruby-httparty -/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20240419-31064-k316e8/gemspec +/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20240420-21132-92d6aq/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash WARNING: description and summary are identical WARNING: open-ended dependency on multi_xml (>= 0.5.2) is not recommended @@ -912,7 +948,7 @@ Name: httparty Version: 0.21.0 File: httparty-0.21.0.gem -/usr/bin/ruby3.1 -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/d20240419-31064-k316e8/httparty-0.21.0.gem +/usr/bin/ruby3.1 -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/d20240420-21132-92d6aq/httparty-0.21.0.gem Failed to load /dev/null because it doesn't contain valid YAML hash /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 @@ -980,195 +1016,59 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 45974 +Randomized with seed 48616 -HTTParty::Error - HTTParty::ResponseError - #ancestors - is expected to include HTTParty::Error - #ancestors - is expected to include StandardError - HTTParty::DuplicateLocationHeader - #ancestors - is expected to include HTTParty::ResponseError - HTTParty::UnsupportedFormat - #ancestors - is expected to include HTTParty::Error - HTTParty::UnsupportedURIScheme - #ancestors - is expected to include HTTParty::Error - HTTParty::RedirectionTooDeep - #ancestors - is expected to include HTTParty::ResponseError +HTTParty::Logger::LogstashFormatter + #format + formats a response to be compatible with Logstash -HTTParty - default params - should be able to be updated - should default to empty hash - .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 - digest http authentication - should work - headers - uses the class headers when sending a request - should be able to accept block as header value - overrides class headers with request headers - should pass options as argument to header block value - merges class headers with request headers - does not modify default_options when no arguments are passed - should be able to be updated - should default to empty hash - with cookies - doesnt modify default headers - adds cookies to the headers - utilizes the class-level cookies - adds optional cookies to the optional headers - when posting file - changes content-type headers to multipart/form-data - when headers passed as symbols - converts them to string - converts default headers to string - ciphers - should set the ciphers content - with multiple class definitions - should not run over each others options - base uri - should have reader - should not modify the parameter during assignment - should have writer - ssl_version - should set the ssl_version content - with explicit override of automatic redirect handling - should fail with redirected POST - should fail with redirected COPY - should fail with redirected GET - should fail with redirected MOVE - should fail with redirected OPTIONS - should fail with redirected HEAD - should fail with redirected PATCH - should fail with redirected PUT - should fail with redirected DELETE - should fail with redirected MKCOL - 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 - 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 - pem - should set the pem content - should set the password to nil if it's not provided - should set the password - .query_string_normalizer - sets the query_string_normalizer option - .normalize_base_uri - should not remove https for ssl requests - should not modify the parameter - should add http if not present for non ssl requests - should not treat uri's with a port of 4430 as ssl - should add https if not present for ssl requests - #get - should accept http URIs - should not get undefined method add_node for nil class for the following xml - should be able parse response type csv automatically - should return an empty body if stream_body option is turned on - should accept https URIs - should accept webcal URIs - should be able to get html - should raise an InvalidURIError on URIs that can't be parsed at all - should be able parse response type json automatically - should be able to get chunked html - should be able parse response type xml automatically -[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 - when streaming body - is expected to eq # - two child classes inheriting from one parent - does not modify each others inherited attributes - doesn't modify hashes in the parent's default options - doesn't modify the parent's default options - inherits default_options from the superclass - inherits default_cookies from the parent class - doesn't modify the parent's default cookies - works with lambda values - should dup the proc on the child class - parser - should set parser options - raises UnsupportedFormat when the parser cannot handle the format - should be able parse response with custom parser - does not validate format whe custom parser is a proc - pkcs12 - should set the password - should set the p12 content - http_proxy - should set the address - should set the proxy user and pass when they are provided - grand parent with inherited callback - continues running the #inherited on the parent - format - sets the default parser - does not reset parser to the default parser - should allow plain - should allow xml - should only print each format once with an exception - should not allow funky format - should allow csv - should allow json - .follow_redirects - sets the follow_redirects option to false - sets follow redirects to true by default - #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 - #resend_on_redirect - sets resend_on_redirect to true by default - sets resend_on_redirect option to false - .raise_on - when parameters is an array - sets raise_on option - when parameters is a fixnum - sets raise_on option - connection_adapter - should process a request with a connection from the adapter - should set the connection_adapter - should set the connection_adapter_options when provided - should not set the connection_adapter_options when not provided - #no_follow - sets no_follow to false by default - sets the no_follow option to true - debug_output - stores the $stderr stream by default - stores the given stream as a default_option - default timeout - should raise an exception if unsupported type provided - should default to nil - should support floats - should support updating - uri_adapter - with custom URI Adaptor - should raise an ArgumentError if uri_adapter doesn't implement parse method - should process a request with a uri instance parsed from the uri_adapter - should set the uri_adapter - with Addressable::URI - handles international domains - #maintain_method_across_redirects - sets maintain_method_across_redirects to true by default - sets the maintain_method_across_redirects option to false - basic http authentication - should work +HTTParty::Parser + #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 + #parse + attempts to parse supported formats + does not raise exceptions for bodies with invalid encodings + parses frozen strings + returns nil for a body with spaces only + returns nil for a nil body + ignores utf-8 bom + returns the unparsed body when the format is unsupported + returns nil for a 'null' body + returns nil for an empty body + parses ascii 8bit encoding + .supports_format? + returns false for an unsupported format + returns true for a supported format + .formats + returns the SupportedFormats constant for subclasses + returns the SupportedFormats constant + .format_from_mimetype + returns nil when the mimetype is not supported + returns a symbol representing the format mimetype + #supports_format? + utilizes the class method to determine if the format is supported + .call + generates an HTTParty::Parser instance with the given body and format + calls #parse on the parser + .supported_formats + returns a unique set of supported formats represented by symbols + 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 + .SupportedFormats + returns a hash HTTParty::HeadersProcessor - when global and request specific headers are set - returns merged global and request specific headers when only request specific headers are set returns stringified request specific headers + when global and request specific headers are set + returns merged global and request specific headers when only global headers are set returns stringified global headers when headers are not set at all @@ -1176,139 +1076,212 @@ when headers are dynamic returns processed global and request specific headers -HTTParty::Logger::CurlFormatter - #format - formats a response in a style that resembles a -v curl - when response is logged - logs headers - logs http version and response code - logs body - when request is logged - and request's option 'base_uri' is present - logs url - and request's option 'base_uri' is not present - logs url - when request raw_body is present - not logs request body - and query is not present - not logs Query - and headers are present - logs headers keys - logs Headers - and headers are not present - not log Headers - and query is present - logs Query - logs query params +HTTParty::Error + HTTParty::RedirectionTooDeep + #ancestors + is expected to include HTTParty::ResponseError + HTTParty::UnsupportedURIScheme + #ancestors + is expected to include HTTParty::Error + HTTParty::ResponseError + #ancestors + is expected to include HTTParty::Error + HTTParty::DuplicateLocationHeader + #ancestors + is expected to include HTTParty::ResponseError + #ancestors + is expected to include StandardError + HTTParty::UnsupportedFormat + #ancestors + is expected to include HTTParty::Error -HTTParty::Response - responds to response - allows headers to be accessed by mixed-case names in hash notation - does raise an error about itself when using #method - responds to headers - should send missing methods to delegate - response to request - returns a comma-delimited value when multiple values exist - responds to anything parsed_response responds to - responds to body - returns response headers - responds to parsed_response - responds to hash methods - does raise an error about itself when invoking a method that does not exist - responds to predicates - #tap - is possible to tap into a response - marshalling - is expected to eq 200 - semantic methods for response codes - for specific codes - responds to continue? - responds to uri_too_long? - responds to request_entity_too_large? - responds to proxy_authentication_required? - responds to version_not_supported? - responds to non_authoritative_information? - responds to accepted? - responds to internal_server_error? - responds to bad_gateway? - responds to unauthorized? - responds to conflict? - responds to payload_too_large? - responds to partial_content? - responds to forbidden? - responds to range_not_satisfiable? - responds to see_other? - responds to length_required? - responds to not_acceptable? - responds to gateway_timeout? - responds to reset_content? - responds to gateway_time_out? - responds to service_unavailable? - responds to ok? - responds to request_uri_too_long? - responds to multiple_choice? - responds to not_modified? - responds to gone? - responds to use_proxy? - responds to found? - responds to temporary_redirect? - responds to precondition_failed? - responds to moved_permanently? - responds to not_found? - responds to multiple_choices? - responds to method_not_allowed? - responds to created? - responds to request_timeout? - responds to requested_range_not_satisfiable? - responds to no_content? - responds to expectation_failed? - responds to not_implemented? - responds to unsupported_media_type? - responds to payment_required? - responds to switch_protocol? - responds to bad_request? - responds to request_time_out? - major codes - is server error - is success - is redirection - is information - is client error - .underscore - works with one capitalized word - works with titlecase - works with all caps - response is array - should display the same as an array - should respond to array methods - should be able to iterate - should equal the string response object body +HTTParty::ConnectionAdapter + #connection + the resulting connection + is expected to be an instance of Net::HTTP + when timeout is not set + doesn't set the timeout + 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 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 PKCS12 certificates + 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 scheme is not https + has no PKCS12 certificate + when uri port is not defined + falls back to 443 port on https + is expected to equal 443 + falls back to 80 port on http + is expected to equal 80 + 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 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 timeout is set and write_timeout is set to 8 seconds + should override the timeout option + #write_timeout + is expected to eq 8 + when dealing with IPv6 + strips brackets from the address + when max_retries is not set + doesn't set the max_retries + when setting timeout + to 5 seconds + #write_timeout + is expected to eq 5 + #open_timeout + is expected to eq 5 + #read_timeout + is expected to eq 5 + and timeout is a string + doesn't set the timeout + 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 providing a local bind address and port + #local_host + is expected to eq "127.0.0.1" + #local_port + is expected to eq 12345 + using port 80 + is expected not to use ssl + 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 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 + specifying ciphers + should set the ciphers on the connection + when debug_output + is set to $stderr + has debug output set + is not provided + does not set_debug_output + when not providing a proxy address + does not pass any proxy parameters to the connection + 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 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 dealing with ssl + https scheme with default port + is expected to use ssl + https scheme with non-standard port + is expected to use 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 + uses the system cert_store, by default + is expected to use cert store # initialization - should set code - should set code as an Integer - should set the Net::HTTP Response - should set body - should set http_version - 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 - headers - does not equal itself when not equivalent - can initialize without headers - does equal a hash - always equals itself - #is_a? - is expected to be truthy - is expected to be truthy - is expected to respond to #is_a? with 1 argument - #kind_of? - is expected to be truthy - is expected to be truthy - is expected to respond to #kind_of? with 1 argument - #inspect - works + takes a URI as input + raises an ArgumentError if the uri is a String + sets the uri + sets the options + also accepts an optional options hash + raises an ArgumentError if the uri is nil + .call + generates an HTTParty::ConnectionAdapter instance with the given uri and options + calls #connection on the connection adapter + +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 using ssl_ca_path and the server uses a bogus hostname + should work when no trusted CA list is specified, even with a bogus hostname, when the verify option is set to true + should work when using ssl_ca_file with a 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.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 +# 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 using ssl_ca_path 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: 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 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_file and the server uses an unrecognized certificate authority HTTParty::Request should not fail for missing mime type @@ -1317,73 +1290,33 @@ [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 - marshalling - properly marshals the request object - a request that 302 redirects + a request that 308 redirects + infinitely + should raise an exception once should be handled by UNLOCK transparently - should be handled by OPTIONS transparently + should maintain method in resulting request if options[:maintain_method_across_redirects] is true + should keep cookies between redirects + should be handled by DELETE transparently + should be handled by MOVE transparently should be handled by PUT transparently - should be handled by MKCOL transparently + should maintain method in resulting request should be handled by LOCK transparently - should be handled by DELETE transparently - should be handled by HEAD transparently should be handled by GET transparently - should keep track of cookies between redirects + should maintain method in resulting request if options[:maintain_method_across_redirects] is false should be handled by POST transparently - should be handled by COPY transparently - should be handled by PATCH transparently - should log the redirection + should be handled by HEAD transparently should handle multiple Set-Cookie headers between redirects - should make resulting request a get request if it not already + should log the redirection + should keep track of cookies between redirects should update cookies with redirects - 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 MOVE transparently - infinitely - should raise an exception - parsing responses - should process utf-16 charset with big endian bom correctly - should include any HTTP headers in the returned response - should handle utf-8 bom in xml - should perform no encoding if the charset is not available - should handle utf-8 bom in json - should perform no encoding if the content type is specified but no charset is specified - should handle csv automatically - should handle xml automatically - should assume utf-16 little endian if options has been chosen - should handle json automatically - should process response with a nil body - when body has ascii-8bit encoding - processes quoted charset in content type properly - processes charset in content type properly if it has a different case - processes charset in content type properly - 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 5xx response - should return a valid object for 4xx response - 3xx responses -[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 - redirects including port - redirects if a 300 contains a relative location header - raises an error if redirect has duplicate location header - returns the HTTParty::Response when the 300 does not contain a location header - handles multiple redirects and relative location headers on different hosts - 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 not decompress the body if the :skip_decompression option is set - should remove the Content-Encoding header if uncompressed + should be handled by PATCH transparently + should be handled by MKCOL transparently + should be handled by COPY transparently + should be handled by OPTIONS transparently #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= @@ -1391,721 +1324,824 @@ 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 - #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 - a request that 307 redirects - once - should be handled by POST transparently - should maintain method in resulting request - should be handled by DELETE transparently - should be handled by MOVE transparently - should be handled by COPY transparently - should be handled by GET transparently - should log the redirection - should keep cookies between redirects - should maintain method in resulting request if options[:maintain_method_across_redirects] is false - should handle multiple Set-Cookie headers between redirects - should keep track of cookies between redirects - should update cookies with redirects - should be handled by PUT transparently - should be handled by PATCH 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 UNLOCK transparently - should be handled by MKCOL transparently - should be handled by LOCK transparently - should be handled by OPTIONS transparently - infinitely - should raise an exception - initialization - sets parser to HTTParty::Parser - sets connection_adapter to HTTParty::ConnectionAdapter - sets parser to the optional parser - sets connection_adapter to the optional connection_adapter - 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 - 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 - ::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 a request that 305 redirects infinitely should raise an exception once + should be handled by PATCH transparently should be handled by HEAD transparently should be handled by MKCOL transparently - should be handled by PATCH transparently - should be handled by PUT 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 LOCK transparently - should be handled by MOVE transparently - should handle multiple Set-Cookie headers between redirects - should log the redirection - should be handled by UNLOCK transparently - should update cookies with redirects - should be handled by DELETE transparently - should be handled by POST transparently - should be handled by OPTIONS transparently - should keep cookies between redirects - should keep track of cookies between redirects - should make resulting request a get request if it not already - should be handled by GET transparently - options - should use body_stream when configured - should normalize base uri when specified as request option - should use basic auth when configured - digest_auth - should not send credentials more than once - should be used when configured and the response is 401 - should maintain cookies returned from a 401 response - should not be used when configured and the response is 200 - should merge cookies from request and a 401 response - a request that 303 redirects - once - should be handled by POST transparently - should be handled by GET transparently - should make resulting request a get 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 handle multiple Set-Cookie headers between redirects should be handled by LOCK transparently - should keep track of cookies between redirects - should be handled by COPY transparently - should be handled by OPTIONS transparently - should update cookies with redirects - should be handled by PATCH transparently - should keep cookies between redirects - should be handled by UNLOCK transparently - should be handled by MKCOL transparently - should be handled by HEAD transparently - should be handled by DELETE transparently - should be handled by MOVE transparently - should be handled by PUT 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 make resulting request a get request if it not already - infinitely - should raise an exception - http - should get a connection from the connection_adapter - #send_authorization_header? - basic_auth - should send Authorization header when redirecting to a relative path - should send Authorization header when redirecting to the same host - 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 - a request that 308 redirects - once should log the redirection + should be handled by PUT transparently + should be handled by COPY transparently should keep track of cookies between redirects - should be handled by MKCOL transparently - should be handled by LOCK transparently - should update cookies with redirects should be handled by GET transparently - should be handled by OPTIONS transparently should be handled by DELETE transparently - should handle multiple Set-Cookie headers between redirects - should be handled by PUT transparently - should be handled by PATCH transparently - should maintain method in resulting request if options[:maintain_method_across_redirects] is true - should maintain method in resulting request if options[:maintain_method_across_redirects] is false should be handled by UNLOCK transparently - should be handled by HEAD transparently - should maintain method in resulting request - should be handled by MOVE transparently - 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 POST transparently + should be handled by OPTIONS transparently + should make resulting request a get request if it not already + should be handled by MOVE transparently should keep cookies between redirects - infinitely - should raise an exception + should update cookies with redirects + 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 nil format + returns format option #uri - 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 filename - returns correct path when the server sets the location header to a network-path reference - location header is an absolute path - returns the correct path when location has no leading slash - returns correct path when location has leading slash query strings + does not add an empty query string when default_params are blank does not duplicate query string parameters when uri is called twice does not append an ampersand when queries are embedded in paths respects the query string normalization proc - does not add an empty query string when default_params are blank 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 the correct path when location has no leading slash + returns correct path when location has leading slash Net::HTTP decompression - with skip_decompression false (default) + with skip_decompression true + 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 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 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" with Accept-Encoding 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" 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 other 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 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 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 skip_decompression true 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" + behaves like enables Net::HTTP decompression + is expected to eq true 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 other 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 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 - a request that 301 redirects - infinitely - should raise an exception + a request that 300 redirects once - should keep track of cookies between redirects - should be handled by UNLOCK transparently - should be handled by HEAD transparently - should handle multiple Set-Cookie headers between redirects should keep cookies between redirects - should update cookies with redirects - should be handled by COPY transparently - should be handled by MOVE transparently - should make resulting request a get request if it not already + should log the redirection + should be handled by OPTIONS transparently should be handled by GET transparently - should be handled by DELETE transparently + should be handled by PUT transparently + should make resulting request a get request if it not already + should be handled by COPY transparently should not make resulting request a get request if options[:maintain_method_across_redirects] is true - should log the redirection - should be handled by MKCOL transparently - should be handled by LOCK transparently + should handle multiple Set-Cookie headers between redirects + should be handled by UNLOCK transparently + should update cookies with redirects should be handled by POST transparently - should be handled by PUT transparently - should be handled by OPTIONS transparently + should be handled by DELETE transparently + should be handled by LOCK transparently + should be handled by HEAD transparently should be handled by PATCH transparently + should be handled by MKCOL transparently + should be handled by MOVE transparently + should keep track of cookies between redirects + infinitely + should raise an exception a request that returns 304 - should report 304 with a MKCOL request - should report 304 with a HEAD request - should report 304 with a PUT request - should be handled by LOCK transparently + should report 304 with a DELETE request + should not log the redirection + should report 304 with a MOVE request should report 304 with a GET request + should report 304 with a POST request should report 304 with a COPY request - should report 304 with a MOVE request - should report 304 with a DELETE request + should report 304 with a OPTIONS request should report 304 with a PATCH request - should report 304 with a POST request + should report 304 with a PUT request + should report 304 with a HEAD request + should report 304 with a MKCOL request + should be handled by LOCK transparently should be handled by UNLOCK transparently - should report 304 with a OPTIONS request - should not log the redirection - ::NON_RAILS_QUERY_STRING_NORMALIZER + ::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 - URI encodes array values doesn't include brackets + URI encodes array values + a request that 307 redirects + infinitely + should raise an exception + once + should handle multiple Set-Cookie headers between redirects + should maintain method in resulting request if options[:maintain_method_across_redirects] is false + should be handled by POST transparently + should maintain method in resulting request if options[:maintain_method_across_redirects] is true + should update cookies with redirects + should be handled by PUT transparently + should keep cookies between redirects + should be handled by DELETE transparently + should be handled by MKCOL transparently + should log the redirection + should be handled by MOVE transparently + should maintain method in resulting request + should be handled by PATCH transparently + should be handled by COPY transparently + should keep track of cookies between redirects + should be handled by UNLOCK transparently + should be handled by LOCK transparently + should be handled by GET transparently + should be handled by HEAD transparently + should be handled by OPTIONS transparently + http + should get a connection from the connection_adapter + a request that 303 redirects + infinitely + should raise an exception + once + should be handled by UNLOCK transparently + 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 HEAD transparently + should handle multiple Set-Cookie headers between redirects + should be handled by PUT transparently + should be handled by DELETE transparently + should be handled by COPY transparently + should make resulting request a get request if it not already + should be handled by PATCH transparently + should be handled by GET transparently + 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 MOVE transparently + should update cookies with redirects + should be handled by LOCK transparently + should keep track of cookies between redirects + should make resulting request a get request if options[:maintain_method_across_redirects] is false + should be handled by MKCOL transparently + should be handled by OPTIONS transparently + should keep cookies between redirects + should log the redirection + initialization + sets parser to HTTParty::Parser + sets parser to the optional parser + sets connection_adapter to the optional connection_adapter + sets connection_adapter to HTTParty::ConnectionAdapter + 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 + argument validation + should raise RedirectionTooDeep error if limit is negative + should raise argument error if options method is not http accepted method + 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 basic_auth is not a hash + should raise argument error if headers is not a hash + should raise argument error if digest_auth is not a hash #format_from_mimetype - returns nil when using a default parser - should handle application/csv should handle text/xml - should handle application/json - should handle text/csv - should handle application/vnd.api+json - returns nil for an unrecognized mimetype - should handle application/javascript should handle application/xml - should handle text/javascript should handle text/comma-separated-values + should handle application/javascript + returns nil when using a default parser should handle application/hal+json + should handle application/vnd.api+json + should handle application/json + returns nil for an unrecognized mimetype + should handle text/javascript + should handle text/csv should handle text/json - with POST http method - should raise argument error if query is not a hash - a request that 300 redirects + should handle application/csv + a request that 301 redirects once - should make resulting request a get request if it not already - should be handled by MOVE 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 POST transparently - should be handled by PUT transparently - should be handled by MKCOL transparently + should be handled by LOCK transparently should be handled by HEAD transparently + should update cookies with redirects should be handled by OPTIONS transparently - should keep cookies between redirects 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 be handled by DELETE transparently should be handled by GET transparently should handle multiple Set-Cookie headers between redirects - should update cookies with redirects - should be handled by UNLOCK transparently - should be handled by DELETE transparently - should be handled by LOCK transparently - should be handled by PATCH transparently + should be handled by MKCOL transparently + should be handled by PUT transparently + should keep cookies between redirects + should be handled by MOVE transparently should be handled by COPY transparently + should log the redirection + should be handled by UNLOCK transparently infinitely should raise an exception - argument validation - 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 options method is not http accepted method - 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 RedirectionTooDeep error if limit is negative - -HTTParty::ConnectionAdapter - .call - calls #connection on the connection adapter - generates an HTTParty::ConnectionAdapter instance with the given uri and options - initialization - also accepts an optional options hash - raises an ArgumentError if the uri is nil - raises an ArgumentError if the uri is a String - sets the uri - takes a URI as input - sets the options - #connection - the resulting connection - is expected to be an instance of Net::HTTP - when setting timeout - to 5 seconds - #open_timeout - is expected to eq 5 - #read_timeout - is expected to eq 5 - #write_timeout - is expected to eq 5 - and timeout is a string - doesn't set the timeout - using port 80 - is expected not to use ssl - 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 timeout is set and open_timeout is set to 7 seconds - should override the timeout option - #open_timeout - is expected to eq 7 - #write_timeout - is expected to eq 5 - #read_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 providing PEM certificates - when scheme is not https - has no PEM certificate - 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 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 - #write_timeout - is expected to eq 8 - when debug_output - is not provided - does not set_debug_output - is set to $stderr - has debug output set - when dealing with 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 # - https scheme with non-standard port - is expected to use ssl - when ssl version is set - sets ssl version - https scheme with default port - is expected to use ssl - uses the system cert_store, by default - is expected to use cert store # - when dealing with IPv6 - strips brackets from the address - 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 not providing a proxy address - does not pass any proxy parameters to the connection - when timeout is set and read_timeout is set to 6 seconds - should override the timeout option - #write_timeout - is expected to eq 5 - #open_timeout - is expected to eq 5 - #read_timeout - is expected to eq 6 - 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_address - is expected to eq "1.2.3.4" - #proxy_port - is expected to eq 8080 - 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 max_retries is not set - doesn't set the max_retries - when providing PKCS12 certificates - 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 scheme is not https - has no PKCS12 certificate - when timeout is not set - doesn't set the timeout - specifying ciphers - should set the ciphers on the connection - 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 uri port is not defined - falls back to 443 port on https - is expected to equal 443 - falls back to 80 port on http - is expected to equal 80 + a request that 302 redirects + infinitely + should raise an exception + once + should be handled by DELETE transparently + should keep cookies between redirects + should update cookies with redirects + 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 MKCOL transparently + should be handled by UNLOCK transparently + should keep track of cookies between redirects + should be handled by HEAD transparently + should be handled by MOVE transparently + should be handled by PATCH transparently + should be handled by PUT transparently + should log the redirection + should handle multiple Set-Cookie headers between redirects + should be handled by LOCK transparently + should be handled by OPTIONS transparently + should be handled by POST transparently + should make resulting request a get request if it not already + should be handled by GET transparently + #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 a different port on the same host + should send Authorization header when redirecting to the same host + ::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 + URI encodes array values + doesn't include brackets + parsing responses + should process utf-16 charset with big endian bom correctly + should handle json automatically + should process response with a nil body + should handle utf-8 bom in xml + should assume utf-16 little endian if options has been chosen + should perform no encoding if the charset is not available + should include any HTTP headers in the returned response + should handle utf-8 bom in json + should perform no encoding if the content type is specified but no charset is specified + should handle xml automatically + should handle csv automatically + when assume_utf16_is_big_endian is true + processes stubbed frozen body correctly + should process utf-16 charset with little endian bom correctly + 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 +[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 + returns the HTTParty::Response when the 300 does not contain a location header + handles multiple redirects and relative location headers on different hosts + calls block given to perform with each redirect (PENDING: Temporarily skipped with xit) + redirects if a 300 contains a location header + redirects including port + redirects if a 300 contains a relative location header + raises an error if redirect has duplicate location header + decompression + should remove the Content-Encoding header if uncompressed + should decompress the body and remove the Content-Encoding header + should not decompress unrecognized Content-Encoding + should not decompress the body if the :skip_decompression option is set + when body has ascii-8bit encoding + processes charset in content type properly + processes charset in content type properly if it has a different case + processes quoted charset in content type properly + when stubed body is frozen + processes frozen body correctly + 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 not be used when configured and the response is 200 + should merge cookies from request and a 401 response + 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 + marshalling + properly marshals the request object -HTTParty::Logger::LogstashFormatter - #format - formats a response to be compatible with Logstash +HTTParty::HashConversions + .to_params + creates a params string from a hash + nested params + creates a params string from a hash + .normalize_param + value is an empty array + creates a params string + value is hash + creates a params string + value is a string + creates a params string + value is an array + creates a params string HTTParty::Decompressor - .SupportedEncodings - returns a hash #decompress + when encoding is nil + behaves like returns the body + is expected to eq "body" + 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 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 when LZW 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 "zstd" - 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 zstd raises error + when ruby-lzws raises error is expected to eq nil - when encoding is "br" - when brotli included + when compress-lzw 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 encoding is "none" 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 "identity" + 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 blank + when encoding is "zstd" + when zstd-ruby included + is expected to eq "foobar" + 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 encoding is "identity" behaves like returns the body is expected to eq "body" + .SupportedEncodings + returns a hash -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 does not respond to to_hash - is expected to equal false - 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 +HTTParty + .follow_redirects + sets follow redirects to true by default + sets the follow_redirects option to false + #no_follow + sets the no_follow option to true + sets no_follow to false by default + #ensure_method_maintained_across_redirects + should not set maintain_method_across_redirects option if value is present + should set maintain_method_across_redirects option if unspecified + #get + should accept https URIs + should be able parse response type xml automatically +[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 return an empty body if stream_body option is turned on + should be able to get chunked html + should raise an InvalidURIError on URIs that can't be parsed at all + should be able to get html + should accept http URIs + should not get undefined method add_node for nil class for the following xml + should be able parse response type json automatically + should be able parse response type csv automatically + should accept webcal URIs + when streaming body + is expected to eq # + 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 pass the proper cookies when requested multiple times + should include that cookie in the request + should allow the class defaults to be overridden + in a class with multiple methods that use different cookies + should not allow cookies used in one method to carry over into other methods + 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 + with explicit override of automatic redirect handling + should fail with redirected DELETE + should fail with redirected GET + should fail with redirected PUT + should fail with redirected HEAD + should fail with redirected MOVE + should fail with redirected MKCOL + should fail with redirected PATCH + should fail with redirected OPTIONS + should fail with redirected POST + should fail with redirected COPY + .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 + format + does not reset parser to the default parser + should allow json + should not allow funky format + should only print each format once with an exception + sets the default parser + should allow plain + should allow csv + should allow xml + .disable_rails_query_string_format + sets the query string normalizer to HTTParty::Request::NON_RAILS_QUERY_STRING_NORMALIZER + http_proxy + should set the address + should set the proxy user and pass when they are provided + grand parent with inherited callback + continues running the #inherited on the parent + default timeout + should support floats + should raise an exception if unsupported type provided + should support updating + should default to nil + headers + uses the class headers when sending a request + merges class headers with request headers + should be able to accept block as header value + does not modify default_options when no arguments are passed + should pass options as argument to header block value + overrides class headers with request headers + should be able to be updated + should default to empty hash + 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 + adds cookies to the headers + utilizes the class-level cookies + adds optional cookies to the optional headers + doesnt modify default headers + head requests should follow redirects requesting HEAD only + should remain HEAD request across redirects, unless specified otherwise + #maintain_method_across_redirects + sets the maintain_method_across_redirects option to false + sets maintain_method_across_redirects to true by default + debug_output + stores the given stream as a default_option + stores the $stderr stream by default + pkcs12 + should set the password + should set the p12 content + parser + does not validate format whe custom parser is a proc + should set parser options + raises UnsupportedFormat when the parser cannot handle the format + should be able parse response with custom parser + with multiple class definitions + should not run over each others options + .raise_on + when parameters is an array + sets raise_on option + when parameters is a fixnum + sets raise_on option + base uri + should have writer + should have reader + should not modify the parameter during assignment + basic http authentication + should work + default params + should default to empty hash + should be able to be updated + uri_adapter + with Addressable::URI + handles international domains + with custom URI Adaptor + should raise an ArgumentError if uri_adapter doesn't implement parse method + should process a request with a uri instance parsed from the uri_adapter + should set the uri_adapter + pem + should set the password + should set the password to nil if it's not provided + should set the pem content + ciphers + should set the ciphers content + #resend_on_redirect + sets resend_on_redirect to true by default + sets resend_on_redirect option to false + ssl_version + should set the ssl_version content + two child classes inheriting from one parent + inherits default_cookies from the parent class + works with lambda values + should dup the proc on the child class + doesn't modify hashes in the parent's default options + does not modify each others inherited attributes + doesn't modify the parent's default options + inherits default_options from the superclass + doesn't modify the parent's default cookies + .query_string_normalizer + sets the query_string_normalizer option + digest http authentication + should work -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::Response + responds to predicates + returns a comma-delimited value when multiple values exist + does raise an error about itself when invoking a method that does not exist + responds to parsed_response + responds to response + allows headers to be accessed by mixed-case names in hash notation + responds to body + response to request + does raise an error about itself when using #method + returns response headers + responds to anything parsed_response responds to + responds to headers + responds to hash methods + should send missing methods to delegate + #inspect + works + marshalling + is expected to eq 200 + .underscore + works with titlecase + works with one capitalized word + works with all caps + #kind_of? + is expected to respond to #kind_of? with 1 argument + is expected to be truthy + is expected to be truthy + #is_a? + is expected to respond to #is_a? with 1 argument + is expected to be truthy + is expected to be truthy + headers + can initialize without headers + does equal a hash + always equals itself + does not equal itself when not equivalent + semantic methods for response codes + major codes + is success + is redirection + is client error + is information + is server error + for specific codes + responds to created? + responds to switch_protocol? + responds to gateway_time_out? + responds to use_proxy? + responds to unauthorized? + responds to method_not_allowed? + responds to request_time_out? + responds to version_not_supported? + responds to forbidden? + responds to accepted? + responds to not_acceptable? + responds to request_timeout? + responds to not_modified? + responds to service_unavailable? + responds to bad_gateway? + responds to partial_content? + responds to moved_permanently? + responds to internal_server_error? + responds to multiple_choice? + responds to continue? + responds to bad_request? + responds to found? + responds to uri_too_long? + responds to conflict? + responds to unsupported_media_type? + responds to non_authoritative_information? + responds to multiple_choices? + responds to expectation_failed? + responds to ok? + responds to request_uri_too_long? + responds to request_entity_too_large? + responds to gone? + responds to length_required? + responds to no_content? + responds to reset_content? + responds to not_found? + responds to requested_range_not_satisfiable? + responds to payment_required? + responds to range_not_satisfiable? + responds to gateway_timeout? + responds to precondition_failed? + responds to payload_too_large? + responds to see_other? + responds to not_implemented? + responds to proxy_authentication_required? + responds to temporary_redirect? + initialization + should set the Net::HTTP Response + should set body + should set code + should set code as an Integer + should set http_version + 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 + response is array + should display the same as an array + should be able to iterate + should equal the string response object body + should respond to array methods + #tap + is possible to tap into a response Net::HTTPHeader::DigestAuthenticator + with algorithm specified + should recognise algorithm was specified + should set the algorithm header + with unspecified quality of protection (qop) + should set prefix + should set response + should set username + should not set nonce-count + should not set cnonce + should not set qop + should set digest-uri + 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 a cookie value in the response header should set cookie header - without an opaque valid in the response header - should not set opaque with an opaque value in the response header should set opaque - without a cookie value in the response header - should set empty cookie header array - with algorithm specified - should set the algorithm header - should recognise algorithm was specified + Net::HTTPHeader#digest_auth + should set the authorization header with specified quality of protection (qop) should set cnonce - should set qop - should set nonce-count should set username - should set response should set prefix - should set digest-uri - with multiple authenticate headers - should set cnonce - should set nonce-count should set qop - should set prefix - should set username + should set nonce-count should set response should set digest-uri - 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 unspecified quality of protection (qop) - should not set nonce-count - should not set cnonce + without a cookie value in the response header + should set empty cookie header array + with md5-sess algorithm specified + should set response using md5-sess algorithm + should set the algorithm header + should recognise algorithm was specified + without an opaque valid in the response header + should not set opaque + with multiple authenticate headers should set prefix + should set qop should set digest-uri - should not set qop + should set cnonce + should set nonce-count should set username should set response - with md5-sess algorithm specified - should set the algorithm header - should set response using md5-sess algorithm - should recognise algorithm was specified - Net::HTTPHeader#digest_auth - should set the authorization header -HTTParty::HashConversions - .to_params - creates a params string from a hash - nested params - creates a params string from a hash - .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 - -HTTParty::ResponseFragment - access to fragment - has access to delegators +HTTParty::Logger::CurlFormatter + #format + formats a response in a style that resembles a -v curl + when response is logged + logs http version and response code + logs headers + logs body + when request is logged + and query is not present + not logs Query + and request's option 'base_uri' is present + logs url + when request raw_body is present + not logs request body + and headers are present + logs Headers + logs headers keys + and headers are not present + not log Headers + and query is present + logs query params + logs Query + and request's option 'base_uri' is not present + logs url HTTParty::CookieHash + #to_cookie_string + should format the key/value pairs, delimited by semi-colons + should not include client side only cookies + should not mutate the hash + should not include client side only cookies even when attributes use camal case + should not include SameSite attribute #add_cookies - with a hash - should add new key/value pairs to the hash + with a string should overwrite any existing key + should handle an empty cookie parameter + should handle '=' within cookie value + should add new key/value pairs to the hash with other class should error - with a string + with a hash 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 - #to_cookie_string - should format the key/value pairs, delimited by semi-colons - should not include client side only cookies even when attributes use camal case - should not include client side only cookies - should not include SameSite attribute - should not mutate the hash -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, 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: 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 provide the certificate used by the server via peer_cert - should work when using ssl_ca_path with a certificate authority - should work when using ssl_ca_file 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.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: 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 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_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 +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 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` + 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 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" + 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::ResponseFragment + has access to delegators + access to fragment + +HTTParty::Logger::ApacheFormatter + #format + formats a response in a style that resembles apache's access log (FAILED - 1) + when there is a parsed response + can handle the Content-Length header HTTParty::Logger .build - defaults level to :info - builds :curl style logger defaults format to :apache + builds :curl style logger raises error when formatter exists - builds :logstash style logger + defaults level to :info builds :custom style logger - -HTTParty::Parser - parsers - parses json with JSON - parses plain text by simply returning the body - parses xml with MultiXml - parses csv with CSV - parses html by simply returning the body - #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 - .call - generates an HTTParty::Parser instance with the given body and format - calls #parse on the parser - .SupportedFormats - returns a hash - .formats - returns the SupportedFormats constant - returns the SupportedFormats constant for subclasses - .format_from_mimetype - returns a symbol representing the format mimetype - returns nil when the mimetype is not supported - .supported_formats - returns a unique set of supported formats represented by symbols - #parse - does not raise exceptions for bodies with invalid encodings - ignores utf-8 bom - returns nil for a nil body - returns nil for a 'null' body - parses ascii 8bit encoding - attempts to parse supported formats - parses frozen strings - returns the unparsed body when the format is unsupported - returns nil for an empty body - returns nil for a body with spaces only - .supports_format? - returns true for a supported format - returns false for an unsupported format + builds :logstash style logger Pending: (Failures listed here are expected and do not affect your suite's status) @@ -2113,99 +2149,89 @@ # Temporarily skipped with xit # ./spec/httparty/request_spec.rb:691 -Top 10 slowest examples (2.33 seconds, 29.9% of total time): - HTTParty::Request::Body#call when params is hash when params has file is expected not to change `file.pos` - 0.3815 seconds ./spec/httparty/request/body_spec.rb:67 - HTTParty::Request SSL certificate verification should provide the certificate used by the server via peer_cert - 0.33008 seconds ./spec/httparty/ssl_spec.rb:74 - 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.23131 seconds ./spec/httparty/ssl_spec.rb:29 - HTTParty::Request SSL certificate verification should work when using ssl_ca_file with a certificate authority - 0.22693 seconds ./spec/httparty/ssl_spec.rb:37 +Failures: + + 1) HTTParty::Logger::ApacheFormatter#format formats a response in a style that resembles apache's access log + Failure/Error: logger.public_send level, message + + # received :info with unexpected arguments + expected: ("[HTTParty] [2024-04-20 17:53:23 +1400] 302 \"GET http://my.domain.com/my_path\" - ") + got: ("[HTTParty] [2024-04-20 17:53:24 +1400] 302 \"GET http://my.domain.com/my_path\" - ") + # ./lib/httparty/logger/apache_formatter.rb:19:in `public_send' + # ./lib/httparty/logger/apache_formatter.rb:19:in `format' + # ./spec/httparty/logger/apache_formatter_spec.rb:22:in `block (3 levels) in ' + # /usr/share/rubygems-integration/all/gems/webmock-3.18.1/lib/webmock/rspec.rb:37:in `block (2 levels) in ' + +Top 10 slowest examples (3.39 seconds, 27.6% of total time): + HTTParty#get should be able parse response type xml automatically + 0.45439 seconds ./spec/httparty_spec.rb:907 HTTParty::Request SSL certificate verification should work when using ssl_ca_file with a self-signed CA - 0.22516 seconds ./spec/httparty/ssl_spec.rb:33 + 0.41573 seconds ./spec/httparty/ssl_spec.rb:33 + HTTParty::Request SSL certificate verification should fail when using ssl_ca_file and the server uses a bogus hostname + 0.39222 seconds ./spec/httparty/ssl_spec.rb:62 + HTTParty::Request SSL certificate verification should fail when using ssl_ca_file and the server uses an unrecognized certificate authority + 0.37612 seconds ./spec/httparty/ssl_spec.rb:50 + HTTParty::Request SSL certificate verification should work when using ssl_ca_file with a certificate authority + 0.36976 seconds ./spec/httparty/ssl_spec.rb:37 + HTTParty::ConnectionAdapter#connection the resulting connection when providing PEM certificates when scheme is https when options include verify_peer=false should not verify the certificate + 0.29008 seconds ./spec/httparty/connection_adapter_spec.rb:583 HTTParty::Request SSL certificate verification should fail when using ssl_ca_path and the server uses a bogus hostname - 0.20884 seconds ./spec/httparty/ssl_spec.rb:68 + 0.2874 seconds ./spec/httparty/ssl_spec.rb:68 HTTParty::Request SSL certificate verification should work when no trusted CA list is specified, when the verify option is set to false - 0.19063 seconds ./spec/httparty/ssl_spec.rb:19 - HTTParty::Request SSL certificate verification should fail when using ssl_ca_file and the server uses an unrecognized certificate authority - 0.18977 seconds ./spec/httparty/ssl_spec.rb:50 - HTTParty::Request SSL certificate verification should fail when using ssl_ca_path and the server uses an unrecognized certificate authority - 0.17491 seconds ./spec/httparty/ssl_spec.rb:56 - HTTParty::Request SSL certificate verification should fail when no trusted CA list is specified, with a bogus hostname, by default - 0.17336 seconds ./spec/httparty/ssl_spec.rb:23 + 0.27737 seconds ./spec/httparty/ssl_spec.rb:19 + HTTParty::Request SSL certificate verification should fail when no trusted CA list is specified, by default + 0.27224 seconds ./spec/httparty/ssl_spec.rb:13 + HTTParty::Request SSL certificate verification should provide the certificate used by the server via peer_cert + 0.25847 seconds ./spec/httparty/ssl_spec.rb:74 Top 10 slowest example groups: HTTParty::Request - 0.18906 seconds average (2.27 seconds / 12 examples) ./spec/httparty/ssl_spec.rb:3 + 0.28112 seconds average (3.37 seconds / 12 examples) ./spec/httparty/ssl_spec.rb:3 + HTTParty::Logger::LogstashFormatter + 0.07287 seconds average (0.07287 seconds / 1 example) ./spec/httparty/logger/logstash_formatter_spec.rb:3 + HTTParty::Logger::ApacheFormatter + 0.04791 seconds average (0.09582 seconds / 2 examples) ./spec/httparty/logger/apache_formatter_spec.rb:3 HTTParty::Request::Body - 0.03998 seconds average (0.43982 seconds / 11 examples) ./spec/httparty/request/body_spec.rb:6 + 0.02651 seconds average (0.2916 seconds / 11 examples) ./spec/httparty/request/body_spec.rb:6 HTTParty::ConnectionAdapter - 0.01489 seconds average (1.04 seconds / 70 examples) ./spec/httparty/connection_adapter_spec.rb:3 - HTTParty::Logger::LogstashFormatter - 0.01193 seconds average (0.01193 seconds / 1 example) ./spec/httparty/logger/logstash_formatter_spec.rb:3 - HTTParty::Logger::CurlFormatter - 0.01086 seconds average (0.14124 seconds / 13 examples) ./spec/httparty/logger/curl_formatter_spec.rb:3 + 0.02583 seconds average (1.81 seconds / 70 examples) ./spec/httparty/connection_adapter_spec.rb:3 + HTTParty::ResponseFragment + 0.01499 seconds average (0.02997 seconds / 2 examples) ./spec/httparty/response_fragment_spec.rb:3 HTTParty::Request - 0.00751 seconds average (2.1 seconds / 280 examples) ./spec/httparty/request_spec.rb:3 + 0.01324 seconds average (3.71 seconds / 280 examples) ./spec/httparty/request_spec.rb:3 + HTTParty::Logger::CurlFormatter + 0.0107 seconds average (0.13905 seconds / 13 examples) ./spec/httparty/logger/curl_formatter_spec.rb:3 HTTParty - 0.00701 seconds average (0.81972 seconds / 117 examples) ./spec/httparty_spec.rb:3 - HTTParty::HeadersProcessor - 0.00619 seconds average (0.03095 seconds / 5 examples) ./spec/httparty/headers_processor_spec.rb:3 - HTTParty::Error - 0.00528 seconds average (0.03169 seconds / 6 examples) ./spec/httparty/exception_spec.rb:3 - HTTParty::Decompressor - 0.00502 seconds average (0.09035 seconds / 18 examples) ./spec/httparty/decompressor_spec.rb:3 + 0.01068 seconds average (1.25 seconds / 117 examples) ./spec/httparty_spec.rb:3 + Net::HTTPHeader::DigestAuthenticator + 0.01011 seconds average (0.33366 seconds / 33 examples) ./spec/httparty/net_digest_auth_spec.rb:3 -Finished in 7.79 seconds (files took 2.59 seconds to load) -715 examples, 0 failures, 1 pending +Finished in 12.28 seconds (files took 5.96 seconds to load) +715 examples, 1 failure, 1 pending -Randomized with seed 45974 +Failed examples: +rspec ./spec/httparty/logger/apache_formatter_spec.rb:16 # HTTParty::Logger::ApacheFormatter#format formats a response in a style that resembles apache's access log -┌──────────────────────────────────────────────────────────────────────────────┐ -│ dh_ruby --install finished │ -└──────────────────────────────────────────────────────────────────────────────┘ +Randomized with seed 48616 - dh_installdocs -O--buildsystem=ruby - dh_ruby_fixdocs -O--buildsystem=ruby - dh_installchangelogs -O--buildsystem=ruby - dh_installexamples -O--buildsystem=ruby - debian/rules override_dh_installman -make[1]: Entering directory '/build/reproducible-path/ruby-httparty-0.21.0' -help2man --no-info --include=debian/httparty.h2m \ - -h "-I lib/ bin/httparty -h" --version-string 0.21.0 /usr/bin/ruby > httparty.1 -patch httparty.1 < debian/httparty.1.diff -patching file httparty.1 -dh_installman -make[1]: Leaving directory '/build/reproducible-path/ruby-httparty-0.21.0' - dh_installsystemduser -O--buildsystem=ruby - dh_perl -O--buildsystem=ruby - dh_link -O--buildsystem=ruby - dh_strip_nondeterminism -O--buildsystem=ruby - dh_compress -X.rb -O--buildsystem=ruby - dh_fixperms -O--buildsystem=ruby - dh_missing -O--buildsystem=ruby - dh_ruby_fixdepends -O--buildsystem=ruby - dh_installdeb -O--buildsystem=ruby - dh_gencontrol -O--buildsystem=ruby -dpkg-gencontrol: warning: Depends field of package ruby-httparty: substitution variable ${shlibs:Depends} used, but is not defined - dh_md5sums -O--buildsystem=ruby - dh_builddeb -O--buildsystem=ruby -dpkg-deb: building package 'ruby-httparty' in '../ruby-httparty_0.21.0-1_all.deb'. - dpkg-genbuildinfo --build=binary -O../ruby-httparty_0.21.0-1_armhf.buildinfo - dpkg-genchanges --build=binary -O../ruby-httparty_0.21.0-1_armhf.changes -dpkg-genchanges: info: binary-only upload (no source code included) - dpkg-source --after-build . -dpkg-buildpackage: info: binary-only upload (no source included) -dpkg-genchanges: info: including full source code in upload +/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 failed +ERROR: Test "ruby3.1" failed. Exiting. +dh_auto_install: error: dh_ruby --install /build/reproducible-path/ruby-httparty-0.21.0/debian/ruby-httparty returned exit code 1 +make: *** [debian/rules:10: binary] Error 25 +dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 I: copying local configuration +E: Failed autobuilding of package +I: user script /srv/workspace/pbuilder/8549/tmp/hooks/C01_cleanup starting +debug output: disk usage on i-capture-the-hostname at Sat Apr 20 03:53:24 UTC 2024 +Filesystem Size Used Avail Use% Mounted on +tmpfs 3.4G 0 3.4G 0% /dev/shm + +I: user script /srv/workspace/pbuilder/8549/tmp/hooks/C01_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/21792 and its subdirectories -I: Current time: Fri Apr 19 15:49:23 -12 2024 -I: pbuilder-time-stamp: 1713584963 +I: removing directory /srv/workspace/pbuilder/8549 and its subdirectories