Diff of the two buildlogs: -- --- b1/build.log 2024-04-23 16:54:20.285226356 +0000 +++ b2/build.log 2024-04-23 16:56:50.778808762 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Apr 23 04:49:27 -12 2024 -I: pbuilder-time-stamp: 1713890967 +I: Current time: Wed Apr 24 06:54:35 +14 2024 +I: pbuilder-time-stamp: 1713891275 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -29,52 +29,84 @@ dpkg-source: info: applying skip-test-failing-in-ubuntu.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/10994/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/11371/tmp/hooks/D01_modify_environment starting +debug: Running on virt32c. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Apr 23 16:54 /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/11371/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/11371/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='armhf' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="21" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.2.21(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='6ad99f0dd940424499676acac650e73b' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='10994' - PS1='# ' - PS2='> ' + INVOCATION_ID=81e74de7f28643d09c6b89831be20416 + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=11371 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.98peskcc/pbuilderrc_Y7yn --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.98peskcc/b1 --logfile b1/build.log ruby-faraday_2.7.1-2.dsc' - SUDO_GID='114' - SUDO_UID='108' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.98peskcc/pbuilderrc_e5bl --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.98peskcc/b2 --logfile b2/build.log ruby-faraday_2.7.1-2.dsc' + SUDO_GID=113 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux virt64a 6.1.0-20-arm64 #1 SMP Debian 6.1.85-1 (2024-04-11) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-20-armmp-lpae #1 SMP Debian 6.1.85-1 (2024-04-11) armv7l GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Apr 23 11:25 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/10994/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Apr 21 07:13 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/11371/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -366,7 +398,7 @@ Get: 210 http://deb.debian.org/debian trixie/main armhf ruby-sinatra all 3.0.5-3 [119 kB] Get: 211 http://deb.debian.org/debian trixie/main armhf ruby-typhoeus all 1.4.0-3 [36.2 kB] Get: 212 http://deb.debian.org/debian trixie/main armhf ruby-webmock all 3.18.1-2 [66.2 kB] -Fetched 52.4 MB in 1s (35.8 MB/s) +Fetched 52.4 MB in 1s (41.1 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:armhf. (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 ... 19635 files and directories currently installed.) @@ -1056,8 +1088,8 @@ Setting up tzdata (2024a-1) ... Current default time zone: 'Etc/UTC' -Local time is now: Tue Apr 23 16:52:45 UTC 2024. -Universal Time is now: Tue Apr 23 16:52:45 UTC 2024. +Local time is now: Tue Apr 23 16:55:50 UTC 2024. +Universal Time is now: Tue Apr 23 16:55:50 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up mariadb-common (1:10.11.6-2) ... @@ -1246,7 +1278,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/ruby-faraday-2.7.1/ && 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-faraday_2.7.1-2_source.changes +I: user script /srv/workspace/pbuilder/11371/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/11371/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-faraday-2.7.1/ && 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-faraday_2.7.1-2_source.changes dpkg-buildpackage: info: source package ruby-faraday dpkg-buildpackage: info: source version 2.7.1-2 dpkg-buildpackage: info: source distribution unstable @@ -1276,7 +1312,7 @@ dh_prep -O--buildsystem=ruby dh_auto_install --destdir=debian/ruby-faraday/ -O--buildsystem=ruby dh_ruby --install /build/reproducible-path/ruby-faraday-2.7.1/debian/ruby-faraday -/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20240423-26878-2dx5sw/gemspec +/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20240424-17370-jklp4j/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash WARNING: open-ended dependency on ruby2_keywords (>= 0.0.4) is not recommended if ruby2_keywords is semantically versioned, use: @@ -1286,7 +1322,7 @@ Name: faraday Version: 2.7.1 File: faraday-2.7.1.gem -/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-faraday/usr/share/rubygems-integration/all /tmp/d20240423-26878-2dx5sw/faraday-2.7.1.gem +/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-faraday/usr/share/rubygems-integration/all /tmp/d20240424-17370-jklp4j/faraday-2.7.1.gem Failed to load /dev/null because it doesn't contain valid YAML hash /build/reproducible-path/ruby-faraday-2.7.1/debian/ruby-faraday/usr/share/rubygems-integration/all/gems/faraday-2.7.1/lib/faraday.rb /build/reproducible-path/ruby-faraday-2.7.1/debian/ruby-faraday/usr/share/rubygems-integration/all/gems/faraday-2.7.1/lib/faraday/adapter.rb @@ -1352,866 +1388,866 @@ RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-faraday-2.7.1/debian/ruby-faraday/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-faraday-2.7.1/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/arm-linux-gnueabihf/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/arm-linux-gnueabihf/rubygems-integration/3.1.0 ruby3.1 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake /usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec ./spec/faraday/adapter/test_spec.rb ./spec/faraday/adapter_registry_spec.rb ./spec/faraday/adapter_spec.rb ./spec/faraday/connection_spec.rb ./spec/faraday/error_spec.rb ./spec/faraday/middleware_registry_spec.rb ./spec/faraday/middleware_spec.rb ./spec/faraday/options/env_spec.rb ./spec/faraday/options/options_spec.rb ./spec/faraday/options/proxy_options_spec.rb ./spec/faraday/options/request_options_spec.rb ./spec/faraday/params_encoders/flat_spec.rb ./spec/faraday/params_encoders/nested_spec.rb ./spec/faraday/rack_builder_spec.rb ./spec/faraday/request/authorization_spec.rb ./spec/faraday/request/instrumentation_spec.rb ./spec/faraday/request/json_spec.rb ./spec/faraday/request/url_encoded_spec.rb ./spec/faraday/request_spec.rb ./spec/faraday/response/json_spec.rb ./spec/faraday/response/logger_spec.rb ./spec/faraday/response/raise_error_spec.rb ./spec/faraday/response_spec.rb ./spec/faraday/utils/headers_spec.rb ./spec/faraday/utils_spec.rb ./spec/faraday_spec.rb --format documentation -Randomized with seed 50128 +Randomized with seed 51674 + +Faraday::Options + #merge + deeply merges options with options having nil sub-options + merges options with hashes + deeply merges options with nil + deeply merges two options + deeply merges options with hashes + #from + works with nil + works with deep hash + works with hash + works with options with sub object + works with options + is expected to raise NoMethodError + respects inheritance + works with hash with sub object + #each_key + allows to iterate through keys + #clear + clears the options + #memoized + requires block + accepts block + #deep_dup + duplicate options and also suboptions + #update + updates options from hashes + #dup + duplicate options but not sub-options + #each_value + allows to iterate through values + #value? + returns true if any key has that value + #fetch + when the fetched key has a value + grabs value + works with key + when the fetched key has no value + needs a default if key is missing + uses falsey default + accepts block + #empty? + returns true only if all options are nil + #delete + allows to remove value for key + #key? + returns true if the key exists and is not nil Faraday::Utils::Headers + #delete + is expected not to include "content-type" + is expected to be nil + is expected to eq "application/json" + is expected to eq 0 + #parse + when response headers include already stored keys + is expected to eq "8, 123" + when response headers leave http status line out + is expected to eq "text/html" + is expected to eq ["Content-Type"] + is expected to eq "text/html" + when response headers include a blank line + is expected to eq "text/html" + when response headers values include a colon + is expected to eq "http://httpbingo.org/" + when Content-Type is set to application/xml + is expected to eq ["Content-Type"] + is expected to include "content-type" + is expected to eq "application/xml" + is expected to eq "application/xml" + is expected to eq "application/xml" #fetch is expected to eq "Invalid key" is expected to be nil - is expected to eq "default" - is expected to eq false is expected to eq "application/json" is expected to eq "application/json" - calls a block when provided is expected to eq "application/json" raises an error if key not found - #delete - is expected to be nil - is expected to eq "application/json" - is expected to eq 0 - is expected not to include "content-type" + calls a block when provided + is expected to eq "default" + is expected to eq false when Content-Type is set to application/json is expected to include "content-type" is expected to eq "application/json" is expected to eq "application/json" is expected to eq ["Content-Type"] is expected to eq "application/json" - when Content-Type is set to application/xml - is expected to include "content-type" - is expected to eq "application/xml" - is expected to eq "application/xml" - is expected to eq ["Content-Type"] - is expected to eq "application/xml" - #parse - when response headers include already stored keys - is expected to eq "8, 123" - when response headers values include a colon - is expected to eq "http://httpbingo.org/" - when response headers include a blank line - is expected to eq "text/html" - when response headers leave http status line out - is expected to eq "text/html" - is expected to eq "text/html" - is expected to eq ["Content-Type"] -Faraday::ProxyOptions - allows hash access - #from - defaults to http - works with nil - works with string - works with no auth +Faraday::RequestOptions + allows to set the request proxy + +Faraday::FlatParamsEncoder + encodes unsorted when asked + encodes boolean values in array + encodes empty array in hash + encodes boolean values + decodes boolean values + decodes arrays + behaves like a params encoder + encodes nil + escapes safe buffer + raises type error for empty string + +Faraday::RackBuilder + when a middleware is added with named arguments + adds a handler to construct request adapter with options passed to request + when a middleware is added with named arguments + adds a handler to construct response adapter with options passed to response + with custom handler and adapter + allows to compare handlers + dup stack is unlocked + locks the stack after making a request + when middleware is added with named arguments + adds a handler to construct middleware with options passed to use + when having a single handler + allows insert_after + raises an error trying to use an unregistered symbol + allows insert_before + is expected to eq [Apple] + allows use + when handlers are directly added or updated + adds a handler with options passed to swap + adds a handler with options passed to insert_after + adds a handler to construct adapter with options passed to insert + with custom empty block + is expected to eq Faraday::Adapter::Test + is expected to be nil + when having two handlers + allows insert_after + allows to delete a handler + allows to swap handlers + allows insert_before + when a plain adapter is added with named arguments + adds a handler to construct adapter with options passed to adapter + with custom adapter only + is expected to be nil + is expected to eq Faraday::Adapter::Test + when adapter is added with named options + adds a handler to construct adapter with named options + with default stack + is expected to eq Faraday::Adapter::Test + is expected to eq Faraday::Request::UrlEncoded Faraday::Response::Json - includes the response on the ParsingError instance chokes on invalid json - with array type matching - ignores json body of incorrect type - parses json body of correct type + includes the response on the ParsingError instance + JSON options + passes relevant options to JSON parse with default regexp type matching ignores json body of incorrect type parses json body of correct type with preserving raw parses json body HEAD responses - nullifies the body if it's two spaces nullifies the body if it's only one space - JSON options - passes relevant options to JSON parse + nullifies the body if it's two spaces no type matching parses json body - nullifies empty body doesn't change nil body + nullifies empty body + with array type matching + ignores json body of incorrect type + parses json body of correct type + +Faraday::Response::RaiseError + raises Faraday::ResourceNotFound for 404 responses + raises Faraday::BadRequestError for 400 responses + raises Faraday::UnauthorizedError for 401 responses + raises Faraday::NilStatusError for nil status in response + raises Faraday::ServerError for 500 responses + raises Faraday::ForbiddenError for 403 responses + raises Faraday::ProxyAuthError for 407 responses + raises Faraday::UnprocessableEntityError for 422 responses + raises Faraday::ClientError for other 4xx responses + raises no exception for 200 responses + raises Faraday::ConflictError for 409 responses + request info + returns the request info in the exception + +Faraday::Request::Json + string body + adds content type + doesn't change body + empty body + doesn't add content type + doesn't change body + no body + doesn't change body + doesn't add content type + object body with incompatible type + doesn't change content type + doesn't change body + object body with json type + encodes body + doesn't change content type + empty object body + encodes body + object body with vendor json type + doesn't change content type + encodes body + object body + adds content type + encodes body + +Faraday::Middleware + #on_error + is called by #call + #on_request + is called by #call + options + when options are passed to the middleware + accepts options when initialized + #close + with app that doesn't support #close + should issue warning + with app that supports #close + should issue warning + +Faraday::ClientError + .initialize + with exception only + is expected to eq # + is expected to eq "test" + is expected to eq "#>" + is expected to eq nil + is expected to be nil + is expected to be nil + with exception string and response hash + is expected to eq 400 + is expected to eq "#400}>" + is expected to eq {:status=>400} + is expected to be nil + is expected to eq "custom message" + with string + is expected to be nil + is expected to be nil + is expected to eq "custom message" + is expected to eq "#>" + is expected to be nil + with anything else #to_s + is expected to eq "[\"error1\", \"error2\"]" + is expected to be nil + is expected to eq "#>" + is expected to be nil + is expected to be nil + with response hash + is expected to be nil + is expected to eq 400 + is expected to eq "the server responded with status 400" + is expected to eq "#400}>" + is expected to eq {:status=>400} Faraday::Request::Instrumentation + defaults to ActiveSupport::Notifications instruments with default name is expected to eq "request.faraday" - defaults to ActiveSupport::Notifications - with custom instrumenter - is expected to eq :custom with custom name is expected to eq "custom" instruments with custom name + with custom instrumenter + is expected to eq :custom -Faraday::Response - is expected to be truthy - is expected to eq 404 - is expected to eq "text/plain" - is expected to be falsey - is expected to eq "yikes" - is expected to eq "text/plain" - is expected to raise RuntimeError - #apply_request - is expected to eq "yikes" +Faraday::Request + supports marshal serialization + when setting a header on setup with []= syntax + is expected to eq "1.0" + is expected to eq "Faraday" + is expected to eq "Faraday" + when nothing particular is configured + is expected to be falsey + is expected to be falsey + is expected to eq :get + when setting the url on setup with a string path and params + is expected to eq "http://httpbingo.org/api/foo.json?a=1" + is expected to eq "foo.json" + is expected to eq {"a"=>1} + when setting the url on setup with a URI + is expected to eq "http://httpbingo.org/api/foo.json?a=1" + is expected to eq # + is expected to eq {"a"=>"1"} + when HTTP method is post is expected to eq :post - #on_complete - parse body on finish - can access response body in on_complete callback - can access response body in on_complete callback - marshal serialization support - is expected to be nil - is expected to eq {"Content-Type"=>"text/plain"} - is expected to eq 404 - is expected to eq "yikes" - #to_hash - is expected to eq 404 - is expected to eq {"Content-Type"=>"text/plain"} - is expected to eq "yikes" - is expected to be a kind of Hash + with global request options set + is expected to eq 3 + is expected to eq 3 + is expected to eq 5 + is expected to eq 5 + and per-request options set + is expected to eq {:bar=>"bar", :foo=>"foo"} + is expected to eq 5 + is expected to eq "boo" + is expected to eq 10 + is expected to eq {:consumer_key=>"anonymous", :consumer_secret=>"xyz"} + is expected to eq 10 + is expected to eq 5 + when setting the body on setup + is expected to eq "hi" + is expected to eq "hi" + when setting the url on setup with a path including params + is expected to eq "foo.json" + is expected to eq "http://httpbingo.org/api/foo.json?a=1&b=2" + is expected to eq {"a"=>"1", "b"=>"2"} + +Faraday::Adapter + #request_timeout + attempts unknown timeout type + gets :open timeout + gets :write timeout + gets :read timeout + +Faraday + has a version number + proxies to default_connection + proxied methods can be accessed + proxies methods that exist on the default_connection + uses method_missing on Faraday if there is no proxyable method + +Faraday::Utils + URI parsing + parses with default parser + parses with URI + escapes safe buffer + parses with block + replaces headers hash + headers parsing + parse headers for aggregated responses + .deep_merge! + recursively merges the headers + when a target hash has an Options Struct value + does not overwrite an Options Struct value + +Faraday::Request::Authorization + authorization + when passed a callable + is expected to eq "Bearer custom_from_callable" + and request already has an authentication header + does not interfere with existing authorization + when passed a string + is expected to eq "Bearer custom" + and request already has an authentication header + does not interfere with existing authorization + when passed a proc + is expected to eq "Bearer custom_from_proc" + and request already has an authentication header + does not interfere with existing authorization + with an argument + when passed a lambda + is expected to eq "Bearer lambda crunchy surprise" + and request already has an authentication header + does not interfere with existing authorization + when passed a callable with an argument + is expected to eq "Bearer callable crunchy surprise" + and request already has an authentication header + does not interfere with existing authorization + when passed a proc + is expected to eq "Bearer proc crunchy surprise" + and request already has an authentication header + does not interfere with existing authorization + when passed too many arguments + is expected to raise ArgumentError + and request already has an authentication header + does not interfere with existing authorization + basic_auth + when passed very long values + is expected to eq "Basic QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU...UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBOg==" + and request already has an authentication header + does not interfere with existing authorization + when passed correct params + is expected to eq "Basic YWxhZGRpbjpvcGVuc2VzYW1l" + and request already has an authentication header + does not interfere with existing authorization Faraday::Adapter::Test + for request with non default params encoder + behaves like raise NotFound when params do not satisfy the flat param values + with {:a=>["x", "z", "y"]} + is expected to raise Faraday::Adapter::Test::Stubs::NotFound + behaves like raise NotFound when params do not satisfy the flat param values + with {:a=>["x", "y"]} + is expected to raise Faraday::Adapter::Test::Stubs::NotFound + behaves like raise NotFound when params do not satisfy the flat param values + with {:a=>["x"]} + is expected to raise Faraday::Adapter::Test::Stubs::NotFound + behaves like raise NotFound when params do not satisfy the flat param values + with {:b=>["x", "y", "z"]} + is expected to raise Faraday::Adapter::Test::Stubs::NotFound + when all flat param values are correctly set + is expected to eq 200 can handle single parameter block is expected to eq "get" - with simple path sets status - is expected to eq 200 - with simple path sets headers - is expected to eq "text/html" - with host points to the right stub - is expected to eq "domain: hello" - ignoring unspecified get params - without params + raising an error if no stub was found + for specified host is expected to raise Faraday::Adapter::Test::Stubs::NotFound - with multiple params - is expected to eq "a" - with single param - is expected to eq "a" - with get params + for request without specified header + is expected to raise Faraday::Adapter::Test::Stubs::NotFound + for request + is expected to raise Faraday::Adapter::Test::Stubs::NotFound + yielding env to stubs is expected to eq "a" + can handle regular expression path + is expected to eq "show" different outcomes for the same request - the second request - is expected to eq "world" the first request is expected to eq "hello" - with simple path sets body - is expected to eq "hello" - can be called several times - is expected to eq "hello" - with http headers - with header - is expected to eq "a" - without header - is expected to eq "b" + the second request + is expected to eq "world" strict_mode behaves like raise NotFound when headers do not satisfy the strict check - with {:authorization=>"Basic m_ck", :"x-c"=>"hello"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when headers do not satisfy the strict check with {:authorization=>"Bearer m_ck", :user_agent=>"Unknown"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound - body_match? - when trying with proc body stubs - is expected to eq 200 - when trying with string body stubs - is expected to eq 200 - when trying without any args for body - is expected to eq 200 - behaves like raise NotFound when params do not satisfy the strict check - with {:a=>"12"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when headers do not satisfy the strict check - with {"X-C"=>"hello"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound + when params and headers are exactly set + is expected to eq 200 behaves like raise NotFound when headers do not satisfy the strict check with {:authorization=>"Bearer m_ck", :"x-c"=>"Hi"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound behaves like raise NotFound when params do not satisfy the strict check - with {:a=>"12", :b=>"xyz"} + with {:a=>"12"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound when strict_mode is disabled - behaves like does not raise NotFound even when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :user_agent=>"Special Agent"} - is expected to eq 200 behaves like does not raise NotFound even when params do not satisfy the strict check - with {:additional=>"special", :a=>"12", :b=>"xy", :c=>"hello"} + with {:a=>"12", :b=>"xy", :c=>"hello"} is expected to eq 200 behaves like does not raise NotFound even when params do not satisfy the strict check with {:a=>"12", :b=>"xy"} is expected to eq 200 behaves like does not raise NotFound even when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent"} + with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :x_special=>"special"} is expected to eq 200 behaves like does not raise NotFound even when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent", :x_special=>"special"} + with {:authorization=>"Bearer m_ck", :"x-c"=>"hello"} is expected to eq 200 behaves like does not raise NotFound even when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :x_special=>"special"} + with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :user_agent=>"Special Agent"} + is expected to eq 200 + behaves like does not raise NotFound even when headers do not satisfy the strict check + with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent", :x_special=>"special"} is expected to eq 200 behaves like does not raise NotFound even when params do not satisfy the strict check - with {:a=>"12", :b=>"xy", :c=>"hello"} + with {:additional=>"special", :a=>"12", :b=>"xy", :c=>"hello"} is expected to eq 200 behaves like does not raise NotFound even when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :"x-c"=>"hello"} + with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent"} is expected to eq 200 - behaves like raise NotFound when params do not satisfy the strict check - with {:b=>"xy"} + behaves like raise NotFound when headers do not satisfy the strict check + with {:authorization=>"Bearer m_ck"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound behaves like raise NotFound when params do not satisfy the strict check - with {:a=>"123", :b=>"xy"} + with {:a=>"12", :b=>"xyz"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound behaves like raise NotFound when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck"} + with {:authorization=>"Basic m_ck", :"x-c"=>"hello"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :x_special=>"special"} + behaves like raise NotFound when params do not satisfy the strict check + with {:a=>"12", :b=>"xy", :c=>"hello"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound - when params and headers are exactly set - is expected to eq 200 behaves like raise NotFound when params do not satisfy the strict check - with {:additional=>"special", :a=>"12", :b=>"xy", :c=>"hello"} + with {:a=>"123", :b=>"xy"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound behaves like raise NotFound when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent", :x_special=>"special"} + with {"X-C"=>"hello"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound when params and headers are exactly set with a custom user agent is expected to eq 200 - behaves like raise NotFound when params do not satisfy the strict check - with {:a=>"12", :b=>"xy", :c=>"hello"} + behaves like raise NotFound when headers do not satisfy the strict check + with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :x_special=>"special"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound - can handle regular expression path - is expected to eq "show" - for request with non default params encoder - behaves like raise NotFound when params do not satisfy the flat param values - with {:a=>["x"]} + behaves like raise NotFound when params do not satisfy the strict check + with {:b=>"xy"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when params do not satisfy the flat param values - with {:a=>["x", "y"]} + behaves like raise NotFound when params do not satisfy the strict check + with {:additional=>"special", :a=>"12", :b=>"xy", :c=>"hello"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when params do not satisfy the flat param values - with {:b=>["x", "y", "z"]} + behaves like raise NotFound when headers do not satisfy the strict check + with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent", :x_special=>"special"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound - when all flat param values are correctly set - is expected to eq 200 - behaves like raise NotFound when params do not satisfy the flat param values - with {:a=>["x", "z", "y"]} + behaves like raise NotFound when headers do not satisfy the strict check + with {:authorization=>"Bearer m_ck"} is expected to raise Faraday::Adapter::Test::Stubs::NotFound - yielding env to stubs - is expected to eq "a" - raising an error if no stub was found - for specified host - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - for request - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - for request without specified header - is expected to raise Faraday::Adapter::Test::Stubs::NotFound + body_match? + when trying without any args for body + is expected to eq 200 + when trying with string body stubs + is expected to eq 200 + when trying with proc body stubs + is expected to eq 200 + can handle regular expression path with captured result + is expected to eq "show specified" + with host points to the right stub + is expected to eq "domain: hello" params parsing - with flat encoder - is expected to eq "a" with nested encoder is expected to eq "a" + with flat encoder + is expected to eq "a" with default encoder is expected to eq "a" - can handle regular expression path with captured result - is expected to eq "show specified" + ignoring unspecified get params + with multiple params + is expected to eq "a" + without params + is expected to raise Faraday::Adapter::Test::Stubs::NotFound + with single param + is expected to eq "a" + can be called several times + is expected to eq "hello" + with http headers + without header + is expected to eq "b" + with header + is expected to eq "a" + with simple path sets headers + is expected to eq "text/html" + with get params + is expected to eq "a" + with simple path sets status + is expected to eq 200 + with simple path sets body + is expected to eq "hello" -Faraday::Env - allows to access string non members - allows to access symbol non members - ignores false when fetching - retains custom members - allows to access members - handle verify_hostname when fetching - #body - when response is finished - allows to access request_body - allows to access response_body - returns the response body - when response is not finished yet - returns the request body +Faraday::Request::UrlEncoded + works with no headers + works with with headers + does nothing without payload + works with nested keys + works with unicode + ignores custom content type + works with nested params + works with non nested params + works with files + customising default_space_encoding + uses the custom character to encode spaces Faraday::NestedParamsEncoder - encodes empty array value - encodes nil array value - decodes hashes - decodes nested ignores invalid array - decodes nested array mixed types - encodes empty string array value - decodes nested ignores repeated array notation - decodes nested final value overrides any type - encodes arrays indices when asked decodes arrays decodes nested arrays rack compat + decodes nested subkeys dont have to be in brackets + encodes empty string array value + decodes hashes + encodes arrays indices when asked + decodes nested array mixed types + decodes nested ignores malformed keys + encodes nil array value encodes boolean values in array + decodes nested ignores invalid array + encodes unsorted when asked + encodes empty array value + decodes nested final value overrides any type encodes rack compat - decodes nested ignores malformed keys encodes boolean values - decodes nested subkeys dont have to be in brackets - encodes unsorted when asked - behaves like a params encoder - raises type error for empty string - escapes safe buffer - encodes nil - when expecting hash but getting string - behaves like a wrong decoding - is expected to raise TypeError + decodes nested ignores repeated array notation when expecting array but getting string behaves like a wrong decoding is expected to raise TypeError - when expecting nested hash but getting non nested + when expecting hash but getting array behaves like a wrong decoding is expected to raise TypeError - when expecting hash but getting array + when expecting hash but getting string behaves like a wrong decoding is expected to raise TypeError when expecting array but getting hash behaves like a wrong decoding is expected to raise TypeError - -Faraday::RequestOptions - allows to set the request proxy - -Faraday::AdapterRegistry - #initialize - caches lookups with implicit name - is expected to raise NameError - is expected to raise NameError - looks up class by symbol name - caches lookups with explicit name - looks up class by string name + behaves like a params encoder + escapes safe buffer + raises type error for empty string + encodes nil + when expecting nested hash but getting non nested + behaves like a wrong decoding + is expected to raise TypeError Faraday::MiddlewareRegistry - allows to register with Proc allows to register with string - allows to register with constant allows to register with symbol + allows to register with Proc + allows to register with constant + +Faraday::Response + is expected to eq "text/plain" + is expected to be falsey + is expected to raise RuntimeError + is expected to be truthy + is expected to eq 404 + is expected to eq "yikes" + is expected to eq "text/plain" + marshal serialization support + is expected to eq "yikes" + is expected to eq {"Content-Type"=>"text/plain"} + is expected to eq 404 + is expected to be nil + #to_hash + is expected to be a kind of Hash + is expected to eq "yikes" + is expected to eq {"Content-Type"=>"text/plain"} + is expected to eq 404 + #apply_request + is expected to eq "yikes" + is expected to eq :post + #on_complete + can access response body in on_complete callback + parse body on finish + can access response body in on_complete callback Faraday::Connection - #close - can close underlying app + #build_request + is expected to eq ["Authorization"] + is expected to be empty + is expected to be truthy + is expected to be falsey + request params + with flat params encoder + supports array params in params + with array param in url + example at ./spec/faraday/connection_spec.rb:787 + with default params encoder + supports array params in params + supports array params in url + with simple url + test_overrides_request_params_block_url + test_overrides_request_params_block + test_overrides_request_params + with url and extra params + allows to set params_encoder for single request + merges connection and request params + allows to override all params + #dup + is expected to eq "text/plain" + is expected to eq "1" + is expected to eq # + after manual changes + is expected to be nil + is expected to eq 1 + is expected to eq 1 + is expected to be falsey + is expected to eq 5 + is expected to be falsey + #build_url + uses params + merges params + #respond_to? + is expected to be truthy + is expected to be truthy + #to_env + parses url params into query + escapes per spec + without braketizing repeated params in query + bracketizes nested params in query + bracketizes repeated params in query default_connection_options - preserving a user_agent assigned via default_conncetion_options - when url is a String - is expected to eq {"CustomHeader"=>"CustomValue", "User-Agent"=>"My Agent 1.2"} - when url is a Hash - is expected to eq {"CustomHeader"=>"CustomValue", "User-Agent"=>"My Agent 1.2"} - assigning a default value + assigning a hash behaves like default connection options - default connection options persist with an instance overriding works with instance connection options - works with option url - default connection uses default connection options works with implicit url - assigning a hash - behaves like default connection options default connection uses default connection options works with option url default connection options persist with an instance overriding - works with instance connection options + assigning a default value + behaves like default connection options works with implicit url - #to_env - without braketizing repeated params in query - bracketizes repeated params in query - parses url params into query - escapes per spec - bracketizes nested params in query - #build_url - merges params - uses params + works with instance connection options + default connection uses default connection options + works with option url + default connection options persist with an instance overriding + preserving a user_agent assigned via default_conncetion_options + when url is a String + is expected to eq {"CustomHeader"=>"CustomValue", "User-Agent"=>"My Agent 1.2"} + when url is a Hash + is expected to eq {"CustomHeader"=>"CustomValue", "User-Agent"=>"My Agent 1.2"} + #build_exclusive_url + overrides connection port for absolute url + allows to provide params argument + does not add ending slash given nil url + handles uri instances + does not add ending slash given empty url + always returns new URI instance + does not use connection params + with colon in path + joins url to base when used with path prefix + joins url to base when used relative path + joins url to base when used absolute path + with relative path + is expected to eq "/fish/sake.html" + is expected to eq "/sake.html" + is expected to eq "/fish/sake.html" + uses connection host as default host + is expected to eq "/fish/sake.html" + with url_prefixed connection + used default base with ending slash + joins url to base with ending slash + parses url and changes scheme + overrides base + with complete url + is expected to eq "a=1" + is expected to eq "http" + is expected to eq "/sake.html" + is expected to eq "httpbingo.org" + is expected to eq 80 + with absolute path + example at ./spec/faraday/connection_spec.rb:205 + is expected to eq "/sake.html" + is expected to eq "/sake.html" + is expected to eq "/sake.html" .new + with custom headers + is expected to eq "Faraday" + with custom builder + is expected to eq # with verify_hostname false is expected to be falsey - with custom builder - is expected to eq # - with custom params - is expected to eq {"a"=>1} - with basic_auth in url - is expected to eq "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" with custom params and params in url is expected to eq {"a"=>3, "b"=>"2"} with block is expected to eq 0 is expected to eq "/omnom" - with ssl false - is expected to be falsey - with empty block - is expected to eq 0 - with explicit url param + with implicit url param behaves like initializer with url with simple url is expected to eq {} - is expected to eq 80 + is expected to eq "/" is expected to eq "httpbingo.org" + is expected to eq 80 is expected to eq "http" - is expected to eq "/" - with IPv6 address - is expected to eq 85 - is expected to eq "[::1]" with complex url + is expected to eq {"a"=>"1"} is expected to eq "/fish" is expected to eq 815 - is expected to eq {"a"=>"1"} - with custom headers - is expected to eq "Faraday" - with implicit url param + with IPv6 address + is expected to eq "[::1]" + is expected to eq 85 + with basic_auth in url + is expected to eq "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" + with custom params + is expected to eq {"a"=>1} + with explicit url param behaves like initializer with url with simple url is expected to eq {} is expected to eq "/" - is expected to eq 80 - is expected to eq "http" is expected to eq "httpbingo.org" + is expected to eq "http" + is expected to eq 80 with complex url is expected to eq {"a"=>"1"} is expected to eq 815 is expected to eq "/fish" with IPv6 address - is expected to eq "[::1]" is expected to eq 85 - #dup - is expected to eq "1" - is expected to eq "text/plain" - is expected to eq # - after manual changes - is expected to be falsey - is expected to eq 5 + is expected to eq "[::1]" + with ssl false is expected to be falsey - is expected to eq 1 - is expected to eq 1 - is expected to be nil - #respond_to? - is expected to be truthy - is expected to be truthy + with empty block + is expected to eq 0 proxy support - accepts http env with auth - allows when url is not in no proxy list but ip address is - accepts env without scheme - allows when prefixed url is not in no proxy list + allows when url in no proxy list + ignores env proxy if set that way allows when url not in no proxy list - gives priority to manually set proxy - allows when ip address is not in no proxy list but url is + accepts hash accepts uri - allows when url in no proxy list with url_prefix - uses processes no_proxy before http_proxy - allows when subdomain url is in no proxy list - does not accept uppercase env + allows in multi element no proxy list fetches no proxy from nil env - accepts hash with string uri - allows when url in no proxy list - uses env http_proxy - uses env https_proxy + accepts string + accepts http env with auth + does not accept uppercase env + uses processes no_proxy before https_proxy + allows when url in no proxy list with url_prefix test proxy requires uri - ignores env proxy if set that way fetches no proxy from blank env accepts http env - accepts string - uses processes no_proxy before https_proxy - allows in multi element no proxy list - accepts hash + gives priority to manually set proxy + allows when subdomain url is in no proxy list + allows when prefixed url is not in no proxy list + allows when ip address is not in no proxy list but url is + allows when url is not in no proxy list but ip address is + uses processes no_proxy before http_proxy + uses env https_proxy + accepts env without scheme + uses env http_proxy + accepts hash with string uri performing a request - dynamically checks proxy dynamically check no proxy - #build_exclusive_url - overrides connection port for absolute url - allows to provide params argument - handles uri instances - always returns new URI instance - does not use connection params - does not add ending slash given empty url - does not add ending slash given nil url - with url_prefixed connection - overrides base - used default base with ending slash - parses url and changes scheme - joins url to base with ending slash - with absolute path - example at ./spec/faraday/connection_spec.rb:207 - is expected to eq "/sake.html" - is expected to eq "/sake.html" - is expected to eq "/sake.html" - with colon in path - joins url to base when used with path prefix - joins url to base when used absolute path - joins url to base when used relative path - with complete url - is expected to eq "a=1" - is expected to eq "httpbingo.org" - is expected to eq 80 - is expected to eq "/sake.html" - is expected to eq "http" - with relative path - is expected to eq "/fish/sake.html" - uses connection host as default host - is expected to eq "/sake.html" - is expected to eq "/fish/sake.html" - is expected to eq "/fish/sake.html" - request params - with simple url - test_overrides_request_params - test_overrides_request_params_block - test_overrides_request_params_block_url - with flat params encoder - supports array params in params - with array param in url - example at ./spec/faraday/connection_spec.rb:787 - with url and extra params - allows to set params_encoder for single request - merges connection and request params - allows to override all params - with default params encoder - supports array params in url - supports array params in params - #build_request - is expected to eq ["Authorization"] - is expected to be truthy - is expected to be empty - is expected to be falsey - -Faraday::RackBuilder - when a middleware is added with named arguments - adds a handler to construct response adapter with options passed to response - with custom adapter only - is expected to be nil - is expected to eq Faraday::Adapter::Test - with custom handler and adapter - dup stack is unlocked - locks the stack after making a request - allows to compare handlers - when adapter is added with named options - adds a handler to construct adapter with named options - when a middleware is added with named arguments - adds a handler to construct request adapter with options passed to request - when having a single handler - allows insert_after - allows insert_before - is expected to eq [Apple] - raises an error trying to use an unregistered symbol - allows use - when a plain adapter is added with named arguments - adds a handler to construct adapter with options passed to adapter - when having two handlers - allows to delete a handler - allows insert_before - allows to swap handlers - allows insert_after - when middleware is added with named arguments - adds a handler to construct middleware with options passed to use - with custom empty block - is expected to eq Faraday::Adapter::Test - is expected to be nil - with default stack - is expected to eq Faraday::Adapter::Test - is expected to eq Faraday::Request::UrlEncoded - when handlers are directly added or updated - adds a handler with options passed to swap - adds a handler to construct adapter with options passed to insert - adds a handler with options passed to insert_after - -Faraday::Response::RaiseError - raises Faraday::NilStatusError for nil status in response - raises Faraday::ForbiddenError for 403 responses - raises Faraday::ResourceNotFound for 404 responses - raises Faraday::ClientError for other 4xx responses - raises Faraday::BadRequestError for 400 responses - raises Faraday::UnprocessableEntityError for 422 responses - raises Faraday::ProxyAuthError for 407 responses - raises Faraday::ServerError for 500 responses - raises no exception for 200 responses - raises Faraday::ConflictError for 409 responses - raises Faraday::UnauthorizedError for 401 responses - request info - returns the request info in the exception + dynamically checks proxy + #close + can close underlying app Faraday::Response::Logger - logs method and url - logs status - logs filter headers + does not log request body by default does not log response body by default - logs filter url does not log error message by default - does not log request body by default - still returns output - logs request headers by default + logs filter url logs response headers by default - when logging request and response bodies - log request and response body - log response body object - logs filter body - when not logging response headers - does not log response headers if option is false - with default formatter - delegates logging to the formatter - when no route - delegates logging to the formatter + logs request headers by default + logs filter headers + logs method and url + still returns output + logs status with custom formatter logs with custom formatter - when not logging request headers - does not log request headers if option is false + when logging request body + log only request body + without configuration + defaults to stdout when logging errors logs error message + when not logging response headers + does not log response headers if option is false when using log_level does not log request/response body on the info level - does not log headers on the info level logs headers on the debug level + does not log headers on the info level logs request/request body on the specified level (debug) - when logging request body - log only request body + when logging request and response bodies + log request and response body + logs filter body + log response body object + when not logging request headers + does not log request headers if option is false when logging response body log only response body - without configuration - defaults to stdout - -Faraday::Request - supports marshal serialization - when setting the url on setup with a string path and params - is expected to eq "foo.json" - is expected to eq {"a"=>1} - is expected to eq "http://httpbingo.org/api/foo.json?a=1" - when HTTP method is post - is expected to eq :post - when setting the url on setup with a path including params - is expected to eq {"a"=>"1", "b"=>"2"} - is expected to eq "http://httpbingo.org/api/foo.json?a=1&b=2" - is expected to eq "foo.json" - when setting the body on setup - is expected to eq "hi" - is expected to eq "hi" - when setting the url on setup with a URI - is expected to eq "http://httpbingo.org/api/foo.json?a=1" - is expected to eq # - is expected to eq {"a"=>"1"} - when nothing particular is configured - is expected to eq :get - is expected to be falsey - is expected to be falsey - when setting a header on setup with []= syntax - is expected to eq "Faraday" - is expected to eq "Faraday" - is expected to eq "1.0" - with global request options set - is expected to eq 5 - is expected to eq 3 - is expected to eq 5 - is expected to eq 3 - and per-request options set - is expected to eq "boo" - is expected to eq 10 - is expected to eq {:consumer_key=>"anonymous", :consumer_secret=>"xyz"} - is expected to eq 5 - is expected to eq {:bar=>"bar", :foo=>"foo"} - is expected to eq 5 - is expected to eq 10 - -Faraday::Request::UrlEncoded - ignores custom content type - works with nested params - works with files - works with unicode - works with with headers - does nothing without payload - works with no headers - works with nested keys - works with non nested params - customising default_space_encoding - uses the custom character to encode spaces - -Faraday::Utils - headers parsing - parse headers for aggregated responses - .deep_merge! - recursively merges the headers - when a target hash has an Options Struct value - does not overwrite an Options Struct value - URI parsing - parses with default parser - parses with block - replaces headers hash - escapes safe buffer - parses with URI - -Faraday::Options - #merge - deeply merges two options - deeply merges options with hashes - deeply merges options with nil - deeply merges options with options having nil sub-options - merges options with hashes - #delete - allows to remove value for key - #key? - returns true if the key exists and is not nil - #update - updates options from hashes - #empty? - returns true only if all options are nil - #clear - clears the options - #from - respects inheritance - works with hash - is expected to raise NoMethodError - works with nil - works with options with sub object - works with hash with sub object - works with deep hash - works with options - #deep_dup - duplicate options and also suboptions - #dup - duplicate options but not sub-options - #memoized - accepts block - requires block - #each_key - allows to iterate through keys - #each_value - allows to iterate through values - #value? - returns true if any key has that value - #fetch - when the fetched key has a value - grabs value - works with key - when the fetched key has no value - uses falsey default - needs a default if key is missing - accepts block - -Faraday::Adapter - #request_timeout - attempts unknown timeout type - gets :read timeout - gets :open timeout - gets :write timeout - -Faraday::Middleware - #close - with app that doesn't support #close - should issue warning - with app that supports #close - should issue warning - #on_request - is called by #call - #on_error - is called by #call - options - when options are passed to the middleware - accepts options when initialized - -Faraday::ClientError - .initialize - with anything else #to_s - is expected to be nil - is expected to eq "[\"error1\", \"error2\"]" - is expected to eq "#>" - is expected to be nil - is expected to be nil - with response hash - is expected to eq "the server responded with status 400" - is expected to eq "#400}>" - is expected to eq {:status=>400} - is expected to be nil - is expected to eq 400 - with string - is expected to be nil - is expected to eq "#>" - is expected to be nil - is expected to eq "custom message" - is expected to be nil - with exception only - is expected to be nil - is expected to eq "#>" - is expected to eq nil - is expected to be nil - is expected to eq # - is expected to eq "test" - with exception string and response hash - is expected to eq "#400}>" - is expected to eq "custom message" - is expected to be nil - is expected to eq {:status=>400} - is expected to eq 400 - -Faraday - has a version number - proxies to default_connection - proxied methods can be accessed - uses method_missing on Faraday if there is no proxyable method - proxies methods that exist on the default_connection + with default formatter + delegates logging to the formatter + when no route + delegates logging to the formatter -Faraday::Request::Authorization - basic_auth - when passed very long values - is expected to eq "Basic QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU...UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBOg==" - and request already has an authentication header - does not interfere with existing authorization - when passed correct params - is expected to eq "Basic YWxhZGRpbjpvcGVuc2VzYW1l" - and request already has an authentication header - does not interfere with existing authorization - authorization - when passed too many arguments - is expected to raise ArgumentError - and request already has an authentication header - does not interfere with existing authorization - with an argument - when passed a callable with an argument - is expected to eq "Bearer callable crunchy surprise" - and request already has an authentication header - does not interfere with existing authorization - when passed a lambda - is expected to eq "Bearer lambda crunchy surprise" - and request already has an authentication header - does not interfere with existing authorization - when passed a proc - is expected to eq "Bearer proc crunchy surprise" - and request already has an authentication header - does not interfere with existing authorization - when passed a proc - is expected to eq "Bearer custom_from_proc" - and request already has an authentication header - does not interfere with existing authorization - when passed a callable - is expected to eq "Bearer custom_from_callable" - and request already has an authentication header - does not interfere with existing authorization - when passed a string - is expected to eq "Bearer custom" - and request already has an authentication header - does not interfere with existing authorization +Faraday::Env + handle verify_hostname when fetching + allows to access symbol non members + allows to access string non members + retains custom members + allows to access members + ignores false when fetching + #body + when response is finished + returns the response body + allows to access response_body + allows to access request_body + when response is not finished yet + returns the request body -Faraday::FlatParamsEncoder - encodes boolean values - decodes arrays - decodes boolean values - encodes boolean values in array - encodes unsorted when asked - encodes empty array in hash - behaves like a params encoder - encodes nil - escapes safe buffer - raises type error for empty string +Faraday::ProxyOptions + allows hash access + #from + works with string + works with no auth + works with nil + defaults to http -Faraday::Request::Json - object body - adds content type - encodes body - object body with incompatible type - doesn't change content type - doesn't change body - empty body - doesn't add content type - doesn't change body - object body with vendor json type - encodes body - doesn't change content type - empty object body - encodes body - no body - doesn't add content type - doesn't change body - object body with json type - doesn't change content type - encodes body - string body - adds content type - doesn't change body +Faraday::AdapterRegistry + #initialize + looks up class by string name + looks up class by symbol name + is expected to raise NameError + is expected to raise NameError + caches lookups with implicit name + caches lookups with explicit name -Finished in 1.99 seconds (files took 4.93 seconds to load) +Finished in 1.88 seconds (files took 3.68 seconds to load) 527 examples, 0 failures -Randomized with seed 50128 +Randomized with seed 51674 Coverage report generated for RSpec to /build/reproducible-path/ruby-faraday-2.7.1/coverage. 0 / 0 LOC (100.0%) covered. [Coveralls] Outside the CI environment, not sending data. @@ -2246,12 +2282,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/11371/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/11371/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/10994 and its subdirectories -I: Current time: Tue Apr 23 04:54:13 -12 2024 -I: pbuilder-time-stamp: 1713891253 +I: removing directory /srv/workspace/pbuilder/11371 and its subdirectories +I: Current time: Wed Apr 24 06:56:43 +14 2024 +I: pbuilder-time-stamp: 1713891403