Diff of the two buildlogs: -- --- b1/build.log 2024-11-22 05:24:29.458818584 +0000 +++ b2/build.log 2024-11-22 05:25:16.320703410 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Nov 21 17:23:37 -12 2024 -I: pbuilder-time-stamp: 1732253017 +I: Current time: Fri Dec 26 01:47:31 +14 2025 +I: pbuilder-time-stamp: 1766663251 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -31,54 +31,86 @@ 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/17311/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/62086/tmp/hooks/D01_modify_environment starting +debug: Running on ionos16-i386. +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 Dec 25 11:47 /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/62086/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/62086/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='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=11 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='i386' + 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]="32" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.2.32(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=21 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='99bb0b62e6f34e70817f90a368daaccd' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - 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='17311' - PS1='# ' - PS2='> ' + INVOCATION_ID=ad520845eb8a4573a8057537613fa0d1 + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + 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=62086 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.tsHfl4xX/pbuilderrc_kYHj --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.tsHfl4xX/b1 --logfile b1/build.log ruby-httparty_0.21.0-1.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132:3128' + 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.tsHfl4xX/pbuilderrc_QmkI --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.tsHfl4xX/b2 --logfile b2/build.log ruby-httparty_0.21.0-1.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos2-i386 6.1.0-27-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.115-1 (2024-11-01) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-27-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.115-1 (2024-11-01) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/17311/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/62086/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -275,7 +307,7 @@ Get: 143 http://deb.debian.org/debian unstable/main i386 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 144 http://deb.debian.org/debian unstable/main i386 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Get: 145 http://deb.debian.org/debian unstable/main i386 ruby-webmock all 3.23.1-1 [67.7 kB] -Fetched 45.3 MB in 1s (72.0 MB/s) +Fetched 45.3 MB in 1s (40.7 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 ... 19952 files and directories currently installed.) @@ -761,8 +793,8 @@ Setting up tzdata (2024b-3) ... Current default time zone: 'Etc/UTC' -Local time is now: Fri Nov 22 05:24:06 UTC 2024. -Universal Time is now: Fri Nov 22 05:24:06 UTC 2024. +Local time is now: Thu Dec 25 11:47:56 UTC 2025. +Universal Time is now: Thu Dec 25 11:47:56 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -891,7 +923,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/62086/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/62086/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 @@ -928,7 +964,7 @@ │ ruby-httparty: Installing files and building extensions for ruby3.1 │ └──────────────────────────────────────────────────────────────────────────────┘ -/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20241121-22730-n9j4ie/gemspec +/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20251226-73451-463mxf/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 @@ -942,7 +978,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/d20241121-22730-n9j4ie/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/d20251226-73451-463mxf/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 @@ -1010,338 +1046,7 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 24612 - -HTTParty::Decompressor - #decompress - when encoding is blank - behaves like returns the body - is expected to eq "body" - when encoding is nil - behaves like returns the body - is expected to eq "body" - when body is nil - behaves like returns nil - is expected to be nil - when encoding is "compress" - when LZW gem not included - behaves like returns nil - is expected to be nil - when compress-lzw included - is expected to eq "foobar" - when ruby-lzws raises error - is expected to eq nil - when ruby-lzws included - is expected to eq "foobar" - when encoding is "none" - behaves like returns the body - is expected to eq "body" - when body is blank - is expected to eq " " - when encoding is "identity" - behaves like returns the body - is expected to eq "body" - when encoding is "br" - when brotli raises error - is expected to eq nil - when brotli included - is expected to eq "foobar" - when brotli gem not included - behaves like returns nil - is expected to be nil - 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 - is expected to eq nil - when encoding is unsupported - behaves like returns nil - is expected to be nil - .SupportedEncodings - returns a hash - -HTTParty::Response - responds to response - responds to predicates - response to request - allows headers to be accessed by mixed-case names in hash notation - does raise an error about itself when using #method - does raise an error about itself when invoking a method that does not exist - should send missing methods to delegate - returns a comma-delimited value when multiple values exist - responds to anything parsed_response responds to - returns response headers - responds to parsed_response - responds to headers - responds to body - responds to hash methods - headers - does not equal itself when not equivalent - always equals itself - can initialize without headers - does equal a hash - .underscore - works with one capitalized word - works with all caps - works with titlecase - #kind_of? - is expected to be truthy - is expected to respond to #kind_of? with 1 argument - 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 - marshalling - is expected to eq 200 - response is array - should equal the string response object body - should display the same as an array - should respond to array methods - should be able to iterate - #inspect - works - #tap - is possible to tap into a response - initialization - should set code - should set code as an Integer - should set body - should set http_version - should set the Net::HTTP Response - when raise_on is supplied - and response's status code is in range - throws exception - and response's status code is not in range - does not throw exception - semantic methods for response codes - for specific codes - responds to range_not_satisfiable? - responds to created? - responds to gateway_time_out? - responds to non_authoritative_information? - responds to request_uri_too_long? - responds to continue? - responds to unsupported_media_type? - responds to forbidden? - responds to uri_too_long? - responds to accepted? - responds to internal_server_error? - responds to reset_content? - responds to request_timeout? - responds to switch_protocol? - responds to bad_request? - responds to proxy_authentication_required? - responds to precondition_failed? - responds to see_other? - responds to length_required? - responds to requested_range_not_satisfiable? - responds to request_time_out? - responds to gateway_timeout? - responds to service_unavailable? - responds to expectation_failed? - responds to version_not_supported? - responds to method_not_allowed? - responds to multiple_choice? - responds to moved_permanently? - responds to ok? - responds to payload_too_large? - responds to no_content? - responds to found? - responds to temporary_redirect? - responds to gone? - responds to not_acceptable? - responds to not_found? - responds to partial_content? - responds to not_modified? - responds to not_implemented? - responds to request_entity_too_large? - responds to bad_gateway? - responds to payment_required? - responds to unauthorized? - responds to conflict? - responds to multiple_choices? - responds to use_proxy? - major codes - is success - is server error - is redirection - is client error - is information - -HTTParty::Request::Body - #multipart? - when params responds to to_hash - when force_multipart is true - is expected to equal true - when it does not contain a file - is expected to eq false - when it contains file - is expected to equal true - when params does not respond to to_hash - is expected to equal false - #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` - 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" - -HTTParty::Logger::LogstashFormatter - #format - formats a response to be compatible with Logstash - -HTTParty::Error - HTTParty::DuplicateLocationHeader - #ancestors - is expected to include HTTParty::ResponseError - HTTParty::UnsupportedURIScheme - #ancestors - is expected to include HTTParty::Error - #ancestors - is expected to include StandardError - HTTParty::UnsupportedFormat - #ancestors - is expected to include HTTParty::Error - HTTParty::RedirectionTooDeep - #ancestors - is expected to include HTTParty::ResponseError - HTTParty::ResponseError - #ancestors - is expected to include HTTParty::Error - -HTTParty::Logger::CurlFormatter - #format - formats a response in a style that resembles a -v curl - when request is logged - and headers are present - logs headers keys - logs Headers - and headers are not present - not log Headers - when request raw_body is present - not logs request body - and query is not present - not logs Query - and query is present - logs Query - logs query params - and request's option 'base_uri' is not present - logs url - and request's option 'base_uri' is present - logs url - when response is logged - logs http version and response code - logs headers - logs body - -HTTParty::Parser - parsers - parses plain text by simply returning the body - parses json with JSON - parses csv with CSV - parses xml with MultiXml - parses html by simply returning the body - .SupportedFormats - returns a hash - .call - generates an HTTParty::Parser instance with the given body and format - calls #parse on the parser - #parse_supported_format - calls the parser for the given format - when a parsing method does not exist for the given format - raises an exception - raises a useful exception message for subclasses - .format_from_mimetype - returns a symbol representing the format mimetype - returns nil when the mimetype is not supported - #supports_format? - utilizes the class method to determine if the format is supported - .formats - returns the SupportedFormats constant - returns the SupportedFormats constant for subclasses - .supported_formats - returns a unique set of supported formats represented by symbols - .supports_format? - returns true for a supported format - returns false for an unsupported format - #parse - returns nil for a nil body - attempts to parse supported formats - ignores utf-8 bom - returns nil for a 'null' body - returns nil for an empty body - returns the unparsed body when the format is unsupported - returns nil for a body with spaces only - does not raise exceptions for bodies with invalid encodings - parses frozen strings - parses ascii 8bit encoding - -HTTParty::Logger - .build - defaults format to :apache - defaults level to :info - raises error when formatter exists - builds :logstash style logger - builds :custom style logger - builds :curl style logger - -HTTParty::HashConversions - .normalize_param - value is an empty array - creates a params string - value is an array - creates a params string - value is hash - creates a params string - value is a string - creates a params string - .to_params - creates a params string from a hash - nested params - creates a params string from a hash - -HTTParty::HeadersProcessor - when headers are not set at all - returns empty hash - when only global headers are set - returns stringified global headers - when headers are dynamic - returns processed global and request specific headers - when global and request specific headers are set - returns merged global and request specific headers - when only request specific headers are set - returns stringified request specific headers - -HTTParty::CookieHash - #add_cookies - with a hash - should add new key/value pairs to the hash - should overwrite any existing key - with a string - should handle an empty cookie parameter - should add new key/value pairs to the hash - should overwrite any existing key - should handle '=' within cookie value - with other class - should error - #to_cookie_string - should not include client side only cookies - should not include client side only cookies even when attributes use camal case - should not include SameSite attribute - should not mutate the hash - should format the key/value pairs, delimited by semi-colons +Randomized with seed 54045 HTTParty::Request should not fail for missing mime type @@ -1350,39 +1055,230 @@ [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 + 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 send credentials more than once + should maintain cookies returned from a 401 response + should be used when configured and the response is 401 + should not be used when configured and the response is 200 + should merge cookies from request and a 401 response + with POST http method + should raise argument error if query is not a hash + a request that 308 redirects + once + should handle multiple Set-Cookie headers between redirects + should be handled by OPTIONS transparently + should be handled by UNLOCK transparently + should be handled by POST transparently + should be handled by DELETE transparently + should be handled by MOVE transparently + should keep cookies between redirects + should be handled by PUT transparently + should maintain method in resulting request if options[:maintain_method_across_redirects] is true + should update cookies with redirects + should maintain method in resulting request + should be handled by GET transparently + should keep track of cookies between redirects + should be handled by COPY transparently + should be handled by PATCH transparently + should log the redirection + should be handled by HEAD transparently + should be handled by MKCOL transparently + should maintain method in resulting request if options[:maintain_method_across_redirects] is false + should be handled by LOCK transparently + infinitely + should raise an exception + parsing responses + should include any HTTP headers in the returned response + should process utf-16 charset with big endian bom correctly + should perform no encoding if the content type is specified but no charset is specified + should handle xml automatically + should assume utf-16 little endian if options has been chosen + should process response with a nil body + should handle utf-8 bom in xml + should handle utf-8 bom in json + should handle json automatically + should perform no encoding if the charset is not available + should handle csv automatically + when body has ascii-8bit encoding + processes quoted charset in content type properly + processes charset in content type properly + processes charset in content type properly if it has a different case + when stubed body is frozen + processes frozen body correctly + when assume_utf16_is_big_endian is true + should process utf-16 charset with little endian bom correctly + processes stubbed frozen body correctly + with non-200 responses + should return a valid object for 4xx response + should return a valid object for 5xx response + parses response lazily so codes can be checked prior + 3xx responses + raises an error if redirect has duplicate location header + redirects including port +[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 + redirects if a 300 contains a location header + redirects if a 300 contains a relative location header + calls block given to perform with each redirect (PENDING: Temporarily skipped with xit) + handles multiple redirects and relative location headers on different hosts + decompression + should decompress the body and remove the Content-Encoding header + should not decompress the body if the :skip_decompression option is set + should remove the Content-Encoding header if uncompressed + should not decompress unrecognized Content-Encoding + #setup_raw_request + when multipart + when mulipart option is provided + sets header Content-Type: multipart/form-data; boundary= + when body contains file + sets header Content-Type: multipart/form-data; boundary= + and header Content-Type is provided + overwrites the header to: multipart/form-data; boundary= + when query_string_normalizer is set + sets the body to the return value of the proc + initialization + sets connection_adapter to HTTParty::ConnectionAdapter + sets parser to the optional parser + sets parser to HTTParty::Parser + sets connection_adapter to the optional connection_adapter + when using a query string + and it has an empty array + sets correct query string + when sending an array with only one element + sets correct query + when basic authentication credentials provided in uri + when basic auth options was set explicitly + uses basic auth from url anyway + when basic auth options wasn't set explicitly + sets basic auth from uri + argument validation + should raise argument error if digest_auth is not a hash + should raise RedirectionTooDeep error if limit is negative + should raise argument error if headers is not a hash + should raise argument error if options method is not http accepted method + should raise argument error if basic_auth and digest_auth are both present + should raise argument error if basic_auth is not a hash + should raise argument error if http method is post and query is not hash + a request that 300 redirects + once + should keep cookies between redirects + should log the redirection + should not make resulting request a get request if options[:maintain_method_across_redirects] is true + should be handled by OPTIONS transparently + should be handled by UNLOCK transparently + should be handled by HEAD transparently + should be handled by MOVE transparently + should be handled by GET transparently + should be handled by PUT transparently + should be handled by COPY transparently + should be handled by PATCH transparently + should update cookies with redirects + should be handled by MKCOL transparently + should be handled by DELETE transparently + should handle multiple Set-Cookie headers between redirects + should be handled by POST transparently + should make resulting request a get request if it not already + should keep track of cookies between redirects + should be handled by LOCK transparently + infinitely + should raise an exception + ::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 + #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 + #format_from_mimetype + returns nil for an unrecognized mimetype + should handle application/javascript + should handle text/xml + should handle text/json + should handle application/json + should handle application/xml + should handle application/hal+json + should handle application/csv + should handle application/vnd.api+json + should handle text/comma-separated-values + returns nil when using a default parser + should handle text/javascript + should handle text/csv + http + should get a connection from the connection_adapter + a request that 302 redirects + infinitely + should raise an exception + once + should be handled by DELETE transparently + should log the redirection + should be handled by POST transparently + should keep track of cookies between redirects + should be handled by UNLOCK transparently + should update cookies with redirects + should handle multiple Set-Cookie headers between redirects + should be handled by PUT transparently + should be handled by MOVE transparently + should keep cookies between redirects + should be handled by OPTIONS transparently + should not make resulting request a get request if options[:maintain_method_across_redirects] is true + should be handled by LOCK transparently + should make resulting request a get request if it not already + should be handled by MKCOL transparently + should be handled by PATCH transparently + should be handled by GET transparently + should be handled by COPY transparently + should be handled by HEAD transparently Net::HTTP decompression with skip_decompression true - 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 other headers specified - behaves like disables Net::HTTP decompression - is expected to eq false - behaves like sets default Accept-Encoding - is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" with Accept-Encoding specified - behaves like disables Net::HTTP decompression - is expected to eq false behaves like sets custom Accept-Encoding is expected to eq "custom" - with accept-encoding (lowercase) specified behaves like disables Net::HTTP decompression is expected to eq false + with accept-encoding (lowercase) specified behaves like sets custom Accept-Encoding is expected to eq "custom" + behaves like disables Net::HTTP decompression + is expected to eq false with Accept-Encoding and other headers specified + behaves like disables Net::HTTP decompression + is expected to eq false behaves like sets custom Accept-Encoding is expected to eq "custom" + with other headers specified + behaves like sets default Accept-Encoding + is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" behaves like disables Net::HTTP decompression is expected to eq false + with no headers specified + behaves like disables Net::HTTP decompression + is expected to eq false + behaves like sets default Accept-Encoding + is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" with skip_decompression false (default) - with other headers specified + with Accept-Encoding and 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" + behaves like sets custom Accept-Encoding + is expected to eq "custom" + with accept-encoding (lowercase) specified + behaves like enables Net::HTTP decompression + is expected to eq true + behaves like sets custom Accept-Encoding + is expected to eq "custom" with Accept-Encoding specified behaves like enables Net::HTTP decompression is expected to eq true @@ -1393,423 +1289,247 @@ is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" behaves like enables Net::HTTP decompression is expected to eq true - with 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 accept-encoding (lowercase) specified + with 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" - http - should get a connection from the connection_adapter - #format - request yet to be made - returns format option - returns nil format - request has been made - returns the content-type from the last response when the option is not set - returns format option - initialization - sets parser to the optional parser - sets parser to HTTParty::Parser - sets connection_adapter to HTTParty::ConnectionAdapter - sets connection_adapter to the optional connection_adapter - when using a query string - when sending an array with only one element - sets correct query - and it has an empty array - sets correct query string - when basic authentication credentials provided in uri - when basic auth options wasn't set explicitly - sets basic auth from uri - when basic auth options was set explicitly - uses basic auth from url anyway + behaves like sets default Accept-Encoding + is expected to eq "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" + a request that returns 304 + should report 304 with a POST request + should report 304 with a MOVE request + should report 304 with a PUT request + should not log the redirection + should report 304 with a OPTIONS request + should report 304 with a COPY request + should report 304 with a PATCH request + should report 304 with a HEAD request + should report 304 with a MKCOL request + should report 304 with a DELETE request + should report 304 with a GET request + should be handled by LOCK transparently + should be handled by UNLOCK transparently a request that 307 redirects infinitely should raise an exception once - should keep track of cookies between redirects - should be handled by UNLOCK transparently - should be handled by COPY transparently - should update cookies with redirects - should maintain method in resulting request - should be handled by GET transparently - should maintain method in resulting request if options[:maintain_method_across_redirects] is false - should be handled by HEAD transparently - should be handled by DELETE transparently - should be handled by MOVE transparently should log the redirection - should be handled by POST transparently - should be handled by OPTIONS transparently + should be handled by HEAD transparently should be handled by LOCK transparently - should handle multiple Set-Cookie headers between redirects should maintain method in resulting request if options[:maintain_method_across_redirects] is true - should be handled by PUT transparently - should keep cookies between redirects should be handled by PATCH transparently - should be handled by MKCOL transparently - a request that 302 redirects - infinitely - should raise an exception - once - should be handled by LOCK transparently + should be handled by DELETE transparently + should be handled by COPY transparently + should be handled by PUT transparently should be handled by OPTIONS transparently - should be handled by PATCH transparently should be handled by MKCOL transparently - should be handled by HEAD transparently + should update cookies with redirects should be handled by UNLOCK transparently - should be handled by COPY transparently - should be handled by POST transparently + should be handled by GET transparently should handle multiple Set-Cookie headers between redirects - should keep cookies between redirects - should be handled by PUT transparently - should make resulting request a get request if it not already - should update cookies with redirects - should log the redirection - should be handled by DELETE transparently + should maintain method in resulting request should keep track of cookies between redirects should be handled by MOVE transparently - should be handled by GET transparently - should not make resulting request a get request if options[:maintain_method_across_redirects] is true - argument validation - 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 headers 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 - should raise argument error if digest_auth is not a hash - should raise argument error if basic_auth is not a hash + should be handled by POST transparently + should maintain method in resulting request if options[:maintain_method_across_redirects] is false + should keep cookies between redirects + marshalling + properly marshals the request object + ::JSON_API_QUERY_STRING_NORMALIZER + doesn't modify strings + when the query is a hash + correctly handles nil values + when the query is an array + URI encodes array values + doesn't include brackets #uri query strings + 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 - does not duplicate query string parameters when uri is called twice when representing an array returns a Rails style query string redirects - returns correct path when the server sets the location header to a network-path reference returns correct path when the server sets the location header to a full uri + returns correct path when the server sets the location header to a network-path reference returns correct path when the server sets the location header to a filename location header is an absolute path - returns the correct path when location has no leading slash returns correct path when location has leading slash - #send_authorization_header? - basic_auth - should not send Authorization header when redirecting to a different host - should send Authorization header when redirecting to a different port on the same host - should send Authorization header when redirecting to the same host - should send Authorization header when redirecting to a relative path - a request that 303 redirects + returns the correct path when location has no leading slash + a request that 301 redirects once - should be handled by UNLOCK transparently - should make resulting request a get request if it not already should be handled by COPY transparently + should handle multiple Set-Cookie headers between redirects + should be handled by POST transparently should be handled by OPTIONS transparently - should make resulting request a get request if options[:maintain_method_across_redirects] is false - should log the redirection - should be handled by PUT transparently + should be handled by MOVE transparently + should be handled by GET transparently should be handled by PATCH 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 LOCK transparently - should handle multiple Set-Cookie headers between redirects - should be handled by MKCOL transparently - should keep cookies between redirects + should not make resulting request a get request if options[:maintain_method_across_redirects] is true should update cookies with redirects - should be handled by GET transparently - should be handled by HEAD transparently - should keep track of cookies between redirects - should make resulting request a get request if options[:maintain_method_across_redirects] is true but options[:resend_on_redirect] is false - should be handled by MOVE transparently + should be handled by UNLOCK transparently + should make resulting request a get request if it not already should be handled by DELETE transparently - infinitely - should raise an exception - #setup_raw_request - when multipart - when body contains file - sets header Content-Type: multipart/form-data; boundary= - and header Content-Type is provided - overwrites the header to: multipart/form-data; boundary= - when mulipart option is provided - sets header Content-Type: multipart/form-data; boundary= - when query_string_normalizer is set - sets the body to the return value of the proc - with POST http method - should raise argument error if query is not a hash - #format_from_mimetype - should handle application/javascript - should handle text/xml - should handle text/comma-separated-values - should handle application/vnd.api+json - should handle application/hal+json - should handle application/xml - should handle text/json - returns nil for an unrecognized mimetype - returns nil when using a default parser - should handle application/csv - should handle application/json - should handle text/csv - should handle text/javascript - options - should normalize base uri when specified as request option - should use basic auth when configured - should use body_stream when configured - digest_auth - should not be used when configured and the response is 200 - should not send credentials more than once - should be used when configured and the response is 401 - should merge cookies from request and a 401 response - should maintain cookies returned from a 401 response - ::NON_RAILS_QUERY_STRING_NORMALIZER - doesn't modify strings - when the query is a hash - correctly handles nil values - when the query is an array - URI encodes array values - doesn't include brackets - a request that 301 redirects - infinitely - should raise an exception - once - should not make resulting request a get request if options[:maintain_method_across_redirects] is true should keep track of cookies between redirects - should update cookies with redirects - should be handled by POST transparently - should be handled by PATCH transparently - should handle multiple Set-Cookie headers between redirects should log the redirection + should keep cookies between redirects should be handled by HEAD transparently should be handled by PUT transparently should be handled by LOCK transparently - should be handled by OPTIONS transparently - should be handled by DELETE transparently should be handled by MKCOL transparently - should make resulting request a get request if it not already - should be handled by MOVE transparently - should be handled by GET transparently - should keep cookies between redirects - should be handled by COPY transparently - should be handled by UNLOCK transparently - marshalling - properly marshals the request object - ::JSON_API_QUERY_STRING_NORMALIZER - doesn't modify strings - when the query is a hash - correctly handles nil values - when the query is an array - URI encodes array values - doesn't include brackets - parsing responses - should handle csv automatically - should handle xml automatically - should handle utf-8 bom in json - should perform no encoding if the charset is not available - should assume utf-16 little endian if options has been chosen - should process response with a nil body - should include any HTTP headers in the returned response - should handle utf-8 bom in xml - should perform no encoding if the content type is specified but no charset is specified - should handle json automatically - should process utf-16 charset with big endian bom correctly - when body has ascii-8bit encoding - processes quoted charset in content type properly - processes charset in content type properly - processes charset in content type properly if it has a different case - when stubed body is frozen - processes frozen body correctly - decompression - should not decompress unrecognized Content-Encoding - should decompress the body and remove the Content-Encoding header - should remove the Content-Encoding header if uncompressed - should not decompress the body if the :skip_decompression option is set - with non-200 responses - should return a valid object for 4xx response - should return a valid object for 5xx response - parses response lazily so codes can be checked prior - 3xx responses - calls block given to perform with each redirect (PENDING: Temporarily skipped with xit) - redirects if a 300 contains a relative location header - raises an error if redirect has duplicate location header - redirects including port - handles multiple redirects and relative location headers on different hosts -[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 - redirects if a 300 contains a location header - when assume_utf16_is_big_endian is true - processes stubbed frozen body correctly - should process utf-16 charset with little endian bom correctly - a request that 308 redirects infinitely should raise an exception - once - should be handled by PUT transparently - should be handled by OPTIONS transparently - should maintain method in resulting request if options[:maintain_method_across_redirects] is false - should be handled by DELETE transparently - should be handled by POST transparently - should maintain method in resulting request - should be handled by UNLOCK transparently - should keep cookies between redirects - should be handled by PATCH transparently - should log the redirection - should update cookies with redirects - should maintain method in resulting request if options[:maintain_method_across_redirects] is true - should keep track of cookies between redirects - should be handled by COPY transparently - should be handled by LOCK transparently - should be handled by MKCOL transparently - should be handled by HEAD transparently - should be handled by GET transparently - should handle multiple Set-Cookie headers between redirects - should be handled by MOVE transparently a request that 305 redirects infinitely should raise an exception once - should not make resulting request a get request if options[:maintain_method_across_redirects] is true - should be handled by PUT transparently - should keep cookies between redirects - should be handled by HEAD transparently - should be handled by COPY transparently - should be handled by MOVE transparently - should keep track of cookies between redirects - should update cookies with redirects should be handled by DELETE transparently - should be handled by GET transparently + should be handled by MOVE transparently + 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 be handled by COPY transparently should be handled by PATCH transparently - should handle multiple Set-Cookie headers between redirects - should be handled by UNLOCK transparently + should be handled by GET 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 MKCOL transparently - should be handled by OPTIONS transparently + should update cookies with redirects + should keep track of cookies between redirects + should be handled by POST transparently + should keep cookies between redirects should log the redirection + should be handled by UNLOCK transparently should be handled by LOCK transparently - should be handled by POST transparently - a request that returns 304 - should report 304 with a MKCOL request - should report 304 with a POST request - should not log the redirection - should report 304 with a HEAD request - should report 304 with a MOVE request - should report 304 with a DELETE request - should report 304 with a PUT request - should be handled by UNLOCK transparently - should report 304 with a GET request - should report 304 with a OPTIONS request - should be handled by LOCK transparently - should report 304 with a PATCH request - should report 304 with a COPY request - a request that 300 redirects + should be handled by OPTIONS transparently + a request that 303 redirects infinitely should raise an exception once - should keep track of cookies between redirects - should handle multiple Set-Cookie headers between redirects - should be handled by HEAD transparently should be handled by MKCOL transparently - should be handled by DELETE transparently should be handled by GET transparently - should be handled by PUT transparently + should keep track of cookies between redirects + should log the redirection + 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 MOVE transparently - should be handled by COPY transparently should be handled by LOCK transparently - should be handled by PATCH transparently - should keep cookies between redirects - should not make resulting request a get request if options[:maintain_method_across_redirects] is true - should be handled by OPTIONS transparently - should log the redirection - should update cookies with redirects + 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 be handled by COPY transparently + should handle multiple Set-Cookie headers between redirects should be handled by POST transparently + should update cookies with redirects + should be handled by PUT transparently + should be handled by OPTIONS transparently should make resulting request a get request if it not already + should be handled by PATCH transparently + should be handled by DELETE transparently should be handled by UNLOCK transparently + should keep cookies between redirects + should be handled by HEAD transparently + #send_authorization_header? + basic_auth + should send Authorization header when redirecting to a different port on the same host + should send Authorization header when redirecting to the same host + should not send Authorization header when redirecting to a different host + should send Authorization header when redirecting to a relative path -Net::HTTPHeader::DigestAuthenticator - with unspecified quality of protection (qop) - should not set cnonce - should not set qop - should set username - should not set nonce-count - should set prefix - should set response - should set digest-uri - with algorithm specified - should set the algorithm header - should recognise algorithm was specified - 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 multiple authenticate headers - should set qop - should set nonce-count - should set response - should set prefix - should set username - should set cnonce - should set digest-uri - without a cookie value in the response header - should set empty cookie header array - with a cookie value in the response header - should set cookie header - with specified quality of protection (qop) - should set prefix - should set cnonce - should set username - should set qop - should set response - should set nonce-count - should set digest-uri - without an opaque valid in the response header - should not set opaque - Net::HTTPHeader#digest_auth - should set the authorization header - with an opaque value in the response header - should set opaque - with md5-sess algorithm specified - should set response using md5-sess algorithm - should recognise algorithm was specified - should set the algorithm header +HTTParty::ResponseFragment + has access to delegators + access to fragment + +HTTParty::Error + HTTParty::UnsupportedURIScheme + #ancestors + is expected to include HTTParty::Error + HTTParty::DuplicateLocationHeader + #ancestors + is expected to include HTTParty::ResponseError + HTTParty::ResponseError + #ancestors + is expected to include HTTParty::Error + HTTParty::UnsupportedFormat + #ancestors + is expected to include HTTParty::Error + #ancestors + is expected to include StandardError + HTTParty::RedirectionTooDeep + #ancestors + is expected to include HTTParty::ResponseError + +HTTParty::Logger::ApacheFormatter + #format + formats a response in a style that resembles apache's access log + when there is a parsed response + can handle the Content-Length header + +HTTParty::Logger::LogstashFormatter + #format + formats a response to be compatible with Logstash + +HTTParty::Decompressor + .SupportedEncodings + returns a hash + #decompress + when encoding is unsupported + behaves like returns nil + is expected to be nil + 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 encoding is blank + behaves like returns the body + is expected to eq "body" + when body is blank + is expected to eq " " + when encoding is "zstd" + when zstd-ruby included + is expected to eq "foobar" + when zstd-ruby gem not included + behaves like returns nil + is expected to be nil + when zstd raises error + is expected to eq nil + when encoding is "none" + behaves like returns the body + is expected to eq "body" + when encoding is "identity" + behaves like returns the body + is expected to eq "body" + when encoding is "compress" + when ruby-lzws raises error + is expected to eq nil + when compress-lzw included + is expected to eq "foobar" + when ruby-lzws included + is expected to eq "foobar" + when LZW gem not included + behaves like returns nil + is expected to be nil + when encoding is "br" + when brotli raises error + is expected to eq nil + when brotli included + is expected to eq "foobar" + when brotli gem not included + behaves like returns nil + is expected to be nil HTTParty::ConnectionAdapter + .call + generates an HTTParty::ConnectionAdapter instance with the given uri and options + calls #connection on the connection adapter #connection the resulting connection is expected to be an instance of Net::HTTP - when setting timeout - and timeout is a string - doesn't set the 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 - when timeout is not set - doesn't set the timeout - 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 setting max_retries - to 0 times - #max_retries - is expected to eq 0 - to 5 times - #max_retries - is expected to eq 5 - and max_retries is a string - doesn't set the max_retries - when timeout is not set and write_timeout is set to 8 seconds - should not set the open timeout - should not set the read timeout - #write_timeout - is expected to eq 8 + when 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 debug_output is not provided does not set_debug_output @@ -1817,88 +1537,101 @@ has debug output set when not providing a proxy address does not pass any proxy parameters to the connection - when max_retries is not set - doesn't set the max_retries - when timeout is not set and open_timeout is set to 7 seconds + 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 - should not set the read_timeout - #open_timeout - is expected to eq 7 - when providing nil as proxy address - does pass nil proxy parameters to the connection, this forces to not use a proxy - is expected not to be a proxy - when 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 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 - using port 80 - is expected not to use ssl - when dealing with IPv6 - strips brackets from the address - when timeout is set and open_timeout is set to 7 seconds + #read_timeout + is expected to eq 6 + 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 read_timeout is set to 6 seconds should override the timeout option #write_timeout is expected to eq 5 #read_timeout - is expected to eq 5 + is expected to eq 6 #open_timeout - is expected to eq 7 - when providing PKCS12 certificates + is expected to eq 5 + when providing PEM certificates when scheme is https will verify the certificate - uses the provided P12 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 PKCS12 certificate - when providing a local bind address and port - #local_port - is expected to eq 12345 - #local_host - is expected to eq "127.0.0.1" - specifying ciphers - should set the ciphers on 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 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 + has no PEM certificate when dealing with ssl - uses the system cert_store, by default - is expected to use cert store # when ssl version is set sets ssl version - 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 + uses the system cert_store, by default + is expected to use cert store # + using port 443 for ssl + is expected to use ssl https scheme with default port is expected to use ssl + when max_retries is not set + doesn't set the max_retries + when timeout is not set + doesn't set the timeout + 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 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 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 + 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 + specifying ciphers + should set the ciphers on the connection + when timeout is not set and write_timeout is set to 8 seconds + should not set the open timeout + should not set the read timeout + #write_timeout + is expected to eq 8 + when timeout is set and open_timeout is set to 7 seconds + should override the timeout option + #read_timeout + is expected to eq 5 + #write_timeout + is expected to eq 5 + #open_timeout + is expected to eq 7 + when setting max_retries + and max_retries is a string + doesn't set the max_retries + to 0 times + #max_retries + is expected to eq 0 + to 5 times + #max_retries + is expected to eq 5 when providing proxy address and port is expected to be a proxy + #proxy_address + is expected to eq "1.2.3.4" #proxy_port is expected to eq 8080 as well as proxy user and password @@ -1906,78 +1639,478 @@ is expected to eq "user" #proxy_pass is expected to eq "pass" - #proxy_address - is expected to eq "1.2.3.4" - .call - generates an HTTParty::ConnectionAdapter instance with the given uri and options - calls #connection on the connection adapter + 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 dealing with IPv6 + strips brackets from the address + using port 80 + is expected not to use ssl initialization raises an ArgumentError if the uri is nil + sets the options + takes a URI as input also accepts an optional options hash - raises an ArgumentError if the uri is a String sets the uri - takes a URI as input - sets the options + raises an ArgumentError if the uri is a String -HTTParty::Logger::ApacheFormatter +HTTParty::HeadersProcessor + when headers are not set at all + returns empty hash + when only request specific headers are set + returns stringified request specific headers + when headers are dynamic + returns processed global and request specific headers + when global and request specific headers are set + returns merged global and request specific headers + when only global headers are set + returns stringified global headers + +HTTParty::Response + responds to response + responds to predicates + responds to headers + should send missing methods to delegate + returns a comma-delimited value when multiple values exist + does raise an error about itself when using #method + responds to parsed_response + does raise an error about itself when invoking a method that does not exist + responds to hash methods + allows headers to be accessed by mixed-case names in hash notation + returns response headers + responds to anything parsed_response responds to + responds to body + response to request + .underscore + works with titlecase + works with all caps + works with one capitalized word + #tap + is possible to tap into a response + marshalling + is expected to eq 200 + #is_a? + is expected to be truthy + is expected to be truthy + is expected to respond to #is_a? with 1 argument + response is array + should be able to iterate + should display the same as an array + should equal the string response object body + should respond to array methods + initialization + should set code + should set the Net::HTTP Response + should set code as an Integer + should set http_version + should set body + 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 + #inspect + works + #kind_of? + is expected to be truthy + is expected to be truthy + is expected to respond to #kind_of? with 1 argument + semantic methods for response codes + major codes + is server error + is information + is client error + is success + is redirection + for specific codes + responds to version_not_supported? + responds to forbidden? + responds to proxy_authentication_required? + responds to expectation_failed? + responds to non_authoritative_information? + responds to temporary_redirect? + responds to reset_content? + responds to continue? + responds to created? + responds to bad_request? + responds to request_timeout? + responds to found? + responds to request_entity_too_large? + responds to request_time_out? + responds to no_content? + responds to internal_server_error? + responds to multiple_choice? + responds to conflict? + responds to payment_required? + responds to partial_content? + responds to gateway_timeout? + responds to method_not_allowed? + responds to not_acceptable? + responds to bad_gateway? + responds to request_uri_too_long? + responds to gateway_time_out? + responds to not_modified? + responds to moved_permanently? + responds to switch_protocol? + responds to accepted? + responds to see_other? + responds to service_unavailable? + responds to uri_too_long? + responds to precondition_failed? + responds to length_required? + responds to gone? + responds to range_not_satisfiable? + responds to ok? + responds to unauthorized? + responds to payload_too_large? + responds to multiple_choices? + responds to requested_range_not_satisfiable? + responds to not_found? + responds to unsupported_media_type? + responds to not_implemented? + responds to use_proxy? + headers + can initialize without headers + always equals itself + does not equal itself when not equivalent + does equal a 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 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 +# terminated with exception (report_on_exception is true): +/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) + from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' + from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' + should fail when using ssl_ca_file and the server uses an unrecognized certificate authority + should work when using ssl_ca_file with a self-signed CA + 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: 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 + 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: 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 + should work when using ssl_ca_path with a certificate authority + +HTTParty::CookieHash + #add_cookies + with a hash + should add new key/value pairs to the hash + should overwrite any existing key + with other class + should error + with a string + should handle an empty cookie parameter + should overwrite any existing key + should handle '=' within cookie value + should add new key/value pairs to the hash + #to_cookie_string + should format the key/value pairs, delimited by semi-colons + should not include SameSite attribute + should not include client side only cookies + should not include client side only cookies even when attributes use camal case + should not mutate the hash + +HTTParty::Logger::CurlFormatter #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 + 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 present + logs query params + logs Query + and request's option 'base_uri' is not present + logs url + and query is not present + not logs Query + and headers are not present + not log Headers + and request's option 'base_uri' is present + logs url + and headers are present + logs Headers + logs headers keys + when request raw_body is present + not logs request body + +HTTParty::HashConversions + .to_params + creates a params string from a hash + nested params + creates a params string from a hash + .normalize_param + value is a string + creates a params string + value is hash + creates a params string + value is an empty array + creates a params string + value is an array + creates a params string + +Net::HTTPHeader::DigestAuthenticator + with specified quality of protection (qop) + should set digest-uri + should set username + should set response + should set qop + should set prefix + should set nonce-count + should set cnonce + with multiple authenticate headers + should set username + should set digest-uri + should set prefix + should set qop + should set nonce-count + should set cnonce + should set response + Net::HTTPHeader#digest_auth + should set the authorization header + with an opaque value in the response header + should set opaque + with a cookie value in the response header + should set cookie header + with algorithm specified + should set the algorithm header + should recognise algorithm was specified + with http basic auth response when net digest auth expected + should not fail + without an opaque valid in the response header + should not set opaque + when quality of protection (qop) is unquoted + should still set qop + without a cookie value in the response header + should set empty cookie header array + with unspecified quality of protection (qop) + should set response + should set username + should not set nonce-count + should set digest-uri + should not set qop + should set prefix + should not set cnonce + with md5-sess algorithm specified + should set response using md5-sess algorithm + should set the algorithm header + should recognise algorithm was specified + +HTTParty::Request::Body + #call + when params is string + is expected to eq "name=Bob%20Jones" + when params is hash + is expected to eq "people%5B%5D=Bob%20Jones&people%5B%5D=Mike%20Smith" + when params has file + is expected not to change `file.pos` + is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[avatar]\";...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" + when passing multipart as an option + is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[first_name...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" + when file name contains [ " \r \n ] + is expected to eq "--------------------------c772861a5109d5ef\r\nContent-Disposition: form-data; name=\"user[attachment...: form-data; name=\"user[enabled]\"\r\n\r\ntrue\r\n--------------------------c772861a5109d5ef--\r\n" + 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" + #multipart? + when params responds to to_hash + when it contains file + is expected to equal true + when it does not contain a file + is expected to eq false + when force_multipart is true + is expected to equal true + when params does not respond to to_hash + is expected to equal false + +HTTParty::Parser + .format_from_mimetype + returns a symbol representing the format mimetype + returns nil when the mimetype is not supported + .supports_format? + returns false for an unsupported format + returns true for a supported format + .call + calls #parse on the parser + generates an HTTParty::Parser instance with the given body and format + .supported_formats + returns a unique set of supported formats represented by symbols + .formats + returns the SupportedFormats constant for subclasses + returns the SupportedFormats constant + #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 + #supports_format? + utilizes the class method to determine if the format is supported + #parse + ignores utf-8 bom + returns nil for a nil body + returns nil for a body with spaces only + parses ascii 8bit encoding + returns nil for a 'null' body + returns the unparsed body when the format is unsupported + parses frozen strings + does not raise exceptions for bodies with invalid encodings + attempts to parse supported formats + returns nil for an empty body + parsers + parses xml with MultiXml + parses csv with CSV + parses html by simply returning the body + parses json with JSON + parses plain text by simply returning the body + .SupportedFormats + returns a hash + +HTTParty::Logger + .build + raises error when formatter exists + defaults format to :apache + builds :curl style logger + builds :logstash style logger + builds :custom style logger + defaults level to :info HTTParty + grand parent with inherited callback + continues running the #inherited on the parent + ssl_version + should set the ssl_version content + pem + should set the password to nil if it's not provided + should set the password + should set the pem content + #no_follow + sets the no_follow option to true + sets no_follow to false by default with explicit override of automatic redirect handling - should fail with redirected MOVE + should fail with redirected OPTIONS + should fail with redirected DELETE should fail with redirected PATCH - should fail with redirected GET - should fail with redirected HEAD + should fail with redirected COPY should fail with redirected POST - should fail with redirected DELETE - should fail with redirected OPTIONS + should fail with redirected HEAD should fail with redirected PUT should fail with redirected MKCOL - should fail with redirected COPY - base uri - should have writer - should have reader - should not modify the parameter during assignment + should fail with redirected MOVE + should fail with redirected GET pkcs12 - should set the p12 content - should set the password - debug_output - stores the given stream as a default_option - stores the $stderr stream 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 - pem should set the password - should set the pem content - should set the password to nil if it's not provided + should set the p12 content + parser + raises UnsupportedFormat when the parser cannot handle the format + should be able parse response with custom parser + should set parser options + does not validate format whe custom parser is a proc + default params + should default to empty hash + should be able to be updated + head requests should follow redirects requesting HEAD only + should remain HEAD request across redirects, unless specified otherwise #get - should not get undefined method add_node for nil class for the following xml - should be able to get chunked html + should be able parse response type csv automatically + should accept https URIs + should return an empty body if stream_body option is turned on should be able parse response type json automatically - should raise an InvalidURIError on URIs that can't be parsed at all + should be able to get chunked html + should not get undefined method add_node for nil class for the following xml [DEPRECATION] HTTParty will no longer override `response#nil?`. This functionality will be removed in future versions. Please, add explicit check `response.body.nil? || response.body.empty?`. For more info refer to: https://github.com/jnunemaker/httparty/issues/568 /usr/share/rubygems-integration/all/gems/rspec-expectations-3.13.0/lib/rspec/matchers/built_in/be.rb:69:in `match' should parse empty response fine - should return an empty body if stream_body option is turned on - should be able parse response type csv automatically - should accept http 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 xml automatically + should accept http URIs should accept webcal URIs - should be able to get html - should accept https URIs when streaming body is expected to eq # + base uri + should have writer + should not modify the parameter during assignment + should have reader + .raise_on + when parameters is a fixnum + sets raise_on option + when parameters is an array + sets raise_on option + .follow_redirects + sets the follow_redirects option to false + sets follow redirects to true by default digest http authentication should work - parser - should set parser options - raises UnsupportedFormat when the parser cannot handle the format - does not validate format whe custom parser is a proc - should be able parse response with custom parser + debug_output + stores the $stderr stream by default + stores the given stream as a default_option + format + should allow csv + should allow xml + should allow plain + should only print each format once with an exception + should allow json + does not reset parser to the default parser + should not allow funky format + sets the default parser + #resend_on_redirect + sets resend_on_redirect to true by default + sets resend_on_redirect option to false + headers + should pass options as argument to header block value + should be able to accept block as header value + merges class headers with request headers + uses the class headers when sending a request + should be able to be updated + overrides class headers with request headers + does not modify default_options when no arguments are passed + should default to empty hash + when posting file + changes content-type headers to multipart/form-data + with cookies + utilizes the class-level cookies + adds cookies to the headers + adds optional cookies to the optional headers + doesnt modify default headers + when headers passed as symbols + converts default headers to string + converts them to string cookies should not be in the headers by default should raise an ArgumentError if passed a non-Hash @@ -1985,157 +2118,60 @@ in a class with multiple methods that use different cookies should not allow cookies used in one method to carry over into other methods when a cookie is set at the class level - should include that cookie in the request should pass the proper cookies when requested multiple times + should include that cookie in the request should allow the class defaults to be overridden - with multiple class definitions - should not run over each others options + #maintain_method_across_redirects + sets maintain_method_across_redirects to true by default + sets the maintain_method_across_redirects option to false + .disable_rails_query_string_format + sets the query string normalizer to HTTParty::Request::NON_RAILS_QUERY_STRING_NORMALIZER + #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 + default timeout + should raise an exception if unsupported type provided + should support floats + should default to nil + should support updating two child classes inheriting from one parent - does not modify each others inherited attributes - inherits default_options from the superclass + inherits default_cookies from the parent class doesn't modify the parent's default cookies + inherits default_options from the superclass + does not modify each others inherited attributes + should dup the proc on the child class works with lambda values - inherits default_cookies from the parent class doesn't modify the parent's default options doesn't modify hashes in the parent's default options - should dup the proc on the child class - .follow_redirects - sets the follow_redirects option to false - sets follow redirects to true by default - .normalize_base_uri - should add https if not present for ssl requests - should not remove https for ssl requests - should add http if not present for non ssl requests - should not modify the parameter - should not treat uri's with a port of 4430 as ssl uri_adapter + with Addressable::URI + handles international domains with custom URI Adaptor - should set the uri_adapter 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 - with Addressable::URI - handles international domains - headers - merges class headers with request headers - does not modify default_options when no arguments are passed - should default to empty hash - should pass options as argument to header block value - should be able to be updated - overrides class headers with request headers - should be able to accept block as header value - uses the class headers when sending a request - with cookies - doesnt modify default headers - utilizes the class-level cookies - adds cookies to the headers - adds optional cookies to the optional headers - when headers passed as symbols - converts them to string - converts default headers to string - when posting file - changes content-type headers to multipart/form-data - #no_follow - sets the no_follow option to true - sets no_follow to false by default - #resend_on_redirect - sets resend_on_redirect to true by default - sets resend_on_redirect option to false - default timeout - should default to nil - should raise an exception if unsupported type provided - should support floats - should support updating - connection_adapter - should not set the connection_adapter_options when not provided - should set the connection_adapter - should process a request with a connection from the adapter - should set the connection_adapter_options when provided - .query_string_normalizer - sets the query_string_normalizer option - head requests should follow redirects requesting HEAD only - should remain HEAD request across redirects, unless specified otherwise - .raise_on - when parameters is an array - sets raise_on option - when parameters is a fixnum - sets raise_on option - .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 - format - should allow csv - should allow plain - should allow xml - should not allow funky format - should allow json - should only print each format once with an exception - sets the default parser - does not reset parser to the default parser - #maintain_method_across_redirects - sets maintain_method_across_redirects to true by default - sets the maintain_method_across_redirects option to false - default params - should be able to be updated - should default to empty hash + should set the uri_adapter ciphers should set the ciphers content - ssl_version - should set the ssl_version content + .query_string_normalizer + sets the query_string_normalizer option + .normalize_base_uri + should not modify the parameter + should not treat uri's with a port of 4430 as ssl + should add https if not present for ssl requests + should not remove https for ssl requests + should add http if not present for non ssl requests basic http authentication should work - -HTTParty::Request - SSL certificate verification - should provide the certificate used by the server via peer_cert -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when using ssl_ca_path and the server uses an unrecognized certificate authority - should work when using ssl_ca_file with a self-signed CA - should work when using ssl_ca_file with a certificate authority -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when no trusted CA list is specified, 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: 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, even with a bogus hostname, when the verify option is set to true -# terminated with exception (report_on_exception is true): -/usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept': SSL_accept returned=1 errno=0 peeraddr=(null) state=error: tlsv1 alert unknown ca (OpenSSL::SSL::SSLError) - from /usr/lib/ruby/3.1.0/openssl/ssl.rb:524:in `accept' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:56:in `thread_main' - from /build/reproducible-path/ruby-httparty-0.21.0/spec/support/ssl_test_server.rb:34:in `block (2 levels) in start' - should fail when using ssl_ca_file and the server uses an unrecognized certificate authority -# 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 using ssl_ca_path with a certificate authority - 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 no trusted CA list is specified, by default - -HTTParty::ResponseFragment - has access to delegators - access to fragment + with multiple class definitions + should not run over each others options + http_proxy + should set the proxy user and pass when they are provided + should set the address + connection_adapter + should not set the connection_adapter_options when not provided + should set the connection_adapter_options when provided + should process a request with a connection from the adapter + should set the connection_adapter Pending: (Failures listed here are expected and do not affect your suite's status) @@ -2143,54 +2179,54 @@ # Temporarily skipped with xit # ./spec/httparty/request_spec.rb:691 -Top 10 slowest examples (1.32 seconds, 48.4% of total time): - HTTParty::Request SSL certificate verification should provide the certificate used by the server via peer_cert - 0.18986 seconds ./spec/httparty/ssl_spec.rb:74 +Top 10 slowest examples (1.14 seconds, 50.2% of total time): HTTParty::Request SSL certificate verification should work when using ssl_ca_file with a certificate authority - 0.18617 seconds ./spec/httparty/ssl_spec.rb:37 + 0.1679 seconds ./spec/httparty/ssl_spec.rb:37 + HTTParty::Request SSL certificate verification should provide the certificate used by the server via peer_cert + 0.16738 seconds ./spec/httparty/ssl_spec.rb:74 HTTParty::Request SSL certificate verification should work when using ssl_ca_file with a self-signed CA - 0.18527 seconds ./spec/httparty/ssl_spec.rb:33 - HTTParty::Request SSL certificate verification should work when no trusted CA list is specified, when the verify option is set to false - 0.16598 seconds ./spec/httparty/ssl_spec.rb:19 + 0.16603 seconds ./spec/httparty/ssl_spec.rb:33 HTTParty::Request SSL certificate verification should work when no trusted CA list is specified, even with a bogus hostname, when the verify option is set to true - 0.16548 seconds ./spec/httparty/ssl_spec.rb:29 - HTTParty::Request SSL certificate verification should fail when no trusted CA list is specified, with a bogus hostname, by default - 0.08776 seconds ./spec/httparty/ssl_spec.rb:23 + 0.1534 seconds ./spec/httparty/ssl_spec.rb:29 + HTTParty::Request SSL certificate verification should work when no trusted CA list is specified, when the verify option is set to false + 0.15292 seconds ./spec/httparty/ssl_spec.rb:19 HTTParty::Request SSL certificate verification should fail when no trusted CA list is specified, by default - 0.08442 seconds ./spec/httparty/ssl_spec.rb:13 + 0.07053 seconds ./spec/httparty/ssl_spec.rb:13 + HTTParty::Request SSL certificate verification should fail when using ssl_ca_path and the server uses a bogus hostname + 0.0682 seconds ./spec/httparty/ssl_spec.rb:68 + HTTParty::Request SSL certificate verification should fail when using ssl_ca_file and the server uses an unrecognized certificate authority + 0.06568 seconds ./spec/httparty/ssl_spec.rb:50 HTTParty::Request SSL certificate verification should fail when using ssl_ca_file and the server uses a bogus hostname - 0.0843 seconds ./spec/httparty/ssl_spec.rb:62 + 0.06566 seconds ./spec/httparty/ssl_spec.rb:62 HTTParty::Request SSL certificate verification should fail when using ssl_ca_path and the server uses an unrecognized certificate authority - 0.08395 seconds ./spec/httparty/ssl_spec.rb:56 - HTTParty::Request SSL certificate verification should fail when using ssl_ca_file and the server uses an unrecognized certificate authority - 0.08382 seconds ./spec/httparty/ssl_spec.rb:50 + 0.06527 seconds ./spec/httparty/ssl_spec.rb:56 Top 10 slowest example groups: HTTParty::Request - 0.11891 seconds average (1.43 seconds / 12 examples) ./spec/httparty/ssl_spec.rb:3 + 0.10223 seconds average (1.23 seconds / 12 examples) ./spec/httparty/ssl_spec.rb:3 HTTParty::Request::Body - 0.00599 seconds average (0.06589 seconds / 11 examples) ./spec/httparty/request/body_spec.rb:6 + 0.00446 seconds average (0.04904 seconds / 11 examples) ./spec/httparty/request/body_spec.rb:6 + HTTParty::HashConversions + 0.00365 seconds average (0.02192 seconds / 6 examples) ./spec/httparty/hash_conversions_spec.rb:3 + HTTParty::Logger::CurlFormatter + 0.00365 seconds average (0.04742 seconds / 13 examples) ./spec/httparty/logger/curl_formatter_spec.rb:3 HTTParty::ConnectionAdapter - 0.00406 seconds average (0.2844 seconds / 70 examples) ./spec/httparty/connection_adapter_spec.rb:3 + 0.00314 seconds average (0.22004 seconds / 70 examples) ./spec/httparty/connection_adapter_spec.rb:3 HTTParty::Request - 0.00189 seconds average (0.52882 seconds / 280 examples) ./spec/httparty/request_spec.rb:3 - HTTParty::Logger::CurlFormatter - 0.00182 seconds average (0.02372 seconds / 13 examples) ./spec/httparty/logger/curl_formatter_spec.rb:3 + 0.00143 seconds average (0.39981 seconds / 280 examples) ./spec/httparty/request_spec.rb:3 + HTTParty::Error + 0.00125 seconds average (0.00751 seconds / 6 examples) ./spec/httparty/exception_spec.rb:3 + HTTParty::Logger::LogstashFormatter + 0.0012 seconds average (0.0012 seconds / 1 example) ./spec/httparty/logger/logstash_formatter_spec.rb:3 HTTParty::Decompressor - 0.00166 seconds average (0.0298 seconds / 18 examples) ./spec/httparty/decompressor_spec.rb:3 + 0.00116 seconds average (0.02087 seconds / 18 examples) ./spec/httparty/decompressor_spec.rb:3 HTTParty - 0.00158 seconds average (0.18464 seconds / 117 examples) ./spec/httparty_spec.rb:3 - HTTParty::Logger::LogstashFormatter - 0.0015 seconds average (0.0015 seconds / 1 example) ./spec/httparty/logger/logstash_formatter_spec.rb:3 - HTTParty::Logger::ApacheFormatter - 0.00117 seconds average (0.00235 seconds / 2 examples) ./spec/httparty/logger/apache_formatter_spec.rb:3 - Net::HTTPHeader::DigestAuthenticator - 0.00105 seconds average (0.03475 seconds / 33 examples) ./spec/httparty/net_digest_auth_spec.rb:3 + 0.00116 seconds average (0.13564 seconds / 117 examples) ./spec/httparty_spec.rb:3 -Finished in 2.72 seconds (files took 0.85847 seconds to load) +Finished in 2.28 seconds (files took 0.62516 seconds to load) 715 examples, 0 failures, 1 pending -Randomized with seed 24612 +Randomized with seed 54045 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -2230,12 +2266,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/62086/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/62086/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/17311 and its subdirectories -I: Current time: Thu Nov 21 17:24:28 -12 2024 -I: pbuilder-time-stamp: 1732253068 +I: removing directory /srv/workspace/pbuilder/62086 and its subdirectories +I: Current time: Fri Dec 26 01:48:15 +14 2025 +I: pbuilder-time-stamp: 1766663295