Diff of the two buildlogs: -- --- b1/build.log 2024-12-19 18:58:58.834822445 +0000 +++ b2/build.log 2024-12-19 19:00:13.259465452 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Dec 19 06:43:03 -12 2024 -I: pbuilder-time-stamp: 1734633783 +I: Current time: Thu Jan 22 15:22:00 +14 2026 +I: pbuilder-time-stamp: 1769044920 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -26,54 +26,85 @@ dpkg-source: info: unpacking python-gabbi_3.0.0-3.debian.tar.xz I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/60584/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/30625/tmp/hooks/D01_modify_environment starting +debug: Running on infom08-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 Jan 22 01:22 /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/30625/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/30625/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]="37" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=5 ' + 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='a53cc4d68796417b99464102d326f038' - 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='60584' - PS1='# ' - PS2='> ' + INVOCATION_ID=ce7552dfe7f849b492184d65925c9d3b + 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=30625 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.LwIL8jNw/pbuilderrc_bwH6 --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.LwIL8jNw/b1 --logfile b1/build.log python-gabbi_3.0.0-3.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.LwIL8jNw/pbuilderrc_a3KA --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.LwIL8jNw/b2 --logfile b2/build.log python-gabbi_3.0.0-3.dsc' + SUDO_GID=111 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' I: uname -a - Linux ionos2-i386 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.11.5+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.11.5-1~bpo12+1 (2024-11-11) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/60584/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/30625/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -307,7 +338,7 @@ Get: 158 http://deb.debian.org/debian unstable/main i386 subunit all 1.4.2-3 [5248 B] Get: 159 http://deb.debian.org/debian unstable/main i386 python3-stestr all 4.1.0-3 [56.9 kB] Get: 160 http://deb.debian.org/debian unstable/main i386 python3-wsgi-intercept all 1.13.0-2 [18.6 kB] -Fetched 52.0 MB in 2s (34.0 MB/s) +Fetched 52.0 MB in 1s (86.7 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libjs-jquery. (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 ... 19953 files and directories currently installed.) @@ -831,8 +862,8 @@ Setting up tzdata (2024b-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Dec 19 18:44:56 UTC 2024. -Universal Time is now: Thu Dec 19 18:44:56 UTC 2024. +Local time is now: Thu Jan 22 01:22:23 UTC 2026. +Universal Time is now: Thu Jan 22 01:22:23 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libpython3.13-minimal:i386 (3.13.1-2) ... @@ -993,7 +1024,11 @@ fakeroot is already the newest version (1.36-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/python-gabbi-3.0.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 > ../python-gabbi_3.0.0-3_source.changes +I: user script /srv/workspace/pbuilder/30625/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/30625/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/python-gabbi-3.0.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 > ../python-gabbi_3.0.0-3_source.changes dpkg-buildpackage: info: source package python-gabbi dpkg-buildpackage: info: source version 3.0.0-3 dpkg-buildpackage: info: source distribution unstable @@ -1129,22 +1164,26 @@ py3versions: no X-Python3-Version in control file, using supported versions pkgos-dh_auto_install --no-py2 --in-tmp + PKGOS_IN_TMP=no -+ echo WARNING: --no-py2 is deprecated and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated and always on.' WARNING: --no-py2 is deprecated and always on. + shift ++ for i in $@ ++ case "${1}" in + PKGOS_IN_TMP=yes + shift -+ dpkg-parsechangelog -SSource +++ dpkg-parsechangelog -SSource + SRC_PKG_NAME=python-gabbi -+ echo python-gabbi -libfakeroot internal error: payload not recognized! -+ sed s/python-// +++ echo python-gabbi +++ sed s/python-// + PY_MODULE_NAME=gabbi -+ py3versions -vr -+ PYTHON3S=3.13 3.12 -+ [ yes = yes ] +++ py3versions -vr ++ PYTHON3S='3.13 3.12' ++ '[' yes = yes ']' + TARGET_DIR=tmp -+ pwd ++ for pyvers in ${PYTHON3S} +++ pwd + python3.13 setup.py install --install-layout=deb --root /build/reproducible-path/python-gabbi-3.0.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! @@ -1189,50 +1228,51 @@ [pbr] AUTHORS complete (0.0s) running build running build_py +creating build/lib/gabbi +copying gabbi/driver.py -> build/lib/gabbi +copying gabbi/case.py -> build/lib/gabbi +copying gabbi/suitemaker.py -> build/lib/gabbi +copying gabbi/utils.py -> build/lib/gabbi +copying gabbi/fixture.py -> build/lib/gabbi +copying gabbi/suite.py -> build/lib/gabbi +copying gabbi/runner.py -> build/lib/gabbi +copying gabbi/httpclient.py -> build/lib/gabbi +copying gabbi/reporter.py -> build/lib/gabbi +copying gabbi/json_parser.py -> build/lib/gabbi +copying gabbi/__init__.py -> build/lib/gabbi +copying gabbi/pytester.py -> build/lib/gabbi +copying gabbi/exception.py -> build/lib/gabbi creating build/lib/gabbi/tests +copying gabbi/tests/test_unsafe_yaml.py -> build/lib/gabbi/tests +copying gabbi/tests/test_use_prior_test.py -> build/lib/gabbi/tests +copying gabbi/tests/test_suite.py -> build/lib/gabbi/tests +copying gabbi/tests/test_yaml_disk_loading_jsonhandler.py -> build/lib/gabbi/tests +copying gabbi/tests/test_handlers.py -> build/lib/gabbi/tests +copying gabbi/tests/test_data_to_string.py -> build/lib/gabbi/tests copying gabbi/tests/test_inner_fixture.py -> build/lib/gabbi/tests -copying gabbi/tests/test_intercept.py -> build/lib/gabbi/tests -copying gabbi/tests/custom_response_handler.py -> build/lib/gabbi/tests -copying gabbi/tests/test_load_data_file.py -> build/lib/gabbi/tests -copying gabbi/tests/test_replacers.py -> build/lib/gabbi/tests +copying gabbi/tests/test_syntax_warning.py -> build/lib/gabbi/tests copying gabbi/tests/test_live.py -> build/lib/gabbi/tests -copying gabbi/tests/test_runner.py -> build/lib/gabbi/tests -copying gabbi/tests/test_jsonpath.py -> build/lib/gabbi/tests -copying gabbi/tests/test_parse_url.py -> build/lib/gabbi/tests -copying gabbi/tests/test_suite.py -> build/lib/gabbi/tests -copying gabbi/tests/test_use_prior_test.py -> build/lib/gabbi/tests -copying gabbi/tests/test_driver.py -> build/lib/gabbi/tests -copying gabbi/tests/test_fixtures.py -> build/lib/gabbi/tests -copying gabbi/tests/test_unsafe_yaml.py -> build/lib/gabbi/tests +copying gabbi/tests/custom_response_handler.py -> build/lib/gabbi/tests copying gabbi/tests/test_history.py -> build/lib/gabbi/tests -copying gabbi/tests/simple_wsgi.py -> build/lib/gabbi/tests -copying gabbi/tests/test_suitemaker.py -> build/lib/gabbi/tests -copying gabbi/tests/test_yaml_disk_loading_jsonhandler.py -> build/lib/gabbi/tests copying gabbi/tests/util.py -> build/lib/gabbi/tests copying gabbi/tests/test_utils.py -> build/lib/gabbi/tests +copying gabbi/tests/test_driver.py -> build/lib/gabbi/tests copying gabbi/tests/__init__.py -> build/lib/gabbi/tests -copying gabbi/tests/test_data_to_string.py -> build/lib/gabbi/tests -copying gabbi/tests/test_syntax_warning.py -> build/lib/gabbi/tests -copying gabbi/tests/test_handlers.py -> build/lib/gabbi/tests +copying gabbi/tests/test_fixtures.py -> build/lib/gabbi/tests +copying gabbi/tests/test_runner.py -> build/lib/gabbi/tests +copying gabbi/tests/test_intercept.py -> build/lib/gabbi/tests +copying gabbi/tests/test_replacers.py -> build/lib/gabbi/tests +copying gabbi/tests/test_jsonpath.py -> build/lib/gabbi/tests +copying gabbi/tests/test_parse_url.py -> build/lib/gabbi/tests +copying gabbi/tests/test_load_data_file.py -> build/lib/gabbi/tests +copying gabbi/tests/test_suitemaker.py -> build/lib/gabbi/tests +copying gabbi/tests/simple_wsgi.py -> build/lib/gabbi/tests creating build/lib/gabbi/handlers -copying gabbi/handlers/jsonhandler.py -> build/lib/gabbi/handlers -copying gabbi/handlers/base.py -> build/lib/gabbi/handlers copying gabbi/handlers/core.py -> build/lib/gabbi/handlers +copying gabbi/handlers/base.py -> build/lib/gabbi/handlers +copying gabbi/handlers/jsonhandler.py -> build/lib/gabbi/handlers copying gabbi/handlers/yaml_disk_loading_jsonhandler.py -> build/lib/gabbi/handlers copying gabbi/handlers/__init__.py -> build/lib/gabbi/handlers -copying gabbi/pytester.py -> build/lib/gabbi -copying gabbi/driver.py -> build/lib/gabbi -copying gabbi/suite.py -> build/lib/gabbi -copying gabbi/runner.py -> build/lib/gabbi -copying gabbi/suitemaker.py -> build/lib/gabbi -copying gabbi/exception.py -> build/lib/gabbi -copying gabbi/fixture.py -> build/lib/gabbi -copying gabbi/httpclient.py -> build/lib/gabbi -copying gabbi/reporter.py -> build/lib/gabbi -copying gabbi/json_parser.py -> build/lib/gabbi -copying gabbi/__init__.py -> build/lib/gabbi -copying gabbi/utils.py -> build/lib/gabbi -copying gabbi/case.py -> build/lib/gabbi running egg_info creating gabbi.egg-info writing gabbi.egg-info/PKG-INFO @@ -1252,98 +1292,99 @@ running install_lib creating /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi -copying build/lib/gabbi/pytester.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/driver.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi -copying build/lib/gabbi/suite.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi -copying build/lib/gabbi/runner.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi +copying build/lib/gabbi/case.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/suitemaker.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi -copying build/lib/gabbi/exception.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi +copying build/lib/gabbi/utils.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi creating /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_unsafe_yaml.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_use_prior_test.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_suite.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_yaml_disk_loading_jsonhandler.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_handlers.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_data_to_string.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_inner_fixture.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_intercept.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/custom_response_handler.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_load_data_file.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_replacers.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_syntax_warning.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_live.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_runner.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_jsonpath.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_parse_url.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_suite.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_use_prior_test.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_driver.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_fixtures.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_unsafe_yaml.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/custom_response_handler.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_history.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/simple_wsgi.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_suitemaker.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_yaml_disk_loading_jsonhandler.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/util.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_utils.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_driver.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/__init__.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_data_to_string.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_syntax_warning.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests -copying build/lib/gabbi/tests/test_handlers.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_fixtures.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_runner.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_intercept.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_replacers.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_jsonpath.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_parse_url.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_load_data_file.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/test_suitemaker.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests +copying build/lib/gabbi/tests/simple_wsgi.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/fixture.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi +copying build/lib/gabbi/suite.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi +copying build/lib/gabbi/runner.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/httpclient.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/reporter.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/json_parser.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi +copying build/lib/gabbi/__init__.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi creating /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers -copying build/lib/gabbi/handlers/jsonhandler.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers -copying build/lib/gabbi/handlers/base.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers copying build/lib/gabbi/handlers/core.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers +copying build/lib/gabbi/handlers/base.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers +copying build/lib/gabbi/handlers/jsonhandler.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers copying build/lib/gabbi/handlers/yaml_disk_loading_jsonhandler.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers copying build/lib/gabbi/handlers/__init__.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers -copying build/lib/gabbi/__init__.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi -copying build/lib/gabbi/utils.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi -copying build/lib/gabbi/case.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/pytester.py to pytester.cpython-313.pyc +copying build/lib/gabbi/pytester.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi +copying build/lib/gabbi/exception.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/driver.py to driver.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/suite.py to suite.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/runner.py to runner.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/case.py to case.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/suitemaker.py to suitemaker.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/exception.py to exception.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_unsafe_yaml.py to test_unsafe_yaml.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_use_prior_test.py to test_use_prior_test.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_suite.py to test_suite.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_yaml_disk_loading_jsonhandler.py to test_yaml_disk_loading_jsonhandler.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_handlers.py to test_handlers.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_data_to_string.py to test_data_to_string.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_inner_fixture.py to test_inner_fixture.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_intercept.py to test_intercept.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/custom_response_handler.py to custom_response_handler.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_load_data_file.py to test_load_data_file.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_replacers.py to test_replacers.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_syntax_warning.py to test_syntax_warning.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_live.py to test_live.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_runner.py to test_runner.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_jsonpath.py to test_jsonpath.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_parse_url.py to test_parse_url.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_suite.py to test_suite.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_use_prior_test.py to test_use_prior_test.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_driver.py to test_driver.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_fixtures.py to test_fixtures.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_unsafe_yaml.py to test_unsafe_yaml.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/custom_response_handler.py to custom_response_handler.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_history.py to test_history.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/simple_wsgi.py to simple_wsgi.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_suitemaker.py to test_suitemaker.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_yaml_disk_loading_jsonhandler.py to test_yaml_disk_loading_jsonhandler.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/util.py to util.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_utils.py to test_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_driver.py to test_driver.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_data_to_string.py to test_data_to_string.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_syntax_warning.py to test_syntax_warning.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_handlers.py to test_handlers.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_fixtures.py to test_fixtures.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_runner.py to test_runner.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_intercept.py to test_intercept.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_replacers.py to test_replacers.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_jsonpath.py to test_jsonpath.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_parse_url.py to test_parse_url.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_load_data_file.py to test_load_data_file.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_suitemaker.py to test_suitemaker.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/simple_wsgi.py to simple_wsgi.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/fixture.py to fixture.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/suite.py to suite.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/runner.py to runner.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/httpclient.py to httpclient.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/reporter.py to reporter.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/json_parser.py to json_parser.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/jsonhandler.py to jsonhandler.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/core.py to core.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/jsonhandler.py to jsonhandler.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/yaml_disk_loading_jsonhandler.py to yaml_disk_loading_jsonhandler.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/case.py to case.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/pytester.py to pytester.cpython-313.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/exception.py to exception.cpython-313.pyc running install_egg_info Copying gabbi.egg-info to /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi-3.0.0.egg-info Skipping SOURCES.txt running install_scripts Installing gabbi-run script to /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/bin -+ pwd ++ for pyvers in ${PYTHON3S} +++ pwd + python3.12 setup.py install --install-layout=deb --root /build/reproducible-path/python-gabbi-3.0.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! @@ -1396,58 +1437,58 @@ writing top-level names to gabbi.egg-info/top_level.txt [pbr] Reusing existing SOURCES.txt running install_lib -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/pytester.py to pytester.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/driver.py to driver.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/suite.py to suite.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/runner.py to runner.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/case.py to case.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/suitemaker.py to suitemaker.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/exception.py to exception.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_unsafe_yaml.py to test_unsafe_yaml.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_use_prior_test.py to test_use_prior_test.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_suite.py to test_suite.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_yaml_disk_loading_jsonhandler.py to test_yaml_disk_loading_jsonhandler.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_handlers.py to test_handlers.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_data_to_string.py to test_data_to_string.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_inner_fixture.py to test_inner_fixture.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_intercept.py to test_intercept.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/custom_response_handler.py to custom_response_handler.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_load_data_file.py to test_load_data_file.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_replacers.py to test_replacers.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_syntax_warning.py to test_syntax_warning.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_live.py to test_live.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_runner.py to test_runner.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_jsonpath.py to test_jsonpath.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_parse_url.py to test_parse_url.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_suite.py to test_suite.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_use_prior_test.py to test_use_prior_test.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_driver.py to test_driver.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_fixtures.py to test_fixtures.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_unsafe_yaml.py to test_unsafe_yaml.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/custom_response_handler.py to custom_response_handler.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_history.py to test_history.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/simple_wsgi.py to simple_wsgi.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_suitemaker.py to test_suitemaker.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_yaml_disk_loading_jsonhandler.py to test_yaml_disk_loading_jsonhandler.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/util.py to util.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_utils.py to test_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_driver.py to test_driver.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_data_to_string.py to test_data_to_string.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_syntax_warning.py to test_syntax_warning.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_handlers.py to test_handlers.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_fixtures.py to test_fixtures.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_runner.py to test_runner.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_intercept.py to test_intercept.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_replacers.py to test_replacers.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_jsonpath.py to test_jsonpath.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_parse_url.py to test_parse_url.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_load_data_file.py to test_load_data_file.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_suitemaker.py to test_suitemaker.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/simple_wsgi.py to simple_wsgi.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/fixture.py to fixture.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/suite.py to suite.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/runner.py to runner.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/httpclient.py to httpclient.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/reporter.py to reporter.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/json_parser.py to json_parser.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/jsonhandler.py to jsonhandler.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/core.py to core.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/jsonhandler.py to jsonhandler.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/yaml_disk_loading_jsonhandler.py to yaml_disk_loading_jsonhandler.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/case.py to case.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/pytester.py to pytester.cpython-312.pyc +byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/exception.py to exception.cpython-312.pyc running install_egg_info removing '/build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi-3.0.0.egg-info' (and everything under it) Copying gabbi.egg-info to /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi-3.0.0.egg-info Skipping SOURCES.txt running install_scripts Installing gabbi-run script to /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/bin -+ pwd -+ rm -rf /build/reproducible-path/python-gabbi-3.0.0/debian/python*/usr/lib/python*/dist-packages/*.pth -+ pwd -+ rm -rf /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python*/dist-packages/*.pth +++ pwd ++ rm -rf '/build/reproducible-path/python-gabbi-3.0.0/debian/python*/usr/lib/python*/dist-packages/*.pth' +++ pwd ++ rm -rf '/build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python*/dist-packages/*.pth' # test_live are doing internet access. pkgos-dh_auto_test --no-py2 'gabbi\.tests\.(?!test_live.*|test_intercept\.prefix_get_that_link\.test_request|test_intercept\.prefix_get_relative_link\.test_request|test_intercept\.prefix_provide_a_link\.test_request)' + PKGOS_TEST_PARALLEL=yes @@ -1456,71 +1497,42 @@ + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + TEST_SERIAL_OPT= -+ echo WARNING: --no-py2 is deprecated, and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated, and always on.' WARNING: --no-py2 is deprecated, and always on. + shift -+ py3versions -vr -+ PYTHON3S=3.13 3.12 -+ [ yes = no ] -+ [ no = yes ] -+ [ 3.13 = disabled ] -+ echo 3.13 -+ cut -d. -f1 ++ for i in $@ ++ case "${1}" in +++ py3versions -vr ++ PYTHON3S='3.13 3.12' ++ '[' yes = no ']' ++ '[' no = yes ']' ++ for pyvers in ${PYTHON3S} ++ '[' 3.13 = disabled ']' +++ echo 3.13 +++ cut -d. -f1 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z ] -+ pwd -+ echo Implicitly adding PYTHONPATH=/build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages +++ pwd ++ '[' -d /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z '' ']' +++ pwd ++ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages -+ pwd +++ pwd + export PYTHONPATH=/build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] ++ PYTHONPATH=/build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ PYTHON=python3.13 stestr run --parallel --subunit gabbi\.tests\.(?!test_live.*|test_intercept\.prefix_get_that_link\.test_request|test_intercept\.prefix_get_relative_link\.test_request|test_intercept\.prefix_provide_a_link\.test_request) ++ PYTHON=python3.13 ++ stestr run --parallel --subunit 'gabbi\.tests\.(?!test_live.*|test_intercept\.prefix_get_that_link\.test_request|test_intercept\.prefix_get_relative_link\.test_request|test_intercept\.prefix_provide_a_link\.test_request)' + subunit2pyunit /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types -gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types ... ok -gabbi.tests.test_data_to_string.TestDataToString.testHappyPath -gabbi.tests.test_data_to_string.TestDataToString.testHappyPath ... ok -gabbi.tests.test_data_to_string.TestDataToString.testNoContentType -gabbi.tests.test_data_to_string.TestDataToString.testNoContentType ... ok -gabbi.tests.test_data_to_string.TestDataToString.testNoHandler -gabbi.tests.test_data_to_string.TestDataToString.testNoHandler ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_fixtures.FixtureTest.test_fixture_informs_on_exception -gabbi.tests.test_fixtures.FixtureTest.test_fixture_informs_on_exception ... ok -gabbi.tests.test_fixtures.FixtureTest.test_fixture_starts_and_stop -gabbi.tests.test_fixtures.FixtureTest.test_fixture_starts_and_stop ... ok -gabbi.tests.test_history.HistoryTest.test_cookie_replace_history -gabbi.tests.test_history.HistoryTest.test_cookie_replace_history ... ok -gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior -gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior ... ok -gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior_regex -gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior_regex ... ok -gabbi.tests.test_history.HistoryTest.test_header_replace_prior -gabbi.tests.test_history.HistoryTest.test_header_replace_prior ... ok -gabbi.tests.test_history.HistoryTest.test_header_replace_with_history -gabbi.tests.test_history.HistoryTest.test_header_replace_with_history ... ok -gabbi.tests.test_history.HistoryTest.test_header_replace_with_history_regex -gabbi.tests.test_history.HistoryTest.test_header_replace_with_history_regex ... ok -gabbi.tests.test_history.HistoryTest.test_location_replace_history -gabbi.tests.test_history.HistoryTest.test_location_replace_history ... ok -gabbi.tests.test_history.HistoryTest.test_location_replace_prior -gabbi.tests.test_history.HistoryTest.test_location_replace_prior ... ok -gabbi.tests.test_history.HistoryTest.test_location_replace_prior_regex -gabbi.tests.test_history.HistoryTest.test_location_replace_prior_regex ... ok gabbi.tests.test_handlers.HandlersTest.test_empty_response_handler gabbi.tests.test_handlers.HandlersTest.test_empty_response_handler ... ok gabbi.tests.test_handlers.HandlersTest.test_resonse_headers_stringify @@ -1549,38 +1561,66 @@ gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_regex ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_inner_fixture.inner_get_one.test_request -gabbi.tests.test_inner_fixture.inner_get_one.test_request ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_intercept.self_get_simple_page.test_request -gabbi.tests.test_intercept.self_get_simple_page.test_request ... ok -gabbi.tests.test_intercept.host-header_ssl_no_host.test_request -gabbi.tests.test_intercept.host-header_ssl_no_host.test_request ... ok -gabbi.tests.test_intercept.host-header_host_without_ssl.test_request -gabbi.tests.test_intercept.host-header_host_without_ssl.test_request ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_intercept.host-header_ssl_with_host.test_request -gabbi.tests.test_intercept.host-header_ssl_with_host.test_request ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_intercept.host-header_ssl_with_capitalised_host.test_request -gabbi.tests.test_intercept.host-header_ssl_with_capitalised_host.test_request ... ok -gabbi.tests.test_history.HistoryTest.test_response_replace_prior -gabbi.tests.test_history.HistoryTest.test_response_replace_prior ... ok +gabbi.tests.test_history.HistoryTest.test_cookie_replace_history +gabbi.tests.test_history.HistoryTest.test_cookie_replace_history ... ok +gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior +gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior ... ok +gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior_regex +gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior_regex ... ok +gabbi.tests.test_history.HistoryTest.test_header_replace_prior +gabbi.tests.test_history.HistoryTest.test_header_replace_prior ... ok +gabbi.tests.test_history.HistoryTest.test_header_replace_with_history +gabbi.tests.test_history.HistoryTest.test_header_replace_with_history ... ok +gabbi.tests.test_history.HistoryTest.test_header_replace_with_history_regex +gabbi.tests.test_history.HistoryTest.test_header_replace_with_history_regex ... ok +gabbi.tests.test_data_to_string.TestDataToString.testHappyPath +gabbi.tests.test_data_to_string.TestDataToString.testHappyPath ... ok +gabbi.tests.test_history.HistoryTest.test_location_replace_history +gabbi.tests.test_history.HistoryTest.test_location_replace_history ... ok +gabbi.tests.test_history.HistoryTest.test_location_replace_prior +gabbi.tests.test_history.HistoryTest.test_location_replace_prior ... ok +gabbi.tests.test_history.HistoryTest.test_location_replace_prior_regex +gabbi.tests.test_history.HistoryTest.test_location_replace_prior_regex ... ok +gabbi.tests.test_data_to_string.TestDataToString.testNoContentType +gabbi.tests.test_data_to_string.TestDataToString.testNoContentType ... ok +gabbi.tests.test_data_to_string.TestDataToString.testNoHandler +gabbi.tests.test_data_to_string.TestDataToString.testNoHandler ... ok +gabbi.tests.test_fixtures.FixtureTest.test_fixture_informs_on_exception +gabbi.tests.test_fixtures.FixtureTest.test_fixture_informs_on_exception ... ok +gabbi.tests.test_fixtures.FixtureTest.test_fixture_starts_and_stop +gabbi.tests.test_fixtures.FixtureTest.test_fixture_starts_and_stop ... ok +gabbi.tests.test_inner_fixture.inner_get_one.test_request +gabbi.tests.test_inner_fixture.inner_get_one.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths gabbi.tests.test_handlers.HandlersTest.test_response_json_paths ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_dict_type gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_dict_type ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_inner_fixture.inner_get_two.test_request +gabbi.tests.test_inner_fixture.inner_get_two.test_request ... ok +gabbi.tests.test_history.HistoryTest.test_response_replace_prior +gabbi.tests.test_history.HistoryTest.test_response_replace_prior ... ok +gabbi.tests.test_intercept.self_bogus_method.test_request +gabbi.tests.test_intercept.self_bogus_method.test_request ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_data +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_data ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_intercept.jsonbody_test_empty_dict.test_request +gabbi.tests.test_intercept.jsonbody_test_empty_dict.test_request ... ok +gabbi.tests.test_intercept.method-shortcut_simple_post.test_request +gabbi.tests.test_intercept.method-shortcut_simple_post.test_request ... ok gabbi.tests.test_history.HistoryTest.test_response_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_response_replace_prior_regex ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.self_inheritance_of_defaults.test_request gabbi.tests.test_intercept.self_inheritance_of_defaults.test_request ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_data -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_data ... ok gabbi.tests.test_history.HistoryTest.test_response_replace_with_history gabbi.tests.test_history.HistoryTest.test_response_replace_with_history ... ok gabbi.tests.test_history.HistoryTest.test_url_replace_history @@ -1589,113 +1629,127 @@ gabbi.tests.test_history.HistoryTest.test_url_replace_prior ... ok gabbi.tests.test_history.HistoryTest.test_url_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_url_replace_prior_regex ... ok -gabbi.tests.test_intercept.self_bogus_method.test_request -gabbi.tests.test_intercept.self_bogus_method.test_request ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_intercept.self_use_prior_location.test_request -gabbi.tests.test_intercept.self_use_prior_location.test_request ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_intercept.self_use_a_historical_location.test_request -gabbi.tests.test_intercept.self_use_a_historical_location.test_request ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path ... ok -gabbi.tests.test_intercept.self_simple_post.test_request -gabbi.tests.test_intercept.self_simple_post.test_request ... ok -gabbi.tests.test_inner_fixture.inner_get_two.test_request -gabbi.tests.test_inner_fixture.inner_get_two.test_request ... ok -gabbi.tests.test_inner_fixture.inner_get_three.test_request -gabbi.tests.test_inner_fixture.inner_get_three.test_request ... ok +gabbi.tests.test_intercept.self_post_a_body.test_request +gabbi.tests.test_intercept.self_post_a_body.test_request ... ok gabbi.tests.test_intercept.self_get_location_from_headers.test_request gabbi.tests.test_intercept.self_get_location_from_headers.test_request ... ok -gabbi.tests.test_intercept.poll_poller.test_request -gabbi.tests.test_intercept.poll_poller.test_request ... ok +gabbi.tests.test_inner_fixture.inner_get_three.test_request +gabbi.tests.test_inner_fixture.inner_get_three.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path ... ok -gabbi.tests.test_intercept.self_post_a_body_with_query.test_request -gabbi.tests.test_intercept.self_post_a_body_with_query.test_request ... ok -gabbi.tests.test_intercept.self_test_binary_handling.test_request -gabbi.tests.test_intercept.self_test_binary_handling.test_request ... ok +gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request +gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request ... ok gabbi.tests.test_intercept.self_get_ssl_page.test_request gabbi.tests.test_intercept.self_get_ssl_page.test_request ... ok -gabbi.tests.test_intercept.self_test_pluggable_response.test_request -gabbi.tests.test_intercept.self_test_pluggable_response.test_request ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_intercept.self_query_returned.test_request -gabbi.tests.test_intercept.self_query_returned.test_request ... ok +gabbi.tests.test_intercept.queryparams_simple_param.test_request +gabbi.tests.test_intercept.queryparams_simple_param.test_request ... ok +gabbi.tests.test_intercept.jsonbody_test_fully_body.test_request +gabbi.tests.test_intercept.jsonbody_test_fully_body.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path_fail gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path_fail ... ok -gabbi.tests.test_intercept.json-extensions_test_len.test_request -gabbi.tests.test_intercept.json-extensions_test_len.test_request ... ok -gabbi.tests.test_intercept.self_post_a_body.test_request -gabbi.tests.test_intercept.self_post_a_body.test_request ... ok +gabbi.tests.test_intercept.self_confirm_environ.test_request +gabbi.tests.test_intercept.self_confirm_environ.test_request ... ok +gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request +gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request ... ok +gabbi.tests.test_intercept.contenttype_patch_content-type.test_request +gabbi.tests.test_intercept.contenttype_patch_content-type.test_request ... ok +gabbi.tests.test_intercept.method-shortcut_post_with_query.test_request +gabbi.tests.test_intercept.method-shortcut_post_with_query.test_request ... ok +gabbi.tests.test_intercept.regex_regex_header_test.test_request +gabbi.tests.test_intercept.regex_regex_header_test.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex ... ok +gabbi.tests.test_intercept.method-shortcut_simple_get.test_request +gabbi.tests.test_intercept.method-shortcut_simple_get.test_request ... ok +gabbi.tests.test_intercept.self_test_pluggable_response.test_request +gabbi.tests.test_intercept.self_test_pluggable_response.test_request ... ok +gabbi.tests.test_intercept.contenttype_put_no_content-type.test_request +gabbi.tests.test_intercept.contenttype_put_no_content-type.test_request ... ok +gabbi.tests.test_intercept.contenttype_put_content-type.test_request +gabbi.tests.test_intercept.contenttype_put_content-type.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_number gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_number ... ok -gabbi.tests.test_intercept.jsonbody_test_empty_list.test_request -gabbi.tests.test_intercept.jsonbody_test_empty_list.test_request ... ok -Exception ignored in: +gabbi.tests.test_intercept.self_use_a_historical_location.test_request +gabbi.tests.test_intercept.self_use_a_historical_location.test_request ... ok +gabbi.tests.test_intercept.queryparams_unicode.test_request +gabbi.tests.test_intercept.queryparams_unicode.test_request ... ok +gabbi.tests.test_intercept.header-key_header_named_http.test_request +gabbi.tests.test_intercept.header-key_header_named_http.test_request ... ok +gabbi.tests.test_intercept.contenttype_post_content-type.test_request +gabbi.tests.test_intercept.contenttype_post_content-type.test_request ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_match +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_match ... ok +gabbi.tests.test_intercept.self_get_historical_location_from_headers.test_request +gabbi.tests.test_intercept.self_get_historical_location_from_headers.test_request ... ok +Exception ignored in: Traceback (most recent call last): File "/usr/lib/python3.13/http/client.py", line 434, in close if self.fp: AttributeError: 'HTTPResponse' object has no attribute 'fp' -gabbi.tests.test_intercept.skipall_a_skipped_test.test_request -gabbi.tests.test_intercept.skipall_a_skipped_test.test_request ... skipped 'entire suite skipped' -gabbi.tests.test_intercept.failskip_skip_me.test_request -gabbi.tests.test_intercept.failskip_skip_me.test_request ... skipped "Skipping for now because we can't do it" -gabbi.tests.test_intercept.failskip_non_existent_header.test_request -gabbi.tests.test_intercept.failskip_non_existent_header.test_request ... expected failure -gabbi.tests.test_intercept.failskip_non_existent_header.test_request -gabbi.tests.test_intercept.failskip_non_existent_header.test_request ... ok -gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request -gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request ... expected failure -gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request -gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_match -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_match ... ok -gabbi.tests.test_intercept.poll_poller_fail.test_request -gabbi.tests.test_intercept.poll_poller_fail.test_request ... expected failure -gabbi.tests.test_intercept.poll_poller_fail.test_request -gabbi.tests.test_intercept.poll_poller_fail.test_request ... ok -gabbi.tests.test_intercept.data_json_value_from_disk.test_request -gabbi.tests.test_intercept.data_json_value_from_disk.test_request ... ok -gabbi.tests.test_intercept.header-key_header_named_http.test_request -gabbi.tests.test_intercept.header-key_header_named_http.test_request ... ok -gabbi.tests.test_intercept.cookie_get_a_cookie.test_request -gabbi.tests.test_intercept.cookie_get_a_cookie.test_request ... ok -gabbi.tests.test_intercept.failskip_wrong_status.test_request -gabbi.tests.test_intercept.failskip_wrong_status.test_request ... expected failure -gabbi.tests.test_intercept.failskip_wrong_status.test_request -gabbi.tests.test_intercept.failskip_wrong_status.test_request ... ok +gabbi.tests.test_intercept.self_query_returned.test_request +gabbi.tests.test_intercept.self_query_returned.test_request ... ok +gabbi.tests.test_intercept.self_simple_post.test_request +gabbi.tests.test_intercept.self_simple_post.test_request ... ok +gabbi.tests.test_intercept.regex_regex_jsonpath_test.test_request +gabbi.tests.test_intercept.regex_regex_jsonpath_test.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_nomatch gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_nomatch ... ok -gabbi.tests.test_intercept.self_fail_pluggable_response.test_request -gabbi.tests.test_intercept.self_fail_pluggable_response.test_request ... expected failure -gabbi.tests.test_intercept.self_fail_pluggable_response.test_request -gabbi.tests.test_intercept.self_fail_pluggable_response.test_request ... ok +gabbi.tests.test_intercept.self_test_exception_wrapper.test_request +gabbi.tests.test_intercept.self_test_exception_wrapper.test_request ... expected failure +gabbi.tests.test_intercept.self_test_exception_wrapper.test_request +gabbi.tests.test_intercept.self_test_exception_wrapper.test_request ... ok +gabbi.tests.test_intercept.backref_post_some_json.test_request +gabbi.tests.test_intercept.backref_post_some_json.test_request ... ok +gabbi.tests.test_intercept.self_non_json_response_failure.test_request +gabbi.tests.test_intercept.self_non_json_response_failure.test_request ... expected failure +gabbi.tests.test_intercept.self_non_json_response_failure.test_request +gabbi.tests.test_intercept.self_non_json_response_failure.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_esc_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_esc_regex ... ok -gabbi.tests.test_intercept.regex_regex_string_test_splat.test_request -gabbi.tests.test_intercept.regex_regex_string_test_splat.test_request ... ok +gabbi.tests.test_intercept.self_post_a_body_with_query.test_request +gabbi.tests.test_intercept.self_post_a_body_with_query.test_request ... ok +gabbi.tests.test_intercept.regex_regex_string_test_mix.test_request +gabbi.tests.test_intercept.regex_regex_string_test_mix.test_request ... ok +gabbi.tests.test_intercept.fixture_just_to_see.test_request +gabbi.tests.test_intercept.fixture_just_to_see.test_request ... ok +gabbi.tests.test_intercept.skipall_a_skipped_test.test_request +gabbi.tests.test_intercept.skipall_a_skipped_test.test_request ... skipped 'entire suite skipped' gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_noregex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_noregex ... ok -gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request -gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request ... expected failure -gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request -gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_driver.DriverTest.test_build_require_ssl +gabbi.tests.test_driver.DriverTest.test_build_require_ssl ... ok +gabbi.tests.test_driver.DriverTest.test_build_requires_host_or_intercept +gabbi.tests.test_driver.DriverTest.test_build_requires_host_or_intercept ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_regex ... ok -gabbi.tests.test_intercept.data_load_image_file.test_request -gabbi.tests.test_intercept.data_load_image_file.test_request ... ok -gabbi.tests.test_intercept.self_non_json_response_failure.test_request -gabbi.tests.test_intercept.self_non_json_response_failure.test_request ... expected failure -gabbi.tests.test_intercept.self_non_json_response_failure.test_request -gabbi.tests.test_intercept.self_non_json_response_failure.test_request ... ok -gabbi.tests.test_intercept.method-shortcut_simple_get.test_request -gabbi.tests.test_intercept.method-shortcut_simple_get.test_request ... ok +gabbi.tests.test_intercept.self_xml_derived_content_type.test_request +gabbi.tests.test_intercept.self_xml_derived_content_type.test_request ... expected failure +gabbi.tests.test_intercept.self_xml_derived_content_type.test_request +gabbi.tests.test_intercept.self_xml_derived_content_type.test_request ... ok +gabbi.tests.test_driver.DriverTest.test_build_url_target +gabbi.tests.test_driver.DriverTest.test_build_url_target ... ok +gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl +gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl ... ok +gabbi.tests.test_intercept.poll_poller.test_request +gabbi.tests.test_intercept.poll_poller.test_request ... ok +gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request +gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request ... expected failure +gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request +gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request ... ok +gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test +gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test ... ok +gabbi.tests.test_intercept.self_fail_pluggable_response.test_request +gabbi.tests.test_intercept.self_fail_pluggable_response.test_request ... expected failure +gabbi.tests.test_intercept.self_fail_pluggable_response.test_request +gabbi.tests.test_intercept.self_fail_pluggable_response.test_request ... ok +gabbi.tests.test_intercept.queryparams_joined_params.test_request +gabbi.tests.test_intercept.queryparams_joined_params.test_request ... ok +gabbi.tests.test_driver.DriverTest.test_build_with_url_provides_host +gabbi.tests.test_driver.DriverTest.test_build_with_url_provides_host ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_yamlhandler gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_yamlhandler ... ok gabbi.tests.test_handlers.HandlersTest.test_response_string_list_type @@ -1708,358 +1762,235 @@ gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_output ... ok gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_payload gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_payload ... ok -gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request -gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request ... ok -Exception ignored in: -Traceback (most recent call last): - File "/usr/lib/python3.13/http/client.py", line 434, in close - if self.fp: -AttributeError: 'HTTPResponse' object has no attribute 'fp' -gabbi.tests.test_intercept.regex_regex_jsonpath_test.test_request -gabbi.tests.test_intercept.regex_regex_jsonpath_test.test_request ... ok -Exception ignored in: +gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types +gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types ... ok +gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests +gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests ... ok +gabbi.tests.test_intercept.self_get_simple_page.test_request +gabbi.tests.test_intercept.self_get_simple_page.test_request ... ok +gabbi.tests.test_intercept.queryparams_url_in_param.test_request +gabbi.tests.test_intercept.queryparams_url_in_param.test_request ... ok +gabbi.tests.test_driver.DriverTest.test_driver_prefix +gabbi.tests.test_driver.DriverTest.test_driver_prefix ... ok +gabbi.tests.test_intercept.queryparams_multi_params.test_request +gabbi.tests.test_intercept.queryparams_multi_params.test_request ... ok +gabbi.tests.test_intercept.self_use_prior_location.test_request +gabbi.tests.test_intercept.self_use_prior_location.test_request ... ok +gabbi.tests.test_intercept.self_checklimit.test_request +gabbi.tests.test_intercept.self_checklimit.test_request ... ok +gabbi.tests.test_intercept.jsonbody_test_empty_list.test_request +gabbi.tests.test_intercept.jsonbody_test_empty_list.test_request ... ok +gabbi.tests.test_intercept.regex_regex_string_test_splat.test_request +gabbi.tests.test_intercept.regex_regex_string_test_splat.test_request ... ok +gabbi.tests.test_intercept.coerce_from_environ.test_request +gabbi.tests.test_intercept.coerce_from_environ.test_request ... ok +gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request +gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request ... expected failure +gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request +gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request ... ok +Exception ignored in: Traceback (most recent call last): File "/usr/lib/python3.13/http/client.py", line 434, in close -gabbi.tests.test_intercept.self_test_exception_wrapper.test_request -gabbi.tests.test_intercept.self_test_exception_wrapper.test_request ... expected failure if self.fp: AttributeError: 'HTTPResponse' object has no attribute 'fp' -gabbi.tests.test_intercept.self_test_exception_wrapper.test_request -gabbi.tests.test_intercept.self_test_exception_wrapper.test_request ... ok -gabbi.tests.test_intercept.regex_regex_string_test_multiline.test_request -gabbi.tests.test_intercept.regex_regex_string_test_multiline.test_request ... ok -gabbi.tests.test_intercept.json-left-side_set_key_and_value.test_request -gabbi.tests.test_intercept.json-left-side_set_key_and_value.test_request ... ok -gabbi.tests.test_intercept.data_partial_json_from_disk.test_request -gabbi.tests.test_intercept.data_partial_json_from_disk.test_request ... ok -gabbi.tests.test_intercept.data_post_data_for_next.test_request -gabbi.tests.test_intercept.data_post_data_for_next.test_request ... ok -gabbi.tests.test_intercept.regex_regex_header_test.test_request -gabbi.tests.test_intercept.regex_regex_header_test.test_request ... ok -gabbi.tests.test_intercept.method-shortcut_post_with_query.test_request -gabbi.tests.test_intercept.method-shortcut_post_with_query.test_request ... ok -gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request -gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request ... ok +gabbi.tests.test_intercept.self_test_binary_handling.test_request +gabbi.tests.test_intercept.self_test_binary_handling.test_request ... ok gabbi.tests.test_intercept.self_json_derived_content_type.test_request gabbi.tests.test_intercept.self_json_derived_content_type.test_request ... ok -gabbi.tests.test_intercept.json-left-side_expand_left_side.test_request -gabbi.tests.test_intercept.json-left-side_expand_left_side.test_request ... ok -gabbi.tests.test_intercept.cookie_use_a_historical_cookie.test_request -gabbi.tests.test_intercept.cookie_use_a_historical_cookie.test_request ... ok -gabbi.tests.test_intercept.data_load_data_dictionary.test_request -gabbi.tests.test_intercept.data_load_data_dictionary.test_request ... ok -gabbi.tests.test_intercept.self_get_historical_location_from_headers.test_request -gabbi.tests.test_intercept.self_get_historical_location_from_headers.test_request ... ok -gabbi.tests.test_intercept.jsonbody_test_empty_dict.test_request -gabbi.tests.test_intercept.jsonbody_test_empty_dict.test_request ... ok -gabbi.tests.test_intercept.json-left-side_expand_environ_left_side.test_request -gabbi.tests.test_intercept.json-left-side_expand_environ_left_side.test_request ... ok -gabbi.tests.test_intercept.regex_regex_string_test_mix.test_request -gabbi.tests.test_intercept.regex_regex_string_test_mix.test_request ... ok -gabbi.tests.test_intercept.fixture_just_to_see_one.test_request -gabbi.tests.test_intercept.fixture_just_to_see_one.test_request ... ok +gabbi.tests.test_intercept.contenttype_patch_no_content-type.test_request +gabbi.tests.test_intercept.contenttype_patch_no_content-type.test_request ... ok gabbi.tests.test_intercept.backref_post_some_more_json.test_request gabbi.tests.test_intercept.backref_post_some_more_json.test_request ... ok -gabbi.tests.test_intercept.method-shortcut_simple_post.test_request -gabbi.tests.test_intercept.method-shortcut_simple_post.test_request ... ok +gabbi.tests.test_intercept.queryparams_replacers_in_params.test_request +gabbi.tests.test_intercept.queryparams_replacers_in_params.test_request ... ok gabbi.tests.test_intercept.regex_regex_string_test_json.test_request gabbi.tests.test_intercept.regex_regex_string_test_json.test_request ... ok -gabbi.tests.test_intercept.json-left-side_left_side_json_one.test_request -gabbi.tests.test_intercept.json-left-side_left_side_json_one.test_request ... ok -gabbi.tests.test_intercept.data_load_data_list.test_request -gabbi.tests.test_intercept.data_load_data_list.test_request ... ok -gabbi.tests.test_intercept.self_confirm_environ.test_request -gabbi.tests.test_intercept.self_confirm_environ.test_request ... ok -gabbi.tests.test_intercept.coerce_with_list.test_request -gabbi.tests.test_intercept.coerce_with_list.test_request ... ok -gabbi.tests.test_intercept.data_load_encoded_text.test_request -gabbi.tests.test_intercept.data_load_encoded_text.test_request ... ok -gabbi.tests.test_intercept.queryparams_unicode.test_request -gabbi.tests.test_intercept.queryparams_unicode.test_request ... ok -gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers -gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers ... ok -gabbi.tests.test_intercept.jsonbody_test_fully_body.test_request -gabbi.tests.test_intercept.jsonbody_test_fully_body.test_request ... ok -gabbi.tests.test_unsafe_yaml.nan_test_nan.test_request -gabbi.tests.test_unsafe_yaml.nan_test_nan.test_request ... ok -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_default -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_default ... ok -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_error_default -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_error_default ... ok -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_extra -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_extra ... ok -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_nocharset_default -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_nocharset_default ... ok -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_override_default -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_override_default ... ok -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_simple -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_simple ... ok -#### get simple page #### -> GET http://5bccba14-4843-4c58-8428-7288af9ba407:8001/ -> x-random-header: ya -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< X-Gabbi-method: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://5bccba14-4843-4c58-8428-7288af9ba407:8001/ - -{} - +gabbi.tests.test_intercept.regex_regex_string_test_multiline.test_request +gabbi.tests.test_intercept.regex_regex_string_test_multiline.test_request ... ok gabbi.tests.test_intercept.coerce_object_with_list.test_request gabbi.tests.test_intercept.coerce_object_with_list.test_request ... ok +gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request +gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request ... ok +gabbi.tests.test_intercept.coerce_post_extra_data.test_request +gabbi.tests.test_intercept.coerce_post_extra_data.test_request ... ok +gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request +gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request ... ok +gabbi.tests.test_intercept.forbiddenheaders_header_not_there_basic.test_request +gabbi.tests.test_intercept.forbiddenheaders_header_not_there_basic.test_request ... ok +gabbi.tests.test_intercept.backref_post_even_more_json.test_request +gabbi.tests.test_intercept.backref_post_even_more_json.test_request ... ok +gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request +gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request ... expected failure +gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request +gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request ... ok +gabbi.tests.test_intercept.json-left-side_expand_environ_left_side.test_request +gabbi.tests.test_intercept.json-left-side_expand_environ_left_side.test_request ... ok +gabbi.tests.test_intercept.last-url_get_that_same_url_again.test_request +gabbi.tests.test_intercept.last-url_get_that_same_url_again.test_request ... ok +gabbi.tests.test_intercept.last-url_get_prior_url.test_request +gabbi.tests.test_intercept.last-url_get_prior_url.test_request ... ok +gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_gloss.test_request +gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_gloss.test_request ... ok +gabbi.tests.test_intercept.backref_repost_that_raw_int.test_request +gabbi.tests.test_intercept.backref_repost_that_raw_int.test_request ... ok +gabbi.tests.test_intercept.backref_get_a_historical_response.test_request +gabbi.tests.test_intercept.backref_get_a_historical_response.test_request ... ok +gabbi.tests.test_intercept.poll_poller_fail.test_request +gabbi.tests.test_intercept.poll_poller_fail.test_request ... expected failure +gabbi.tests.test_intercept.poll_poller_fail.test_request +gabbi.tests.test_intercept.poll_poller_fail.test_request ... ok +gabbi.tests.test_intercept.coerce_with_list.test_request +gabbi.tests.test_intercept.coerce_with_list.test_request ... ok +gabbi.tests.test_intercept.last-url_get_a_url_the_first_time.test_request +gabbi.tests.test_intercept.last-url_get_a_url_the_first_time.test_request ... ok +gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request +gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request ... ok gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request ... expected failure gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request ... ok -Exception ignored in: -Traceback (most recent call last): - File "/usr/lib/python3.13/http/client.py", line 434, in close - if self.fp: -AttributeError: 'HTTPResponse' object has no attribute 'fp' +gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request +gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request ... expected failure +gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request +gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request ... ok +gabbi.tests.test_intercept.poll_create_a_thing.test_request +gabbi.tests.test_intercept.poll_create_a_thing.test_request ... ok +gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request +gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request ... ok +gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request +gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request ... ok +gabbi.tests.test_intercept.casting_historic_casted_json.test_request +gabbi.tests.test_intercept.casting_historic_casted_json.test_request ... ok +gabbi.tests.test_intercept.json-left-side_set_key_and_value.test_request +gabbi.tests.test_intercept.json-left-side_set_key_and_value.test_request ... ok +gabbi.tests.test_intercept.json-extensions_test_len.test_request +gabbi.tests.test_intercept.json-extensions_test_len.test_request ... ok +gabbi.tests.test_intercept.failskip_non_existent_header.test_request +gabbi.tests.test_intercept.failskip_non_existent_header.test_request ... expected failure +gabbi.tests.test_intercept.failskip_non_existent_header.test_request +gabbi.tests.test_intercept.failskip_non_existent_header.test_request ... ok +gabbi.tests.test_intercept.host-header_ssl_no_host.test_request +gabbi.tests.test_intercept.host-header_ssl_no_host.test_request ... ok +gabbi.tests.test_intercept.json-left-side_check_key_and_value.test_request +gabbi.tests.test_intercept.json-left-side_check_key_and_value.test_request ... ok +gabbi.tests.test_intercept.fixture_just_to_see_two.test_request +gabbi.tests.test_intercept.fixture_just_to_see_two.test_request ... ok +gabbi.tests.test_intercept.fixture_just_to_see_three.test_request +gabbi.tests.test_intercept.fixture_just_to_see_three.test_request ... ok +gabbi.tests.test_intercept.last-url_now_last_url_does_not_have_those_query_params.test_request +gabbi.tests.test_intercept.last-url_now_last_url_does_not_have_those_query_params.test_request ... ok +gabbi.tests.test_intercept.last-url_get_a_historical_url.test_request +gabbi.tests.test_intercept.last-url_get_a_historical_url.test_request ... ok +gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request +gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request ... ok +gabbi.tests.test_intercept.fixture_just_to_see_one.test_request +gabbi.tests.test_intercept.fixture_just_to_see_one.test_request ... ok +gabbi.tests.test_intercept.host-header_ssl_with_capitalised_host.test_request +gabbi.tests.test_intercept.host-header_ssl_with_capitalised_host.test_request ... ok +gabbi.tests.test_intercept.json-right-side_json_parital_from_disk.test_request +gabbi.tests.test_intercept.json-right-side_json_parital_from_disk.test_request ... ok +gabbi.tests.test_intercept.casting_default_casts.test_request +gabbi.tests.test_intercept.casting_default_casts.test_request ... ok +gabbi.tests.test_intercept.poll_loop_location.test_request +gabbi.tests.test_intercept.poll_loop_location.test_request ... ok +gabbi.tests.test_intercept.json-left-side_left_side_json_one.test_request +gabbi.tests.test_intercept.json-left-side_left_side_json_one.test_request ... ok +gabbi.tests.test_intercept.json-extensions_test_sort.test_request +gabbi.tests.test_intercept.json-extensions_test_sort.test_request ... ok +gabbi.tests.test_intercept.json-left-side_expand_left_side.test_request +gabbi.tests.test_intercept.json-left-side_expand_left_side.test_request ... ok +gabbi.tests.test_intercept.failskip_wrong_status.test_request +gabbi.tests.test_intercept.failskip_wrong_status.test_request ... expected failure +gabbi.tests.test_intercept.failskip_wrong_status.test_request +gabbi.tests.test_intercept.failskip_wrong_status.test_request ... ok +gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request +gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request ... expected failure +gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request +gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request ... ok +gabbi.tests.test_intercept.coerce_use_data.test_request +gabbi.tests.test_intercept.coerce_use_data.test_request ... ok +gabbi.tests.test_intercept.data_load_data_list.test_request +gabbi.tests.test_intercept.data_load_data_list.test_request ... ok +gabbi.tests.test_intercept.host-header_ssl_with_host.test_request +gabbi.tests.test_intercept.host-header_ssl_with_host.test_request ... ok +gabbi.tests.test_intercept.data_load_encoded_text.test_request +gabbi.tests.test_intercept.data_load_encoded_text.test_request ... ok gabbi.tests.test_intercept.coerce_post_data.test_request gabbi.tests.test_intercept.coerce_post_data.test_request ... ok -gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request -gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request ... expected failure -gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request -gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request ... ok -gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request -gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request ... ok -gabbi.tests.test_intercept.coerce_from_environ.test_request -gabbi.tests.test_intercept.coerce_from_environ.test_request ... ok +gabbi.tests.test_intercept.cookie_get_a_cookie.test_request +gabbi.tests.test_intercept.cookie_get_a_cookie.test_request ... ok +gabbi.tests.test_intercept.json-right-side_json_partial_both_sides.test_request +gabbi.tests.test_intercept.json-right-side_json_partial_both_sides.test_request ... ok +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_basic_match gabbi.tests.test_jsonpath.JSONPathTest.test_basic_match ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_embedded_list_handling gabbi.tests.test_jsonpath.JSONPathTest.test_embedded_list_handling ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_filtered_list gabbi.tests.test_jsonpath.JSONPathTest.test_filtered_list ... ok -gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request -gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request ... ok -gabbi.tests.test_intercept.coerce_use_data.test_request -gabbi.tests.test_intercept.coerce_use_data.test_request ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_len_object_list gabbi.tests.test_jsonpath.JSONPathTest.test_len_object_list ... ok -gabbi.tests.test_intercept.self_xml_derived_content_type.test_request -gabbi.tests.test_intercept.self_xml_derived_content_type.test_request ... expected failure -gabbi.tests.test_intercept.self_xml_derived_content_type.test_request -gabbi.tests.test_intercept.self_xml_derived_content_type.test_request ... ok -gabbi.tests.test_intercept.coerce_post_extra_data.test_request -gabbi.tests.test_intercept.coerce_post_extra_data.test_request ... ok -gabbi.tests.test_intercept.last-url_get_a_historical_url.test_request -gabbi.tests.test_intercept.last-url_get_a_historical_url.test_request ... ok +gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request +gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request ... expected failure +gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request +gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request ... ok +gabbi.tests.test_intercept.failskip_skip_me.test_request +gabbi.tests.test_intercept.failskip_skip_me.test_request ... skipped "Skipping for now because we can't do it" gabbi.tests.test_jsonpath.JSONPathTest.test_len_simple_list gabbi.tests.test_jsonpath.JSONPathTest.test_len_simple_list ... ok -gabbi.tests.test_intercept.fixture_just_to_see_three.test_request -gabbi.tests.test_intercept.fixture_just_to_see_three.test_request ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_list_handling gabbi.tests.test_jsonpath.JSONPathTest.test_list_handling ... ok -gabbi.tests.test_intercept.backref_post_some_json.test_request -gabbi.tests.test_intercept.backref_post_some_json.test_request ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_object_list gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_object_list ... ok -gabbi.tests.test_intercept.poll_create_a_thing.test_request -gabbi.tests.test_intercept.poll_create_a_thing.test_request ... ok +gabbi.tests.test_intercept.data_load_image_file.test_request +gabbi.tests.test_intercept.data_load_image_file.test_request ... ok +gabbi.tests.test_load_data_file.DataFileTest.test_load_file +gabbi.tests.test_load_data_file.DataFileTest.test_load_file ... ok +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_directory +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_directory ... ok +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_parent_dir +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_parent_dir ... ok +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_root +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_root ... ok +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_not_within_test_directory +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_not_within_test_directory ... ok +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_within_test_directory +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_within_test_directory ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_simple_list gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_simple_list ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_dict_on_invalid_key -gabbi.tests.test_suitemaker.SuiteMakerTest.test_dict_on_invalid_key ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_inner_list_required -gabbi.tests.test_suitemaker.SuiteMakerTest.test_inner_list_required ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_duplication_format_error -gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_duplication_format_error ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_format_error -gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_format_error ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_name_key_required -gabbi.tests.test_suitemaker.SuiteMakerTest.test_name_key_required ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_first -gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_first ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_last -gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_last ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_tests_key_required -gabbi.tests.test_suitemaker.SuiteMakerTest.test_tests_key_required ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_unsupported_key_errors -gabbi.tests.test_suitemaker.SuiteMakerTest.test_unsupported_key_errors ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_upper_dict_required -gabbi.tests.test_suitemaker.SuiteMakerTest.test_upper_dict_required ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required -gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_already_bracket -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_already_bracket ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_full -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_full ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl_weird_port -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl_weird_port ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_no_double_colon -gabbi.tests.test_utils.CreateURLTest.test_create_url_no_double_colon ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_not_ssl_on_443 -gabbi.tests.test_utils.CreateURLTest.test_create_url_not_ssl_on_443 ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_port -gabbi.tests.test_utils.CreateURLTest.test_create_url_port ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_port_and_ssl -gabbi.tests.test_utils.CreateURLTest.test_create_url_port_and_ssl ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_prefix -gabbi.tests.test_utils.CreateURLTest.test_create_url_prefix ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_preserve_query -gabbi.tests.test_utils.CreateURLTest.test_create_url_preserve_query ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_simple -gabbi.tests.test_utils.CreateURLTest.test_create_url_simple ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl -gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl_on_80 -gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl_on_80 ... ok -gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request -gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request ... expected failure -gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request -gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request ... ok -gabbi.tests.test_intercept.last-url_get_that_same_url_again.test_request -gabbi.tests.test_intercept.last-url_get_that_same_url_again.test_request ... ok -gabbi.tests.test_intercept.poll_loop_location.test_request -gabbi.tests.test_intercept.poll_loop_location.test_request ... ok -gabbi.tests.test_intercept.casting_default_casts.test_request -gabbi.tests.test_intercept.casting_default_casts.test_request ... ok -gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request -gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request ... ok -gabbi.tests.test_intercept.last-url_get_a_url_the_first_time.test_request -gabbi.tests.test_intercept.last-url_get_a_url_the_first_time.test_request ... ok -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_parital_from_disk.test_request -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_parital_from_disk.test_request ... ok -#### get simple page #### -> GET http://1ad4d7b2-128b-4d25-b2c1-32573d2c5e0c:8001/ -> x-random-header: ya -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< X-Gabbi-method: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://1ad4d7b2-128b-4d25-b2c1-32573d2c5e0c:8001/ - -{} - -#### default casts #### -> POST http://6182c133-7b8e-4ba9-be3e-551ba68e4fc3:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://6182c133-7b8e-4ba9-be3e-551ba68e4fc3:8001/ -< Location: http://6182c133-7b8e-4ba9-be3e-551ba68e4fc3:8001/ - -{ - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false -} - -#### cast to string #### -> POST http://6182c133-7b8e-4ba9-be3e-551ba68e4fc3:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "string": "2" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://6182c133-7b8e-4ba9-be3e-551ba68e4fc3:8001/ -< Location: http://6182c133-7b8e-4ba9-be3e-551ba68e4fc3:8001/ - -{ - "string": "2" -} - -#### yaml encoded value from disk #### -> POST http://4f0b0279-2fa7-4422-b910-cf05806c842c:8001/somewhere -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "foo": { - "b\u00e1r": 1 - } -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://4f0b0279-2fa7-4422-b910-cf05806c842c:8001/somewhere -< Location: http://4f0b0279-2fa7-4422-b910-cf05806c842c:8001/somewhere - -{ - "foo": { - "b\u00e1r": 1 - } -} - -#### json encoded value from disk #### -> POST http://4f0b0279-2fa7-4422-b910-cf05806c842c:8001/somewhere -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "foo": { - "b\u00e1r": 1 - } -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://4f0b0279-2fa7-4422-b910-cf05806c842c:8001/somewhere -< Location: http://4f0b0279-2fa7-4422-b910-cf05806c842c:8001/somewhere - -{ - "foo": { - "b\u00e1r": 1 - } -} - -#### yaml parital from disk #### -> POST http://4f0b0279-2fa7-4422-b910-cf05806c842c:8001/somewhere -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "type": "cat", - "sound": "meow" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://4f0b0279-2fa7-4422-b910-cf05806c842c:8001/somewhere -< Location: http://4f0b0279-2fa7-4422-b910-cf05806c842c:8001/somewhere - -{ - "type": "cat", - "sound": "meow" -} - -gabbi.tests.test_intercept.casting_json_set_up.test_request -gabbi.tests.test_intercept.casting_json_set_up.test_request ... ok -gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request -gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request ... ok +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_host_localhost +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_host_localhost ... ok +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_hostport_localhost +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_hostport_localhost ... ok +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_localhost +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_localhost ... ok +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_long +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_long ... ok +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_no_port +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_no_port ... ok +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_with_port +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_with_port ... ok +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport_with_prefix +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport_with_prefix ... ok +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port80_url +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port80_url ... ok +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port_url +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port_url ... ok +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_url +gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_url ... ok +gabbi.tests.test_runner.RunnerTest.test_custom_response_handler +gabbi.tests.test_runner.RunnerTest.test_custom_response_handler ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_data_dir_good +gabbi.tests.test_runner.RunnerTest.test_data_dir_good ... ok #### get simple page #### -> GET http://d066d89f-6391-4eef-94ef-8f28d24a345f:8001/ +> GET http://62c89f80-5f9e-4151-a4b8-6878da79fa71:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2067,12 +1998,12 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d066d89f-6391-4eef-94ef-8f28d24a345f:8001/ +< X-Gabbi-url: http://62c89f80-5f9e-4151-a4b8-6878da79fa71:8001/ {} #### post data #### -> POST http://ca8ca0c5-96bd-43ef-8cdb-125dad873639:8001/ +> POST http://e98ed1de-e171-4515-b43a-ab97704d0baf:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2085,8 +2016,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://ca8ca0c5-96bd-43ef-8cdb-125dad873639:8001/ -< Location: http://ca8ca0c5-96bd-43ef-8cdb-125dad873639:8001/ +< X-Gabbi-url: http://e98ed1de-e171-4515-b43a-ab97704d0baf:8001/ +< Location: http://e98ed1de-e171-4515-b43a-ab97704d0baf:8001/ { "one_string": "1", @@ -2095,7 +2026,7 @@ } #### use data #### -> POST http://ca8ca0c5-96bd-43ef-8cdb-125dad873639:8001/ +> POST http://e98ed1de-e171-4515-b43a-ab97704d0baf:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2108,8 +2039,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://ca8ca0c5-96bd-43ef-8cdb-125dad873639:8001/ -< Location: http://ca8ca0c5-96bd-43ef-8cdb-125dad873639:8001/ +< X-Gabbi-url: http://e98ed1de-e171-4515-b43a-ab97704d0baf:8001/ +< Location: http://e98ed1de-e171-4515-b43a-ab97704d0baf:8001/ { "one_string": "1", @@ -2117,103 +2048,108 @@ "one_float": 1.1 } -#### default casts #### -> POST http://d2eff861-3527-4dea-9b20-ef3a9b7a0f3c:8001/ +#### from environ #### +> POST http://e98ed1de-e171-4515-b43a-ab97704d0baf:8001/ > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false + "one_environ": 1 } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://d2eff861-3527-4dea-9b20-ef3a9b7a0f3c:8001/ -< Location: http://d2eff861-3527-4dea-9b20-ef3a9b7a0f3c:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://e98ed1de-e171-4515-b43a-ab97704d0baf:8001/ +< Location: http://e98ed1de-e171-4515-b43a-ab97704d0baf:8001/ { - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false + "one_environ": 1 } -#### cast to string #### -> POST http://d2eff861-3527-4dea-9b20-ef3a9b7a0f3c:8001/ +#### with list #### +> POST http://e98ed1de-e171-4515-b43a-ab97704d0baf:8001/ > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) -{ - "string": "2" -} +[ + 1, + 2, + "3" +] < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://d2eff861-3527-4dea-9b20-ef3a9b7a0f3c:8001/ -< Location: http://d2eff861-3527-4dea-9b20-ef3a9b7a0f3c:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://e98ed1de-e171-4515-b43a-ab97704d0baf:8001/ +< Location: http://e98ed1de-e171-4515-b43a-ab97704d0baf:8001/ -{ - "string": "2" -} +[ + 1, + 2, + "3" +] -#### json set up #### -> POST http://d2eff861-3527-4dea-9b20-ef3a9b7a0f3c:8001/ +#### json encoded value from disk #### +> POST http://e5a1466a-f229-4b19-886c-5a06822b6dd6:8001/ > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false + "foo": { + "b\u00e1r": 1 + } } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://d2eff861-3527-4dea-9b20-ef3a9b7a0f3c:8001/ -< Location: http://d2eff861-3527-4dea-9b20-ef3a9b7a0f3c:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://e5a1466a-f229-4b19-886c-5a06822b6dd6:8001/ +< Location: http://e5a1466a-f229-4b19-886c-5a06822b6dd6:8001/ { - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false + "foo": { + "b\u00e1r": 1 + } } -#### confirm notempty #### -> GET http://a7a47795-4d91-4576-aa4c-11408f396f06:8001/notempty +#### json parital from disk #### +> POST http://e5a1466a-f229-4b19-886c-5a06822b6dd6:8001/ +> content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) +{ + "type": "cat", + "sound": "meow" +} < 200 OK +< X-Gabbi-method: POST +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://e5a1466a-f229-4b19-886c-5a06822b6dd6:8001/ +< Location: http://e5a1466a-f229-4b19-886c-5a06822b6dd6:8001/ -notempty +{ + "type": "cat", + "sound": "meow" +} -gabbi.tests.test_intercept.backref_get_a_historical_response.test_request -gabbi.tests.test_intercept.backref_get_a_historical_response.test_request ... ok -gabbi.tests.test_intercept.last-url_get_prior_url.test_request -gabbi.tests.test_intercept.last-url_get_prior_url.test_request ... ok -gabbi.tests.test_intercept.contenttype_patch_no_content-type.test_request -gabbi.tests.test_intercept.contenttype_patch_no_content-type.test_request ... ok -gabbi.tests.test_intercept.contenttype_put_content-type.test_request -gabbi.tests.test_intercept.contenttype_put_content-type.test_request ... ok -gabbi.tests.test_intercept.contenttype_patch_content-type.test_request -gabbi.tests.test_intercept.contenttype_patch_content-type.test_request ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_exit_code +gabbi.tests.test_runner.RunnerTest.test_exit_code ... ok +gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request +gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_input_files +gabbi.tests.test_runner.RunnerTest.test_input_files ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_quiet_is_quiet +gabbi.tests.test_runner.RunnerTest.test_quiet_is_quiet ... ok #### get simple page #### -> GET http://54bb5e7b-3fcc-41bb-b824-210599cc5c55:8001/ +> GET http://bf3cd419-140f-460b-bb8b-ac7bc5540c72:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2221,12 +2157,12 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://54bb5e7b-3fcc-41bb-b824-210599cc5c55:8001/ +< X-Gabbi-url: http://bf3cd419-140f-460b-bb8b-ac7bc5540c72:8001/ {} #### left side json one #### -> POST http://e3688458-a763-4928-bf10-d96e1a61f50c:8001/ +> POST http://b2853059-103a-4817-949d-66387b691a97:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2238,8 +2174,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e3688458-a763-4928-bf10-d96e1a61f50c:8001/ -< Location: http://e3688458-a763-4928-bf10-d96e1a61f50c:8001/ +< X-Gabbi-url: http://b2853059-103a-4817-949d-66387b691a97:8001/ +< Location: http://b2853059-103a-4817-949d-66387b691a97:8001/ { "alpha": "alpha1", @@ -2247,7 +2183,7 @@ } #### expand left side #### -> POST http://e3688458-a763-4928-bf10-d96e1a61f50c:8001/ +> POST http://b2853059-103a-4817-949d-66387b691a97:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2259,8 +2195,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e3688458-a763-4928-bf10-d96e1a61f50c:8001/ -< Location: http://e3688458-a763-4928-bf10-d96e1a61f50c:8001/ +< X-Gabbi-url: http://b2853059-103a-4817-949d-66387b691a97:8001/ +< Location: http://b2853059-103a-4817-949d-66387b691a97:8001/ { "alpha1": "alpha", @@ -2268,7 +2204,7 @@ } #### expand environ left side #### -> POST http://e3688458-a763-4928-bf10-d96e1a61f50c:8001/ +> POST http://b2853059-103a-4817-949d-66387b691a97:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2281,8 +2217,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e3688458-a763-4928-bf10-d96e1a61f50c:8001/ -< Location: http://e3688458-a763-4928-bf10-d96e1a61f50c:8001/ +< X-Gabbi-url: http://b2853059-103a-4817-949d-66387b691a97:8001/ +< Location: http://b2853059-103a-4817-949d-66387b691a97:8001/ { "alpha1": "alpha", @@ -2290,53 +2226,8 @@ "1": "cow" } -#### set key and value #### -> GET http://e3688458-a763-4928-bf10-d96e1a61f50c:8001/jsonator?key=1&value=10 -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< Content-Type: application/json - -{ - "1": "10" -} - -gabbi.tests.test_intercept.casting_send_casted_json.test_request -gabbi.tests.test_intercept.casting_send_casted_json.test_request ... ok -gabbi.tests.test_intercept.casting_cast_to_string.test_request -gabbi.tests.test_intercept.casting_cast_to_string.test_request ... ok -gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request -gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request ... ok -gabbi.tests.test_intercept.json-extensions_test_sort.test_request -gabbi.tests.test_intercept.json-extensions_test_sort.test_request ... ok -gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request -gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request ... expected failure -gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request -gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request ... ok -gabbi.tests.test_intercept.casting_internal_json_fine.test_request -gabbi.tests.test_intercept.casting_internal_json_fine.test_request ... ok -gabbi.tests.test_intercept.contenttype_put_no_content-type.test_request -gabbi.tests.test_intercept.contenttype_put_no_content-type.test_request ... ok -gabbi.tests.test_intercept.contenttype_post_content-type.test_request -gabbi.tests.test_intercept.contenttype_post_content-type.test_request ... ok -#### header named http #### -> GET http://dd0878a3-8de1-4213-bf02-85a37af5df38:8001/header_key -> http: some-scheme -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< X-Gabbi-method: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://dd0878a3-8de1-4213-bf02-85a37af5df38:8001/header_key -< HTTP: some-scheme - -{} - #### default casts #### -> POST http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ +> POST http://856b6340-0620-482a-8034-6699ef0508ba:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2352,8 +2243,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ -< Location: http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ +< X-Gabbi-url: http://856b6340-0620-482a-8034-6699ef0508ba:8001/ +< Location: http://856b6340-0620-482a-8034-6699ef0508ba:8001/ { "int": 1, @@ -2364,7 +2255,7 @@ } #### cast to string #### -> POST http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ +> POST http://856b6340-0620-482a-8034-6699ef0508ba:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2376,15 +2267,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ -< Location: http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ +< X-Gabbi-url: http://856b6340-0620-482a-8034-6699ef0508ba:8001/ +< Location: http://856b6340-0620-482a-8034-6699ef0508ba:8001/ { "string": "2" } #### json set up #### -> POST http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ +> POST http://856b6340-0620-482a-8034-6699ef0508ba:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2400,8 +2291,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ -< Location: http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ +< X-Gabbi-url: http://856b6340-0620-482a-8034-6699ef0508ba:8001/ +< Location: http://856b6340-0620-482a-8034-6699ef0508ba:8001/ { "int": 1, @@ -2412,7 +2303,7 @@ } #### send casted json #### -> POST http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ +> POST http://856b6340-0620-482a-8034-6699ef0508ba:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2424,15 +2315,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ -< Location: http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ +< X-Gabbi-url: http://856b6340-0620-482a-8034-6699ef0508ba:8001/ +< Location: http://856b6340-0620-482a-8034-6699ef0508ba:8001/ { "casted": 2 } #### historic casted json #### -> POST http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ +> POST http://856b6340-0620-482a-8034-6699ef0508ba:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2444,63 +2335,111 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ -< Location: http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ +< X-Gabbi-url: http://856b6340-0620-482a-8034-6699ef0508ba:8001/ +< Location: http://856b6340-0620-482a-8034-6699ef0508ba:8001/ { "casted": 2 } -#### internal json fine #### -> POST http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "casted": "in this 2 is not errors" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ -< Location: http://4d74334d-7e1f-4a9f-8022-1b14f82ba62e:8001/ - -{ - "casted": "in this 2 is not errors" -} - -gabbi.tests.test_intercept.json-right-side_json_partial_both_sides.test_request -gabbi.tests.test_intercept.json-right-side_json_partial_both_sides.test_request ... ok -gabbi.tests.test_intercept.json-extensions_test_filtered.test_request -gabbi.tests.test_intercept.json-extensions_test_filtered.test_request ... ok -gabbi.tests.test_intercept.queryparams_multi_params.test_request -gabbi.tests.test_intercept.queryparams_multi_params.test_request ... ok -gabbi.tests.test_load_data_file.DataFileTest.test_load_file -gabbi.tests.test_load_data_file.DataFileTest.test_load_file ... ok -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_directory -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_directory ... ok -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_parent_dir -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_parent_dir ... ok -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_root -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_root ... ok -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_not_within_test_directory -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_not_within_test_directory ... ok -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_within_test_directory -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_within_test_directory ... ok -gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_default_true -gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_default_true ... ok -gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_false -gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_false ... ok -gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_true -gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_true ... ok +gabbi.tests.test_intercept.casting_json_set_up.test_request +gabbi.tests.test_intercept.casting_json_set_up.test_request ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_stdin_data_dir +gabbi.tests.test_runner.RunnerTest.test_stdin_data_dir ... ok +gabbi.tests.test_runner.RunnerTest.test_target_url_parsing +gabbi.tests.test_runner.RunnerTest.test_target_url_parsing ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port +gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_unsafe_yaml +gabbi.tests.test_runner.RunnerTest.test_unsafe_yaml ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_verbose_output_formatting +gabbi.tests.test_runner.RunnerTest.test_verbose_output_formatting ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_all +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_all ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_body +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_body ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_headers +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_headers ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_none +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_none ... ok gabbi.tests.test_suite.SuiteTest.test_suite_catches_fixture_fail gabbi.tests.test_suite.SuiteTest.test_suite_catches_fixture_fail ... ok -gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color -gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files +gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files ... ok +gabbi.tests.test_intercept.data_partial_json_from_disk.test_request +gabbi.tests.test_intercept.data_partial_json_from_disk.test_request ... ok +gabbi.tests.test_intercept.data_post_data_for_next.test_request +gabbi.tests.test_intercept.data_post_data_for_next.test_request ... ok +gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers +gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers ... ok +gabbi.tests.test_utils.BinaryTypesTest.test_binary +gabbi.tests.test_utils.BinaryTypesTest.test_binary ... ok +gabbi.tests.test_utils.BinaryTypesTest.test_not_binary +gabbi.tests.test_utils.BinaryTypesTest.test_not_binary ... ok +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_encoded_value_from_disk.test_request +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_encoded_value_from_disk.test_request ... ok +gabbi.tests.test_intercept.data_load_json_file.test_request +gabbi.tests.test_intercept.data_load_json_file.test_request ... ok +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request ... ok +gabbi.tests.test_intercept.last-url_get_it_a_third_time.test_request +gabbi.tests.test_intercept.last-url_get_it_a_third_time.test_request ... ok +gabbi.tests.test_intercept.coerce_string_internal_replace.test_request +gabbi.tests.test_intercept.coerce_string_internal_replace.test_request ... ok +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_json_encoded_value_from_disk.test_request +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_json_encoded_value_from_disk.test_request ... ok +gabbi.tests.test_intercept.data_json_value_from_disk.test_request +gabbi.tests.test_intercept.data_json_value_from_disk.test_request ... ok +gabbi.tests.test_unsafe_yaml.nan_test_nan.test_request +gabbi.tests.test_unsafe_yaml.nan_test_nan.test_request ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_already_bracket +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_already_bracket ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_full +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_full ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl_weird_port +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl_weird_port ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_no_double_colon +gabbi.tests.test_utils.CreateURLTest.test_create_url_no_double_colon ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_not_ssl_on_443 +gabbi.tests.test_utils.CreateURLTest.test_create_url_not_ssl_on_443 ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_port +gabbi.tests.test_utils.CreateURLTest.test_create_url_port ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_port_and_ssl +gabbi.tests.test_utils.CreateURLTest.test_create_url_port_and_ssl ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_prefix +gabbi.tests.test_utils.CreateURLTest.test_create_url_prefix ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_preserve_query +gabbi.tests.test_utils.CreateURLTest.test_create_url_preserve_query ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_simple +gabbi.tests.test_utils.CreateURLTest.test_create_url_simple ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl +gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl_on_80 +gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl_on_80 ... ok #### get simple page #### -> GET http://9ce0a772-0c67-46e3-a326-6aa7360f2461:8001/ +> GET http://1e5f527e-2c58-4172-bab6-522a9ef3e676:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2508,192 +2447,103 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://9ce0a772-0c67-46e3-a326-6aa7360f2461:8001/ +< X-Gabbi-url: http://1e5f527e-2c58-4172-bab6-522a9ef3e676:8001/ {} -#### post data #### -> POST http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ +#### left side json one #### +> POST http://3c3a00aa-4197-48ee-9ec4-e418d07a24a2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "alpha": "alpha1", + "beta": "beta1" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ -< Location: http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ +< X-Gabbi-url: http://3c3a00aa-4197-48ee-9ec4-e418d07a24a2:8001/ +< Location: http://3c3a00aa-4197-48ee-9ec4-e418d07a24a2:8001/ { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "alpha": "alpha1", + "beta": "beta1" } -#### use data #### -> POST http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ +#### expand left side #### +> POST http://3c3a00aa-4197-48ee-9ec4-e418d07a24a2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "alpha1": "alpha", + "beta1": "beta" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ -< Location: http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ +< X-Gabbi-url: http://3c3a00aa-4197-48ee-9ec4-e418d07a24a2:8001/ +< Location: http://3c3a00aa-4197-48ee-9ec4-e418d07a24a2:8001/ { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "alpha1": "alpha", + "beta1": "beta" } -#### from environ #### -> POST http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ +#### expand environ left side #### +> POST http://3c3a00aa-4197-48ee-9ec4-e418d07a24a2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "one_environ": 1 + "alpha1": "alpha", + "beta1": "beta", + "1": "cow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ -< Location: http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ +< X-Gabbi-url: http://3c3a00aa-4197-48ee-9ec4-e418d07a24a2:8001/ +< Location: http://3c3a00aa-4197-48ee-9ec4-e418d07a24a2:8001/ { - "one_environ": 1 + "alpha1": "alpha", + "beta1": "beta", + "1": "cow" } -#### with list #### -> POST http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -[ - 1, - 2, - "3" -] - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ -< Location: http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ - -[ - 1, - 2, - "3" -] - -#### object with list #### -> POST http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ +#### set key and value #### +> GET http://3c3a00aa-4197-48ee-9ec4-e418d07a24a2:8001/jsonator?key=1&value=10 > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) -{ - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] -} < 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ -< Location: http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ +< Content-Type: application/json { - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] + "1": "10" } -#### post extra data #### -> POST http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ +#### check key and value #### +> GET http://3c3a00aa-4197-48ee-9ec4-e418d07a24a2:8001/jsonator?key=1&value=10 > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) -{ - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } - } -} < 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ -< Location: http://e31f9ccc-6bc2-4763-bda0-6c5c7e92f271:8001/ +< Content-Type: application/json { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } - } + "1": "10" } #### default casts #### -> POST http://69a98418-33fc-45b4-9339-742389c53b36:8001/ +> POST http://be612ebc-9a8e-40ba-b9d4-c7f9a8737b10:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2709,8 +2559,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://69a98418-33fc-45b4-9339-742389c53b36:8001/ -< Location: http://69a98418-33fc-45b4-9339-742389c53b36:8001/ +< X-Gabbi-url: http://be612ebc-9a8e-40ba-b9d4-c7f9a8737b10:8001/ +< Location: http://be612ebc-9a8e-40ba-b9d4-c7f9a8737b10:8001/ { "int": 1, @@ -2720,76 +2570,8 @@ "fbool": false } -#### cast to string #### -> POST http://69a98418-33fc-45b4-9339-742389c53b36:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "string": "2" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://69a98418-33fc-45b4-9339-742389c53b36:8001/ -< Location: http://69a98418-33fc-45b4-9339-742389c53b36:8001/ - -{ - "string": "2" -} - -#### json set up #### -> POST http://69a98418-33fc-45b4-9339-742389c53b36:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://69a98418-33fc-45b4-9339-742389c53b36:8001/ -< Location: http://69a98418-33fc-45b4-9339-742389c53b36:8001/ - -{ - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false -} - -#### send casted json #### -> POST http://69a98418-33fc-45b4-9339-742389c53b36:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "casted": 2 -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://69a98418-33fc-45b4-9339-742389c53b36:8001/ -< Location: http://69a98418-33fc-45b4-9339-742389c53b36:8001/ - -{ - "casted": 2 -} - #### json encoded value from disk #### -> POST http://f1a509ab-e932-4a06-a271-b1a5df75c020:8001/ +> POST http://e3a83d53-0798-4c96-bb9f-2233d7f61ce1:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2802,8 +2584,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://f1a509ab-e932-4a06-a271-b1a5df75c020:8001/ -< Location: http://f1a509ab-e932-4a06-a271-b1a5df75c020:8001/ +< X-Gabbi-url: http://e3a83d53-0798-4c96-bb9f-2233d7f61ce1:8001/ +< Location: http://e3a83d53-0798-4c96-bb9f-2233d7f61ce1:8001/ { "foo": { @@ -2812,7 +2594,7 @@ } #### json parital from disk #### -> POST http://f1a509ab-e932-4a06-a271-b1a5df75c020:8001/ +> POST http://e3a83d53-0798-4c96-bb9f-2233d7f61ce1:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2824,8 +2606,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://f1a509ab-e932-4a06-a271-b1a5df75c020:8001/ -< Location: http://f1a509ab-e932-4a06-a271-b1a5df75c020:8001/ +< X-Gabbi-url: http://e3a83d53-0798-4c96-bb9f-2233d7f61ce1:8001/ +< Location: http://e3a83d53-0798-4c96-bb9f-2233d7f61ce1:8001/ { "type": "cat", @@ -2833,7 +2615,7 @@ } #### json partial both sides #### -> POST http://f1a509ab-e932-4a06-a271-b1a5df75c020:8001/ +> POST http://e3a83d53-0798-4c96-bb9f-2233d7f61ce1:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2851,8 +2633,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://f1a509ab-e932-4a06-a271-b1a5df75c020:8001/ -< Location: http://f1a509ab-e932-4a06-a271-b1a5df75c020:8001/ +< X-Gabbi-url: http://e3a83d53-0798-4c96-bb9f-2233d7f61ce1:8001/ +< Location: http://e3a83d53-0798-4c96-bb9f-2233d7f61ce1:8001/ [ { @@ -2865,160 +2647,8 @@ } ] -gabbi.tests.test_intercept.coerce_check_posted_data.test_request -gabbi.tests.test_intercept.coerce_check_posted_data.test_request ... ok -gabbi.tests.test_intercept.cookie_use_that_cookie_in_a_url.test_request -gabbi.tests.test_intercept.cookie_use_that_cookie_in_a_url.test_request ... ok -gabbi.tests.test_intercept.casting_internal_json_fail.test_request -gabbi.tests.test_intercept.casting_internal_json_fail.test_request ... expected failure -gabbi.tests.test_intercept.casting_internal_json_fail.test_request -gabbi.tests.test_intercept.casting_internal_json_fail.test_request ... ok -gabbi.tests.test_intercept.data_load_json_file.test_request -gabbi.tests.test_intercept.data_load_json_file.test_request ... ok -gabbi.tests.test_intercept.queryparams_url_in_param.test_request -gabbi.tests.test_intercept.queryparams_url_in_param.test_request ... ok -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_partial_both_sides.test_request -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_partial_both_sides.test_request ... ok -#### get simple page #### -> GET http://d35b1e55-6100-4572-b5de-01a6885c67ba:8001/ -> x-random-header: ya -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< X-Gabbi-method: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d35b1e55-6100-4572-b5de-01a6885c67ba:8001/ - -{} - -#### post data #### -> POST http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ -< Location: http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -#### use data #### -> POST http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ -< Location: http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -#### from environ #### -> POST http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "one_environ": 1 -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ -< Location: http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ - -{ - "one_environ": 1 -} - -#### with list #### -> POST http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -[ - 1, - 2, - "3" -] - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ -< Location: http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ - -[ - 1, - 2, - "3" -] - -#### object with list #### -> POST http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ -< Location: http://c1841975-468a-4902-8e29-c50d8067bb8f:8001/ - -{ - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] -} - #### yaml encoded value from disk #### -> POST http://5a5262b3-bc88-4456-9be0-54b54229e414:8001/somewhere +> POST http://03d63c97-22b2-46db-974d-fe717de112b6:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3031,8 +2661,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://5a5262b3-bc88-4456-9be0-54b54229e414:8001/somewhere -< Location: http://5a5262b3-bc88-4456-9be0-54b54229e414:8001/somewhere +< X-Gabbi-url: http://03d63c97-22b2-46db-974d-fe717de112b6:8001/somewhere +< Location: http://03d63c97-22b2-46db-974d-fe717de112b6:8001/somewhere { "foo": { @@ -3041,7 +2671,7 @@ } #### json encoded value from disk #### -> POST http://5a5262b3-bc88-4456-9be0-54b54229e414:8001/somewhere +> POST http://03d63c97-22b2-46db-974d-fe717de112b6:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3054,8 +2684,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://5a5262b3-bc88-4456-9be0-54b54229e414:8001/somewhere -< Location: http://5a5262b3-bc88-4456-9be0-54b54229e414:8001/somewhere +< X-Gabbi-url: http://03d63c97-22b2-46db-974d-fe717de112b6:8001/somewhere +< Location: http://03d63c97-22b2-46db-974d-fe717de112b6:8001/somewhere { "foo": { @@ -3063,120 +2693,20 @@ } } -#### yaml parital from disk #### -> POST http://5a5262b3-bc88-4456-9be0-54b54229e414:8001/somewhere -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "type": "cat", - "sound": "meow" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://5a5262b3-bc88-4456-9be0-54b54229e414:8001/somewhere -< Location: http://5a5262b3-bc88-4456-9be0-54b54229e414:8001/somewhere - -{ - "type": "cat", - "sound": "meow" -} - -#### yaml partial both sides #### -> POST http://5a5262b3-bc88-4456-9be0-54b54229e414:8001/somewhere -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -[ - { - "type": "cat", - "sound": "meow" - }, - { - "type": "dog", - "sound": "woof" - } -] - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://5a5262b3-bc88-4456-9be0-54b54229e414:8001/somewhere -< Location: http://5a5262b3-bc88-4456-9be0-54b54229e414:8001/somewhere - -[ - { - "type": "cat", - "sound": "meow" - }, - { - "type": "dog", - "sound": "woof" - } -] - -gabbi.tests.test_intercept.json-right-side_json_parital_from_disk.test_request -gabbi.tests.test_intercept.json-right-side_json_parital_from_disk.test_request ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_custom_response_handler -gabbi.tests.test_runner.RunnerTest.test_custom_response_handler ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_data_dir_good -gabbi.tests.test_runner.RunnerTest.test_data_dir_good ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_exit_code -gabbi.tests.test_runner.RunnerTest.test_exit_code ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_input_files -gabbi.tests.test_runner.RunnerTest.test_input_files ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_quiet_is_quiet -gabbi.tests.test_runner.RunnerTest.test_quiet_is_quiet ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_stdin_data_dir -gabbi.tests.test_runner.RunnerTest.test_stdin_data_dir ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_target_url_parsing -gabbi.tests.test_runner.RunnerTest.test_target_url_parsing ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port -gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_unsafe_yaml -gabbi.tests.test_runner.RunnerTest.test_unsafe_yaml ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_verbose_output_formatting -gabbi.tests.test_runner.RunnerTest.test_verbose_output_formatting ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_all -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_all ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_body -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_body ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_headers -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_headers ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_none -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_none ... ok +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_parital_from_disk.test_request +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_parital_from_disk.test_request ... ok +gabbi.tests.test_intercept.coerce_check_posted_data.test_request +gabbi.tests.test_intercept.coerce_check_posted_data.test_request ... ok +gabbi.tests.test_intercept.last-url_add_some_query_params.test_request +gabbi.tests.test_intercept.last-url_add_some_query_params.test_request ... ok +gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.test_request +gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.test_request ... ok +gabbi.tests.test_intercept.cookie_use_that_cookie_in_a_url.test_request +gabbi.tests.test_intercept.cookie_use_that_cookie_in_a_url.test_request ... ok +gabbi.tests.test_intercept.cookie_use_a_historical_cookie.test_request +gabbi.tests.test_intercept.cookie_use_a_historical_cookie.test_request ... ok #### get simple page #### -> GET http://074eb4b2-e876-42e8-9cb3-19d70781a4c1:8001/ +> GET http://ea224ba1-bf8c-4d94-bf6c-e030ad2025fc:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3184,54 +2714,58 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://074eb4b2-e876-42e8-9cb3-19d70781a4c1:8001/ +< X-Gabbi-url: http://ea224ba1-bf8c-4d94-bf6c-e030ad2025fc:8001/ {} -#### left side json one #### -> POST http://fc03b422-e4f1-4933-a33c-c22a6fbb98e5:8001/ +#### post data #### +> POST http://6d56c0cd-6b00-4e76-a84c-12a48aebfb93:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "alpha": "alpha1", - "beta": "beta1" + "one_string": "1", + "one_int": 1, + "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://fc03b422-e4f1-4933-a33c-c22a6fbb98e5:8001/ -< Location: http://fc03b422-e4f1-4933-a33c-c22a6fbb98e5:8001/ +< X-Gabbi-url: http://6d56c0cd-6b00-4e76-a84c-12a48aebfb93:8001/ +< Location: http://6d56c0cd-6b00-4e76-a84c-12a48aebfb93:8001/ { - "alpha": "alpha1", - "beta": "beta1" + "one_string": "1", + "one_int": 1, + "one_float": 1.1 } -#### expand left side #### -> POST http://fc03b422-e4f1-4933-a33c-c22a6fbb98e5:8001/ +#### use data #### +> POST http://6d56c0cd-6b00-4e76-a84c-12a48aebfb93:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "alpha1": "alpha", - "beta1": "beta" + "one_string": "1", + "one_int": 1, + "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://fc03b422-e4f1-4933-a33c-c22a6fbb98e5:8001/ -< Location: http://fc03b422-e4f1-4933-a33c-c22a6fbb98e5:8001/ +< X-Gabbi-url: http://6d56c0cd-6b00-4e76-a84c-12a48aebfb93:8001/ +< Location: http://6d56c0cd-6b00-4e76-a84c-12a48aebfb93:8001/ { - "alpha1": "alpha", - "beta1": "beta" + "one_string": "1", + "one_int": 1, + "one_float": 1.1 } #### default casts #### -> POST http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ +> POST http://975b5ff9-a53d-4652-bb65-4831ad11cf18:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3247,8 +2781,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ -< Location: http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ +< X-Gabbi-url: http://975b5ff9-a53d-4652-bb65-4831ad11cf18:8001/ +< Location: http://975b5ff9-a53d-4652-bb65-4831ad11cf18:8001/ { "int": 1, @@ -3259,7 +2793,7 @@ } #### cast to string #### -> POST http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ +> POST http://975b5ff9-a53d-4652-bb65-4831ad11cf18:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3271,83 +2805,38 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ -< Location: http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ +< X-Gabbi-url: http://975b5ff9-a53d-4652-bb65-4831ad11cf18:8001/ +< Location: http://975b5ff9-a53d-4652-bb65-4831ad11cf18:8001/ { "string": "2" } -#### json set up #### -> POST http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ -< Location: http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ - -{ - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false -} - -#### send casted json #### -> POST http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "casted": 2 -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ -< Location: http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ - -{ - "casted": 2 -} - -#### historic casted json #### -> POST http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ +#### yaml encoded value from disk #### +> POST http://ec53f0be-1c4d-42b4-8058-944057ecaa31:8001/somewhere > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "casted": 2 + "foo": { + "b\u00e1r": 1 + } } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ -< Location: http://9c27f07c-d8c1-4192-851f-36c15e8219a4:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://ec53f0be-1c4d-42b4-8058-944057ecaa31:8001/somewhere +< Location: http://ec53f0be-1c4d-42b4-8058-944057ecaa31:8001/somewhere { - "casted": 2 + "foo": { + "b\u00e1r": 1 + } } #### json encoded value from disk #### -> POST http://722db31c-a5a5-4f1a-b219-260c4bd9730d:8001/ +> POST http://ec53f0be-1c4d-42b4-8058-944057ecaa31:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3360,8 +2849,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://722db31c-a5a5-4f1a-b219-260c4bd9730d:8001/ -< Location: http://722db31c-a5a5-4f1a-b219-260c4bd9730d:8001/ +< X-Gabbi-url: http://ec53f0be-1c4d-42b4-8058-944057ecaa31:8001/somewhere +< Location: http://ec53f0be-1c4d-42b4-8058-944057ecaa31:8001/somewhere { "foo": { @@ -3369,8 +2858,8 @@ } } -#### json parital from disk #### -> POST http://722db31c-a5a5-4f1a-b219-260c4bd9730d:8001/ +#### yaml parital from disk #### +> POST http://ec53f0be-1c4d-42b4-8058-944057ecaa31:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3382,22 +2871,18 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://722db31c-a5a5-4f1a-b219-260c4bd9730d:8001/ -< Location: http://722db31c-a5a5-4f1a-b219-260c4bd9730d:8001/ +< X-Gabbi-url: http://ec53f0be-1c4d-42b4-8058-944057ecaa31:8001/somewhere +< Location: http://ec53f0be-1c4d-42b4-8058-944057ecaa31:8001/somewhere { "type": "cat", "sound": "meow" } -gabbi.tests.test_intercept.backref_post_even_more_json.test_request -gabbi.tests.test_intercept.backref_post_even_more_json.test_request ... ok -gabbi.tests.test_intercept.queryparams_joined_params.test_request -gabbi.tests.test_intercept.queryparams_joined_params.test_request ... ok -gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean -gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean ... ok +gabbi.tests.test_intercept.casting_cast_to_string.test_request +gabbi.tests.test_intercept.casting_cast_to_string.test_request ... ok #### get simple page #### -> GET http://07573fc8-b525-4cd3-ab44-589a2837eb2a:8001/ +> GET http://53707a78-0c6c-49ad-a74b-735de38b4fa9:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3405,143 +2890,26 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://07573fc8-b525-4cd3-ab44-589a2837eb2a:8001/ +< X-Gabbi-url: http://53707a78-0c6c-49ad-a74b-735de38b4fa9:8001/ {} -#### loop location #### -> GET http://034f70b7-853e-467d-aa93-cf48ad625f33:8001/poller?count=2&x=1&y=2&z=3.4 -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 400 Bad Reqest - - -#### loop location #### -> GET http://034f70b7-853e-467d-aa93-cf48ad625f33:8001/poller?count=2&x=1&y=2&z=3.4 -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 400 Bad Reqest - - -#### loop location #### -> GET http://034f70b7-853e-467d-aa93-cf48ad625f33:8001/poller?count=2&x=1&y=2&z=3.4 -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< X-Gabbi-method: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://034f70b7-853e-467d-aa93-cf48ad625f33:8001/poller?count=2&x=1&y=2&z=3.4 - -{ - "count": [ - "2" - ], - "x": [ - "1" - ], - "y": [ - "2" - ], - "z": [ - "3.4" - ] -} - -gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request -gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request ... ok -gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request -gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request ... ok -gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request -gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request ... expected failure -gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request -gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request ... ok -gabbi.tests.test_intercept.last-url_now_last_url_does_not_have_those_query_params.test_request -gabbi.tests.test_intercept.last-url_now_last_url_does_not_have_those_query_params.test_request ... ok -gabbi.tests.test_intercept.fixture_just_to_see_two.test_request -gabbi.tests.test_intercept.fixture_just_to_see_two.test_request ... ok -#### get simple page #### -> GET http://32d45ba9-99f3-4d66-b1fd-6b8b6a325edd:8001/ -> x-random-header: ya +#### header named http #### +> GET http://459d705d-f3c6-4116-8f90-68adc9c91f9e:8001/header_key +> http: some-scheme > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://32d45ba9-99f3-4d66-b1fd-6b8b6a325edd:8001/ +< X-Gabbi-url: http://459d705d-f3c6-4116-8f90-68adc9c91f9e:8001/header_key +< HTTP: some-scheme {} -#### left side json one #### -> POST http://72282968-4a88-4724-bff4-165b44609e4d:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "alpha": "alpha1", - "beta": "beta1" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://72282968-4a88-4724-bff4-165b44609e4d:8001/ -< Location: http://72282968-4a88-4724-bff4-165b44609e4d:8001/ - -{ - "alpha": "alpha1", - "beta": "beta1" -} - -#### expand left side #### -> POST http://72282968-4a88-4724-bff4-165b44609e4d:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "alpha1": "alpha", - "beta1": "beta" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://72282968-4a88-4724-bff4-165b44609e4d:8001/ -< Location: http://72282968-4a88-4724-bff4-165b44609e4d:8001/ - -{ - "alpha1": "alpha", - "beta1": "beta" -} - -#### expand environ left side #### -> POST http://72282968-4a88-4724-bff4-165b44609e4d:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "alpha1": "alpha", - "beta1": "beta", - "1": "cow" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://72282968-4a88-4724-bff4-165b44609e4d:8001/ -< Location: http://72282968-4a88-4724-bff4-165b44609e4d:8001/ - -{ - "alpha1": "alpha", - "beta1": "beta", - "1": "cow" -} - #### post data #### -> POST http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +> POST http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3554,8 +2922,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ -< Location: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +< X-Gabbi-url: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ +< Location: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ { "one_string": "1", @@ -3564,7 +2932,7 @@ } #### use data #### -> POST http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +> POST http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3577,8 +2945,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ -< Location: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +< X-Gabbi-url: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ +< Location: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ { "one_string": "1", @@ -3587,7 +2955,7 @@ } #### from environ #### -> POST http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +> POST http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3598,15 +2966,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ -< Location: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +< X-Gabbi-url: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ +< Location: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ { "one_environ": 1 } #### with list #### -> POST http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +> POST http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3619,8 +2987,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ -< Location: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +< X-Gabbi-url: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ +< Location: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ [ 1, @@ -3629,7 +2997,7 @@ ] #### object with list #### -> POST http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +> POST http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3649,8 +3017,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ -< Location: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +< X-Gabbi-url: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ +< Location: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ { "collection": [ @@ -3666,7 +3034,7 @@ } #### post extra data #### -> POST http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +> POST http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3695,8 +3063,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ -< Location: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +< X-Gabbi-url: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ +< Location: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ { "a": 1, @@ -3721,7 +3089,7 @@ } #### check posted data #### -> POST http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +> POST http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3750,8 +3118,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ -< Location: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +< X-Gabbi-url: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ +< Location: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ { "a": 1, @@ -3776,7 +3144,7 @@ } #### Post again and check the results #### -> POST http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +> POST http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3805,8 +3173,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ -< Location: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +< X-Gabbi-url: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ +< Location: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ { "a": 1, @@ -3831,7 +3199,7 @@ } #### Post again and check the results (reversed) #### -> POST http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +> POST http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3860,8 +3228,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ -< Location: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +< X-Gabbi-url: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ +< Location: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ { "a": 1, @@ -3886,7 +3254,7 @@ } #### string internal replace #### -> POST http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +> POST http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3898,20 +3266,69 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ -< Location: http://e8fe3b51-df2f-45d1-8a05-07da1407a6c8:8001/ +< X-Gabbi-url: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ +< Location: http://3155bb56-3388-472e-93a7-0413e75e3083:8001/ { "endpoint_resp": "/api/0.1/item/1", "endpoint_var": "/api/0.1/item/1" -}gabbi.tests.test_intercept.coerce_string_internal_replace.test_request -gabbi.tests.test_intercept.coerce_string_internal_replace.test_request ... ok -gabbi.tests.test_intercept.last-url_get_it_a_third_time.test_request -gabbi.tests.test_intercept.last-url_get_it_a_third_time.test_request ... ok -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_json_encoded_value_from_disk.test_request -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_json_encoded_value_from_disk.test_request ... ok +} + +#### default casts #### +> POST http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ +> content-type: application/json +> accept: application/json +> user-agent: gabbi/3.0.0 (Python urllib3) + +{ + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false +} + +< 200 OK +< X-Gabbi-method: POST +< Content-Type: application/json +< X-Gabbi-url: http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ +< Location: http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ + +{ + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false +} + +#### cast to string #### +> POST http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ +> content-type: application/json +> accept: application/json +> user-agent: gabbi/3.0.0 (Python urllib3) + +{ + "string": "2" +} + +< 200 OK +< X-Gabbi-method: POST +< Content-Type: application/json +< X-Gabbi-url: http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ +< Location: http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ + +{ + "string": "2" +} + +#### json set up #### +> POST http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ +> content-type: application/json +> accept: application/jsongabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_partial_both_sides.test_request +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_partial_both_sides.test_request ... ok #### get simple page #### -> GET http://6423092e-7c1a-4637-acbf-37c73d43c78b:8001/ +> GET http://1d76b976-b7fb-406c-8718-2f78b566e39e:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3919,12 +3336,53 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6423092e-7c1a-4637-acbf-37c73d43c78b:8001/ +< X-Gabbi-url: http://1d76b976-b7fb-406c-8718-2f78b566e39e:8001/ {} +#### loop location #### +> GET http://a84f0741-3881-49dc-b4d3-f9713005f3d7:8001/poller?count=2&x=1&y=2&z=3.4 +> user-agent: gabbi/3.0.0 (Python urllib3) + + +< 400 Bad Reqest + + +#### loop location #### +> GET http://a84f0741-3881-49dc-b4d3-f9713005f3d7:8001/poller?count=2&x=1&y=2&z=3.4 +> user-agent: gabbi/3.0.0 (Python urllib3) + + +< 400 Bad Reqest + + +#### loop location #### +> GET http://a84f0741-3881-49dc-b4d3-f9713005f3d7:8001/poller?count=2&x=1&y=2&z=3.4 +> user-agent: gabbi/3.0.0 (Python urllib3) + + +< 200 OK +< X-Gabbi-method: GET +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://a84f0741-3881-49dc-b4d3-f9713005f3d7:8001/poller?count=2&x=1&y=2&z=3.4 + +{ + "count": [ + "2" + ], + "x": [ + "1" + ], + "y": [ + "2" + ], + "z": [ + "3.4" + ] +} + #### left side json one #### -> POST http://0b318be5-0412-4e36-bec4-6f6b54a3d051:8001/ +> POST http://de243126-ff4f-4156-a3a9-5680f846f19c:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3936,39 +3394,37 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://0b318be5-0412-4e36-bec4-6f6b54a3d051:8001/ -< Location: http://0b318be5-0412-4e36-bec4-6f6b54a3d051:8001/ +< X-Gabbi-url: http://de243126-ff4f-4156-a3a9-5680f846f19c:8001/ +< Location: http://de243126-ff4f-4156-a3a9-5680f846f19c:8001/ { "alpha": "alpha1", "beta": "beta1" } -#### post data #### -> POST http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +#### expand left side #### +> POST http://de243126-ff4f-4156-a3a9-5680f846f19c:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "alpha1": "alpha", + "beta1": "beta" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ -< Location: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +< X-Gabbi-url: http://de243126-ff4f-4156-a3a9-5680f846f19c:8001/ +< Location: http://de243126-ff4f-4156-a3a9-5680f846f19c:8001/ { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "alpha1": "alpha", + "beta1": "beta" } -#### use data #### -> POST http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +#### post data #### +> POST http://c578127c-a9de-4904-bb9c-c0074d7d8ddd:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3981,8 +3437,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ -< Location: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +< X-Gabbi-url: http://c578127c-a9de-4904-bb9c-c0074d7d8ddd:8001/ +< Location: http://c578127c-a9de-4904-bb9c-c0074d7d8ddd:8001/ { "one_string": "1", @@ -3990,255 +3446,188 @@ "one_float": 1.1 } -#### from environ #### -> POST http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +#### default casts #### +> POST http://e62e51f3-fe92-4e53-a6b0-79fa2327fc80:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "one_environ": 1 + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ -< Location: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://e62e51f3-fe92-4e53-a6b0-79fa2327fc80:8001/ +< Location: http://e62e51f3-fe92-4e53-a6b0-79fa2327fc80:8001/ { - "one_environ": 1 + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false } -#### with list #### -> POST http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +#### cast to string #### +> POST http://e62e51f3-fe92-4e53-a6b0-79fa2327fc80:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) -[ - 1, - 2, - "3" -] +{ + "string": "2" +} < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ -< Location: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://e62e51f3-fe92-4e53-a6b0-79fa2327fc80:8001/ +< Location: http://e62e51f3-fe92-4e53-a6b0-79fa2327fc80:8001/ -[ - 1, - 2, - "3" -] +{ + "string": "2" +} -#### object with list #### -> POST http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +#### json set up #### +> POST http://e62e51f3-fe92-4e53-a6b0-79fa2327fc80:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] + "int": 1, + "float": 1.5, + "string": "2", + "tbool": true, + "fbool": false } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ -< Location: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://e62e51f3-fe92-4e53-a6b0-79fa2327fc80:8001/ +< Location: http://e62e51f3-fe92-4e53-a6b0-79fa2327fc80:8001/ { - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] + "int": 1, + "float": 1.5, + "string": "2", + "tbool": true, + "fbool": false } -#### post extra data #### -> POST http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +#### yaml encoded value from disk #### +> POST http://743ab1fc-31bf-4ab4-8488-0dd7aab40fe3:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } + "foo": { + "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ -< Location: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +< X-Gabbi-url: http://743ab1fc-31bf-4ab4-8488-0dd7aab40fe3:8001/somewhere +< Location: http://743ab1fc-31bf-4ab4-8488-0dd7aab40fe3:8001/somewhere { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } + "foo": { + "b\u00e1r": 1 } } -#### check posted data #### -> POST http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +#### json encoded value from disk #### +> POST http://743ab1fc-31bf-4ab4-8488-0dd7aab40fe3:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } + "foo": { + "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ -< Location: http://5a5a9699-25ce-47b0-99fe-27fa3830a265:8001/ +< X-Gabbi-url: http://743ab1fc-31bf-4ab4-8488-0dd7aab40fe3:8001/somewhere +< Location: http://743ab1fc-31bf-4ab4-8488-0dd7aab40fe3:8001/somewhere { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } + "foo": { + "b\u00e1r": 1 } } -#### yaml encoded value from disk #### -> POST http://300cf01e-d68e-4fd6-be43-6d270c11efa9:8001/somewhere +#### yaml parital from disk #### +> POST http://743ab1fc-31bf-4ab4-8488-0dd7aab40fe3:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "foo": { - "b\u00e1r": 1 - } + "type": "cat", + "sound": "meow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://300cf01e-d68e-4fd6-be43-6d270c11efa9:8001/somewhere -< Location: http://300cf01e-d68e-4fd6-be43-6d270c11efa9:8001/somewhere +< X-Gabbi-url: http://743ab1fc-31bf-4ab4-8488-0dd7aab40fe3:8001/somewhere +< Location: http://743ab1fc-31bf-4ab4-8488-0dd7aab40fe3:8001/somewhere { - "foo": { - "b\u00e1r": 1 - } + "type": "cat", + "sound": "meow" } -#### json encoded value from disk #### -> POST http://300cf01e-d68e-4fd6-be43-6d270c11efa9:8001/somewhere +#### yaml partial both sides #### +> POST http://743ab1fc-31bf-4ab4-8488-0dd7aab40fe3:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) -{ - "foo": { - "b\u00e1r": 1 +[ + { + "type": "cat", + "sound": "meow" + }, + { + "type": "dog", + "sound": "woof" } -} +] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://300cf01e-d68e-4fd6-be43-6d270c11efa9:8001/somewhere -< Location: http://300cf01e-d68e-4fd6-be43-6d270c11efa9:8001/somewhere +< X-Gabbi-url: http://743ab1fc-31bf-4ab4-8488-0dd7aab40fe3:8001/somewhere +< Location: http://743ab1fc-31bf-4ab4-8488-0dd7aab40fe3:8001/somewhere -{ - "foo": { - "b\u00e1r": 1 +[ + { + "type": "cat", + "sound": "meow" + }, + { + "type": "dog", + "sound": "woof" } -} +] -gabbi.tests.test_intercept.queryparams_replacers_in_params.test_request -gabbi.tests.test_intercept.queryparams_replacers_in_params.test_request ... ok -gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request -gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request ... ok -gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.test_request -gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.test_request ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_driver.DriverTest.test_build_require_ssl -gabbi.tests.test_driver.DriverTest.test_build_require_ssl ... ok -gabbi.tests.test_driver.DriverTest.test_build_requires_host_or_intercept -gabbi.tests.test_driver.DriverTest.test_build_requires_host_or_intercept ... ok +gabbi.tests.test_intercept.casting_send_casted_json.test_request +gabbi.tests.test_intercept.casting_send_casted_json.test_request ... ok +gabbi.tests.test_intercept.casting_internal_json_fine.test_request +gabbi.tests.test_intercept.casting_internal_json_fine.test_request ... ok #### get simple page #### -> GET http://3656cc30-6595-4075-afb8-cdf0c56e1223:8001/ +> GET http://b3c589ce-5df6-4b92-9119-2613a5c9b0b9:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4246,12 +3635,12 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://3656cc30-6595-4075-afb8-cdf0c56e1223:8001/ +< X-Gabbi-url: http://b3c589ce-5df6-4b92-9119-2613a5c9b0b9:8001/ {} #### post data #### -> POST http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +> POST http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4264,8 +3653,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ -< Location: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +< X-Gabbi-url: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ +< Location: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ { "one_string": "1", @@ -4274,7 +3663,7 @@ } #### use data #### -> POST http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +> POST http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4287,8 +3676,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ -< Location: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +< X-Gabbi-url: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ +< Location: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ { "one_string": "1", @@ -4297,7 +3686,7 @@ } #### from environ #### -> POST http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +> POST http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4308,15 +3697,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ -< Location: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +< X-Gabbi-url: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ +< Location: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ { "one_environ": 1 } #### with list #### -> POST http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +> POST http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4329,8 +3718,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ -< Location: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +< X-Gabbi-url: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ +< Location: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ [ 1, @@ -4339,7 +3728,7 @@ ] #### object with list #### -> POST http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +> POST http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4359,8 +3748,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ -< Location: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +< X-Gabbi-url: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ +< Location: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ { "collection": [ @@ -4376,7 +3765,7 @@ } #### post extra data #### -> POST http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +> POST http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4405,8 +3794,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ -< Location: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +< X-Gabbi-url: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ +< Location: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ { "a": 1, @@ -4431,7 +3820,7 @@ } #### check posted data #### -> POST http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +> POST http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4460,8 +3849,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ -< Location: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +< X-Gabbi-url: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ +< Location: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ { "a": 1, @@ -4486,7 +3875,7 @@ } #### Post again and check the results #### -> POST http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +> POST http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4515,8 +3904,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ -< Location: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +< X-Gabbi-url: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ +< Location: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ { "a": 1, @@ -4541,7 +3930,7 @@ } #### Post again and check the results (reversed) #### -> POST http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +> POST http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4570,8 +3959,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ -< Location: http://e11892ab-761f-4c70-a493-97f5be7ce9dc:8001/ +< X-Gabbi-url: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ +< Location: http://d49b339d-3bac-40e3-87ea-5015b2098029:8001/ { "a": 1, @@ -4596,7 +3985,7 @@ } #### default casts #### -> POST http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ +> POST http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4612,8 +4001,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ -< Location: http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ +< X-Gabbi-url: http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ +< Location: http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ { "int": 1, @@ -4624,7 +4013,7 @@ } #### cast to string #### -> POST http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ +> POST http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4636,15 +4025,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ -< Location: http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ +< X-Gabbi-url: http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ +< Location: http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ { "string": "2" } #### json set up #### -> POST http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ +> POST http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4660,8 +4049,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ -< Location: http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ +< X-Gabbi-url: http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ +< Location: http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ { "int": 1, @@ -4672,7 +4061,7 @@ } #### send casted json #### -> POST http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ +> POST http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4684,130 +4073,22 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ -< Location: http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ +< X-Gabbi-url: http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ +< Location: http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ { "casted": 2 } #### historic casted json #### -> POST http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/gabbi.tests.test_intercept.casting_historic_casted_json.test_request -gabbi.tests.test_intercept.casting_historic_casted_json.test_request ... ok -gabbi.tests.test_intercept.queryparams_simple_param.test_request -gabbi.tests.test_intercept.queryparams_simple_param.test_request ... ok -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_bad_params -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_bad_params ... ok -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_both -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_both ... ok -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_charset -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_charset ... ok -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_multiple_params -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_multiple_params ... ok -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_with_charset -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_with_charset ... ok - -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "casted": 2 -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ -< Location: http://183c3851-898c-4d46-ad91-dc84f5e47c1c:8001/ - -{ - "casted": 2 -} - -gabbi.tests.test_driver.DriverTest.test_build_url_target -gabbi.tests.test_driver.DriverTest.test_build_url_target ... ok -gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl -gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl ... ok -gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test -gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test ... ok -gabbi.tests.test_driver.DriverTest.test_build_with_url_provides_host -gabbi.tests.test_driver.DriverTest.test_build_with_url_provides_host ... ok -gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests -gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests ... ok -gabbi.tests.test_driver.DriverTest.test_driver_prefix -gabbi.tests.test_driver.DriverTest.test_driver_prefix ... ok -gabbi.tests.test_intercept.self_checklimit.test_request -gabbi.tests.test_intercept.self_checklimit.test_request ... ok -gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_gloss.test_request -gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_gloss.test_request ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files -gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files ... ok -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_host_localhost -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_host_localhost ... ok -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_hostport_localhost -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_hostport_localhost ... ok -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_localhost -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_localhost ... ok -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_long -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_long ... ok -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_no_port -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_no_port ... ok -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_with_port -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_with_port ... ok -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport ... ok -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport_with_prefix -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport_with_prefix ... ok -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port80_url -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port80_url ... ok -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port_url -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port_url ... ok -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_url -gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_url ... ok -gabbi.tests.test_intercept.json-left-side_check_key_and_value.test_request -gabbi.tests.test_intercept.json-left-side_check_key_and_value.test_request ... ok -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_encoded_value_from_disk.test_request -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_encoded_value_from_disk.test_request ... ok - - -#### yaml encoded value from disk #### -> POST http://75026bea-d442-48e9-a0d9-a26703941979:8001/somewhere -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "foo": { - "b\u00e1r": 1 - } -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://75026bea-d442-48e9-a0d9-a26703941979:8001/somewhere -< Location: http://75026bea-d442-48e9-a0d9-a26703941979:8001/somewhere - -{ - "foo": { - "b\u00e1r": 1 - } -} - -gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request -gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request ... ok -gabbi.tests.test_intercept.backref_repost_that_raw_int.test_request -gabbi.tests.test_intercept.backref_repost_that_raw_int.test_request ... ok -gabbi.tests.test_intercept.forbiddenheaders_header_not_there_basic.test_request -gabbi.tests.test_intercept.forbiddenheaders_header_not_there_basic.test_request ... ok -gabbi.tests.test_intercept.last-url_add_some_query_params.test_request -gabbi.tests.test_intercept.last-url_add_some_query_params.test_request ... ok -gabbi.tests.test_intercept.fixture_just_to_see.test_request -gabbi.tests.test_intercept.fixture_just_to_see.test_request ... ok -gabbi.tests.test_intercept.json-right-side_json_encoded_value_from_disk.test_request -gabbi.tests.test_intercept.json-right-side_json_encoded_value_from_disk.test_request ... ok +> POST http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/gabbi.tests.test_intercept.json-extensions_test_filtered.test_request +gabbi.tests.test_intercept.json-extensions_test_filtered.test_request ... ok +gabbi.tests.test_intercept.casting_internal_json_fail.test_request +gabbi.tests.test_intercept.casting_internal_json_fail.test_request ... expected failure +gabbi.tests.test_intercept.casting_internal_json_fail.test_request +gabbi.tests.test_intercept.casting_internal_json_fail.test_request ... ok +gabbi.tests.test_intercept.data_load_data_dictionary.test_request +gabbi.tests.test_intercept.data_load_data_dictionary.test_request ... ok gabbi.tests.test_parse_url.UrlParseTest.test_add_query_params gabbi.tests.test_parse_url.UrlParseTest.test_add_query_params ... ok gabbi.tests.test_parse_url.UrlParseTest.test_default_port_http @@ -4838,116 +4119,215 @@ gabbi.tests.test_parse_url.UrlParseTest.test_parse_url ... ok gabbi.tests.test_parse_url.UrlParseTest.test_with_ssl gabbi.tests.test_parse_url.UrlParseTest.test_with_ssl ... ok -gabbi.tests.test_utils.BinaryTypesTest.test_binary -gabbi.tests.test_utils.BinaryTypesTest.test_binary ... ok -gabbi.tests.test_utils.BinaryTypesTest.test_not_binary -gabbi.tests.test_utils.BinaryTypesTest.test_not_binary ... ok -#### get simple page #### -> GET http://d589380a-a669-4246-99ec-5679a50d4e12:8001/ -> x-random-header: ya +gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean +gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean ... ok +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_default +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_default ... ok +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_error_default +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_error_default ... ok +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_extra +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_extra ... ok +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_nocharset_default +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_nocharset_default ... ok +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_override_default +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_override_default ... ok +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_simple +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_simple ... ok + +> content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) +{ + "casted": 2 +} < 200 OK -< X-Gabbi-method: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d589380a-a669-4246-99ec-5679a50d4e12:8001/ +< X-Gabbi-method: POST +< Content-Type: application/json +< X-Gabbi-url: http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ +< Location: http://4e9e837a-b9d4-4c70-8053-7b3e8a8280d4:8001/ -{} +{ + "casted": 2 +} + +gabbi.tests.test_intercept.json-right-side_json_encoded_value_from_disk.test_request +gabbi.tests.test_intercept.json-right-side_json_encoded_value_from_disk.test_request ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_dict_on_invalid_key +gabbi.tests.test_suitemaker.SuiteMakerTest.test_dict_on_invalid_key ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_inner_list_required +gabbi.tests.test_suitemaker.SuiteMakerTest.test_inner_list_required ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_duplication_format_error +gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_duplication_format_error ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_format_error +gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_format_error ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_name_key_required +gabbi.tests.test_suitemaker.SuiteMakerTest.test_name_key_required ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_first +gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_first ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_last +gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_last ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_tests_key_required +gabbi.tests.test_suitemaker.SuiteMakerTest.test_tests_key_required ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_unsupported_key_errors +gabbi.tests.test_suitemaker.SuiteMakerTest.test_unsupported_key_errors ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_upper_dict_required +gabbi.tests.test_suitemaker.SuiteMakerTest.test_upper_dict_required ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required +gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required ... ok +gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_default_true +gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_default_true ... ok +gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_false +gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_false ... ok +gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_true +gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_true ... ok +gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color +gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color ... ok +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_bad_params +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_bad_params ... ok +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_both +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_both ... ok +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_charset +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_charset ... ok +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_multiple_params +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_multiple_params ... ok +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_with_charset +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_with_charset ... ok -#### left side json one #### -> POST http://6051f5a2-9fc1-4341-abae-c322aebca823:8001/ -> content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "alpha": "alpha1", - "beta": "beta1" + "int": 1, + "float": 1.5, + "string": "2", + "tbool": true, + "fbool": false } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6051f5a2-9fc1-4341-abae-c322aebca823:8001/ -< Location: http://6051f5a2-9fc1-4341-abae-c322aebca823:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ +< Location: http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ { - "alpha": "alpha1", - "beta": "beta1" + "int": 1, + "float": 1.5, + "string": "2", + "tbool": true, + "fbool": false } -#### expand left side #### -> POST http://6051f5a2-9fc1-4341-abae-c322aebca823:8001/ +#### send casted json #### +> POST http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "alpha1": "alpha", - "beta1": "beta" + "casted": 2 } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6051f5a2-9fc1-4341-abae-c322aebca823:8001/ -< Location: http://6051f5a2-9fc1-4341-abae-c322aebca823:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ +< Location: http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ { - "alpha1": "alpha", - "beta1": "beta" + "casted": 2 } -#### expand environ left side #### -> POST http://6051f5a2-9fc1-4341-abae-c322aebca823:8001/ +#### historic casted json #### +> POST http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "alpha1": "alpha", - "beta1": "beta", - "1": "cow" + "casted": 2 } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6051f5a2-9fc1-4341-abae-c322aebca823:8001/ -< Location: http://6051f5a2-9fc1-4341-abae-c322aebca823:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ +< Location: http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ { - "alpha1": "alpha", - "beta1": "beta", - "1": "cow" + "casted": 2 } -#### set key and value #### -> GET http://6051f5a2-9fc1-4341-abae-c322aebca823:8001/jsonator?key=1&value=10 +#### internal json fine #### +> POST http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) +{ + "casted": "in this 2 is not errors" +} < 200 OK +< X-Gabbi-method: POST < Content-Type: application/json +< X-Gabbi-url: http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ +< Location: http://186ac642-980e-4589-ad06-5d7f5765dcbe:8001/ { - "1": "10" + "casted": "in this 2 is not errors" } -#### check key and value #### -> GET http://6051f5a2-9fc1-4341-abae-c322aebca823:8001/jsonator?key=1&value=10 +#### json encoded value from disk #### +> POST http://7692bdaf-8b68-4581-82e8-abd333b1d531:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) +{ + "foo": { + "b\u00e1r": 1 + } +} < 200 OK -< Content-Type: application/json +< X-Gabbi-method: POST +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://7692bdaf-8b68-4581-82e8-abd333b1d531:8001/ +< Location: http://7692bdaf-8b68-4581-82e8-abd333b1d531:8001/ { - "1": "10" + "foo": { + "b\u00e1r": 1 + } } +gabbi.tests.test_intercept.host-header_host_without_ssl.test_request +gabbi.tests.test_intercept.host-header_host_without_ssl.test_request ... ok +#### get simple page #### +> GET http://476949c7-435b-44ac-ac91-97bee15fe213:8001/ +> x-random-header: ya +> user-agent: gabbi/3.0.0 (Python urllib3) + + +< 200 OK +< X-Gabbi-method: GET +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://476949c7-435b-44ac-ac91-97bee15fe213:8001/ + +{} + +#### confirm notempty #### +> GET http://cbdd385b-66a1-44ec-9b94-1147d9e80413:8001/notempty +> user-agent: gabbi/3.0.0 (Python urllib3) + + +< 200 OK + +notempty + #### post data #### -> POST http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +> POST http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4960,8 +4340,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ -< Location: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +< X-Gabbi-url: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ +< Location: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ { "one_string": "1", @@ -4970,7 +4350,7 @@ } #### use data #### -> POST http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +> POST http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4983,8 +4363,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ -< Location: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +< X-Gabbi-url: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ +< Location: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ { "one_string": "1", @@ -4993,7 +4373,7 @@ } #### from environ #### -> POST http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +> POST http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5004,15 +4384,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ -< Location: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +< X-Gabbi-url: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ +< Location: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ { "one_environ": 1 } #### with list #### -> POST http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +> POST http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5025,8 +4405,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ -< Location: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +< X-Gabbi-url: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ +< Location: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ [ 1, @@ -5035,7 +4415,7 @@ ] #### object with list #### -> POST http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +> POST http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5055,8 +4435,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ -< Location: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +< X-Gabbi-url: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ +< Location: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ { "collection": [ @@ -5072,7 +4452,7 @@ } #### post extra data #### -> POST http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +> POST http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5101,8 +4481,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ -< Location: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +< X-Gabbi-url: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ +< Location: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ { "a": 1, @@ -5127,7 +4507,7 @@ } #### check posted data #### -> POST http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +> POST http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5156,8 +4536,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ -< Location: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ +< X-Gabbi-url: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ +< Location: http://fa2065f9-2041-4a0b-aa35-27d7583b61b2:8001/ { "a": 1, @@ -5181,127 +4561,46 @@ } } -#### Post again and check the results #### -> POST http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } - } -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ -< Location: http://141b0de5-27b2-4c96-9a54-4ce6b37c2c97:8001/ - -{ - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } - } -} - -#### json encoded value from disk #### -> POST http://c274cd72-58f4-4e82-af26-9a6f3a4e8a85:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "foo": { - "b\u00e1r": 1 - } -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c274cd72-58f4-4e82-af26-9a6f3a4e8a85:8001/ -< Location: http://c274cd72-58f4-4e82-af26-9a6f3a4e8a85:8001/ - -{ - "foo": { - "b\u00e1r": 1 - } -} - ---------------------------------------------------------------------- -Ran 314 tests in 287.775s +Ran 314 tests in 3.107s OK (skipped=2, expected failures=15) + stestr slowest Test id Runtime (s) ------------------------------------------------------------------------------------------ ----------- -gabbi.tests.test_driver.DriverTest.test_build_require_ssl 50.508 -gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request 32.566 -gabbi.tests.test_intercept.coerce_string_internal_replace.test_request 23.936 -gabbi.tests.test_intercept.coerce_check_posted_data.test_request 19.525 -gabbi.tests.test_intercept.backref_get_a_historical_response.test_request 15.753 -gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request 14.160 -gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request 12.812 -gabbi.tests.test_intercept.data_json_value_from_disk.test_request 9.575 -gabbi.tests.test_intercept.coerce_object_with_list.test_request 9.406 -gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request 8.358 +gabbi.tests.test_intercept.coerce_string_internal_replace.test_request 0.649 +gabbi.tests.test_intercept.coerce_check_posted_data.test_request 0.502 +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request 0.465 +gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request 0.375 +gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request 0.337 +gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request 0.312 +gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request 0.261 +gabbi.tests.test_intercept.coerce_object_with_list.test_request 0.236 +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request 0.231 +gabbi.tests.test_intercept.poll_loop_location.test_request 0.230 + rm -rf .stestr -+ [ 3.12 = disabled ] -+ echo 3.12 -libfakeroot internal error: payload not recognized! -+ cut -d. -f1 ++ for pyvers in ${PYTHON3S} ++ '[' 3.12 = disabled ']' +++ echo 3.12 +++ cut -d. -f1 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] +++ pwd ++ '[' -d /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ PYTHON=python3.12 stestr run --parallel --subunit gabbi\.tests\.(?!test_live.*|test_intercept\.prefix_get_that_link\.test_request|test_intercept\.prefix_get_relative_link\.test_request|test_intercept\.prefix_provide_a_link\.test_request) ++ PYTHON=python3.12 ++ stestr run --parallel --subunit 'gabbi\.tests\.(?!test_live.*|test_intercept\.prefix_get_that_link\.test_request|test_intercept\.prefix_get_relative_link\.test_request|test_intercept\.prefix_provide_a_link\.test_request)' + subunit2pyunit /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", gabbi.tests.test_data_to_string.TestDataToString.testHappyPath gabbi.tests.test_data_to_string.TestDataToString.testHappyPath ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", gabbi.tests.test_data_to_string.TestDataToString.testNoContentType gabbi.tests.test_data_to_string.TestDataToString.testNoContentType ... ok gabbi.tests.test_data_to_string.TestDataToString.testNoHandler @@ -5310,36 +4609,20 @@ gabbi.tests.test_fixtures.FixtureTest.test_fixture_informs_on_exception ... ok gabbi.tests.test_fixtures.FixtureTest.test_fixture_starts_and_stop gabbi.tests.test_fixtures.FixtureTest.test_fixture_starts_and_stop ... ok -gabbi.tests.test_handlers.HandlersTest.test_empty_response_handler -gabbi.tests.test_handlers.HandlersTest.test_empty_response_handler ... ok -gabbi.tests.test_handlers.HandlersTest.test_resonse_headers_stringify -gabbi.tests.test_handlers.HandlersTest.test_resonse_headers_stringify ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_headers -gabbi.tests.test_handlers.HandlersTest.test_response_headers ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_data -gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_data ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_header -gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_header ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_match -gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_match ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_nomatch -gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_nomatch ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex -gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_match -gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_match ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_nomatch -gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_nomatch ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_esc_regex -gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_esc_regex ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_noregex -gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_noregex ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_regex -gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_regex ... ok gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_inner_fixture.inner_get_one.test_request +gabbi.tests.test_inner_fixture.inner_get_one.test_request ... ok +gabbi.tests.test_inner_fixture.inner_get_two.test_request +gabbi.tests.test_inner_fixture.inner_get_two.test_request ... ok +gabbi.tests.test_inner_fixture.inner_get_three.test_request +gabbi.tests.test_inner_fixture.inner_get_three.test_request ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", gabbi.tests.test_history.HistoryTest.test_cookie_replace_history gabbi.tests.test_history.HistoryTest.test_cookie_replace_history ... ok gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior @@ -5358,52 +4641,38 @@ gabbi.tests.test_history.HistoryTest.test_location_replace_prior ... ok gabbi.tests.test_history.HistoryTest.test_location_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_location_replace_prior_regex ... ok -gabbi.tests.test_inner_fixture.inner_get_two.test_request -gabbi.tests.test_inner_fixture.inner_get_two.test_request ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_intercept.host-header_ssl_no_host.test_request -gabbi.tests.test_intercept.host-header_ssl_no_host.test_request ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_inner_fixture.inner_get_three.test_request -gabbi.tests.test_inner_fixture.inner_get_three.test_request ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_intercept.host-header_ssl_with_host.test_request -gabbi.tests.test_intercept.host-header_ssl_with_host.test_request ... ok -gabbi.tests.test_intercept.host-header_ssl_with_capitalised_host.test_request -gabbi.tests.test_intercept.host-header_ssl_with_capitalised_host.test_request ... ok +gabbi.tests.test_intercept.jsonbody_test_fully_body.test_request +gabbi.tests.test_intercept.jsonbody_test_fully_body.test_request ... ok +gabbi.tests.test_intercept.self_inheritance_of_defaults.test_request +gabbi.tests.test_intercept.self_inheritance_of_defaults.test_request ... ok gabbi.tests.test_history.HistoryTest.test_response_replace_prior gabbi.tests.test_history.HistoryTest.test_response_replace_prior ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_dict_type -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_dict_type ... ok -gabbi.tests.test_history.HistoryTest.test_response_replace_prior_regex -gabbi.tests.test_history.HistoryTest.test_response_replace_prior_regex ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.self_bogus_method.test_request gabbi.tests.test_intercept.self_bogus_method.test_request ... ok +gabbi.tests.test_intercept.method-shortcut_simple_post.test_request +gabbi.tests.test_intercept.method-shortcut_simple_post.test_request ... ok +gabbi.tests.test_intercept.self_simple_post.test_request +gabbi.tests.test_intercept.self_simple_post.test_request ... ok +gabbi.tests.test_intercept.self_checklimit.test_request +gabbi.tests.test_intercept.self_checklimit.test_request ... ok +gabbi.tests.test_history.HistoryTest.test_response_replace_prior_regex +gabbi.tests.test_history.HistoryTest.test_response_replace_prior_regex ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_intercept.skipall_a_skipped_test.test_request -gabbi.tests.test_intercept.skipall_a_skipped_test.test_request ... skipped 'entire suite skipped' +gabbi.tests.test_intercept.jsonbody_test_empty_list.test_request +gabbi.tests.test_intercept.jsonbody_test_empty_list.test_request ... ok gabbi.tests.test_intercept.self_get_simple_page.test_request gabbi.tests.test_intercept.self_get_simple_page.test_request ... ok -gabbi.tests.test_intercept.failskip_non_existent_header.test_request -gabbi.tests.test_intercept.failskip_non_existent_header.test_request ... expected failure -gabbi.tests.test_intercept.failskip_non_existent_header.test_request -gabbi.tests.test_intercept.failskip_non_existent_header.test_request ... ok -gabbi.tests.test_intercept.self_inheritance_of_defaults.test_request -gabbi.tests.test_intercept.self_inheritance_of_defaults.test_request ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_data -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_data ... ok +gabbi.tests.test_intercept.self_post_a_body.test_request +gabbi.tests.test_intercept.self_post_a_body.test_request ... ok +gabbi.tests.test_intercept.self_get_historical_location_from_headers.test_request +gabbi.tests.test_intercept.self_get_historical_location_from_headers.test_request ... ok +gabbi.tests.test_intercept.method-shortcut_post_with_query.test_request +gabbi.tests.test_intercept.method-shortcut_post_with_query.test_request ... ok gabbi.tests.test_history.HistoryTest.test_response_replace_with_history gabbi.tests.test_history.HistoryTest.test_response_replace_with_history ... ok gabbi.tests.test_history.HistoryTest.test_url_replace_history @@ -5412,108 +4681,162 @@ gabbi.tests.test_history.HistoryTest.test_url_replace_prior ... ok gabbi.tests.test_history.HistoryTest.test_url_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_url_replace_prior_regex ... ok -gabbi.tests.test_intercept.self_simple_post.test_request -gabbi.tests.test_intercept.self_simple_post.test_request ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path ... ok -gabbi.tests.test_intercept.self_checklimit.test_request -gabbi.tests.test_intercept.self_checklimit.test_request ... ok -gabbi.tests.test_intercept.self_query_returned.test_request -gabbi.tests.test_intercept.self_query_returned.test_request ... ok -gabbi.tests.test_intercept.self_use_a_historical_location.test_request -gabbi.tests.test_intercept.self_use_a_historical_location.test_request ... ok -gabbi.tests.test_intercept.self_use_prior_location.test_request -gabbi.tests.test_intercept.self_use_prior_location.test_request ... ok +gabbi.tests.test_intercept.method-shortcut_simple_get.test_request +gabbi.tests.test_intercept.method-shortcut_simple_get.test_request ... ok +gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request +gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request ... ok +gabbi.tests.test_intercept.self_post_a_body_with_query.test_request +gabbi.tests.test_intercept.self_post_a_body_with_query.test_request ... ok +gabbi.tests.test_intercept.self_test_binary_handling.test_request +gabbi.tests.test_intercept.self_test_binary_handling.test_request ... ok gabbi.tests.test_intercept.self_get_location_from_headers.test_request gabbi.tests.test_intercept.self_get_location_from_headers.test_request ... ok -gabbi.tests.test_intercept.self_get_historical_location_from_headers.test_request -gabbi.tests.test_intercept.self_get_historical_location_from_headers.test_request ... ok -gabbi.tests.test_intercept.host-header_host_without_ssl.test_request -gabbi.tests.test_intercept.host-header_host_without_ssl.test_request ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path ... ok +gabbi.tests.test_intercept.self_query_returned.test_request +gabbi.tests.test_intercept.self_query_returned.test_request ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_intercept.self_use_prior_location.test_request +gabbi.tests.test_intercept.self_use_prior_location.test_request ... ok +gabbi.tests.test_intercept.self_use_a_historical_location.test_request +gabbi.tests.test_intercept.self_use_a_historical_location.test_request ... ok +gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request +gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request ... expected failure +gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request +gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request ... ok +gabbi.tests.test_intercept.self_test_pluggable_response.test_request +gabbi.tests.test_intercept.self_test_pluggable_response.test_request ... ok +gabbi.tests.test_driver.DriverTest.test_build_require_ssl +gabbi.tests.test_driver.DriverTest.test_build_require_ssl ... ok +gabbi.tests.test_driver.DriverTest.test_build_requires_host_or_intercept +gabbi.tests.test_driver.DriverTest.test_build_requires_host_or_intercept ... ok +gabbi.tests.test_driver.DriverTest.test_build_url_target +gabbi.tests.test_driver.DriverTest.test_build_url_target ... ok +gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl +gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl ... ok +gabbi.tests.test_intercept.self_test_exception_wrapper.test_request +gabbi.tests.test_intercept.self_test_exception_wrapper.test_request ... expected failure +gabbi.tests.test_intercept.self_test_exception_wrapper.test_request +gabbi.tests.test_intercept.self_test_exception_wrapper.test_request ... ok +gabbi.tests.test_intercept.self_non_json_response_failure.test_request +gabbi.tests.test_intercept.self_non_json_response_failure.test_request ... expected failure +gabbi.tests.test_intercept.self_non_json_response_failure.test_request +gabbi.tests.test_intercept.self_non_json_response_failure.test_request ... ok +gabbi.tests.test_intercept.regex_regex_header_test.test_request +gabbi.tests.test_intercept.regex_regex_header_test.test_request ... ok +gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test +gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test ... ok +gabbi.tests.test_driver.DriverTest.test_build_with_url_provides_host +gabbi.tests.test_driver.DriverTest.test_build_with_url_provides_host ... ok +gabbi.tests.test_intercept.self_fail_pluggable_response.test_request +gabbi.tests.test_intercept.self_fail_pluggable_response.test_request ... expected failure +gabbi.tests.test_intercept.self_fail_pluggable_response.test_request +gabbi.tests.test_intercept.self_fail_pluggable_response.test_request ... ok +gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests +gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests ... ok +gabbi.tests.test_driver.DriverTest.test_driver_prefix +gabbi.tests.test_driver.DriverTest.test_driver_prefix ... ok +gabbi.tests.test_handlers.HandlersTest.test_empty_response_handler +gabbi.tests.test_handlers.HandlersTest.test_empty_response_handler ... ok +gabbi.tests.test_handlers.HandlersTest.test_resonse_headers_stringify +gabbi.tests.test_handlers.HandlersTest.test_resonse_headers_stringify ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_headers +gabbi.tests.test_handlers.HandlersTest.test_response_headers ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_data +gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_data ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_header +gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_header ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_match +gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_match ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_nomatch +gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_nomatch ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex +gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_match +gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_match ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_nomatch +gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_nomatch ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_esc_regex +gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_esc_regex ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_noregex +gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_noregex ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_regex +gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_regex ... ok gabbi.tests.test_intercept.self_get_ssl_page.test_request gabbi.tests.test_intercept.self_get_ssl_page.test_request ... ok +gabbi.tests.test_intercept.regex_regex_string_test_multiline.test_request +gabbi.tests.test_intercept.regex_regex_string_test_multiline.test_request ... ok gabbi.tests.test_intercept.self_confirm_environ.test_request gabbi.tests.test_intercept.self_confirm_environ.test_request ... ok -gabbi.tests.test_intercept.self_test_binary_handling.test_request -gabbi.tests.test_intercept.self_test_binary_handling.test_request ... ok -gabbi.tests.test_intercept.self_post_a_body_with_query.test_request -gabbi.tests.test_intercept.self_post_a_body_with_query.test_request ... ok -gabbi.tests.test_intercept.poll_poller.test_request -gabbi.tests.test_intercept.poll_poller.test_request ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path_fail -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path_fail ... ok -gabbi.tests.test_intercept.failskip_wrong_status.test_request -gabbi.tests.test_intercept.failskip_wrong_status.test_request ... expected failure -gabbi.tests.test_intercept.failskip_wrong_status.test_request -gabbi.tests.test_intercept.failskip_wrong_status.test_request ... ok -gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request -gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request ... ok +gabbi.tests.test_intercept.contenttype_put_no_content-type.test_request +gabbi.tests.test_intercept.contenttype_put_no_content-type.test_request ... ok +gabbi.tests.test_intercept.contenttype_post_content-type.test_request +gabbi.tests.test_intercept.contenttype_post_content-type.test_request ... ok +gabbi.tests.test_intercept.queryparams_unicode.test_request +gabbi.tests.test_intercept.queryparams_unicode.test_request ... ok gabbi.tests.test_intercept.header-key_header_named_http.test_request gabbi.tests.test_intercept.header-key_header_named_http.test_request ... ok +gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request +gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_dict_type +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_dict_type ... ok +gabbi.tests.test_intercept.queryparams_multi_params.test_request +gabbi.tests.test_intercept.queryparams_multi_params.test_request ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_data +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_data ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path ... ok +gabbi.tests.test_intercept.self_xml_derived_content_type.test_request +gabbi.tests.test_intercept.self_xml_derived_content_type.test_request ... expected failure +gabbi.tests.test_intercept.self_xml_derived_content_type.test_request +gabbi.tests.test_intercept.self_xml_derived_content_type.test_request ... ok +gabbi.tests.test_intercept.contenttype_patch_no_content-type.test_request +gabbi.tests.test_intercept.contenttype_patch_no_content-type.test_request ... ok +gabbi.tests.test_intercept.queryparams_url_in_param.test_request +gabbi.tests.test_intercept.queryparams_url_in_param.test_request ... ok +gabbi.tests.test_intercept.contenttype_put_content-type.test_request +gabbi.tests.test_intercept.contenttype_put_content-type.test_request ... ok +gabbi.tests.test_intercept.contenttype_patch_content-type.test_request +gabbi.tests.test_intercept.contenttype_patch_content-type.test_request ... ok +gabbi.tests.test_intercept.self_json_derived_content_type.test_request +gabbi.tests.test_intercept.self_json_derived_content_type.test_request ... ok +gabbi.tests.test_intercept.regex_regex_string_test_splat.test_request +gabbi.tests.test_intercept.regex_regex_string_test_splat.test_request ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path ... ok +gabbi.tests.test_intercept.regex_regex_string_test_mix.test_request +gabbi.tests.test_intercept.regex_regex_string_test_mix.test_request ... ok +gabbi.tests.test_intercept.regex_regex_jsonpath_test.test_request +gabbi.tests.test_intercept.regex_regex_jsonpath_test.test_request ... ok +gabbi.tests.test_intercept.skipall_a_skipped_test.test_request +gabbi.tests.test_intercept.skipall_a_skipped_test.test_request ... skipped 'entire suite skipped' +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path_fail +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path_fail ... ok +gabbi.tests.test_intercept.regex_regex_string_test_json.test_request +gabbi.tests.test_intercept.regex_regex_string_test_json.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_number gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_number ... ok -gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request -gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request ... expected failure -gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request -gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request ... ok -gabbi.tests.test_intercept.self_test_pluggable_response.test_request -gabbi.tests.test_intercept.self_test_pluggable_response.test_request ... ok -gabbi.tests.test_intercept.poll_loop_location.test_request -gabbi.tests.test_intercept.poll_loop_location.test_request ... ok -gabbi.tests.test_intercept.json-left-side_expand_left_side.test_request -gabbi.tests.test_intercept.json-left-side_expand_left_side.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_match gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_match ... ok -gabbi.tests.test_intercept.self_fail_pluggable_response.test_request -gabbi.tests.test_intercept.self_fail_pluggable_response.test_request ... expected failure -gabbi.tests.test_intercept.self_fail_pluggable_response.test_request -gabbi.tests.test_intercept.self_fail_pluggable_response.test_request ... ok -gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request -gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request ... expected failure -gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request -gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_nomatch gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_nomatch ... ok -gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_gloss.test_request -gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_gloss.test_request ... ok +gabbi.tests.test_intercept.backref_post_some_json.test_request +gabbi.tests.test_intercept.backref_post_some_json.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_esc_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_esc_regex ... ok -gabbi.tests.test_intercept.jsonbody_test_fully_body.test_request -gabbi.tests.test_intercept.jsonbody_test_fully_body.test_request ... ok -gabbi.tests.test_intercept.failskip_skip_me.test_request -gabbi.tests.test_intercept.failskip_skip_me.test_request ... skipped "Skipping for now because we can't do it" -gabbi.tests.test_intercept.coerce_post_data.test_request -gabbi.tests.test_intercept.coerce_post_data.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_noregex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_noregex ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_regex ... ok -gabbi.tests.test_intercept.data_load_image_file.test_request -gabbi.tests.test_intercept.data_load_image_file.test_request ... ok -gabbi.tests.test_intercept.self_json_derived_content_type.test_request -gabbi.tests.test_intercept.self_json_derived_content_type.test_request ... ok -gabbi.tests.test_intercept.self_test_exception_wrapper.test_request -gabbi.tests.test_intercept.self_test_exception_wrapper.test_request ... expected failure -gabbi.tests.test_intercept.self_test_exception_wrapper.test_request -gabbi.tests.test_intercept.self_test_exception_wrapper.test_request ... ok -gabbi.tests.test_intercept.jsonbody_test_empty_dict.test_request -gabbi.tests.test_intercept.jsonbody_test_empty_dict.test_request ... ok -gabbi.tests.test_intercept.method-shortcut_post_with_query.test_request -gabbi.tests.test_intercept.method-shortcut_post_with_query.test_request ... ok -gabbi.tests.test_intercept.json-extensions_test_len.test_request -gabbi.tests.test_intercept.json-extensions_test_len.test_request ... ok -gabbi.tests.test_intercept.self_non_json_response_failure.test_request -gabbi.tests.test_intercept.self_non_json_response_failure.test_request ... expected failure -gabbi.tests.test_intercept.self_non_json_response_failure.test_request -gabbi.tests.test_intercept.self_non_json_response_failure.test_request ... ok -gabbi.tests.test_intercept.data_load_data_dictionary.test_request -gabbi.tests.test_intercept.data_load_data_dictionary.test_request ... ok +gabbi.tests.test_intercept.backref_post_some_more_json.test_request +gabbi.tests.test_intercept.backref_post_some_more_json.test_request ... ok +gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request +gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request ... expected failure +gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request +gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_yamlhandler gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_yamlhandler ... ok gabbi.tests.test_handlers.HandlersTest.test_response_string_list_type @@ -5526,252 +4849,116 @@ gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_output ... ok gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_payload gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_payload ... ok -gabbi.tests.test_intercept.data_json_value_from_disk.test_request -gabbi.tests.test_intercept.data_json_value_from_disk.test_request ... ok -gabbi.tests.test_intercept.regex_regex_string_test_json.test_request -gabbi.tests.test_intercept.regex_regex_string_test_json.test_request ... ok -gabbi.tests.test_intercept.regex_regex_string_test_multiline.test_request -gabbi.tests.test_intercept.regex_regex_string_test_multiline.test_request ... ok -gabbi.tests.test_intercept.self_xml_derived_content_type.test_request -gabbi.tests.test_intercept.self_xml_derived_content_type.test_request ... expected failure -gabbi.tests.test_intercept.self_xml_derived_content_type.test_request -gabbi.tests.test_intercept.self_xml_derived_content_type.test_request ... ok -gabbi.tests.test_intercept.regex_regex_string_test_mix.test_request -gabbi.tests.test_intercept.regex_regex_string_test_mix.test_request ... ok -gabbi.tests.test_intercept.data_load_data_list.test_request -gabbi.tests.test_intercept.data_load_data_list.test_request ... ok -gabbi.tests.test_intercept.json-extensions_test_sort.test_request -gabbi.tests.test_intercept.json-extensions_test_sort.test_request ... ok -gabbi.tests.test_intercept.data_load_json_file.test_request -gabbi.tests.test_intercept.data_load_json_file.test_request ... ok -gabbi.tests.test_intercept.regex_regex_header_test.test_request -gabbi.tests.test_intercept.regex_regex_header_test.test_request ... ok -gabbi.tests.test_intercept.method-shortcut_simple_post.test_request -gabbi.tests.test_intercept.method-shortcut_simple_post.test_request ... ok -gabbi.tests.test_intercept.coerce_use_data.test_request -gabbi.tests.test_intercept.coerce_use_data.test_request ... ok -gabbi.tests.test_intercept.cookie_use_a_historical_cookie.test_request -gabbi.tests.test_intercept.cookie_use_a_historical_cookie.test_request ... ok -gabbi.tests.test_intercept.last-url_get_it_a_third_time.test_request -gabbi.tests.test_intercept.last-url_get_it_a_third_time.test_request ... ok -gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request -gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request ... ok -gabbi.tests.test_intercept.json-left-side_expand_environ_left_side.test_request -gabbi.tests.test_intercept.json-left-side_expand_environ_left_side.test_request ... ok +gabbi.tests.test_intercept.jsonbody_test_empty_dict.test_request +gabbi.tests.test_intercept.jsonbody_test_empty_dict.test_request ... ok +gabbi.tests.test_intercept.queryparams_simple_param.test_request +gabbi.tests.test_intercept.queryparams_simple_param.test_request ... ok +gabbi.tests.test_intercept.queryparams_joined_params.test_request +gabbi.tests.test_intercept.queryparams_joined_params.test_request ... ok +gabbi.tests.test_intercept.queryparams_replacers_in_params.test_request +gabbi.tests.test_intercept.queryparams_replacers_in_params.test_request ... ok +gabbi.tests.test_intercept.backref_post_even_more_json.test_request +gabbi.tests.test_intercept.backref_post_even_more_json.test_request ... ok +gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request +gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request ... ok +gabbi.tests.test_intercept.fixture_just_to_see_three.test_request +gabbi.tests.test_intercept.fixture_just_to_see_three.test_request ... ok +gabbi.tests.test_intercept.json-left-side_left_side_json_one.test_request +gabbi.tests.test_intercept.json-left-side_left_side_json_one.test_request ... ok +gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request +gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request ... ok +gabbi.tests.test_intercept.coerce_post_data.test_request +gabbi.tests.test_intercept.coerce_post_data.test_request ... ok gabbi.tests.test_intercept.json-left-side_set_key_and_value.test_request gabbi.tests.test_intercept.json-left-side_set_key_and_value.test_request ... ok -gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request -gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request ... expected failure -gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request -gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request ... ok -gabbi.tests.test_intercept.poll_poller_fail.test_request -gabbi.tests.test_intercept.poll_poller_fail.test_request ... expected failure -gabbi.tests.test_intercept.poll_poller_fail.test_request -gabbi.tests.test_intercept.poll_poller_fail.test_request ... ok -gabbi.tests.test_intercept.json-left-side_check_key_and_value.test_request -gabbi.tests.test_intercept.json-left-side_check_key_and_value.test_request ... ok gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request ... expected failure gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request ... ok +gabbi.tests.test_intercept.backref_repost_that_raw_int.test_request +gabbi.tests.test_intercept.backref_repost_that_raw_int.test_request ... ok +gabbi.tests.test_intercept.coerce_with_list.test_request +gabbi.tests.test_intercept.coerce_with_list.test_request ... ok +gabbi.tests.test_intercept.last-url_get_a_url_the_first_time.test_request +gabbi.tests.test_intercept.last-url_get_a_url_the_first_time.test_request ... ok +gabbi.tests.test_intercept.last-url_now_last_url_does_not_have_those_query_params.test_request +gabbi.tests.test_intercept.last-url_now_last_url_does_not_have_those_query_params.test_request ... ok gabbi.tests.test_intercept.last-url_get_prior_url.test_request gabbi.tests.test_intercept.last-url_get_prior_url.test_request ... ok -gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request -gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request ... ok -gabbi.tests.test_intercept.method-shortcut_simple_get.test_request -gabbi.tests.test_intercept.method-shortcut_simple_get.test_request ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_custom_response_handler -gabbi.tests.test_runner.RunnerTest.test_custom_response_handler ... ok -gabbi.tests.test_intercept.poll_create_a_thing.test_request -gabbi.tests.test_intercept.poll_create_a_thing.test_request ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_data_dir_good -gabbi.tests.test_runner.RunnerTest.test_data_dir_good ... ok -gabbi.tests.test_intercept.regex_regex_string_test_splat.test_request -gabbi.tests.test_intercept.regex_regex_string_test_splat.test_request ... ok -gabbi.tests.test_intercept.data_partial_json_from_disk.test_request -gabbi.tests.test_intercept.data_partial_json_from_disk.test_request ... ok -gabbi.tests.test_intercept.data_post_data_for_next.test_request -gabbi.tests.test_intercept.data_post_data_for_next.test_request ... ok -gabbi.tests.test_intercept.casting_default_casts.test_request -gabbi.tests.test_intercept.casting_default_casts.test_request ... ok -gabbi.tests.test_intercept.queryparams_simple_param.test_request -gabbi.tests.test_intercept.queryparams_simple_param.test_request ... ok -gabbi.tests.test_intercept.contenttype_patch_no_content-type.test_request -gabbi.tests.test_intercept.contenttype_patch_no_content-type.test_request ... ok -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_default -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_default ... ok -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_error_default -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_error_default ... ok -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_extra -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_extra ... ok -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_nocharset_default -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_nocharset_default ... ok -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_override_default -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_override_default ... ok -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_simple -gabbi.tests.test_utils.ParseContentTypeTest.test_parse_simple ... ok -#### get simple page #### -> GET http://21dfa38b-a20a-422f-a0d6-f861e76b81c9:8001/ -> x-random-header: ya -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< X-Gabbi-method: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://21dfa38b-a20a-422f-a0d6-f861e76b81c9:8001/ - -{} - -#### default casts #### -> POST http://96756462-6f87-4476-8035-6f1fd020e064:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://96756462-6f87-4476-8035-6f1fd020e064:8001/ -< Location: http://96756462-6f87-4476-8035-6f1fd020e064:8001/ - -{ - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false -} - -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_exit_code -gabbi.tests.test_runner.RunnerTest.test_exit_code ... ok -gabbi.tests.test_intercept.regex_regex_jsonpath_test.test_request -gabbi.tests.test_intercept.regex_regex_jsonpath_test.test_request ... ok +gabbi.tests.test_intercept.cookie_get_a_cookie.test_request +gabbi.tests.test_intercept.cookie_get_a_cookie.test_request ... ok +gabbi.tests.test_intercept.poll_poller.test_request +gabbi.tests.test_intercept.poll_poller.test_request ... ok +gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request +gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request ... ok gabbi.tests.test_intercept.coerce_from_environ.test_request gabbi.tests.test_intercept.coerce_from_environ.test_request ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_input_files -gabbi.tests.test_runner.RunnerTest.test_input_files ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_quiet_is_quiet -gabbi.tests.test_runner.RunnerTest.test_quiet_is_quiet ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_stdin_data_dir -gabbi.tests.test_runner.RunnerTest.test_stdin_data_dir ... ok -gabbi.tests.test_runner.RunnerTest.test_target_url_parsing -gabbi.tests.test_runner.RunnerTest.test_target_url_parsing ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port -gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port ... ok -gabbi.tests.test_intercept.backref_post_some_json.test_request -gabbi.tests.test_intercept.backref_post_some_json.test_request ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_unsafe_yaml -gabbi.tests.test_runner.RunnerTest.test_unsafe_yaml ... ok -gabbi.tests.test_intercept.backref_post_some_more_json.test_request -gabbi.tests.test_intercept.backref_post_some_more_json.test_request ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_verbose_output_formatting -gabbi.tests.test_runner.RunnerTest.test_verbose_output_formatting ... ok -gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request -gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request ... ok -gabbi.tests.test_intercept.last-url_add_some_query_params.test_request -gabbi.tests.test_intercept.last-url_add_some_query_params.test_request ... ok -gabbi.tests.test_intercept.last-url_now_last_url_does_not_have_those_query_params.test_request -gabbi.tests.test_intercept.last-url_now_last_url_does_not_have_those_query_params.test_request ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_all -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_all ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_body -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_body ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_headers -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_headers ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_none -gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_none ... ok -#### get simple page #### -> GET http://30b0d492-9808-4c39-8b72-390ab59883ab:8001/ -> x-random-header: ya -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< X-Gabbi-method: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://30b0d492-9808-4c39-8b72-390ab59883ab:8001/ - -{} - -gabbi.tests.test_intercept.coerce_with_list.test_request -gabbi.tests.test_intercept.coerce_with_list.test_request ... ok -gabbi.tests.test_intercept.queryparams_joined_params.test_request -gabbi.tests.test_intercept.queryparams_joined_params.test_request ... ok +gabbi.tests.test_intercept.backref_get_a_historical_response.test_request +gabbi.tests.test_intercept.backref_get_a_historical_response.test_request ... ok +gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request +gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request ... expected failure +gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request +gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request ... ok +gabbi.tests.test_intercept.forbiddenheaders_header_not_there_basic.test_request +gabbi.tests.test_intercept.forbiddenheaders_header_not_there_basic.test_request ... ok +gabbi.tests.test_intercept.fixture_just_to_see_one.test_request +gabbi.tests.test_intercept.fixture_just_to_see_one.test_request ... ok +gabbi.tests.test_intercept.fixture_just_to_see_two.test_request +gabbi.tests.test_intercept.fixture_just_to_see_two.test_request ... ok +gabbi.tests.test_intercept.poll_create_a_thing.test_request +gabbi.tests.test_intercept.poll_create_a_thing.test_request ... ok +gabbi.tests.test_intercept.host-header_ssl_with_capitalised_host.test_request +gabbi.tests.test_intercept.host-header_ssl_with_capitalised_host.test_request ... ok +gabbi.tests.test_intercept.host-header_host_without_ssl.test_request +gabbi.tests.test_intercept.host-header_host_without_ssl.test_request ... ok +gabbi.tests.test_intercept.json-right-side_json_encoded_value_from_disk.test_request +gabbi.tests.test_intercept.json-right-side_json_encoded_value_from_disk.test_request ... ok gabbi.tests.test_intercept.coerce_object_with_list.test_request gabbi.tests.test_intercept.coerce_object_with_list.test_request ... ok -gabbi.tests.test_intercept.queryparams_unicode.test_request -gabbi.tests.test_intercept.queryparams_unicode.test_request ... ok -gabbi.tests.test_intercept.backref_post_even_more_json.test_request -gabbi.tests.test_intercept.backref_post_even_more_json.test_request ... ok -gabbi.tests.test_intercept.casting_cast_to_string.test_request -gabbi.tests.test_intercept.casting_cast_to_string.test_request ... ok -gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers -gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_already_bracket -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_already_bracket ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_full -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_full ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl_weird_port -gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl_weird_port ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_no_double_colon -gabbi.tests.test_utils.CreateURLTest.test_create_url_no_double_colon ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_not_ssl_on_443 -gabbi.tests.test_utils.CreateURLTest.test_create_url_not_ssl_on_443 ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_port -gabbi.tests.test_utils.CreateURLTest.test_create_url_port ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_port_and_ssl -gabbi.tests.test_utils.CreateURLTest.test_create_url_port_and_ssl ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_prefix -gabbi.tests.test_utils.CreateURLTest.test_create_url_prefix ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_preserve_query -gabbi.tests.test_utils.CreateURLTest.test_create_url_preserve_query ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_simple -gabbi.tests.test_utils.CreateURLTest.test_create_url_simple ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl -gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl ... ok -gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl_on_80 -gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl_on_80 ... ok +gabbi.tests.test_intercept.poll_poller_fail.test_request +gabbi.tests.test_intercept.poll_poller_fail.test_request ... expected failure +gabbi.tests.test_intercept.poll_poller_fail.test_request +gabbi.tests.test_intercept.poll_poller_fail.test_request ... ok +gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request +gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request ... ok +gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request +gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request ... ok +gabbi.tests.test_intercept.fixture_just_to_see.test_request +gabbi.tests.test_intercept.fixture_just_to_see.test_request ... ok +gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.test_request +gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.test_request ... ok +gabbi.tests.test_intercept.failskip_skip_me.test_request +gabbi.tests.test_intercept.failskip_skip_me.test_request ... skipped "Skipping for now because we can't do it" +gabbi.tests.test_intercept.json-right-side_json_parital_from_disk.test_request +gabbi.tests.test_intercept.json-right-side_json_parital_from_disk.test_request ... ok +gabbi.tests.test_intercept.casting_internal_json_fine.test_request +gabbi.tests.test_intercept.casting_internal_json_fine.test_request ... ok +gabbi.tests.test_intercept.json-left-side_expand_environ_left_side.test_request +gabbi.tests.test_intercept.json-left-side_expand_environ_left_side.test_request ... ok +gabbi.tests.test_intercept.failskip_non_existent_header.test_request +gabbi.tests.test_intercept.failskip_non_existent_header.test_request ... expected failure +gabbi.tests.test_intercept.failskip_non_existent_header.test_request +gabbi.tests.test_intercept.failskip_non_existent_header.test_request ... ok +gabbi.tests.test_intercept.host-header_ssl_no_host.test_request +gabbi.tests.test_intercept.host-header_ssl_no_host.test_request ... ok +gabbi.tests.test_intercept.json-right-side_json_partial_both_sides.test_request +gabbi.tests.test_intercept.json-right-side_json_partial_both_sides.test_request ... ok +gabbi.tests.test_load_data_file.DataFileTest.test_load_file +gabbi.tests.test_load_data_file.DataFileTest.test_load_file ... ok +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_directory +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_directory ... ok +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_parent_dir +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_parent_dir ... ok +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_root +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_root ... ok +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_not_within_test_directory +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_not_within_test_directory ... ok +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_within_test_directory +gabbi.tests.test_load_data_file.DataFileTest.test_load_file_within_test_directory ... ok +gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean +gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean ... ok #### get simple page #### -> GET http://6059db5d-f343-4ad0-a370-f5fbf8dcb152:8001/ +> GET http://b376deb3-24f0-4701-9ed1-e2574c3fb79e:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5779,301 +4966,124 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6059db5d-f343-4ad0-a370-f5fbf8dcb152:8001/ +< X-Gabbi-url: http://b376deb3-24f0-4701-9ed1-e2574c3fb79e:8001/ {} -#### left side json one #### -> POST http://1bd20232-19a4-478e-bd80-1e38ed4056f4:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "alpha": "alpha1", - "beta": "beta1" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://1bd20232-19a4-478e-bd80-1e38ed4056f4:8001/ -< Location: http://1bd20232-19a4-478e-bd80-1e38ed4056f4:8001/ - -{ - "alpha": "alpha1", - "beta": "beta1" -} - -#### expand left side #### -> POST http://1bd20232-19a4-478e-bd80-1e38ed4056f4:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "alpha1": "alpha", - "beta1": "beta" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://1bd20232-19a4-478e-bd80-1e38ed4056f4:8001/ -< Location: http://1bd20232-19a4-478e-bd80-1e38ed4056f4:8001/ - -{ - "alpha1": "alpha", - "beta1": "beta" -} - -#### expand environ left side #### -> POST http://1bd20232-19a4-478e-bd80-1e38ed4056f4:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "alpha1": "alpha", - "beta1": "beta", - "1": "cow" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://1bd20232-19a4-478e-bd80-1e38ed4056f4:8001/ -< Location: http://1bd20232-19a4-478e-bd80-1e38ed4056f4:8001/ - -{ - "alpha1": "alpha", - "beta1": "beta", - "1": "cow" -} - -#### set key and value #### -> GET http://1bd20232-19a4-478e-bd80-1e38ed4056f4:8001/jsonator?key=1&value=10 -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< Content-Type: application/json - -{ - "1": "10" -} - -#### check key and value #### -> GET http://1bd20232-19a4-478e-bd80-1e38ed4056f4:8001/jsonator?key=1&value=10 -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< Content-Type: application/json - -{ - "1": "10" -} - -#### post data #### -> POST http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ -< Location: http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -#### use data #### -> POST http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ +#### json encoded value from disk #### +> POST http://65c2f8da-b56a-401c-958f-fccbc5781156:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "foo": { + "b\u00e1r": 1 + } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ -< Location: http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ +< X-Gabbi-url: http://65c2f8da-b56a-401c-958f-fccbc5781156:8001/ +< Location: http://65c2f8da-b56a-401c-958f-fccbc5781156:8001/ { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "foo": { + "b\u00e1r": 1 + } } -#### from environ #### -> POST http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ +#### json parital from disk #### +> POST http://65c2f8da-b56a-401c-958f-fccbc5781156:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "one_environ": 1 + "type": "cat", + "sound": "meow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ -< Location: http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ +< X-Gabbi-url: http://65c2f8da-b56a-401c-958f-fccbc5781156:8001/ +< Location: http://65c2f8da-b56a-401c-958f-fccbc5781156:8001/ { - "one_environ": 1 + "type": "cat", + "sound": "meow" } -#### with list #### -> POST http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ +#### json partial both sides #### +> POST http://65c2f8da-b56a-401c-958f-fccbc5781156:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ - 1, - 2, - "3" + { + "type": "cat", + "sound": "meow" + }, + { + "type": "dog", + "sound": "woof" + } ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ -< Location: http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ +< X-Gabbi-url: http://65c2f8da-b56a-401c-958f-fccbc5781156:8001/ +< Location: http://65c2f8da-b56a-401c-958f-fccbc5781156:8001/ [ - 1, - 2, - "3" + { + "type": "cat", + "sound": "meow" + }, + { + "type": "dog", + "sound": "woof" + } ] -#### object with list #### -> POST http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ -> content-type: application/json +gabbi.tests.test_intercept.data_load_data_list.test_request +gabbi.tests.test_intercept.data_load_data_list.test_request ... ok +gabbi.tests.test_suite.SuiteTest.test_suite_catches_fixture_fail +gabbi.tests.test_suite.SuiteTest.test_suite_catches_fixture_fail ... ok +gabbi.tests.test_utils.BinaryTypesTest.test_binary +gabbi.tests.test_utils.BinaryTypesTest.test_binary ... ok +gabbi.tests.test_utils.BinaryTypesTest.test_not_binary +gabbi.tests.test_utils.BinaryTypesTest.test_not_binary ... ok +#### get simple page #### +> GET http://94a62847-e02b-425c-944c-21347b6cf00e:8001/ +> x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) -{ - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] -} < 200 OK -< X-Gabbi-method: POST +< X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ -< Location: http://f05bdaf2-8670-49cf-a24e-237dc4f299f7:8001/ - -{ - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] -} - -#### default casts #### -> POST http://644f6234-25fd-47b7-a10b-a394205aa534:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://644f6234-25fd-47b7-a10b-a394205aa534:8001/ -< Location: http://644f6234-25fd-47b7-a10b-a394205aa534:8001/ - -{ - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false -} - -#### cast to string #### -> POST http://644f6234-25fd-47b7-a10b-a394205aa534:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "string": "2" -} +< X-Gabbi-url: http://94a62847-e02b-425c-944c-21347b6cf00e:8001/ -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://644f6234-25fd-47b7-a10b-a394205aa534:8001/ -< Location: http://644f6234-25fd-47b7-a10b-a394205aa534:8001/ - -{ - "string": "2" -} +{} -gabbi.tests.test_intercept.json-right-side_json_parital_from_disk.test_request -gabbi.tests.test_intercept.json-right-side_json_parital_from_disk.test_request ... ok -gabbi.tests.test_intercept.contenttype_put_no_content-type.test_request -gabbi.tests.test_intercept.contenttype_put_no_content-type.test_request ... ok -gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean -gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean ... ok -gabbi.tests.test_intercept.casting_historic_casted_json.test_request -gabbi.tests.test_intercept.casting_historic_casted_json.test_request ... ok -gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request -gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request ... ok -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_encoded_value_from_disk.test_request -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_encoded_value_from_disk.test_request ... ok -#### get simple page #### -> GET http://8680fe5b-515f-4e83-875f-6ff4b368b5d7:8001/ -> x-random-header: ya +#### header named http #### +> GET http://3e3abd5d-8c76-4902-9a0f-f1c4a300e8e2:8001/header_key +> http: some-scheme > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://8680fe5b-515f-4e83-875f-6ff4b368b5d7:8001/ +< X-Gabbi-url: http://3e3abd5d-8c76-4902-9a0f-f1c4a300e8e2:8001/header_key +< HTTP: some-scheme {} #### post data #### -> POST http://bc4db7a4-b34f-499f-b702-fc5693626b8d:8001/ +> POST http://0811bc83-9367-409d-adb3-62b175e4d2d1:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6086,8 +5096,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://bc4db7a4-b34f-499f-b702-fc5693626b8d:8001/ -< Location: http://bc4db7a4-b34f-499f-b702-fc5693626b8d:8001/ +< X-Gabbi-url: http://0811bc83-9367-409d-adb3-62b175e4d2d1:8001/ +< Location: http://0811bc83-9367-409d-adb3-62b175e4d2d1:8001/ { "one_string": "1", @@ -6096,7 +5106,7 @@ } #### use data #### -> POST http://bc4db7a4-b34f-499f-b702-fc5693626b8d:8001/ +> POST http://0811bc83-9367-409d-adb3-62b175e4d2d1:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6109,8 +5119,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://bc4db7a4-b34f-499f-b702-fc5693626b8d:8001/ -< Location: http://bc4db7a4-b34f-499f-b702-fc5693626b8d:8001/ +< X-Gabbi-url: http://0811bc83-9367-409d-adb3-62b175e4d2d1:8001/ +< Location: http://0811bc83-9367-409d-adb3-62b175e4d2d1:8001/ { "one_string": "1", @@ -6119,7 +5129,7 @@ } #### from environ #### -> POST http://bc4db7a4-b34f-499f-b702-fc5693626b8d:8001/ +> POST http://0811bc83-9367-409d-adb3-62b175e4d2d1:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6130,15 +5140,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://bc4db7a4-b34f-499f-b702-fc5693626b8d:8001/ -< Location: http://bc4db7a4-b34f-499f-b702-fc5693626b8d:8001/ +< X-Gabbi-url: http://0811bc83-9367-409d-adb3-62b175e4d2d1:8001/ +< Location: http://0811bc83-9367-409d-adb3-62b175e4d2d1:8001/ { "one_environ": 1 } #### with list #### -> POST http://bc4db7a4-b34f-499f-b702-fc5693626b8d:8001/ +> POST http://0811bc83-9367-409d-adb3-62b175e4d2d1:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6151,8 +5161,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://bc4db7a4-b34f-499f-b702-fc5693626b8d:8001/ -< Location: http://bc4db7a4-b34f-499f-b702-fc5693626b8d:8001/ +< X-Gabbi-url: http://0811bc83-9367-409d-adb3-62b175e4d2d1:8001/ +< Location: http://0811bc83-9367-409d-adb3-62b175e4d2d1:8001/ [ 1, @@ -6160,213 +5170,8 @@ "3" ] -#### json encoded value from disk #### -> POST http://8ce859f6-e198-4302-ae36-123a8fa6ed6a:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "foo": { - "b\u00e1r": 1 - } -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://8ce859f6-e198-4302-ae36-123a8fa6ed6a:8001/ -< Location: http://8ce859f6-e198-4302-ae36-123a8fa6ed6a:8001/ - -{ - "foo": { - "b\u00e1r": 1 - } -} - -#### json parital from disk #### -> POST http://8ce859f6-e198-4302-ae36-123a8fa6ed6a:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "type": "cat", - "sound": "meow" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://8ce859f6-e198-4302-ae36-123a8fa6ed6a:8001/ -< Location: http://8ce859f6-e198-4302-ae36-123a8fa6ed6a:8001/ - -{ - "type": "cat", - "sound": "meow" -} - -#### yaml encoded value from disk #### -> POST http://9a2e8846-f4e9-4f28-a666-07c5ba439d13:8001/somewhere -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "foo": { - "b\u00e1r": 1 - } -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://9a2e8846-f4e9-4f28-a666-07c5ba439d13:8001/somewhere -< Location: http://9a2e8846-f4e9-4f28-a666-07c5ba439d13:8001/somewhere - -{ - "foo": { - "b\u00e1r": 1 - } -} - -gabbi.tests.test_intercept.coerce_post_extra_data.test_request -gabbi.tests.test_intercept.coerce_post_extra_data.test_request ... ok -gabbi.tests.test_intercept.queryparams_multi_params.test_request -gabbi.tests.test_intercept.queryparams_multi_params.test_request ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_add_query_params -gabbi.tests.test_parse_url.UrlParseTest.test_add_query_params ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_default_port_http -gabbi.tests.test_parse_url.UrlParseTest.test_default_port_http ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https -gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https_no_ssl -gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https_no_ssl ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_default_port_int -gabbi.tests.test_parse_url.UrlParseTest.test_default_port_int ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params -gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params_full_url -gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params_full_url ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_https_port_80_ssl -gabbi.tests.test_parse_url.UrlParseTest.test_https_port_80_ssl ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_full_url -gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_full_url ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_no_double_colon_wacky_ssl -gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_no_double_colon_wacky_ssl ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_url -gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_url ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_parse_full -gabbi.tests.test_parse_url.UrlParseTest.test_parse_full ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_parse_prefix -gabbi.tests.test_parse_url.UrlParseTest.test_parse_prefix ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_parse_url -gabbi.tests.test_parse_url.UrlParseTest.test_parse_url ... ok -gabbi.tests.test_parse_url.UrlParseTest.test_with_ssl -gabbi.tests.test_parse_url.UrlParseTest.test_with_ssl ... ok -gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request -gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request ... ok -gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request -gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request ... expected failure -gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request -gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request ... ok -gabbi.tests.test_intercept.contenttype_patch_content-type.test_request -gabbi.tests.test_intercept.contenttype_patch_content-type.test_request ... ok -gabbi.tests.test_utils.BinaryTypesTest.test_binary -gabbi.tests.test_utils.BinaryTypesTest.test_binary ... ok -gabbi.tests.test_utils.BinaryTypesTest.test_not_binary -gabbi.tests.test_utils.BinaryTypesTest.test_not_binary ... ok -gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request -gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request ... ok -#### get simple page #### -> GET http://6210baa2-f662-4be5-8d53-3788f631183c:8001/ -> x-random-header: ya -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< X-Gabbi-method: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6210baa2-f662-4be5-8d53-3788f631183c:8001/ - -{} - -#### post data #### -> POST http://aa2d414d-38bf-4541-a54c-c657ce767fc0:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://aa2d414d-38bf-4541-a54c-c657ce767fc0:8001/ -< Location: http://aa2d414d-38bf-4541-a54c-c657ce767fc0:8001/ - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -#### use data #### -> POST http://aa2d414d-38bf-4541-a54c-c657ce767fc0:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://aa2d414d-38bf-4541-a54c-c657ce767fc0:8001/ -< Location: http://aa2d414d-38bf-4541-a54c-c657ce767fc0:8001/ - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request -gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request ... ok -gabbi.tests.test_intercept.backref_repost_that_raw_int.test_request -gabbi.tests.test_intercept.backref_repost_that_raw_int.test_request ... ok -gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request -gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request ... expected failure -gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request -gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request ... ok -gabbi.tests.test_intercept.backref_get_a_historical_response.test_request -gabbi.tests.test_intercept.backref_get_a_historical_response.test_request ... ok -gabbi.tests.test_intercept.forbiddenheaders_header_not_there_basic.test_request -gabbi.tests.test_intercept.forbiddenheaders_header_not_there_basic.test_request ... ok -gabbi.tests.test_intercept.last-url_get_a_historical_url.test_request -gabbi.tests.test_intercept.last-url_get_a_historical_url.test_request ... ok -gabbi.tests.test_intercept.fixture_just_to_see.test_request -gabbi.tests.test_intercept.fixture_just_to_see.test_request ... ok -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_parital_from_disk.test_request -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_parital_from_disk.test_request ... ok -#### get simple page #### -> GET http://925361ac-5a84-4659-b4ea-c102a220cf5e:8001/ -> x-random-header: ya -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< X-Gabbi-method: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://925361ac-5a84-4659-b4ea-c102a220cf5e:8001/ - -{} - #### default casts #### -> POST http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ +> POST http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6382,8 +5187,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ -< Location: http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ +< X-Gabbi-url: http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ +< Location: http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ { "int": 1, @@ -6394,7 +5199,7 @@ } #### cast to string #### -> POST http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ +> POST http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6406,15 +5211,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ -< Location: http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ +< X-Gabbi-url: http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ +< Location: http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ { "string": "2" } #### json set up #### -> POST http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ +> POST http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6430,8 +5235,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ -< Location: http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ +< X-Gabbi-url: http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ +< Location: http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ { "int": 1, @@ -6442,7 +5247,7 @@ } #### send casted json #### -> POST http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ +> POST http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6454,15 +5259,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ -< Location: http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ +< X-Gabbi-url: http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ +< Location: http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ { "casted": 2 } #### historic casted json #### -> POST http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ +> POST http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6474,107 +5279,164 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ -< Location: http://64f5c3f8-d19d-46ec-837a-4a7601d63a9f:8001/ +< X-Gabbi-url: http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ +< Location: http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ { "casted": 2 } -#### confirm notempty #### -> GET http://4fe33f3b-fee1-41e9-bfac-3df7066b71d7:8001/notempty -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK - -notempty - -#### yaml encoded value from disk #### -> POST http://6c913d91-5116-4fb0-9af7-919814f260d5:8001/somewhere +#### internal json fine #### +> POST http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "foo": { - "b\u00e1r": 1 - } + "casted": "in this 2 is not errors" } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6c913d91-5116-4fb0-9af7-919814f260d5:8001/somewhere -< Location: http://6c913d91-5116-4fb0-9af7-919814f260d5:8001/somewhere +< Content-Type: application/json +< X-Gabbi-url: http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ +< Location: http://dd3f0bb9-acd8-4cdf-aa4d-f01636c45137:8001/ { - "foo": { - "b\u00e1r": 1 - } + "casted": "in this 2 is not errors" } -#### json encoded value from disk #### -> POST http://6c913d91-5116-4fb0-9af7-919814f260d5:8001/somewhere -> content-type: application/json +gabbi.tests.test_intercept.data_load_data_dictionary.test_request +gabbi.tests.test_intercept.data_load_data_dictionary.test_request ... ok +gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request +gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request ... ok +gabbi.tests.test_intercept.coerce_use_data.test_request +gabbi.tests.test_intercept.coerce_use_data.test_request ... ok +gabbi.tests.test_intercept.last-url_add_some_query_params.test_request +gabbi.tests.test_intercept.last-url_add_some_query_params.test_request ... ok +gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_gloss.test_request +gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_gloss.test_request ... ok +gabbi.tests.test_intercept.data_load_json_file.test_request +gabbi.tests.test_intercept.data_load_json_file.test_request ... ok +gabbi.tests.test_intercept.data_load_image_file.test_request +gabbi.tests.test_intercept.data_load_image_file.test_request ... ok +gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request +gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request ... expected failure +gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request +gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request ... ok +gabbi.tests.test_intercept.failskip_wrong_status.test_request +gabbi.tests.test_intercept.failskip_wrong_status.test_request ... expected failure +gabbi.tests.test_intercept.failskip_wrong_status.test_request +gabbi.tests.test_intercept.failskip_wrong_status.test_request ... ok +gabbi.tests.test_jsonpath.JSONPathTest.test_basic_match +gabbi.tests.test_jsonpath.JSONPathTest.test_basic_match ... ok +gabbi.tests.test_jsonpath.JSONPathTest.test_embedded_list_handling +gabbi.tests.test_jsonpath.JSONPathTest.test_embedded_list_handling ... ok +gabbi.tests.test_jsonpath.JSONPathTest.test_filtered_list +gabbi.tests.test_jsonpath.JSONPathTest.test_filtered_list ... ok +gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request +gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_already_bracket +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_already_bracket ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_full +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_full ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl_weird_port +gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl_weird_port ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_no_double_colon +gabbi.tests.test_utils.CreateURLTest.test_create_url_no_double_colon ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_not_ssl_on_443 +gabbi.tests.test_utils.CreateURLTest.test_create_url_not_ssl_on_443 ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_port +gabbi.tests.test_utils.CreateURLTest.test_create_url_port ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_port_and_ssl +gabbi.tests.test_utils.CreateURLTest.test_create_url_port_and_ssl ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_prefix +gabbi.tests.test_utils.CreateURLTest.test_create_url_prefix ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_preserve_query +gabbi.tests.test_utils.CreateURLTest.test_create_url_preserve_query ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_simple +gabbi.tests.test_utils.CreateURLTest.test_create_url_simple ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl +gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl ... ok +gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl_on_80 +gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl_on_80 ... ok +gabbi.tests.test_jsonpath.JSONPathTest.test_len_object_list +gabbi.tests.test_jsonpath.JSONPathTest.test_len_object_list ... ok +gabbi.tests.test_jsonpath.JSONPathTest.test_len_simple_list +gabbi.tests.test_jsonpath.JSONPathTest.test_len_simple_list ... ok +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_encoded_value_from_disk.test_request +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_encoded_value_from_disk.test_request ... ok +#### get simple page #### +> GET http://d5c0e208-0eca-4a14-9693-fe62b7c929ca:8001/ +> x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) -{ - "foo": { - "b\u00e1r": 1 - } -} < 200 OK -< X-Gabbi-method: POST +< X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6c913d91-5116-4fb0-9af7-919814f260d5:8001/somewhere -< Location: http://6c913d91-5116-4fb0-9af7-919814f260d5:8001/somewhere +< X-Gabbi-url: http://d5c0e208-0eca-4a14-9693-fe62b7c929ca:8001/ -{ - "foo": { - "b\u00e1r": 1 - } -} +{} -#### yaml parital from disk #### -> POST http://6c913d91-5116-4fb0-9af7-919814f260d5:8001/somewhere +#### confirm notempty #### +> GET http://4adaa005-d870-4e6b-84d0-d55971ddccfc:8001/notempty +> user-agent: gabbi/3.0.0 (Python urllib3) + + +< 200 OK + +notempty + +#### yaml encoded value from disk #### +> POST http://74480daa-e24a-46fc-a131-eb64c2a65059:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "type": "cat", - "sound": "meow" + "foo": { + "b\u00e1r": 1 + } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6c913d91-5116-4fb0-9af7-919814f260d5:8001/somewhere -< Location: http://6c913d91-5116-4fb0-9af7-919814f260d5:8001/somewhere +< X-Gabbi-url: http://74480daa-e24a-46fc-a131-eb64c2a65059:8001/somewhere +< Location: http://74480daa-e24a-46fc-a131-eb64c2a65059:8001/somewhere { - "type": "cat", - "sound": "meow" + "foo": { + "b\u00e1r": 1 + } } -gabbi.tests.test_intercept.queryparams_url_in_param.test_request -gabbi.tests.test_intercept.queryparams_url_in_param.test_request ... ok -gabbi.tests.test_load_data_file.DataFileTest.test_load_file -gabbi.tests.test_load_data_file.DataFileTest.test_load_file ... ok -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_directory -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_directory ... ok -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_parent_dir -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_parent_dir ... ok -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_root -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_root ... ok -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_not_within_test_directory -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_not_within_test_directory ... ok -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_within_test_directory -gabbi.tests.test_load_data_file.DataFileTest.test_load_file_within_test_directory ... ok +gabbi.tests.test_jsonpath.JSONPathTest.test_list_handling +gabbi.tests.test_jsonpath.JSONPathTest.test_list_handling ... ok +gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_object_list +gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_object_list ... ok +gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_simple_list +gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_simple_list ... ok +gabbi.tests.test_intercept.coerce_check_posted_data.test_request +gabbi.tests.test_intercept.coerce_check_posted_data.test_request ... ok gabbi.tests.test_unsafe_yaml.nan_test_nan.test_request gabbi.tests.test_unsafe_yaml.nan_test_nan.test_request ... ok +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_default +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_default ... ok +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_error_default +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_error_default ... ok +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_extra +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_extra ... ok +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_nocharset_default +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_nocharset_default ... ok +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_override_default +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_override_default ... ok +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_simple +gabbi.tests.test_utils.ParseContentTypeTest.test_parse_simple ... ok #### get simple page #### -> GET http://f522b0c4-fade-4444-9956-fdb020730f38:8001/ +> GET http://e441b8f4-6da6-4da2-95a9-44aeabcc8ced:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6582,12 +5444,12 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://f522b0c4-fade-4444-9956-fdb020730f38:8001/ +< X-Gabbi-url: http://e441b8f4-6da6-4da2-95a9-44aeabcc8ced:8001/ {} #### post data #### -> POST http://9b8be7ec-1473-49a2-8df1-d47cdd1ebff7:8001/ +> POST http://ef3b1380-1cd8-4051-9ede-baa588b3af79:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6600,8 +5462,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://9b8be7ec-1473-49a2-8df1-d47cdd1ebff7:8001/ -< Location: http://9b8be7ec-1473-49a2-8df1-d47cdd1ebff7:8001/ +< X-Gabbi-url: http://ef3b1380-1cd8-4051-9ede-baa588b3af79:8001/ +< Location: http://ef3b1380-1cd8-4051-9ede-baa588b3af79:8001/ { "one_string": "1", @@ -6610,7 +5472,7 @@ } #### use data #### -> POST http://9b8be7ec-1473-49a2-8df1-d47cdd1ebff7:8001/ +> POST http://ef3b1380-1cd8-4051-9ede-baa588b3af79:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6623,8 +5485,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://9b8be7ec-1473-49a2-8df1-d47cdd1ebff7:8001/ -< Location: http://9b8be7ec-1473-49a2-8df1-d47cdd1ebff7:8001/ +< X-Gabbi-url: http://ef3b1380-1cd8-4051-9ede-baa588b3af79:8001/ +< Location: http://ef3b1380-1cd8-4051-9ede-baa588b3af79:8001/ { "one_string": "1", @@ -6632,37 +5494,8 @@ "one_float": 1.1 } -#### from environ #### -> POST http://9b8be7ec-1473-49a2-8df1-d47cdd1ebff7:8001/ -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "one_environ": 1 -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://9b8be7ec-1473-49a2-8df1-d47cdd1ebff7:8001/ -< Location: http://9b8be7ec-1473-49a2-8df1-d47cdd1ebff7:8001/ - -{ - "one_environ": 1 -} - -gabbi.tests.test_intercept.coerce_check_posted_data.test_request -gabbi.tests.test_intercept.coerce_check_posted_data.test_request ... ok -gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request -gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request ... ok -gabbi.tests.test_intercept.casting_internal_json_fail.test_request -gabbi.tests.test_intercept.casting_internal_json_fail.test_request ... expected failure -gabbi.tests.test_intercept.casting_internal_json_fail.test_request -gabbi.tests.test_intercept.casting_internal_json_fail.test_request ... ok -gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color -gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color ... ok #### default casts #### -> POST http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ +> POST http://05d6d497-a574-4de5-a589-bfdd1f517576:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6678,8 +5511,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ -< Location: http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ +< X-Gabbi-url: http://05d6d497-a574-4de5-a589-bfdd1f517576:8001/ +< Location: http://05d6d497-a574-4de5-a589-bfdd1f517576:8001/ { "int": 1, @@ -6690,7 +5523,7 @@ } #### cast to string #### -> POST http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ +> POST http://05d6d497-a574-4de5-a589-bfdd1f517576:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6702,89 +5535,107 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ -< Location: http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ +< X-Gabbi-url: http://05d6d497-a574-4de5-a589-bfdd1f517576:8001/ +< Location: http://05d6d497-a574-4de5-a589-bfdd1f517576:8001/ { "string": "2" } -#### json set up #### -> POST http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ -< Location: http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ - -{ - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false -} - -#### send casted json #### -> POST http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "casted": 2 -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ -< Location: http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ - -{ - "casted": 2 -} - -#### historic casted json #### -> POST http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "casted": 2 -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ -< Location: http://43011cd1-8b8d-46ea-9f26-aa0a3a4806ba:8001/ - -{ - "casted": 2 -} - -gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request -gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request ... ok +gabbi.tests.test_intercept.poll_loop_location.test_request +gabbi.tests.test_intercept.poll_loop_location.test_request ... ok +gabbi.tests.test_intercept.json-left-side_expand_left_side.test_request +gabbi.tests.test_intercept.json-left-side_expand_left_side.test_request ... ok +gabbi.tests.test_intercept.coerce_post_extra_data.test_request +gabbi.tests.test_intercept.coerce_post_extra_data.test_request ... ok +gabbi.tests.test_intercept.json-left-side_check_key_and_value.test_request +gabbi.tests.test_intercept.json-left-side_check_key_and_value.test_request ... ok +gabbi.tests.test_intercept.last-url_get_it_a_third_time.test_request +gabbi.tests.test_intercept.last-url_get_it_a_third_time.test_request ... ok gabbi.tests.test_intercept.cookie_use_that_cookie_in_a_url.test_request gabbi.tests.test_intercept.cookie_use_that_cookie_in_a_url.test_request ... ok -gabbi.tests.test_intercept.last-url_get_a_url_the_first_time.test_request -gabbi.tests.test_intercept.last-url_get_a_url_the_first_time.test_request ... ok -gabbi.tests.test_intercept.last-url_get_that_same_url_again.test_request -gabbi.tests.test_intercept.last-url_get_that_same_url_again.test_request ... ok +gabbi.tests.test_intercept.cookie_use_a_historical_cookie.test_request +gabbi.tests.test_intercept.cookie_use_a_historical_cookie.test_request ... ok +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request ... ok +gabbi.tests.test_intercept.casting_default_casts.test_request +gabbi.tests.test_intercept.casting_default_casts.test_request ... ok +gabbi.tests.test_intercept.casting_cast_to_string.test_request +gabbi.tests.test_intercept.casting_cast_to_string.test_request ... ok +gabbi.tests.test_intercept.casting_json_set_up.test_request +gabbi.tests.test_intercept.casting_json_set_up.test_request ... ok +gabbi.tests.test_intercept.casting_send_casted_json.test_request +gabbi.tests.test_intercept.casting_send_casted_json.test_request ... ok +gabbi.tests.test_intercept.casting_historic_casted_json.test_request +gabbi.tests.test_intercept.casting_historic_casted_json.test_request ... ok +gabbi.tests.test_intercept.json-extensions_test_len.test_request +gabbi.tests.test_intercept.json-extensions_test_len.test_request ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_add_query_params +gabbi.tests.test_parse_url.UrlParseTest.test_add_query_params ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_default_port_http +gabbi.tests.test_parse_url.UrlParseTest.test_default_port_http ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https +gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https_no_ssl +gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https_no_ssl ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_default_port_int +gabbi.tests.test_parse_url.UrlParseTest.test_default_port_int ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params +gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params_full_url +gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params_full_url ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_https_port_80_ssl +gabbi.tests.test_parse_url.UrlParseTest.test_https_port_80_ssl ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_full_url +gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_full_url ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_no_double_colon_wacky_ssl +gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_no_double_colon_wacky_ssl ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_url +gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_url ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_parse_full +gabbi.tests.test_parse_url.UrlParseTest.test_parse_full ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_parse_prefix +gabbi.tests.test_parse_url.UrlParseTest.test_parse_prefix ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_parse_url +gabbi.tests.test_parse_url.UrlParseTest.test_parse_url ... ok +gabbi.tests.test_parse_url.UrlParseTest.test_with_ssl +gabbi.tests.test_parse_url.UrlParseTest.test_with_ssl ... ok +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_json_encoded_value_from_disk.test_request +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_json_encoded_value_from_disk.test_request ... ok +gabbi.tests.test_intercept.json-extensions_test_filtered.test_request +gabbi.tests.test_intercept.json-extensions_test_filtered.test_request ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_dict_on_invalid_key +gabbi.tests.test_suitemaker.SuiteMakerTest.test_dict_on_invalid_key ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_inner_list_required +gabbi.tests.test_suitemaker.SuiteMakerTest.test_inner_list_required ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_duplication_format_error +gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_duplication_format_error ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_format_error +gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_format_error ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_name_key_required +gabbi.tests.test_suitemaker.SuiteMakerTest.test_name_key_required ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_first +gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_first ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_last +gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_last ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_tests_key_required +gabbi.tests.test_suitemaker.SuiteMakerTest.test_tests_key_required ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_unsupported_key_errors +gabbi.tests.test_suitemaker.SuiteMakerTest.test_unsupported_key_errors ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_upper_dict_required +gabbi.tests.test_suitemaker.SuiteMakerTest.test_upper_dict_required ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required +gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required ... ok +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_bad_params +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_bad_params ... ok +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_both +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_both ... ok +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_charset +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_charset ... ok +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_multiple_params +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_multiple_params ... ok +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_with_charset +gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_with_charset ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_host_localhost gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_host_localhost ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_hostport_localhost @@ -6807,8 +5658,10 @@ gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port_url ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_url gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_url ... ok +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_parital_from_disk.test_request +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_parital_from_disk.test_request ... ok #### get simple page #### -> GET http://4bbe87aa-bb93-4604-ad84-7b815515a429:8001/ +> GET http://b239e711-0cc0-4ed7-a58b-faf62b9cbc0b:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6816,12 +5669,12 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://4bbe87aa-bb93-4604-ad84-7b815515a429:8001/ +< X-Gabbi-url: http://b239e711-0cc0-4ed7-a58b-faf62b9cbc0b:8001/ {} #### left side json one #### -> POST http://71080271-b07e-4f59-8235-7ec7660179af:8001/ +> POST http://408046b0-9be0-4043-8cf8-4b440d62ef78:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6833,8 +5686,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://71080271-b07e-4f59-8235-7ec7660179af:8001/ -< Location: http://71080271-b07e-4f59-8235-7ec7660179af:8001/ +< X-Gabbi-url: http://408046b0-9be0-4043-8cf8-4b440d62ef78:8001/ +< Location: http://408046b0-9be0-4043-8cf8-4b440d62ef78:8001/ { "alpha": "alpha1", @@ -6842,7 +5695,7 @@ } #### expand left side #### -> POST http://71080271-b07e-4f59-8235-7ec7660179af:8001/ +> POST http://408046b0-9be0-4043-8cf8-4b440d62ef78:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6854,8 +5707,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://71080271-b07e-4f59-8235-7ec7660179af:8001/ -< Location: http://71080271-b07e-4f59-8235-7ec7660179af:8001/ +< X-Gabbi-url: http://408046b0-9be0-4043-8cf8-4b440d62ef78:8001/ +< Location: http://408046b0-9be0-4043-8cf8-4b440d62ef78:8001/ { "alpha1": "alpha", @@ -6863,7 +5716,7 @@ } #### expand environ left side #### -> POST http://71080271-b07e-4f59-8235-7ec7660179af:8001/ +> POST http://408046b0-9be0-4043-8cf8-4b440d62ef78:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6876,8 +5729,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://71080271-b07e-4f59-8235-7ec7660179af:8001/ -< Location: http://71080271-b07e-4f59-8235-7ec7660179af:8001/ +< X-Gabbi-url: http://408046b0-9be0-4043-8cf8-4b440d62ef78:8001/ +< Location: http://408046b0-9be0-4043-8cf8-4b440d62ef78:8001/ { "alpha1": "alpha", @@ -6886,7 +5739,7 @@ } #### set key and value #### -> GET http://71080271-b07e-4f59-8235-7ec7660179af:8001/jsonator?key=1&value=10 +> GET http://408046b0-9be0-4043-8cf8-4b440d62ef78:8001/jsonator?key=1&value=10 > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6899,7 +5752,7 @@ } #### post data #### -> POST http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +> POST http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6912,8 +5765,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ -< Location: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +< X-Gabbi-url: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ +< Location: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ { "one_string": "1", @@ -6922,7 +5775,7 @@ } #### use data #### -> POST http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +> POST http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6935,8 +5788,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ -< Location: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +< X-Gabbi-url: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ +< Location: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ { "one_string": "1", @@ -6945,7 +5798,7 @@ } #### from environ #### -> POST http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +> POST http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6956,15 +5809,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ -< Location: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +< X-Gabbi-url: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ +< Location: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ { "one_environ": 1 } #### with list #### -> POST http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +> POST http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6977,8 +5830,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ -< Location: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +< X-Gabbi-url: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ +< Location: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ [ 1, @@ -6987,7 +5840,7 @@ ] #### object with list #### -> POST http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +> POST http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7007,8 +5860,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ -< Location: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +< X-Gabbi-url: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ +< Location: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ { "collection": [ @@ -7024,7 +5877,7 @@ } #### post extra data #### -> POST http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +> POST http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7053,8 +5906,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ -< Location: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +< X-Gabbi-url: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ +< Location: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ { "a": 1, @@ -7079,7 +5932,7 @@ } #### check posted data #### -> POST http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +> POST http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7108,8 +5961,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ -< Location: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +< X-Gabbi-url: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ +< Location: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ { "a": 1, @@ -7134,7 +5987,7 @@ } #### Post again and check the results #### -> POST http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +> POST http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7163,8 +6016,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ -< Location: http://7bf501c7-9a53-4e07-93f8-6d443c1f92fd:8001/ +< X-Gabbi-url: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ +< Location: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ { "a": 1, @@ -7188,65 +6041,122 @@ } } -gabbi.tests.test_intercept.casting_json_set_up.test_request -gabbi.tests.test_intercept.casting_json_set_up.test_request ... ok -gabbi.tests.test_intercept.queryparams_replacers_in_params.test_request -gabbi.tests.test_intercept.queryparams_replacers_in_params.test_request ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_dict_on_invalid_key -gabbi.tests.test_suitemaker.SuiteMakerTest.test_dict_on_invalid_key ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_inner_list_required -gabbi.tests.test_suitemaker.SuiteMakerTest.test_inner_list_required ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_duplication_format_error -gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_duplication_format_error ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_format_error -gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_format_error ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_name_key_required -gabbi.tests.test_suitemaker.SuiteMakerTest.test_name_key_required ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_first -gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_first ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_last -gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_last ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_tests_key_required -gabbi.tests.test_suitemaker.SuiteMakerTest.test_tests_key_required ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_unsupported_key_errors -gabbi.tests.test_suitemaker.SuiteMakerTest.test_unsupported_key_errors ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_upper_dict_required -gabbi.tests.test_suitemaker.SuiteMakerTest.test_upper_dict_required ... ok -gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required -gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required ... ok -gabbi.tests.test_intercept.coerce_string_internal_replace.test_request -gabbi.tests.test_intercept.coerce_string_internal_replace.test_request ... ok -gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.test_request -gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.test_request ... ok -#### get simple page #### -> GET http://60689256-95d9-4f47-b546-d98233427f65:8001/ -> x-random-header: ya +#### Post again and check the results (reversed) #### +> POST http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ +> content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) +{ + "a": 1, + "b": 1.0, + "c": "[1,2,3]", + "d": true, + "e": false, + "f": { + "key": "val" + }, + "g": null, + "h": { + "key": { + "less_key": [ + 1, + true, + null + ], + "more_key": 1 + } + } +} < 200 OK -< X-Gabbi-method: GET +< X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://60689256-95d9-4f47-b546-d98233427f65:8001/ +< X-Gabbi-url: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ +< Location: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ -{} +{ + "a": 1, + "b": 1.0, + "c": "[1,2,3]", + "d": true, + "e": false, + "f": { + "key": "val" + }, + "g": null, + "h": { + "key": { + "less_key": [ + 1, + true, + null + ], + "more_key": 1 + } + } +} -#### header named http #### -> GET http://b6b1e9e3-8ff8-434c-8c15-530b1b559271:8001/header_key -> http: some-scheme +#### string internal replace #### +> POST http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ +> content-type: application/json +> user-agent: gabbi/3.0.0 (Python urllib3) + +{ + "endpoint_resp": "/api/0.1/item/1", + "endpoint_var": "/api/0.1/item/1" +} + +< 200 OK +< X-Gabbi-method: POST +< Content-Type: application/json ; charset=utf-8 ; stop=nogabbi.tests.test_intercept.coerce_string_internal_replace.test_request +gabbi.tests.test_intercept.coerce_string_internal_replace.test_request ... ok +gabbi.tests.test_intercept.last-url_get_a_historical_url.test_request +gabbi.tests.test_intercept.last-url_get_a_historical_url.test_request ... ok +gabbi.tests.test_intercept.host-header_ssl_with_host.test_request +gabbi.tests.test_intercept.host-header_ssl_with_host.test_request ... ok +#### loop location #### +> GET http://298fbb7f-06a8-4437-90f4-1866f03d1058:8001/poller?count=2&x=1&y=2&z=3.4 +> user-agent: gabbi/3.0.0 (Python urllib3) + + +< 400 Bad Reqest + + +#### loop location #### +> GET http://298fbb7f-06a8-4437-90f4-1866f03d1058:8001/poller?count=2&x=1&y=2&z=3.4 +> user-agent: gabbi/3.0.0 (Python urllib3) + + +< 400 Bad Reqest + + +#### loop location #### +> GET http://298fbb7f-06a8-4437-90f4-1866f03d1058:8001/poller?count=2&x=1&y=2&z=3.4 > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://b6b1e9e3-8ff8-434c-8c15-530b1b559271:8001/header_key -< HTTP: some-scheme +< X-Gabbi-url: http://298fbb7f-06a8-4437-90f4-1866f03d1058:8001/poller?count=2&x=1&y=2&z=3.4 -{} +{ + "count": [ + "2" + ], + "x": [ + "1" + ], + "y": [ + "2" + ], + "z": [ + "3.4" + ] +} #### left side json one #### -> POST http://fa0040c6-a70b-4fe7-be47-6e7b33642498:8001/ +> POST http://24316b3e-b60f-4fb2-bd4e-dba2d5694e9e:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7258,8 +6168,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://fa0040c6-a70b-4fe7-be47-6e7b33642498:8001/ -< Location: http://fa0040c6-a70b-4fe7-be47-6e7b33642498:8001/ +< X-Gabbi-url: http://24316b3e-b60f-4fb2-bd4e-dba2d5694e9e:8001/ +< Location: http://24316b3e-b60f-4fb2-bd4e-dba2d5694e9e:8001/ { "alpha": "alpha1", @@ -7267,7 +6177,7 @@ } #### expand left side #### -> POST http://fa0040c6-a70b-4fe7-be47-6e7b33642498:8001/ +> POST http://24316b3e-b60f-4fb2-bd4e-dba2d5694e9e:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7279,415 +6189,248 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://fa0040c6-a70b-4fe7-be47-6e7b33642498:8001/ -< Location: http://fa0040c6-a70b-4fe7-be47-6e7b33642498:8001/ +< X-Gabbi-url: http://24316b3e-b60f-4fb2-bd4e-dba2d5694e9e:8001/ +< Location: http://24316b3e-b60f-4fb2-bd4e-dba2d5694e9e:8001/ { "alpha1": "alpha", "beta1": "beta" } -#### post data #### -> POST http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +#### expand environ left side #### +> POST http://24316b3e-b60f-4fb2-bd4e-dba2d5694e9e:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "alpha1": "alpha", + "beta1": "beta", + "1": "cow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ -< Location: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +< X-Gabbi-url: http://24316b3e-b60f-4fb2-bd4e-dba2d5694e9e:8001/ +< Location: http://24316b3e-b60f-4fb2-bd4e-dba2d5694e9e:8001/ { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "alpha1": "alpha", + "beta1": "beta", + "1": "cow" } -#### use data #### -> POST http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +#### set key and value #### +> GET http://24316b3e-b60f-4fb2-bd4e-dba2d5694e9e:8001/jsonator?key=1&value=10 > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) + +< 200 OK +< Content-Type: application/json + { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "1": "10" } +#### check key and value #### +> GET http://24316b3e-b60f-4fb2-bd4e-dba2d5694e9e:8001/jsonator?key=1&value=10 +> content-type: application/json +> user-agent: gabbi/3.0.0 (Python urllib3) + + < 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ -< Location: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +< Content-Type: application/json { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "1": "10" } -#### from environ #### -> POST http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +#### default casts #### +> POST http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "one_environ": 1 + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ -< Location: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ +< Location: http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ { - "one_environ": 1 + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false } -#### with list #### -> POST http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +#### cast to string #### +> POST http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) -[ - 1, - 2, - "3" -] +{ + "string": "2" +} < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ -< Location: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ +< Location: http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ -[ - 1, - 2, - "3" -] +{ + "string": "2" +} -#### object with list #### -> POST http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +#### json set up #### +> POST http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] + "int": 1, + "float": 1.5, + "string": "2", + "tbool": true, + "fbool": false } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ -< Location: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ +< Location: http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ { - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] + "int": 1, + "float": 1.5, + "string": "2", + "tbool": true, + "fbool": false } -#### post extra data #### -> POST http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +#### send casted json #### +> POST http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } - } + "casted": 2 } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ -< Location: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ +< Location: http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } - } + "casted": 2 } -#### check posted data #### -> POST http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +#### historic casted json #### +> POST http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } - } + "casted": 2 } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ -< Location: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ +< Location: http://4c0a9f01-bc74-4985-b186-684b2ea2d349:8001/ { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } - } + "casted": 2 } -#### Post again and check the results #### -> POST http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +#### yaml encoded value from disk #### +> POST http://21cef3fe-d036-403a-9861-04e359b50078:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } + "foo": { + "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ -< Location: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +< X-Gabbi-url: http://21cef3fe-d036-403a-9861-04e359b50078:8001/somewhere +< Location: http://21cef3fe-d036-403a-9861-04e359b50078:8001/somewhere { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } + "foo": { + "b\u00e1r": 1 } } -#### Post again and check the results (reversed) #### -> POST http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +#### json encoded value from disk #### +> POST http://21cef3fe-d036-403a-9861-04e359b50078:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } + "foo": { + "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ -< Location: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +< X-Gabbi-url: http://21cef3fe-d036-403a-9861-04e359b50078:8001/somewhere +< Location: http://21cef3fe-d036-403a-9861-04e359b50078:8001/somewhere { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } + "foo": { + "b\u00e1r": 1 } } -#### string internal replace #### -> POST http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +#### yaml parital from disk #### +> POST http://21cef3fe-d036-403a-9861-04e359b50078:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "endpoint_resp": "/api/0.1/item/1", - "endpoint_var": "/api/0.1/item/1" + "type": "cat", + "sound": "meow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ -< Location: http://6225b539-0de3-43e6-ad44-41f286ab437d:8001/ +< X-Gabbi-url: http://21cef3fe-d036-403a-9861-04e359b50078:8001/somewhere +< Location: http://21cef3fe-d036-403a-9861-04e359b50078:8001/somewhere { - "endpoint_resp": "/api/0.1/item/1", - "endpoint_var": "/api/0.1/item/1" + "type": "cat", + "sound": "meow" } -#### default casts #### -> POST http://b5088b51-e36d-4012-ac01-2b4ae02ae43d:8001/ -> content-type: application/json -> accept: application/jsongabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request -gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request ... ok -gabbi.tests.test_intercept.cookie_get_a_cookie.test_request -gabbi.tests.test_intercept.cookie_get_a_cookie.test_request ... ok -gabbi.tests.test_intercept.fixture_just_to_see_two.test_request -gabbi.tests.test_intercept.fixture_just_to_see_two.test_request ... ok -gabbi.tests.test_intercept.json-right-side_json_encoded_value_from_disk.test_request -gabbi.tests.test_intercept.json-right-side_json_encoded_value_from_disk.test_request ... ok -gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request -gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request ... expected failure -gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request -gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request ... ok -gabbi.tests.test_intercept.json-right-side_json_partial_both_sides.test_request -gabbi.tests.test_intercept.json-right-side_json_partial_both_sides.test_request ... ok -gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_default_true -gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_default_true ... ok -gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_false -gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_false ... ok -gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_true -gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_true ... ok -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_bad_params -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_bad_params ... ok -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_both -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_both ... ok -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_charset -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_charset ... ok -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_multiple_params -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_multiple_params ... ok -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_with_charset -gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_with_charset ... ok #### get simple page #### -> GET http://85d86bb9-f1c3-4bc0-b7c8-da7e0936d067:8001/ +> GET http://6d7b73ef-77c1-44fb-b3be-094772c0620c:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7695,12 +6438,12 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://85d86bb9-f1c3-4bc0-b7c8-da7e0936d067:8001/ +< X-Gabbi-url: http://6d7b73ef-77c1-44fb-b3be-094772c0620c:8001/ {} #### post data #### -> POST http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +> POST http://114224d9-07bf-4b48-be01-951541e81a86:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7713,8 +6456,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ -< Location: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +< X-Gabbi-url: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ +< Location: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ { "one_string": "1", @@ -7723,7 +6466,7 @@ } #### use data #### -> POST http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +> POST http://114224d9-07bf-4b48-be01-951541e81a86:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7736,8 +6479,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ -< Location: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +< X-Gabbi-url: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ +< Location: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ { "one_string": "1", @@ -7746,7 +6489,7 @@ } #### from environ #### -> POST http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +> POST http://114224d9-07bf-4b48-be01-951541e81a86:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7757,15 +6500,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ -< Location: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +< X-Gabbi-url: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ +< Location: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ { "one_environ": 1 } #### with list #### -> POST http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +> POST http://114224d9-07bf-4b48-be01-951541e81a86:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7778,8 +6521,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ -< Location: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +< X-Gabbi-url: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ +< Location: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ [ 1, @@ -7788,7 +6531,7 @@ ] #### object with list #### -> POST http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +> POST http://114224d9-07bf-4b48-be01-951541e81a86:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7808,8 +6551,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ -< Location: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +< X-Gabbi-url: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ +< Location: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ { "collection": [ @@ -7825,7 +6568,7 @@ } #### post extra data #### -> POST http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +> POST http://114224d9-07bf-4b48-be01-951541e81a86:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7854,8 +6597,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ -< Location: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +< X-Gabbi-url: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ +< Location: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ { "a": 1, @@ -7880,7 +6623,7 @@ } #### check posted data #### -> POST http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +> POST http://114224d9-07bf-4b48-be01-951541e81a86:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7909,8 +6652,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ -< Location: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +< X-Gabbi-url: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ +< Location: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ { "a": 1, @@ -7935,7 +6678,7 @@ } #### Post again and check the results #### -> POST http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +> POST http://114224d9-07bf-4b48-be01-951541e81a86:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7964,8 +6707,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ -< Location: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +< X-Gabbi-url: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ +< Location: http://114224d9-07bf-4b48-be01-951541e81a86:8001/ { "a": 1, @@ -7989,63 +6732,79 @@ } } -#### Post again and check the results (reversed) #### -> POST http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +#### default casts #### +> POST http://0681de3d-40df-4fa7-b14b-d6107a78b21a:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false +} + +< 200 OK +< X-Gabbi-method: POST +< Content-Type: application/json +< X-Gabbi-url: http://0681de3d-40df-4fa7-b14b-d6107a78b21a:8001/ +< Location: http://0681de3d-40df-4fa7-b14b-d6107a78b21a:8001/ + +{ + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false +} + +#### cast to string #### +> POST http://0681de3d-40df-4fa7-b14b-d6107a78b21a:8001/ +> content-type: application/json +> accept: application/json +> user-agent: gabbi/3.0.0 (Python urllib3) + +{ + "string": "2" +} + +< 200 OK +< X-Gabbi-method: POST +< Content-Type: application/json +< X-Gabbi-url: http://0681de3d-40df-4fa7-b14b-d6107a78b21a:8001/ +< Location: http://0681de3d-40df-4fa7-b14b-d6107a78b21a:8001/ + +{ + "string": "2" +} + +#### yaml encoded value from disk #### +> POST http://2e9fe41c-cf03-45e9-850a-ace09f27759c:8001/somewhere +> content-type: application/json +> user-agent: gabbi/3.0.0 (Python urllib3) + +{ + "foo": { + "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ -< Location: http://d0687708-f9be-4dcd-89f2-6cbb02b32429:8001/ +< X-Gabbi-url: http://2e9fe41c-cf03-45e9-850a-ace09f27759c:8001/somewhere +< Location: http://2e9fe41c-cf03-45e9-850a-ace09f27759c:8001/somewhere { - "a": 1, - "b": 1.0, - "c": "[1,2,3]", - "d": true, - "e": false, - "f": { - "key": "val" - }, - "g": null, - "h": { - "key": { - "less_key": [ - 1, - true, - null - ], - "more_key": 1 - } + "foo": { + "b\u00e1r": 1 } } #### json encoded value from disk #### -> POST http://24bc67ed-7eed-4f31-9f98-c9f64f1e7340:8001/ +> POST http://2e9fe41c-cf03-45e9-850a-ace09f27759c:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8058,8 +6817,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://24bc67ed-7eed-4f31-9f98-c9f64f1e7340:8001/ -< Location: http://24bc67ed-7eed-4f31-9f98-c9f64f1e7340:8001/ +< X-Gabbi-url: http://2e9fe41c-cf03-45e9-850a-ace09f27759c:8001/somewhere +< Location: http://2e9fe41c-cf03-45e9-850a-ace09f27759c:8001/somewhere { "foo": { @@ -8067,8 +6826,8 @@ } } -#### json parital from disk #### -> POST http://24bc67ed-7eed-4f31-9f98-c9f64f1e7340:8001/ +#### yaml parital from disk #### +> POST http://2e9fe41c-cf03-45e9-850a-ace09f27759c:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8080,16 +6839,16 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://24bc67ed-7eed-4f31-9f98-c9f64f1e7340:8001/ -< Location: http://24bc67ed-7eed-4f31-9f98-c9f64f1e7340:8001/ +< X-Gabbi-url: http://2e9fe41c-cf03-45e9-850a-ace09f27759c:8001/somewhere +< Location: http://2e9fe41c-cf03-45e9-850a-ace09f27759c:8001/somewhere { "type": "cat", "sound": "meow" } -#### json partial both sides #### -> POST http://24bc67ed-7eed-4f31-9f98-c9f64f1e7340:8001/ +#### yaml partial both sides #### +> POST http://2e9fe41c-cf03-45e9-850a-ace09f27759c:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8107,8 +6866,10 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://24bc67ed-7eed-4f31-9f98-c9f64f1e7340:8001/ -< Location: http://24bc67ed-7eed-4f31-9f98-c9f64f1e7340:8001/ +< X-Gabbi-url: http://2e9fe41c-cf03-45e9-850a-ace09f27759c:8001/somewheregabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_partial_both_sides.test_request +gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_partial_both_sides.test_request ... ok + +< Location: http://2e9fe41c-cf03-45e9-850a-ace09f27759c:8001/somewhere [ { @@ -8121,199 +6882,156 @@ } ] -gabbi.tests.test_intercept.casting_send_casted_json.test_request -gabbi.tests.test_intercept.casting_send_casted_json.test_request ... ok -gabbi.tests.test_intercept.contenttype_put_content-type.test_request -gabbi.tests.test_intercept.contenttype_put_content-type.test_request ... ok -gabbi.tests.test_jsonpath.JSONPathTest.test_basic_match -gabbi.tests.test_jsonpath.JSONPathTest.test_basic_match ... ok +gabbi.tests.test_intercept.data_post_data_for_next.test_request +gabbi.tests.test_intercept.data_post_data_for_next.test_request ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_driver.DriverTest.test_build_require_ssl -gabbi.tests.test_driver.DriverTest.test_build_require_ssl ... ok -gabbi.tests.test_driver.DriverTest.test_build_requires_host_or_intercept -gabbi.tests.test_driver.DriverTest.test_build_requires_host_or_intercept ... ok -gabbi.tests.test_jsonpath.JSONPathTest.test_embedded_list_handling -gabbi.tests.test_jsonpath.JSONPathTest.test_embedded_list_handling ... ok -gabbi.tests.test_jsonpath.JSONPathTest.test_filtered_list -gabbi.tests.test_jsonpath.JSONPathTest.test_filtered_list ... ok -gabbi.tests.test_driver.DriverTest.test_build_url_target -gabbi.tests.test_driver.DriverTest.test_build_url_target ... ok -gabbi.tests.test_jsonpath.JSONPathTest.test_len_object_list -gabbi.tests.test_jsonpath.JSONPathTest.test_len_object_list ... ok -gabbi.tests.test_jsonpath.JSONPathTest.test_len_simple_list -gabbi.tests.test_jsonpath.JSONPathTest.test_len_simple_list ... ok -gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl -gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl ... ok -gabbi.tests.test_jsonpath.JSONPathTest.test_list_handling -gabbi.tests.test_jsonpath.JSONPathTest.test_list_handling ... ok -gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_object_list -gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_object_list ... ok -gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_simple_list -gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_simple_list ... ok -gabbi.tests.test_suite.SuiteTest.test_suite_catches_fixture_fail -gabbi.tests.test_suite.SuiteTest.test_suite_catches_fixture_fail ... ok - +gabbi.tests.test_runner.RunnerTest.test_custom_response_handler +gabbi.tests.test_runner.RunnerTest.test_custom_response_handler ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_data_dir_good +gabbi.tests.test_runner.RunnerTest.test_data_dir_good ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_exit_code +gabbi.tests.test_runner.RunnerTest.test_exit_code ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_input_files +gabbi.tests.test_runner.RunnerTest.test_input_files ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_quiet_is_quiet +gabbi.tests.test_runner.RunnerTest.test_quiet_is_quiet ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_stdin_data_dir +gabbi.tests.test_runner.RunnerTest.test_stdin_data_dir ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_target_url_parsing +gabbi.tests.test_runner.RunnerTest.test_target_url_parsing ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port +gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_unsafe_yaml +gabbi.tests.test_runner.RunnerTest.test_unsafe_yaml ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_verbose_output_formatting +gabbi.tests.test_runner.RunnerTest.test_verbose_output_formatting ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_all +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_all ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_body +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_body ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_headers +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_headers ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_none +gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_none ... ok +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request ... ok +gabbi.tests.test_intercept.last-url_get_that_same_url_again.test_request +gabbi.tests.test_intercept.last-url_get_that_same_url_again.test_request ... ok +gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request +gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request ... expected failure +gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request +gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request ... ok +gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request +gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request ... expected failure +gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request +gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request ... ok +#### get simple page #### +> GET http://836ac7a1-feb4-4edf-8024-cf601bd977db:8001/ +> x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) -{ - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false -} < 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://b5088b51-e36d-4012-ac01-2b4ae02ae43d:8001/ -< Location: http://b5088b51-e36d-4012-ac01-2b4ae02ae43d:8001/ +< X-Gabbi-method: GET +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://836ac7a1-feb4-4edf-8024-cf601bd977db:8001/ -{ - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false -} +{} -#### cast to string #### -> POST http://b5088b51-e36d-4012-ac01-2b4ae02ae43d:8001/ +#### left side json one #### +> POST http://2adaa8ca-a6a2-4692-8ef2-d44ee2056a56:8001/ > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "string": "2" + "alpha": "alpha1", + "beta": "beta1" } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://b5088b51-e36d-4012-ac01-2b4ae02ae43d:8001/ -< Location: http://b5088b51-e36d-4012-ac01-2b4ae02ae43d:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://2adaa8ca-a6a2-4692-8ef2-d44ee2056a56:8001/ +< Location: http://2adaa8ca-a6a2-4692-8ef2-d44ee2056a56:8001/ { - "string": "2" + "alpha": "alpha1", + "beta": "beta1" } -#### json set up #### -> POST http://b5088b51-e36d-4012-ac01-2b4ae02ae43d:8001/ +#### expand left side #### +> POST http://2adaa8ca-a6a2-4692-8ef2-d44ee2056a56:8001/ > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false + "alpha1": "alpha", + "beta1": "beta" } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://b5088b51-e36d-4012-ac01-2b4ae02ae43d:8001/ -< Location: http://b5088b51-e36d-4012-ac01-2b4ae02ae43d:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://2adaa8ca-a6a2-4692-8ef2-d44ee2056a56:8001/ +< Location: http://2adaa8ca-a6a2-4692-8ef2-d44ee2056a56:8001/ { - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false + "alpha1": "alpha", + "beta1": "beta" } -#### send casted json #### -> POST http://b5088b51-e36d-4012-ac01-2b4ae02ae43d:8001/ +#### expand environ left side #### +> POST http://2adaa8ca-a6a2-4692-8ef2-d44ee2056a56:8001/ > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "casted": 2 + "alpha1": "alpha", + "beta1": "beta", + "1": "cow" } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://b5088b51-e36d-4012-ac01-2b4ae02ae43d:8001/ -< Location: http://b5088b51-e36d-4012-ac01-2b4ae02ae43d:8001/ - -{ - "casted": 2 -} - -gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test -gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test ... ok -gabbi.tests.test_driver.DriverTest.test_build_with_url_provides_host -gabbi.tests.test_driver.DriverTest.test_build_with_url_provides_host ... ok -gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests -gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files -gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files ... ok -gabbi.tests.test_driver.DriverTest.test_driver_prefix -gabbi.tests.test_driver.DriverTest.test_driver_prefix ... ok -#### get simple page #### -> GET http://2a098cf6-5bc2-405f-9718-6d20b568b070:8001/ -> x-random-header: ya -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< X-Gabbi-method: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://2a098cf6-5bc2-405f-9718-6d20b568b070:8001/ - -{} - -#### loop location #### -> GET http://d84748c3-9271-4e76-96a8-b1afe1069672:8001/poller?count=2&x=1&y=2&z=3.4 -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 400 Bad Reqest - - -#### loop location #### -> GET http://d84748c3-9271-4e76-96a8-b1afe1069672:8001/poller?count=2&x=1&y=2&z=3.4 -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 400 Bad Reqest - - -#### loop location #### -> GET http://d84748c3-9271-4e76-96a8-b1afe1069672:8001/poller?count=2&x=1&y=2&z=3.4 -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d84748c3-9271-4e76-96a8-b1afe1069672:8001/poller?count=2&x=1&y=2&z=3.4 +< X-Gabbi-url: http://2adaa8ca-a6a2-4692-8ef2-d44ee2056a56:8001/ +< Location: http://2adaa8ca-a6a2-4692-8ef2-d44ee2056a56:8001/ { - "count": [ - "2" - ], - "x": [ - "1" - ], - "y": [ - "2" - ], - "z": [ - "3.4" - ] + "alpha1": "alpha", + "beta1": "beta", + "1": "cow" } #### post data #### -> POST http://560272d5-597d-48a2-9020-4342b0390e85:8001/ +> POST http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8326,8 +7044,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://560272d5-597d-48a2-9020-4342b0390e85:8001/ -< Location: http://560272d5-597d-48a2-9020-4342b0390e85:8001/ +< X-Gabbi-url: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ +< Location: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ { "one_string": "1", @@ -8336,7 +7054,7 @@ } #### use data #### -> POST http://560272d5-597d-48a2-9020-4342b0390e85:8001/ +> POST http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8349,8 +7067,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://560272d5-597d-48a2-9020-4342b0390e85:8001/ -< Location: http://560272d5-597d-48a2-9020-4342b0390e85:8001/ +< X-Gabbi-url: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ +< Location: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ { "one_string": "1", @@ -8359,7 +7077,7 @@ } #### from environ #### -> POST http://560272d5-597d-48a2-9020-4342b0390e85:8001/ +> POST http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8370,15 +7088,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://560272d5-597d-48a2-9020-4342b0390e85:8001/ -< Location: http://560272d5-597d-48a2-9020-4342b0390e85:8001/ +< X-Gabbi-url: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ +< Location: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ { "one_environ": 1 } #### with list #### -> POST http://560272d5-597d-48a2-9020-4342b0390e85:8001/ +> POST http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8391,8 +7109,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://560272d5-597d-48a2-9020-4342b0390e85:8001/ -< Location: http://560272d5-597d-48a2-9020-4342b0390e85:8001/ +< X-Gabbi-url: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ +< Location: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ [ 1, @@ -8401,7 +7119,7 @@ ] #### object with list #### -> POST http://560272d5-597d-48a2-9020-4342b0390e85:8001/ +> POST http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8421,8 +7139,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://560272d5-597d-48a2-9020-4342b0390e85:8001/ -< Location: http://560272d5-597d-48a2-9020-4342b0390e85:8001/ +< X-Gabbi-url: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ +< Location: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ { "collection": [ @@ -8438,7 +7156,7 @@ } #### post extra data #### -> POST http://560272d5-597d-48a2-9020-4342b0390e85:8001/ +> POST http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8467,8 +7185,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://560272d5-597d-48a2-9020-4342b0390e85:8001/ -< Location: http://560272d5-597d-48a2-9020-4342b0390e85:8001/ +< X-Gabbi-url: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ +< Location: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ { "a": 1, @@ -8492,142 +7210,173 @@ } } -#### default casts #### -> POST http://aec9509e-af2f-4a25-9371-9c1b7efb1be6:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://aec9509e-af2f-4a25-9371-9c1b7efb1be6:8001/ -< Location: http://aec9509e-af2f-4a25-9371-9c1b7efb1be6:8001/ - -{ - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false -} - -#### cast to string #### -> POST http://aec9509e-af2f-4a25-9371-9c1b7efb1be6:8001/ +#### check posted data #### +> POST http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "string": "2" + "a": 1, + "b": 1.0, + "c": "[1,2,3]", + "d": true, + "e": false, + "f": { + "key": "val" + }, + "g": null, + "h": { + "key": { + "less_key": [ + 1, + true, + null + ], + "more_key": 1 + } + } } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://aec9509e-af2f-4a25-9371-9c1b7efb1be6:8001/ -< Location: http://aec9509e-af2f-4a25-9371-9c1b7efb1be6:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ +< Location: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ { - "string": "2" + "a": 1, + "b": 1.0, + "c": "[1,2,3]", + "d": true, + "e": false, + "f": { + "key": "val" + }, + "g": null, + "h": { + "key": { + "less_key": [ + 1, + true, + null + ], + "more_key": 1 + } + } } -#### json set up #### -> POST http://aec9509e-af2f-4a25-9371-9c1b7efb1be6:8001/ +#### Post again and check the results #### +> POST http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false + "a": 1, + "b": 1.0, + "c": "[1,2,3]", + "d": true, + "e": false, + "f": { + "key": "val" + }, + "g": null, + "h": { + "key": { + "less_key": [ + 1, + true, + null + ], + "more_key": 1 + } + } } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://aec9509e-af2f-4a25-9371-9c1b7efb1be6:8001/ -< Location: http://aec9509e-af2f-4a25-9371-9c1b7efb1be6:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ +< Location: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ { - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false + "a": 1, + "b": 1.0, + "c": "[1,2,3]", + "d": true, + "e": false, + "f": { + "key": "val" + }, + "g": null, + "h": { + "key": { + "less_key": [ + 1, + true, + null + ], + "more_key": 1 + } + } } -gabbi.tests.test_inner_fixture.inner_get_one.test_request -gabbi.tests.test_inner_fixture.inner_get_one.test_request ... ok -gabbi.tests.test_intercept.self_post_a_body.test_request -gabbi.tests.test_intercept.self_post_a_body.test_request ... ok -gabbi.tests.test_intercept.json-extensions_test_filtered.test_request -gabbi.tests.test_intercept.json-extensions_test_filtered.test_request ... ok -gabbi.tests.test_intercept.data_load_encoded_text.test_request -gabbi.tests.test_intercept.data_load_encoded_text.test_request ... ok -gabbi.tests.test_intercept.jsonbody_test_empty_list.test_request -gabbi.tests.test_intercept.jsonbody_test_empty_list.test_request ... ok -gabbi.tests.test_intercept.json-left-side_left_side_json_one.test_request -gabbi.tests.test_intercept.json-left-side_left_side_json_one.test_request ... ok -gabbi.tests.test_intercept.fixture_just_to_see_one.test_request -gabbi.tests.test_intercept.fixture_just_to_see_one.test_request ... ok -gabbi.tests.test_intercept.fixture_just_to_see_three.test_request -gabbi.tests.test_intercept.fixture_just_to_see_three.test_request ... ok -gabbi.tests.test_intercept.casting_internal_json_fine.test_request -gabbi.tests.test_intercept.casting_internal_json_fine.test_request ... ok -gabbi.tests.test_intercept.contenttype_post_content-type.test_request -gabbi.tests.test_intercept.contenttype_post_content-type.test_request ... ok -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_json_encoded_value_from_disk.test_request -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_json_encoded_value_from_disk.test_request ... ok -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_partial_both_sides.test_request -gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_partial_both_sides.test_request ... ok -#### get simple page #### -> GET http://5350e7cc-5fa4-4d9c-8740-199019879ec1:8001/ -> x-random-header: ya -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK -< X-Gabbi-method: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://5350e7cc-5fa4-4d9c-8740-199019879ec1:8001/ - -{} - -#### left side json one #### -> POST http://0ba549de-1058-42b0-a707-b63df9ec37ee:8001/ +#### Post again and check the results (reversed) #### +> POST http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "alpha": "alpha1", - "beta": "beta1" + "a": 1, + "b": 1.0, + "c": "[1,2,3]", + "d": true, + "e": false, + "f": { + "key": "val" + }, + "g": null, + "h": { + "key": { + "less_key": [ + 1, + true, + null + ], + "more_key": 1 + } + } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://0ba549de-1058-42b0-a707-b63df9ec37ee:8001/ -< Location: http://0ba549de-1058-42b0-a707-b63df9ec37ee:8001/ +< X-Gabbi-url: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ +< Location: http://5326d886-9f72-4242-af3e-14b6ac375c6a:8001/ { - "alpha": "alpha1", - "beta": "beta1" + "a": 1, + "b": 1.0, + "c": "[1,2,3]", + "d": true, + "e": false, + "f": { + "key": "val" + }, + "g": null, + "h": { + "key": { + "less_key": [ + 1, + true, + null + ], + "more_key": 1 + } + } } #### default casts #### -> POST http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ +> POST http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8643,8 +7392,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ -< Location: http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ +< X-Gabbi-url: http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ +< Location: http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ { "int": 1, @@ -8652,10 +7401,45 @@ "string": 2, "tbool": true, "fbool": false +}/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files +gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files ... ok +gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color +gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color ... ok + +< X-Gabbi-url: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ +< Location: http://3f6e7833-29be-4c7e-8ddb-509b6b4371d4:8001/ + +{ + "endpoint_resp": "/api/0.1/item/1", + "endpoint_var": "/api/0.1/item/1" } +gabbi.tests.test_intercept.casting_internal_json_fail.test_request +gabbi.tests.test_intercept.casting_internal_json_fail.test_request ... expected failure +gabbi.tests.test_intercept.casting_internal_json_fail.test_request +gabbi.tests.test_intercept.casting_internal_json_fail.test_request ... ok +gabbi.tests.test_intercept.json-extensions_test_sort.test_request +gabbi.tests.test_intercept.json-extensions_test_sort.test_request ... ok +gabbi.tests.test_intercept.data_load_encoded_text.test_request +gabbi.tests.test_intercept.data_load_encoded_text.test_request ... ok +gabbi.tests.test_intercept.data_json_value_from_disk.test_request +gabbi.tests.test_intercept.data_json_value_from_disk.test_request ... ok +gabbi.tests.test_intercept.data_partial_json_from_disk.test_request +gabbi.tests.test_intercept.data_partial_json_from_disk.test_request ... ok +gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers +gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers ... ok +gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_default_true +gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_default_true ... ok +gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_false +gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_false ... ok +gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_true +gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_true ... ok + + #### cast to string #### -> POST http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ +> POST http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8667,15 +7451,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ -< Location: http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ +< X-Gabbi-url: http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ +< Location: http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ { "string": "2" } #### json set up #### -> POST http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ +> POST http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8691,8 +7475,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ -< Location: http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ +< X-Gabbi-url: http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ +< Location: http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ { "int": 1, @@ -8703,7 +7487,7 @@ } #### send casted json #### -> POST http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ +> POST http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8715,15 +7499,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ -< Location: http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ +< X-Gabbi-url: http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ +< Location: http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ { "casted": 2 } #### historic casted json #### -> POST http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ +> POST http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8735,151 +7519,31 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ -< Location: http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ +< X-Gabbi-url: http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ +< Location: http://8a7bd595-59c4-41a7-bf2c-1e891dbef03f:8001/ { "casted": 2 } -#### internal json fine #### -> POST http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "casted": "in this 2 is not errors" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ -< Location: http://99a862b3-8eed-4ca0-97ee-ae0636424128:8001/ - -{ - "casted": "in this 2 is not errors" -} - -#### yaml encoded value from disk #### -> POST http://f78cf695-fb84-427c-857f-4284d9031efe:8001/somewhere -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "foo": { - "b\u00e1r": 1 - } -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://f78cf695-fb84-427c-857f-4284d9031efe:8001/somewhere -< Location: http://f78cf695-fb84-427c-857f-4284d9031efe:8001/somewhere - -{ - "foo": { - "b\u00e1r": 1 - } -} - -#### json encoded value from disk #### -> POST http://f78cf695-fb84-427c-857f-4284d9031efe:8001/somewhere -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "foo": { - "b\u00e1r": 1 - } -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://f78cf695-fb84-427c-857f-4284d9031efe:8001/somewhere -< Location: http://f78cf695-fb84-427c-857f-4284d9031efe:8001/somewhere - -{ - "foo": { - "b\u00e1r": 1 - } -} - -#### yaml parital from disk #### -> POST http://f78cf695-fb84-427c-857f-4284d9031efe:8001/somewhere -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "type": "cat", - "sound": "meow" -} - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://f78cf695-fb84-427c-857f-4284d9031efe:8001/somewhere -< Location: http://f78cf695-fb84-427c-857f-4284d9031efe:8001/somewhere - -{ - "type": "cat", - "sound": "meow" -} - -#### yaml partial both sides #### -> POST http://f78cf695-fb84-427c-857f-4284d9031efe:8001/somewhere -> content-type: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -[ - { - "type": "cat", - "sound": "meow" - }, - { - "type": "dog", - "sound": "woof" - } -] - -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://f78cf695-fb84-427c-857f-4284d9031efe:8001/somewhere -< Location: http://f78cf695-fb84-427c-857f-4284d9031efe:8001/somewhere - -[ - { - "type": "cat", - "sound": "meow" - }, - { - "type": "dog", - "sound": "woof" - } -] - ---------------------------------------------------------------------- -Ran 314 tests in 292.671s +Ran 314 tests in 4.121s OK (skipped=2, expected failures=15) + stestr slowest Test id Runtime (s) ------------------------------------------------------------------------------------------ ----------- -gabbi.tests.test_driver.DriverTest.test_build_require_ssl 42.535 -gabbi.tests.test_intercept.coerce_string_internal_replace.test_request 29.239 -gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request 28.084 -gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request 19.426 -gabbi.tests.test_intercept.coerce_check_posted_data.test_request 17.546 -gabbi.tests.test_intercept.coerce_post_extra_data.test_request 10.539 -gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request 9.000 -gabbi.tests.test_intercept.coerce_object_with_list.test_request 7.908 -gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request 7.481 -gabbi.tests.test_intercept.backref_post_even_more_json.test_request 7.391 +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request 0.659 +gabbi.tests.test_intercept.backref_get_a_historical_response.test_request 0.522 +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request 0.506 +gabbi.tests.test_intercept.coerce_string_internal_replace.test_request 0.484 +gabbi.tests.test_intercept.coerce_check_posted_data.test_request 0.424 +gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request 0.411 +gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request 0.383 +gabbi.tests.test_intercept.coerce_post_extra_data.test_request 0.371 +gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request 0.333 +gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request 0.332 + rm -rf .stestr make[1]: Leaving directory '/build/reproducible-path/python-gabbi-3.0.0' dh_install -O--buildsystem=pybuild @@ -8925,8 +7589,8 @@ copying assets... copying static files... Writing evaluated template result to /build/reproducible-path/python-gabbi-3.0.0/debian/python-gabbi-doc/usr/share/doc/python-gabbi-doc/html/_static/documentation_options.js -Writing evaluated template result to /build/reproducible-path/python-gabbi-3.0.0/debian/python-gabbi-doc/usr/share/doc/python-gabbi-doc/html/_static/basic.css Writing evaluated template result to /build/reproducible-path/python-gabbi-3.0.0/debian/python-gabbi-doc/usr/share/doc/python-gabbi-doc/html/_static/language_data.js +Writing evaluated template result to /build/reproducible-path/python-gabbi-3.0.0/debian/python-gabbi-doc/usr/share/doc/python-gabbi-doc/html/_static/basic.css Writing evaluated template result to /build/reproducible-path/python-gabbi-3.0.0/debian/python-gabbi-doc/usr/share/doc/python-gabbi-doc/html/_static/nature.css copying static files: done copying extra files... @@ -8984,14 +7648,14 @@ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done -+ ls -1 debian/*.init.in +++ ls -1 'debian/*.init.in' ls: cannot access 'debian/*.init.in': No such file or directory # If there's a service.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done -+ ls -1 debian/*.service.in +++ ls -1 'debian/*.service.in' ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ @@ -9000,7 +7664,7 @@ pkgos-gen-systemd-unit $i ; \ fi \ done -+ ls debian/*.init.in +++ ls 'debian/*.init.in' ls: cannot access 'debian/*.init.in': No such file or directory dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/python-gabbi-3.0.0' @@ -9015,14 +7679,14 @@ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done -+ ls -1 debian/*.init.in +++ ls -1 'debian/*.init.in' ls: cannot access 'debian/*.init.in': No such file or directory # If there's a service.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done -+ ls -1 debian/*.service.in +++ ls -1 'debian/*.service.in' ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ @@ -9031,7 +7695,7 @@ pkgos-gen-systemd-unit $i ; \ fi \ done -+ ls debian/*.init.in +++ ls 'debian/*.init.in' ls: cannot access 'debian/*.init.in': No such file or directory dh_installsystemd make[1]: Leaving directory '/build/reproducible-path/python-gabbi-3.0.0' @@ -9065,12 +7729,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/30625/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/30625/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/60584 and its subdirectories -I: Current time: Thu Dec 19 06:58:57 -12 2024 -I: pbuilder-time-stamp: 1734634737 +I: removing directory /srv/workspace/pbuilder/30625 and its subdirectories +I: Current time: Thu Jan 22 15:23:12 +14 2026 +I: pbuilder-time-stamp: 1769044992