Diff of the two buildlogs: -- --- b1/build.log 2024-11-17 02:17:51.532920116 +0000 +++ b2/build.log 2024-11-17 02:19:45.443747170 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Dec 19 20:37:26 -12 2025 -I: pbuilder-time-stamp: 1766219846 +I: Current time: Sun Nov 17 16:17:53 +14 2024 +I: pbuilder-time-stamp: 1731809873 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -25,51 +25,83 @@ dpkg-source: info: unpacking python-gabbi_3.0.0-2.debian.tar.xz I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3032869/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2683033/tmp/hooks/D01_modify_environment starting +debug: Running on infom01-amd64. +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 Nov 17 02:18 /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/2683033/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2683033/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='amd64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="32" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.32(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='0f637788c0ed490b82590838247d8af7' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='3032869' - PS1='# ' - PS2='> ' + INVOCATION_ID=54233f8f04fd408aa30523ba55726e2a + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-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=2683033 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.Q3U1Lr3s/pbuilderrc_WUAs --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.Q3U1Lr3s/b1 --logfile b1/build.log python-gabbi_3.0.0-2.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' + 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.Q3U1Lr3s/pbuilderrc_KpE4 --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.Q3U1Lr3s/b2 --logfile b2/build.log python-gabbi_3.0.0-2.dsc' + SUDO_GID=109 + 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 infom02-amd64 6.10.11+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.10.11-1~bpo12+1 (2024-10-03) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-27-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.115-1 (2024-11-01) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/3032869/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2683033/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -303,7 +335,7 @@ Get: 158 http://deb.debian.org/debian unstable/main amd64 subunit all 1.4.2-3 [5248 B] Get: 159 http://deb.debian.org/debian unstable/main amd64 python3-stestr all 4.1.0-2 [56.7 kB] Get: 160 http://deb.debian.org/debian unstable/main amd64 python3-wsgi-intercept all 1.13.0-2 [18.6 kB] -Fetched 51.6 MB in 1s (63.7 MB/s) +Fetched 51.6 MB in 3s (19.9 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 ... 19966 files and directories currently installed.) @@ -827,8 +859,8 @@ Setting up tzdata (2024b-3) ... Current default time zone: 'Etc/UTC' -Local time is now: Sat Dec 20 08:38:59 UTC 2025. -Universal Time is now: Sat Dec 20 08:38:59 UTC 2025. +Local time is now: Sun Nov 17 02:18:55 UTC 2024. +Universal Time is now: Sun Nov 17 02:18:55 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libpython3.13-minimal:amd64 (3.13.0-2) ... @@ -989,7 +1021,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-2_source.changes +I: user script /srv/workspace/pbuilder/2683033/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/2683033/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-2_source.changes dpkg-buildpackage: info: source package python-gabbi dpkg-buildpackage: info: source version 3.0.0-2 dpkg-buildpackage: info: source distribution unstable @@ -1047,21 +1083,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 -+ 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. !! @@ -1106,51 +1147,50 @@ [pbr] AUTHORS complete (0.0s) running build running build_py -creating build/lib/gabbi -copying gabbi/utils.py -> build/lib/gabbi -copying gabbi/suitemaker.py -> build/lib/gabbi -copying gabbi/reporter.py -> build/lib/gabbi -copying gabbi/httpclient.py -> build/lib/gabbi -copying gabbi/driver.py -> build/lib/gabbi -copying gabbi/runner.py -> build/lib/gabbi -copying gabbi/case.py -> build/lib/gabbi -copying gabbi/fixture.py -> build/lib/gabbi -copying gabbi/exception.py -> build/lib/gabbi -copying gabbi/__init__.py -> build/lib/gabbi -copying gabbi/json_parser.py -> build/lib/gabbi -copying gabbi/pytester.py -> build/lib/gabbi -copying gabbi/suite.py -> build/lib/gabbi +creating build/lib/gabbi/handlers +copying gabbi/handlers/base.py -> build/lib/gabbi/handlers +copying gabbi/handlers/yaml_disk_loading_jsonhandler.py -> build/lib/gabbi/handlers +copying gabbi/handlers/core.py -> build/lib/gabbi/handlers +copying gabbi/handlers/jsonhandler.py -> build/lib/gabbi/handlers +copying gabbi/handlers/__init__.py -> build/lib/gabbi/handlers creating build/lib/gabbi/tests -copying gabbi/tests/test_runner.py -> build/lib/gabbi/tests -copying gabbi/tests/test_driver.py -> build/lib/gabbi/tests -copying gabbi/tests/test_suitemaker.py -> build/lib/gabbi/tests -copying gabbi/tests/test_live.py -> build/lib/gabbi/tests copying gabbi/tests/custom_response_handler.py -> build/lib/gabbi/tests +copying gabbi/tests/test_driver.py -> build/lib/gabbi/tests +copying gabbi/tests/simple_wsgi.py -> build/lib/gabbi/tests +copying gabbi/tests/test_parse_url.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_load_data_file.py -> build/lib/gabbi/tests +copying gabbi/tests/test_yaml_disk_loading_jsonhandler.py -> build/lib/gabbi/tests +copying gabbi/tests/test_live.py -> build/lib/gabbi/tests copying gabbi/tests/test_data_to_string.py -> build/lib/gabbi/tests +copying gabbi/tests/test_suite.py -> build/lib/gabbi/tests copying gabbi/tests/test_jsonpath.py -> build/lib/gabbi/tests -copying gabbi/tests/test_handlers.py -> build/lib/gabbi/tests copying gabbi/tests/test_use_prior_test.py -> build/lib/gabbi/tests -copying gabbi/tests/test_load_data_file.py -> build/lib/gabbi/tests -copying gabbi/tests/__init__.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/test_syntax_warning.py -> build/lib/gabbi/tests +copying gabbi/tests/test_handlers.py -> build/lib/gabbi/tests +copying gabbi/tests/test_suitemaker.py -> build/lib/gabbi/tests copying gabbi/tests/test_history.py -> build/lib/gabbi/tests +copying gabbi/tests/__init__.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_suite.py -> build/lib/gabbi/tests copying gabbi/tests/test_inner_fixture.py -> build/lib/gabbi/tests -copying gabbi/tests/test_unsafe_yaml.py -> build/lib/gabbi/tests -copying gabbi/tests/test_utils.py -> build/lib/gabbi/tests -copying gabbi/tests/test_parse_url.py -> build/lib/gabbi/tests +copying gabbi/tests/test_fixtures.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/simple_wsgi.py -> build/lib/gabbi/tests -copying gabbi/tests/test_yaml_disk_loading_jsonhandler.py -> build/lib/gabbi/tests -creating build/lib/gabbi/handlers -copying gabbi/handlers/base.py -> build/lib/gabbi/handlers -copying gabbi/handlers/yaml_disk_loading_jsonhandler.py -> build/lib/gabbi/handlers -copying gabbi/handlers/core.py -> build/lib/gabbi/handlers -copying gabbi/handlers/__init__.py -> build/lib/gabbi/handlers -copying gabbi/handlers/jsonhandler.py -> build/lib/gabbi/handlers +copying gabbi/pytester.py -> build/lib/gabbi +copying gabbi/driver.py -> build/lib/gabbi +copying gabbi/httpclient.py -> build/lib/gabbi +copying gabbi/exception.py -> build/lib/gabbi +copying gabbi/json_parser.py -> build/lib/gabbi +copying gabbi/reporter.py -> build/lib/gabbi +copying gabbi/utils.py -> build/lib/gabbi +copying gabbi/__init__.py -> build/lib/gabbi +copying gabbi/runner.py -> build/lib/gabbi +copying gabbi/case.py -> build/lib/gabbi +copying gabbi/suitemaker.py -> build/lib/gabbi +copying gabbi/suite.py -> build/lib/gabbi +copying gabbi/fixture.py -> build/lib/gabbi running egg_info creating gabbi.egg-info writing gabbi.egg-info/PKG-INFO @@ -1170,98 +1210,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/utils.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/reporter.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/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/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/fixture.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/exception.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/base.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/core.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/handlers/jsonhandler.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers 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/pytester.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/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_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_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_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_live.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_driver.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_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/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_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_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_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_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_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_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_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_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_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/__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_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/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_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_history.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_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_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_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_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_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_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_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_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/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_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/__init__.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/suite.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/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/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/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/httpclient.py to httpclient.cpython-313.pyc +creating /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/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/core.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/__init__.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers +copying build/lib/gabbi/fixture.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 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/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/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/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/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/__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/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/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/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/__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/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/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/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/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_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_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_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/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/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/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_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/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_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/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_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_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_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_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_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_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_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_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_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/__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_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/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_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_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/__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_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_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_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_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_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_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_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_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/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_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/__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/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/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/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/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/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/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/__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/fixture.py to fixture.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. !! @@ -1314,58 +1355,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/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/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/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/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/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/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/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/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/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/__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/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/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/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/__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/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/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/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/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_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_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_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/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/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/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_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/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_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/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_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_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_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_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_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_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_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_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_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/__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_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/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_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_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/__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_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_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_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_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_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_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_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_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/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_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/__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/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/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/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/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/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/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/__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/fixture.py to fixture.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 @@ -1374,35 +1415,108 @@ + 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 -+ + subunit2pyunit -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", +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_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_intercept.regex_regex_header_test.test_request +gabbi.tests.test_intercept.regex_regex_header_test.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.method-shortcut_post_with_query.test_request +gabbi.tests.test_intercept.method-shortcut_post_with_query.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.fixture_just_to_see_three.test_request +gabbi.tests.test_intercept.fixture_just_to_see_three.test_request ... ok +gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request +gabbi.tests.test_intercept.method-shortcut_arbitrary_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.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 +/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.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.last-url_add_some_query_params.test_request +gabbi.tests.test_intercept.last-url_add_some_query_params.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", +/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", +/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.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.last-url_get_a_historical_url.test_request +gabbi.tests.test_intercept.last-url_get_a_historical_url.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_intercept.poll_poller.test_request +gabbi.tests.test_intercept.poll_poller.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.contenttype_post_no_content-type.test_request +gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request ... 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_inner_fixture.inner_get_three.test_request +gabbi.tests.test_inner_fixture.inner_get_three.test_request ... 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 +gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types +gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types ... 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 @@ -1422,53 +1536,13 @@ 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 ... /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -ok +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_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 -gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request -gabbi.tests.test_intercept.contenttype_post_no_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_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_handlers.TestJSONHandlerAccept.test_many_content_types -gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types ... 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_three.test_request -gabbi.tests.test_inner_fixture.inner_get_three.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.contenttype_put_content-type.test_request -gabbi.tests.test_intercept.contenttype_put_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_intercept.contenttype_post_content-type.test_request -gabbi.tests.test_intercept.contenttype_post_content-type.test_request ... ok -gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request -gabbi.tests.test_intercept.verbosity_confirm_notempty.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.contenttype_put_no_content-type.test_request -gabbi.tests.test_intercept.contenttype_put_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 -/usr/lib/python3.13/unittest/case.py:597: 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 @@ -1477,8 +1551,6 @@ 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_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_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 @@ -1489,30 +1561,29 @@ 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_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_inner_fixture.inner_get_two.test_request -gabbi.tests.test_inner_fixture.inner_get_two.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_handlers.HandlersTest.test_response_json_paths_fail_path -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path ... 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.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_history.HistoryTest.test_response_replace_prior gabbi.tests.test_history.HistoryTest.test_response_replace_prior ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", +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.self_use_a_historical_location.test_request +gabbi.tests.test_intercept.self_use_a_historical_location.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_history.HistoryTest.test_response_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_response_replace_prior_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_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_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.self_post_a_body.test_request +gabbi.tests.test_intercept.self_post_a_body.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 @@ -1521,44 +1592,118 @@ 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.regex_regex_string_test_json.test_request +gabbi.tests.test_intercept.regex_regex_string_test_json.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.backref_post_some_json.test_request +gabbi.tests.test_intercept.backref_post_some_json.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.contenttype_put_no_content-type.test_request +gabbi.tests.test_intercept.contenttype_put_no_content-type.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.fixture_just_to_see_one.test_request +gabbi.tests.test_intercept.fixture_just_to_see_one.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_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_inheritance_of_defaults.test_request +gabbi.tests.test_intercept.self_inheritance_of_defaults.test_request ... ok +gabbi.tests.test_intercept.self_bogus_method.test_request +gabbi.tests.test_intercept.self_bogus_method.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_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_jsonpath_test.test_request +gabbi.tests.test_intercept.regex_regex_jsonpath_test.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.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_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_intercept.self_get_location_from_headers.test_request +gabbi.tests.test_intercept.self_get_location_from_headers.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.cookie_use_that_cookie_in_a_url.test_request +gabbi.tests.test_intercept.cookie_use_that_cookie_in_a_url.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_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_driver.DriverTest.test_build_url_target_forced_ssl +gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl ... 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_driver.DriverTest.test_build_url_use_prior_test +gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test ... 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_handlers.HandlersTest.test_response_json_paths_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex ... 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_intercept.contenttype_patch_no_content-type.test_request gabbi.tests.test_intercept.contenttype_patch_no_content-type.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_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_confirm_environ.test_request +gabbi.tests.test_intercept.self_confirm_environ.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_driver.DriverTest.test_driver_loads_three_tests +gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests ... 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.coerce_use_data.test_request -gabbi.tests.test_intercept.coerce_use_data.test_request ... ok +gabbi.tests.test_driver.DriverTest.test_driver_prefix +gabbi.tests.test_driver.DriverTest.test_driver_prefix ... 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.host-header_host_without_ssl.test_request +gabbi.tests.test_intercept.host-header_host_without_ssl.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.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.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_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.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.backref_post_some_more_json.test_request +gabbi.tests.test_intercept.backref_post_some_more_json.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_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.json-extensions_test_len.test_request -gabbi.tests.test_intercept.json-extensions_test_len.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_handlers.HandlersTest.test_response_json_paths_substitution_noregex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_noregex ... ok -gabbi.tests.test_intercept.coerce_with_list.test_request -gabbi.tests.test_intercept.coerce_with_list.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_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_regex ... ok -gabbi.tests.test_intercept.coerce_from_environ.test_request -gabbi.tests.test_intercept.coerce_from_environ.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.regex_regex_jsonpath_test.test_request -gabbi.tests.test_intercept.regex_regex_jsonpath_test.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.coerce_object_with_list.test_request -gabbi.tests.test_intercept.coerce_object_with_list.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 @@ -1571,163 +1716,67 @@ 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.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.header-key_header_named_http.test_request -gabbi.tests.test_intercept.header-key_header_named_http.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.data_load_data_list.test_request -gabbi.tests.test_intercept.data_load_data_list.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.json-extensions_test_sort.test_request -gabbi.tests.test_intercept.json-extensions_test_sort.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.jsonbody_test_empty_dict.test_request -gabbi.tests.test_intercept.jsonbody_test_empty_dict.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.data_json_value_from_disk.test_request -gabbi.tests.test_intercept.data_json_value_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.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.casting_cast_to_string.test_request -gabbi.tests.test_intercept.casting_cast_to_string.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.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.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-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.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.data_load_encoded_text.test_request -gabbi.tests.test_intercept.data_load_encoded_text.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.backref_post_some_more_json.test_request -gabbi.tests.test_intercept.backref_post_some_more_json.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.regex_regex_string_test_splat.test_request +gabbi.tests.test_intercept.regex_regex_string_test_splat.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.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.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.self_get_simple_page.test_request -gabbi.tests.test_intercept.self_get_simple_page.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_use_raw_json_from_response.test_request -gabbi.tests.test_intercept.backref_use_raw_json_from_response.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.self_bogus_method.test_request -gabbi.tests.test_intercept.self_bogus_method.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_intercept.poll_create_a_thing.test_request -gabbi.tests.test_intercept.poll_create_a_thing.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.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.data_load_data_dictionary.test_request -gabbi.tests.test_intercept.data_load_data_dictionary.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.data_partial_json_from_disk.test_request -gabbi.tests.test_intercept.data_partial_json_from_disk.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.casting_send_casted_json.test_request +gabbi.tests.test_intercept.casting_send_casted_json.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.casting_internal_json_fine.test_request +gabbi.tests.test_intercept.casting_internal_json_fine.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_from_environ.test_request +gabbi.tests.test_intercept.coerce_from_environ.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.fixture_just_to_see.test_request +gabbi.tests.test_intercept.fixture_just_to_see.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.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.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.backref_post_some_json.test_request -gabbi.tests.test_intercept.backref_post_some_json.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.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.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_replacers.TestReplaceHeaders.test_empty_headers -gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers ... 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.cookie_use_a_historical_cookie.test_request -gabbi.tests.test_intercept.cookie_use_a_historical_cookie.test_request ... ok -#### left side json one #### -> POST http://388ccb91-f5c6-430f-8136-887d19a350a8: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://388ccb91-f5c6-430f-8136-887d19a350a8:8001/ -< Location: http://388ccb91-f5c6-430f-8136-887d19a350a8:8001/ - -{ - "alpha": "alpha1", - "beta": "beta1" -} - +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.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.backref_backref_json_fail_start.test_request +gabbi.tests.test_intercept.backref_backref_json_fail_start.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.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.backref_post_even_more_json.test_request +gabbi.tests.test_intercept.backref_post_even_more_json.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.backref_use_raw_json_from_response.test_request +gabbi.tests.test_intercept.backref_use_raw_json_from_response.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://2aaa16f0-2a1f-40e1-9127-7313eee0a38d:8001/ +> GET http://c41c1a98-a3c1-4cb9-964d-1eb27ac0a968:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -1735,245 +1784,225 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://2aaa16f0-2a1f-40e1-9127-7313eee0a38d:8001/ +< X-Gabbi-url: http://c41c1a98-a3c1-4cb9-964d-1eb27ac0a968:8001/ {} -gabbi.tests.test_jsonpath.JSONPathTest.test_basic_match -gabbi.tests.test_jsonpath.JSONPathTest.test_basic_match ... 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_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_jsonpath.JSONPathTest.test_len_object_list -gabbi.tests.test_jsonpath.JSONPathTest.test_len_object_list ... 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_jsonpath.JSONPathTest.test_len_simple_list -gabbi.tests.test_jsonpath.JSONPathTest.test_len_simple_list ... 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_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_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 -#### post data #### -> POST http://1815893e-6ddb-4db1-825b-7701b66e25f7: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://1815893e-6ddb-4db1-825b-7701b66e25f7:8001/ -< Location: http://1815893e-6ddb-4db1-825b-7701b66e25f7:8001/ - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -#### use data #### -> POST http://1815893e-6ddb-4db1-825b-7701b66e25f7:8001/ +#### json encoded value from disk #### +> POST http://c39069f2-4670-4e50-b49b-242bff808351: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://1815893e-6ddb-4db1-825b-7701b66e25f7:8001/ -< Location: http://1815893e-6ddb-4db1-825b-7701b66e25f7:8001/ +< X-Gabbi-url: http://c39069f2-4670-4e50-b49b-242bff808351:8001/ +< Location: http://c39069f2-4670-4e50-b49b-242bff808351:8001/ { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "foo": { + "b\u00e1r": 1 + } } -#### from environ #### -> POST http://1815893e-6ddb-4db1-825b-7701b66e25f7:8001/ +#### json parital from disk #### +> POST http://c39069f2-4670-4e50-b49b-242bff808351: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://1815893e-6ddb-4db1-825b-7701b66e25f7:8001/ -< Location: http://1815893e-6ddb-4db1-825b-7701b66e25f7:8001/ +< X-Gabbi-url: http://c39069f2-4670-4e50-b49b-242bff808351:8001/ +< Location: http://c39069f2-4670-4e50-b49b-242bff808351:8001/ { - "one_environ": 1 + "type": "cat", + "sound": "meow" } -#### with list #### -> POST http://1815893e-6ddb-4db1-825b-7701b66e25f7:8001/ +#### json partial both sides #### +> POST http://c39069f2-4670-4e50-b49b-242bff808351: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://1815893e-6ddb-4db1-825b-7701b66e25f7:8001/ -< Location: http://1815893e-6ddb-4db1-825b-7701b66e25f7:8001/ +< X-Gabbi-url: http://c39069f2-4670-4e50-b49b-242bff808351:8001/ +< Location: http://c39069f2-4670-4e50-b49b-242bff808351:8001/ [ - 1, - 2, - "3" + { + "type": "cat", + "sound": "meow" + }, + { + "type": "dog", + "sound": "woof" + } ] -#### left side json one #### -> POST http://18ce34cf-c0de-4377-be5c-bafb37ce1644:8001/ +#### default casts #### +> POST http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ > content-type: application/json +> accept: 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://18ce34cf-c0de-4377-be5c-bafb37ce1644:8001/ -< Location: http://18ce34cf-c0de-4377-be5c-bafb37ce1644:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ +< Location: http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ { - "alpha": "alpha1", - "beta": "beta1" + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false } -#### expand left side #### -> POST http://18ce34cf-c0de-4377-be5c-bafb37ce1644:8001/ +#### cast to string #### +> POST http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "alpha1": "alpha", - "beta1": "beta" + "string": "2" } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://18ce34cf-c0de-4377-be5c-bafb37ce1644:8001/ -< Location: http://18ce34cf-c0de-4377-be5c-bafb37ce1644:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ +< Location: http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ { - "alpha1": "alpha", - "beta1": "beta" + "string": "2" } -#### expand environ left side #### -> POST http://18ce34cf-c0de-4377-be5c-bafb37ce1644:8001/ +#### json set up #### +> POST http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "alpha1": "alpha", - "beta1": "beta", - "1": "cow" + "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://18ce34cf-c0de-4377-be5c-bafb37ce1644:8001/ -< Location: http://18ce34cf-c0de-4377-be5c-bafb37ce1644:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ +< Location: http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ { - "alpha1": "alpha", - "beta1": "beta", - "1": "cow" + "int": 1, + "float": 1.5, + "string": "2", + "tbool": true, + "fbool": false } -#### set key and value #### -> GET http://18ce34cf-c0de-4377-be5c-bafb37ce1644:8001/jsonator?key=1&value=10 +#### send casted json #### +> POST http://a572946c-c8ae-441e-9922-a72b76d0c3b0: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://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ +< Location: http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ { - "1": "10" + "casted": 2 } -#### default casts #### -> POST http://dfc0e4a0-d787-436a-aea7-40d8bdeca5c1:8001/ +#### historic casted json #### +> POST http://a572946c-c8ae-441e-9922-a72b76d0c3b0: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 + "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://dfc0e4a0-d787-436a-aea7-40d8bdeca5c1:8001/ -< Location: http://dfc0e4a0-d787-436a-aea7-40d8bdeca5c1:8001/ +< X-Gabbi-url: http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ +< Location: http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ { - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false + "casted": 2 } -#### get simple page #### -> GET http://c607dec7-9cbf-49aa-973c-94afea5f655a:8001/ -> x-random-header: ya +#### internal json fine #### +> POST http://a572946c-c8ae-441e-9922-a72b76d0c3b0: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: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c607dec7-9cbf-49aa-973c-94afea5f655a:8001/ +< X-Gabbi-method: POST +< Content-Type: application/json +< X-Gabbi-url: http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ +< Location: http://a572946c-c8ae-441e-9922-a72b76d0c3b0:8001/ -{} +{ + "casted": "in this 2 is not errors" +} #### yaml encoded value from disk #### -> POST http://8b476410-79b9-4ff6-bc4e-dbc69742646d:8001/somewhere +> POST http://c9176bd8-885e-4fdf-880d-aeb03a6b2fb2:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -1986,8 +2015,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://8b476410-79b9-4ff6-bc4e-dbc69742646d:8001/somewhere -< Location: http://8b476410-79b9-4ff6-bc4e-dbc69742646d:8001/somewhere +< X-Gabbi-url: http://c9176bd8-885e-4fdf-880d-aeb03a6b2fb2:8001/somewhere +< Location: http://c9176bd8-885e-4fdf-880d-aeb03a6b2fb2:8001/somewhere { "foo": { @@ -1996,7 +2025,7 @@ } #### json encoded value from disk #### -> POST http://8b476410-79b9-4ff6-bc4e-dbc69742646d:8001/somewhere +> POST http://c9176bd8-885e-4fdf-880d-aeb03a6b2fb2:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2009,8 +2038,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://8b476410-79b9-4ff6-bc4e-dbc69742646d:8001/somewhere -< Location: http://8b476410-79b9-4ff6-bc4e-dbc69742646d:8001/somewhere +< X-Gabbi-url: http://c9176bd8-885e-4fdf-880d-aeb03a6b2fb2:8001/somewhere +< Location: http://c9176bd8-885e-4fdf-880d-aeb03a6b2fb2:8001/somewhere { "foo": { @@ -2019,7 +2048,7 @@ } #### yaml parital from disk #### -> POST http://8b476410-79b9-4ff6-bc4e-dbc69742646d:8001/somewhere +> POST http://c9176bd8-885e-4fdf-880d-aeb03a6b2fb2:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2031,18 +2060,69 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://8b476410-79b9-4ff6-bc4e-dbc69742646d:8001/somewhere -< Location: http://8b476410-79b9-4ff6-bc4e-dbc69742646d:8001/somewhere +< X-Gabbi-url: http://c9176bd8-885e-4fdf-880d-aeb03a6b2fb2:8001/somewhere +< Location: http://c9176bd8-885e-4fdf-880d-aeb03a6b2fb2:8001/somewhere { "type": "cat", "sound": "meow" } -gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_simple_list -gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_simple_list ... 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.self_get_ssl_page.test_request +gabbi.tests.test_intercept.self_get_ssl_page.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.host-header_ssl_no_host.test_request +gabbi.tests.test_intercept.host-header_ssl_no_host.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.coerce_object_with_list.test_request +gabbi.tests.test_intercept.coerce_object_with_list.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_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.TestReplaceHeaders.test_empty_headers +gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers ... 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_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.backref_post_even_more_json_quote_different.test_request +gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request ... ok +#### get simple page #### +> GET http://6d8de978-eefb-48fa-9797-2736898d6722: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://6d8de978-eefb-48fa-9797-2736898d6722:8001/ + +{} + #### default casts #### -> POST http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ +> POST http://983e124c-609f-469e-820b-4689d737ac57:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2058,8 +2138,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ -< Location: http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ +< X-Gabbi-url: http://983e124c-609f-469e-820b-4689d737ac57:8001/ +< Location: http://983e124c-609f-469e-820b-4689d737ac57:8001/ { "int": 1, @@ -2070,7 +2150,7 @@ } #### cast to string #### -> POST http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ +> POST http://983e124c-609f-469e-820b-4689d737ac57:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2082,15 +2162,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ -< Location: http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ +< X-Gabbi-url: http://983e124c-609f-469e-820b-4689d737ac57:8001/ +< Location: http://983e124c-609f-469e-820b-4689d737ac57:8001/ { "string": "2" } #### json set up #### -> POST http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ +> POST http://983e124c-609f-469e-820b-4689d737ac57:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2106,8 +2186,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ -< Location: http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ +< X-Gabbi-url: http://983e124c-609f-469e-820b-4689d737ac57:8001/ +< Location: http://983e124c-609f-469e-820b-4689d737ac57:8001/ { "int": 1, @@ -2118,7 +2198,7 @@ } #### send casted json #### -> POST http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ +> POST http://983e124c-609f-469e-820b-4689d737ac57:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2130,192 +2210,204 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ -< Location: http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ +< X-Gabbi-url: http://983e124c-609f-469e-820b-4689d737ac57:8001/ +< Location: http://983e124c-609f-469e-820b-4689d737ac57:8001/ { "casted": 2 } -#### historic casted json #### -> POST http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ +#### post data #### +> POST http://7b4141fe-e006-4fa8-80bf-d80920f42851:8001/ > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "casted": 2 + "one_string": "1", + "one_int": 1, + "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ -< Location: http://d55feb1c-0fce-40af-9b60-062be847bd2f:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://7b4141fe-e006-4fa8-80bf-d80920f42851:8001/ +< Location: http://7b4141fe-e006-4fa8-80bf-d80920f42851:8001/ { - "casted": 2 + "one_string": "1", + "one_int": 1, + "one_float": 1.1 } -#### get simple page #### -> GET http://0ddc1bf0-90c1-493b-9513-e226d8872411:8001/ -> x-random-header: ya +#### use data #### +> POST http://7b4141fe-e006-4fa8-80bf-d80920f42851: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: GET +< X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://0ddc1bf0-90c1-493b-9513-e226d8872411:8001/ +< X-Gabbi-url: http://7b4141fe-e006-4fa8-80bf-d80920f42851:8001/ +< Location: http://7b4141fe-e006-4fa8-80bf-d80920f42851:8001/ -{} +{ + "one_string": "1", + "one_int": 1, + "one_float": 1.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.self_get_ssl_page.test_request -gabbi.tests.test_intercept.self_get_ssl_page.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.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.backref_get_a_historical_response.test_request -gabbi.tests.test_intercept.backref_get_a_historical_response.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.coerce_check_posted_data.test_request -gabbi.tests.test_intercept.coerce_check_posted_data.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.backref_post_even_more_json.test_request -gabbi.tests.test_intercept.backref_post_even_more_json.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 -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 -/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 -gabbi.tests.test_intercept.skipall_a_skipped_test.test_request -gabbi.tests.test_intercept.skipall_a_skipped_test.test_request ... skipped 'entire suite skipped' -/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 -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_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_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_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 -#### confirm notempty #### -> GET http://cf511b8f-ec04-4df6-9fcb-340b6b708e0e:8001/notempty +#### from environ #### +> POST http://7b4141fe-e006-4fa8-80bf-d80920f42851: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://7b4141fe-e006-4fa8-80bf-d80920f42851:8001/ +< Location: http://7b4141fe-e006-4fa8-80bf-d80920f42851:8001/ -notempty +{ + "one_environ": 1 +} -#### json encoded value from disk #### -> POST http://6b73cb88-dec6-42bf-b39e-41b118130eed:8001/ +#### with list #### +> POST http://7b4141fe-e006-4fa8-80bf-d80920f42851: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://7b4141fe-e006-4fa8-80bf-d80920f42851:8001/ +< Location: http://7b4141fe-e006-4fa8-80bf-d80920f42851:8001/ + +[ + 1, + 2, + "3" +] + +#### object with list #### +> POST http://7b4141fe-e006-4fa8-80bf-d80920f42851:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "foo": { - "b\u00e1r": 1 - } + "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://6b73cb88-dec6-42bf-b39e-41b118130eed:8001/ -< Location: http://6b73cb88-dec6-42bf-b39e-41b118130eed:8001/ +< X-Gabbi-url: http://7b4141fe-e006-4fa8-80bf-d80920f42851:8001/ +< Location: http://7b4141fe-e006-4fa8-80bf-d80920f42851:8001/ { - "foo": { - "b\u00e1r": 1 - } + "collection": [ + { + "alpha": 1, + "beta": "max" + }, + { + "alpha": 2, + "beta": "climb" + } + ] } +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.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.queryparams_url_in_param.test_request +gabbi.tests.test_intercept.queryparams_url_in_param.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.poll_loop_location.test_request +gabbi.tests.test_intercept.poll_loop_location.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_post_extra_data.test_request +gabbi.tests.test_intercept.coerce_post_extra_data.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_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.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.coerce_post_data.test_request +gabbi.tests.test_intercept.coerce_post_data.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.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.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_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_intercept.json-extensions_test_sort.test_request +gabbi.tests.test_intercept.json-extensions_test_sort.test_request ... ok +gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required +gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required ... 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.casting_cast_to_string.test_request +gabbi.tests.test_intercept.casting_cast_to_string.test_request ... ok #### get simple page #### -> GET http://d2ba3431-995d-43e8-8e25-88a80e39a677:8001/ +> GET http://a5609bb5-e71c-4993-93ff-180e7a7a3e8b:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2323,34 +2415,170 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d2ba3431-995d-43e8-8e25-88a80e39a677:8001/ +< X-Gabbi-url: http://a5609bb5-e71c-4993-93ff-180e7a7a3e8b:8001/ {} -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.poll_loop_location.test_request -gabbi.tests.test_intercept.poll_loop_location.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.casting_json_set_up.test_request -gabbi.tests.test_intercept.casting_json_set_up.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_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_get_prior_url.test_request -gabbi.tests.test_intercept.last-url_get_prior_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 -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.queryparams_url_in_param.test_request -gabbi.tests.test_intercept.queryparams_url_in_param.test_request ... ok -gabbi.tests.test_intercept.queryparams_multi_params.test_request -gabbi.tests.test_intercept.queryparams_multi_params.test_request ... ok +#### left side json one #### +> POST http://a6944493-46f7-433f-878f-dee3a6784657: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://a6944493-46f7-433f-878f-dee3a6784657:8001/ +< Location: http://a6944493-46f7-433f-878f-dee3a6784657:8001/ + +{ + "alpha": "alpha1", + "beta": "beta1" +} + +#### expand left side #### +> POST http://a6944493-46f7-433f-878f-dee3a6784657: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://a6944493-46f7-433f-878f-dee3a6784657:8001/ +< Location: http://a6944493-46f7-433f-878f-dee3a6784657:8001/ + +{ + "alpha1": "alpha", + "beta1": "beta" +} + +#### default casts #### +> POST http://be8f454a-2159-4053-b523-293ac695a6ad: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://be8f454a-2159-4053-b523-293ac695a6ad:8001/ +< Location: http://be8f454a-2159-4053-b523-293ac695a6ad:8001/ + +{ + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false +} + +#### cast to string #### +> POST http://be8f454a-2159-4053-b523-293ac695a6ad: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://be8f454a-2159-4053-b523-293ac695a6ad:8001/ +< Location: http://be8f454a-2159-4053-b523-293ac695a6ad:8001/ + +{ + "string": "2" +} + +#### json set up #### +> POST http://be8f454a-2159-4053-b523-293ac695a6ad: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://be8f454a-2159-4053-b523-293ac695a6ad:8001/ +< Location: http://be8f454a-2159-4053-b523-293ac695a6ad:8001/ + +{ + "int": 1, + "float": 1.5, + "string": "2", + "tbool": true, + "fbool": false +} + +#### send casted json #### +> POST http://be8f454a-2159-4053-b523-293ac695a6ad: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://be8f454a-2159-4053-b523-293ac695a6ad:8001/ +< Location: http://be8f454a-2159-4053-b523-293ac695a6ad:8001/ + +{ + "casted": 2 +} + +#### historic casted json #### +> POST http://be8f454a-2159-4053-b523-293ac695a6ad: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://be8f454a-2159-4053-b523-293ac695a6ad:8001/ +< Location: http://be8f454a-2159-4053-b523-293ac695a6ad:8001/ + +{ + "casted": 2 +} + #### post data #### -> POST http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +> POST http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2363,8 +2591,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ -< Location: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +< X-Gabbi-url: http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ +< Location: http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ { "one_string": "1", @@ -2373,7 +2601,7 @@ } #### use data #### -> POST http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +> POST http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2386,8 +2614,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ -< Location: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +< X-Gabbi-url: http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ +< Location: http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ { "one_string": "1", @@ -2396,7 +2624,7 @@ } #### from environ #### -> POST http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +> POST http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2407,15 +2635,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ -< Location: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +< X-Gabbi-url: http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ +< Location: http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ { "one_environ": 1 } #### with list #### -> POST http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +> POST http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2428,8 +2656,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ -< Location: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +< X-Gabbi-url: http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ +< Location: http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ [ 1, @@ -2438,7 +2666,7 @@ ] #### object with list #### -> POST http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +> POST http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2458,8 +2686,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ -< Location: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +< X-Gabbi-url: http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ +< Location: http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ { "collection": [ @@ -2475,7 +2703,7 @@ } #### post extra data #### -> POST http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +> POST http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2504,8 +2732,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ -< Location: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +< X-Gabbi-url: http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ +< Location: http://3a0f82e0-47b1-4a69-9854-397693edd6ba:8001/ { "a": 1, @@ -2529,118 +2757,303 @@ } } -#### check posted data #### -> POST http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +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.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_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.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.queryparams_unicode.test_request +gabbi.tests.test_intercept.queryparams_unicode.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 +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 +/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 +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_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 +/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_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 +gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port +gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port ... ok +#### get simple page #### +> GET http://ccc6e619-9406-4dba-a7e1-d79f417ec3d1: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://ccc6e619-9406-4dba-a7e1-d79f417ec3d1:8001/ + +{} + +#### left side json one #### +> POST http://dcaba17b-c531-4afe-b67f-36de05f5ceb8: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 - } + "alpha": "alpha1", + "beta": "beta1" +} + +< 200 OK +< X-Gabbi-method: POST +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://dcaba17b-c531-4afe-b67f-36de05f5ceb8:8001/ +< Location: http://dcaba17b-c531-4afe-b67f-36de05f5ceb8:8001/ + +{ + "alpha": "alpha1", + "beta": "beta1" +} + +#### expand left side #### +> POST http://dcaba17b-c531-4afe-b67f-36de05f5ceb8: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://dcaba17b-c531-4afe-b67f-36de05f5ceb8:8001/ +< Location: http://dcaba17b-c531-4afe-b67f-36de05f5ceb8:8001/ + +{ + "alpha1": "alpha", + "beta1": "beta" +} + +#### expand environ left side #### +> POST http://dcaba17b-c531-4afe-b67f-36de05f5ceb8: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://dcaba17b-c531-4afe-b67f-36de05f5ceb8:8001/ +< Location: http://dcaba17b-c531-4afe-b67f-36de05f5ceb8:8001/ + +{ + "alpha1": "alpha", + "beta1": "beta", + "1": "cow" +} + +#### set key and value #### +> GET http://dcaba17b-c531-4afe-b67f-36de05f5ceb8: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" +} + +#### yaml encoded value from disk #### +> POST http://20494624-d348-4b9c-839a-226005e69d98: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://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ -< Location: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +< X-Gabbi-url: http://20494624-d348-4b9c-839a-226005e69d98:8001/somewhere +< Location: http://20494624-d348-4b9c-839a-226005e69d98: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 #### -> POST http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +#### json encoded value from disk #### +> POST http://20494624-d348-4b9c-839a-226005e69d98: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://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ -< Location: http://be030a45-4950-4b96-a9a0-7d93920a0755:8001/ +< X-Gabbi-url: http://20494624-d348-4b9c-839a-226005e69d98:8001/somewhere +< Location: http://20494624-d348-4b9c-839a-226005e69d98: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 } } +/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 +gabbi.tests.test_intercept.self_checklimit.test_request +gabbi.tests.test_intercept.self_checklimit.test_request ... ok +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_intercept.data_json_value_from_disk.test_request +gabbi.tests.test_intercept.data_json_value_from_disk.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_replacers.EnvironReplaceTest.test_environ_boolean +gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean ... 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_suite.SuiteTest.test_suite_catches_fixture_fail +gabbi.tests.test_suite.SuiteTest.test_suite_catches_fixture_fail ... 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://c19bce53-2026-4972-874f-bb0382e9a7e3: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://c19bce53-2026-4972-874f-bb0382e9a7e3:8001/ + +{} + +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://3e6db84d-aee3-4a7c-bcfc-9cfd77e3fa28: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://3e6db84d-aee3-4a7c-bcfc-9cfd77e3fa28:8001/ + +{} + #### left side json one #### -> POST http://c045ffe3-da7e-4536-a7af-5997cc181e1c:8001/ +> POST http://0cc24cd5-8466-42d2-b711-7f8f99720d23:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2652,8 +3065,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c045ffe3-da7e-4536-a7af-5997cc181e1c:8001/ -< Location: http://c045ffe3-da7e-4536-a7af-5997cc181e1c:8001/ +< X-Gabbi-url: http://0cc24cd5-8466-42d2-b711-7f8f99720d23:8001/ +< Location: http://0cc24cd5-8466-42d2-b711-7f8f99720d23:8001/ { "alpha": "alpha1", @@ -2661,7 +3074,7 @@ } #### expand left side #### -> POST http://c045ffe3-da7e-4536-a7af-5997cc181e1c:8001/ +> POST http://0cc24cd5-8466-42d2-b711-7f8f99720d23:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2673,8 +3086,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c045ffe3-da7e-4536-a7af-5997cc181e1c:8001/ -< Location: http://c045ffe3-da7e-4536-a7af-5997cc181e1c:8001/ +< X-Gabbi-url: http://0cc24cd5-8466-42d2-b711-7f8f99720d23:8001/ +< Location: http://0cc24cd5-8466-42d2-b711-7f8f99720d23:8001/ { "alpha1": "alpha", @@ -2682,7 +3095,7 @@ } #### expand environ left side #### -> POST http://c045ffe3-da7e-4536-a7af-5997cc181e1c:8001/ +> POST http://0cc24cd5-8466-42d2-b711-7f8f99720d23:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2695,8 +3108,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c045ffe3-da7e-4536-a7af-5997cc181e1c:8001/ -< Location: http://c045ffe3-da7e-4536-a7af-5997cc181e1c:8001/ +< X-Gabbi-url: http://0cc24cd5-8466-42d2-b711-7f8f99720d23:8001/ +< Location: http://0cc24cd5-8466-42d2-b711-7f8f99720d23:8001/ { "alpha1": "alpha", @@ -2704,8 +3117,34 @@ "1": "cow" } +#### set key and value #### +> GET http://0cc24cd5-8466-42d2-b711-7f8f99720d23: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://0cc24cd5-8466-42d2-b711-7f8f99720d23: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" +} + #### default casts #### -> POST http://64b1d6be-40a1-428f-8ce0-16db6f4f07af:8001/ +> POST http://26c4f7b7-7e82-47f2-bbbb-56e84db0e6e4:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2721,8 +3160,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://64b1d6be-40a1-428f-8ce0-16db6f4f07af:8001/ -< Location: http://64b1d6be-40a1-428f-8ce0-16db6f4f07af:8001/ +< X-Gabbi-url: http://26c4f7b7-7e82-47f2-bbbb-56e84db0e6e4:8001/ +< Location: http://26c4f7b7-7e82-47f2-bbbb-56e84db0e6e4:8001/ { "int": 1, @@ -2733,7 +3172,7 @@ } #### cast to string #### -> POST http://64b1d6be-40a1-428f-8ce0-16db6f4f07af:8001/ +> POST http://26c4f7b7-7e82-47f2-bbbb-56e84db0e6e4:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2745,88 +3184,81 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://64b1d6be-40a1-428f-8ce0-16db6f4f07af:8001/ -< Location: http://64b1d6be-40a1-428f-8ce0-16db6f4f07af:8001/ +< X-Gabbi-url: http://26c4f7b7-7e82-47f2-bbbb-56e84db0e6e4:8001/ +< Location: http://26c4f7b7-7e82-47f2-bbbb-56e84db0e6e4:8001/ { "string": "2" } -#### json set up #### -> POST http://64b1d6be-40a1-428f-8ce0-16db6f4f07af:8001/ +#### yaml encoded value from disk #### +> POST http://e1d0395e-5aad-4ef0-a3e3-e48c8aadb40d:8001/somewhere > 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://64b1d6be-40a1-428f-8ce0-16db6f4f07af:8001/ -< Location: http://64b1d6be-40a1-428f-8ce0-16db6f4f07af:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://e1d0395e-5aad-4ef0-a3e3-e48c8aadb40d:8001/somewhere +< Location: http://e1d0395e-5aad-4ef0-a3e3-e48c8aadb40d:8001/somewhere { - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false + "foo": { + "b\u00e1r": 1 + } } +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.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.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.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.json-extensions_test_len.test_request +gabbi.tests.test_intercept.json-extensions_test_len.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.json-extensions_test_filtered.test_request +gabbi.tests.test_intercept.json-extensions_test_filtered.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.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.casting_default_casts.test_request +gabbi.tests.test_intercept.casting_default_casts.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.jsonbody_test_empty_list.test_request +gabbi.tests.test_intercept.jsonbody_test_empty_list.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 #### get simple page #### -> GET http://6eb3ea84-08e7-4dbd-92bf-9944072fb0bd:8001/ +> GET http://28e07eb1-b9ff-4138-96cd-8e397c45c0b2: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=nogabbi.tests.test_intercept.jsonbody_test_empty_list.test_request -gabbi.tests.test_intercept.jsonbody_test_empty_list.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.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.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.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.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.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.queryparams_joined_params.test_request -gabbi.tests.test_intercept.queryparams_joined_params.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_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 +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://28e07eb1-b9ff-4138-96cd-8e397c45c0b2:8001/ + +{} + #### json encoded value from disk #### -> POST http://45d1b19a-3da8-4e5f-9f88-5070d54dcb9d:8001/ +> POST http://d70ef2fa-29c9-4903-af15-a25c8ab6427b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2839,8 +3271,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://45d1b19a-3da8-4e5f-9f88-5070d54dcb9d:8001/ -< Location: http://45d1b19a-3da8-4e5f-9f88-5070d54dcb9d:8001/ +< X-Gabbi-url: http://d70ef2fa-29c9-4903-af15-a25c8ab6427b:8001/ +< Location: http://d70ef2fa-29c9-4903-af15-a25c8ab6427b:8001/ { "foo": { @@ -2849,7 +3281,7 @@ } #### json parital from disk #### -> POST http://45d1b19a-3da8-4e5f-9f88-5070d54dcb9d:8001/ +> POST http://d70ef2fa-29c9-4903-af15-a25c8ab6427b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2861,36 +3293,16 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://45d1b19a-3da8-4e5f-9f88-5070d54dcb9d:8001/ -< Location: http://45d1b19a-3da8-4e5f-9f88-5070d54dcb9d:8001/ +< X-Gabbi-url: http://d70ef2fa-29c9-4903-af15-a25c8ab6427b:8001/ +< Location: http://d70ef2fa-29c9-4903-af15-a25c8ab6427b:8001/ { "type": "cat", "sound": "meow" } -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_pluggable_response.test_request -gabbi.tests.test_intercept.self_test_pluggable_response.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 -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_mix.test_request -gabbi.tests.test_intercept.regex_regex_string_test_mix.test_request ... ok #### post data #### -> POST http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ +> POST http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2903,8 +3315,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ -< Location: http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ +< X-Gabbi-url: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ +< Location: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ { "one_string": "1", @@ -2913,7 +3325,7 @@ } #### use data #### -> POST http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ +> POST http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2926,8 +3338,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ -< Location: http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ +< X-Gabbi-url: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ +< Location: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ { "one_string": "1", @@ -2936,7 +3348,7 @@ } #### from environ #### -> POST http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ +> POST http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2947,15 +3359,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ -< Location: http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ +< X-Gabbi-url: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ +< Location: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ { "one_environ": 1 } #### with list #### -> POST http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ +> POST http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2968,8 +3380,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ -< Location: http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ +< X-Gabbi-url: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ +< Location: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ [ 1, @@ -2978,7 +3390,7 @@ ] #### object with list #### -> POST http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ +> POST http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -2998,8 +3410,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ -< Location: http://3aa978c9-7cb2-46e5-925e-93bb2cb35c15:8001/ +< X-Gabbi-url: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ +< Location: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ { "collection": [ @@ -3014,144 +3426,215 @@ ] } -#### default casts #### -> POST http://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ +#### post extra data #### +> POST http://761d98e0-be1e-4a7d-83ca-8ca187b31a83: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://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ -< Location: http://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ +< Location: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83: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 + } + } } -#### cast to string #### -> POST http://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ +#### check posted data #### +> POST http://761d98e0-be1e-4a7d-83ca-8ca187b31a83: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://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ -< Location: http://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83:8001/ +< Location: http://761d98e0-be1e-4a7d-83ca-8ca187b31a83: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://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ -> content-type: application/json -> accept: application/json +#### confirm notempty #### +> GET http://7672be7d-76ff-4121-8421-f876e15e1fc1:8001/notempty > 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://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ -< Location: http://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ -{ - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false -} +notempty -#### send casted json #### -> POST http://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ +gabbi.tests.test_intercept.casting_json_set_up.test_request +gabbi.tests.test_intercept.casting_json_set_up.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 +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +#### get simple page #### +> GET http://89168520-d927-41f7-8436-1ea71fd77cc4: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://89168520-d927-41f7-8436-1ea71fd77cc4:8001/ + +{} + +#### json encoded value from disk #### +> POST http://0bf3f4c4-b9b7-4b6b-9722-6bfd96178679:8001/ > 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://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ -< Location: http://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://0bf3f4c4-b9b7-4b6b-9722-6bfd96178679:8001/ +< Location: http://0bf3f4c4-b9b7-4b6b-9722-6bfd96178679:8001/ { - "casted": 2 + "foo": { + "b\u00e1r": 1 + } } -#### historic casted json #### -> POST http://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ +#### post data #### +> POST http://e82da843-7c66-4d1e-8870-0ccdc9972ad4:8001/ > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "casted": 2 + "one_string": "1", + "one_int": 1, + "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ -< Location: http://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://e82da843-7c66-4d1e-8870-0ccdc9972ad4:8001/ +< Location: http://e82da843-7c66-4d1e-8870-0ccdc9972ad4:8001/ { - "casted": 2 + "one_string": "1", + "one_int": 1, + "one_float": 1.1 } -#### internal json fine #### -> POST http://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ +#### yaml encoded value from disk #### +> POST http://808b239f-839b-4b93-a5ca-13e7e950130e:8001/somewhere > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "casted": "in this 2 is not errors" + "foo": { + "b\u00e1r": 1 + } } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ -< Location: http://00f198fe-5611-4eed-a4b3-0c615dcb1ec6:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://808b239f-839b-4b93-a5ca-13e7e950130e:8001/somewhere +< Location: http://808b239f-839b-4b93-a5ca-13e7e950130e:8001/somewhere { - "casted": "in this 2 is not errors" + "foo": { + "b\u00e1r": 1 + } } #### json encoded value from disk #### -> POST http://27c7f2f7-7c9f-4f4c-a883-246cb5623016:8001/ +> POST http://808b239f-839b-4b93-a5ca-13e7e950130e:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3164,8 +3647,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://27c7f2f7-7c9f-4f4c-a883-246cb5623016:8001/ -< Location: http://27c7f2f7-7c9f-4f4c-a883-246cb5623016:8001/ +< X-Gabbi-url: http://808b239f-839b-4b93-a5ca-13e7e950130e:8001/somewhere +< Location: http://808b239f-839b-4b93-a5ca-13e7e950130e:8001/somewhere { "foo": { @@ -3173,8 +3656,8 @@ } } -#### json parital from disk #### -> POST http://27c7f2f7-7c9f-4f4c-a883-246cb5623016:8001/ +#### yaml parital from disk #### +> POST http://808b239f-839b-4b93-a5ca-13e7e950130e:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3186,16 +3669,16 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://27c7f2f7-7c9f-4f4c-a883-246cb5623016:8001/ -< Location: http://27c7f2f7-7c9f-4f4c-a883-246cb5623016:8001/ +< X-Gabbi-url: http://808b239f-839b-4b93-a5ca-13e7e950130e:8001/somewhere +< Location: http://808b239f-839b-4b93-a5ca-13e7e950130e:8001/somewhere { "type": "cat", "sound": "meow" } -#### json partial both sides #### -> POST http://27c7f2f7-7c9f-4f4c-a883-246cb5623016:8001/ +#### yaml partial both sides #### +> POST http://808b239f-839b-4b93-a5ca-13e7e950130e:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3213,8 +3696,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://27c7f2f7-7c9f-4f4c-a883-246cb5623016:8001/ -< Location: http://27c7f2f7-7c9f-4f4c-a883-246cb5623016:8001/ +< X-Gabbi-url: http://808b239f-839b-4b93-a5ca-13e7e950130e:8001/somewhere +< Location: http://808b239f-839b-4b93-a5ca-13e7e950130e:8001/somewhere [ { @@ -3227,124 +3710,12 @@ } ] -#### get simple page #### -> GET http://3bae9ee2-c06a-479c-98c6-c45748b9a2a9: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://3bae9ee2-c06a-479c-98c6-c45748b9a2a9:8001/ - -{} - -gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request -gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request ... ok -gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean -gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean ... 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_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_suite.SuiteTest.test_suite_catches_fixture_fail -gabbi.tests.test_suite.SuiteTest.test_suite_catches_fixture_fail ... ok -#### post data #### -> POST http://f18c3057-5189-4a6d-abcb-543e70c44673: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://f18c3057-5189-4a6d-abcb-543e70c44673:8001/ -< Location: http://f18c3057-5189-4a6d-abcb-543e70c44673:8001/ - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -#### use data #### -> POST http://f18c3057-5189-4a6d-abcb-543e70c44673: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://f18c3057-5189-4a6d-abcb-543e70c44673:8001/ -< Location: http://f18c3057-5189-4a6d-abcb-543e70c44673:8001/ - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -#### from environ #### -> POST http://f18c3057-5189-4a6d-abcb-543e70c44673: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://f18c3057-5189-4a6d-abcb-543e70c44673:8001/ -< Location: http://f18c3057-5189-4a6d-abcb-543e70c44673:8001/ - -{ - "one_environ": 1 -} - +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 #### loop location #### -> GET http://46950865-e184-44d9-8d76-4917c4419ea2:8001/poller?count=2&x=1&y=2&z=3.4 +> GET http://d2e8aa91-2eb9-4fdc-be05-4bc07c571f12:8001/poller?count=2&x=1&y=2&z=3.4 > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3352,7 +3723,7 @@ #### loop location #### -> GET http://46950865-e184-44d9-8d76-4917c4419ea2:8001/poller?count=2&x=1&y=2&z=3.4 +> GET http://d2e8aa91-2eb9-4fdc-be05-4bc07c571f12:8001/poller?count=2&x=1&y=2&z=3.4 > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3360,14 +3731,14 @@ #### loop location #### -> GET http://46950865-e184-44d9-8d76-4917c4419ea2:8001/poller?count=2&x=1&y=2&z=3.4 +> GET http://d2e8aa91-2eb9-4fdc-be05-4bc07c571f12: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://46950865-e184-44d9-8d76-4917c4419ea2:8001/poller?count=2&x=1&y=2&z=3.4 +< X-Gabbi-url: http://d2e8aa91-2eb9-4fdc-be05-4bc07c571f12:8001/poller?count=2&x=1&y=2&z=3.4 { "count": [ @@ -3385,7 +3756,7 @@ } #### get simple page #### -> GET http://878e3ce8-99b1-4b11-a3f7-c8a09fa78107:8001/ +> GET http://901dadf1-9aa0-4569-899a-38134b4b238b:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3393,87 +3764,12 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://878e3ce8-99b1-4b11-a3f7-c8a09fa78107:8001/ +< X-Gabbi-url: http://901dadf1-9aa0-4569-899a-38134b4b238b:8001/ {} -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.ColorizeTest.test_colorize_missing_color -gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color ... ok - -< X-Gabbi-url: http://6eb3ea84-08e7-4dbd-92bf-9944072fb0bd:8001/ - -{} - -/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_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 -/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.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 -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_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.coerce_post_data.test_request -gabbi.tests.test_intercept.coerce_post_data.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.fixture_just_to_see_one.test_request -gabbi.tests.test_intercept.fixture_just_to_see_one.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.last-url_last_with_adjusted_parameters.test_request -gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.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 #### left side json one #### -> POST http://c1e39829-e718-491a-9b24-35b88751911f:8001/ +> POST http://b0eec544-965b-4e1a-963a-5e82083d4a3a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3485,8 +3781,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c1e39829-e718-491a-9b24-35b88751911f:8001/ -< Location: http://c1e39829-e718-491a-9b24-35b88751911f:8001/ +< X-Gabbi-url: http://b0eec544-965b-4e1a-963a-5e82083d4a3a:8001/ +< Location: http://b0eec544-965b-4e1a-963a-5e82083d4a3a:8001/ { "alpha": "alpha1", @@ -3494,7 +3790,7 @@ } #### expand left side #### -> POST http://c1e39829-e718-491a-9b24-35b88751911f:8001/ +> POST http://b0eec544-965b-4e1a-963a-5e82083d4a3a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3506,8 +3802,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c1e39829-e718-491a-9b24-35b88751911f:8001/ -< Location: http://c1e39829-e718-491a-9b24-35b88751911f:8001/ +< X-Gabbi-url: http://b0eec544-965b-4e1a-963a-5e82083d4a3a:8001/ +< Location: http://b0eec544-965b-4e1a-963a-5e82083d4a3a:8001/ { "alpha1": "alpha", @@ -3515,7 +3811,7 @@ } #### expand environ left side #### -> POST http://c1e39829-e718-491a-9b24-35b88751911f:8001/ +> POST http://b0eec544-965b-4e1a-963a-5e82083d4a3a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3528,8 +3824,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c1e39829-e718-491a-9b24-35b88751911f:8001/ -< Location: http://c1e39829-e718-491a-9b24-35b88751911f:8001/ +< X-Gabbi-url: http://b0eec544-965b-4e1a-963a-5e82083d4a3a:8001/ +< Location: http://b0eec544-965b-4e1a-963a-5e82083d4a3a:8001/ { "alpha1": "alpha", @@ -3537,34 +3833,8 @@ "1": "cow" } -#### set key and value #### -> GET http://c1e39829-e718-491a-9b24-35b88751911f: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://c1e39829-e718-491a-9b24-35b88751911f: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" -} - #### default casts #### -> POST http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ +> POST http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3580,8 +3850,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ -< Location: http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ +< X-Gabbi-url: http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ +< Location: http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ { "int": 1, @@ -3592,7 +3862,7 @@ } #### cast to string #### -> POST http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ +> POST http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3604,15 +3874,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ -< Location: http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ +< X-Gabbi-url: http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ +< Location: http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ { "string": "2" } #### json set up #### -> POST http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ +> POST http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3628,8 +3898,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ -< Location: http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ +< X-Gabbi-url: http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ +< Location: http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ { "int": 1, @@ -3640,7 +3910,7 @@ } #### send casted json #### -> POST http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ +> POST http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3652,15 +3922,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ -< Location: http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ +< X-Gabbi-url: http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ +< Location: http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ { "casted": 2 } #### historic casted json #### -> POST http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ +> POST http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -3672,459 +3942,232 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ -< Location: http://7ae1dac3-595b-4941-a51b-774f68ab046f:8001/ +< X-Gabbi-url: http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ +< Location: http://c7da6dfe-5341-4963-9624-4e364ba5db81:8001/ { "casted": 2 } -#### yaml encoded value from disk #### -> POST http://cb49d2ab-f1e1-43ce-9596-522331a68b02: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://cb49d2ab-f1e1-43ce-9596-522331a68b02:8001/somewhere -< Location: http://cb49d2ab-f1e1-43ce-9596-522331a68b02:8001/somewhere - -{ - "foo": { - "b\u00e1r": 1 - } -} - -#### json encoded value from disk #### -> POST http://cb49d2ab-f1e1-43ce-9596-522331a68b02: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://cb49d2ab-f1e1-43ce-9596-522331a68b02:8001/somewhere -< Location: http://cb49d2ab-f1e1-43ce-9596-522331a68b02:8001/somewhere - -{ - "foo": { - "b\u00e1r": 1 - } -} - -#### yaml parital from disk #### -> POST http://cb49d2ab-f1e1-43ce-9596-522331a68b02: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://cb49d2ab-f1e1-43ce-9596-522331a68b02:8001/somewhere -< Location: http://cb49d2ab-f1e1-43ce-9596-522331a68b02:8001/somewhere - -{ - "type": "cat", - "sound": "meow" -} - -#### yaml partial both sides #### -> POST http://cb49d2ab-f1e1-43ce-9596-522331a68b02: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://cb49d2ab-f1e1-43ce-9596-522331a68b02:8001/somewhere -< Location: http://cb49d2ab-f1e1-43ce-9596-522331a68b02:8001/somewhere - -[ - { - "type": "cat", - "sound": "meow" - }, - { - "type": "dog", - "sound": "woof" - } -] - -gabbi.tests.test_intercept.self_confirm_environ.test_request -gabbi.tests.test_intercept.self_confirm_environ.test_request ... 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 -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.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 -#### header named http #### -> GET http://3ebb295d-8f7e-4bfd-9582-40c9e13c2fbb:8001/header_key -> http: some-scheme +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.data_post_data_for_next.test_request +gabbi.tests.test_intercept.data_post_data_for_next.test_request ... ok +#### get simple page #### +> GET http://202e2b65-ce6c-4dc7-a9b3-2c832f4fe0c7: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://3ebb295d-8f7e-4bfd-9582-40c9e13c2fbb:8001/header_key -< HTTP: some-scheme +< X-Gabbi-url: http://202e2b65-ce6c-4dc7-a9b3-2c832f4fe0c7:8001/ {} -#### post data #### -> POST http://668ffc6a-fddc-4bdc-b46f-1ae825a30014: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://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ -< Location: http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -#### use data #### -> POST http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ +#### left side json one #### +> POST http://671346eb-dbef-4402-8535-30d94a92375d: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://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ -< Location: http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ +< X-Gabbi-url: http://671346eb-dbef-4402-8535-30d94a92375d:8001/ +< Location: http://671346eb-dbef-4402-8535-30d94a92375d:8001/ { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "alpha": "alpha1", + "beta": "beta1" } -#### from environ #### -> POST http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ +#### default casts #### +> POST http://9f2ebeba-278f-4d31-bfe2-b298c923b94f: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://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ -< Location: http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://9f2ebeba-278f-4d31-bfe2-b298c923b94f:8001/ +< Location: http://9f2ebeba-278f-4d31-bfe2-b298c923b94f:8001/ { - "one_environ": 1 + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false } -#### with list #### -> POST http://668ffc6a-fddc-4bdc-b46f-1ae825a30014: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://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ -< Location: http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ - -[ - 1, - 2, - "3" -] - -#### object with list #### -> POST http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ +#### cast to string #### +> POST http://9f2ebeba-278f-4d31-bfe2-b298c923b94f: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" - } - ] + "string": "2" } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ -< Location: http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://9f2ebeba-278f-4d31-bfe2-b298c923b94f:8001/ +< Location: http://9f2ebeba-278f-4d31-bfe2-b298c923b94f:8001/ { - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] + "string": "2" } -#### post extra data #### -> POST http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ +#### json set up #### +> POST http://9f2ebeba-278f-4d31-bfe2-b298c923b94f: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 ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ -< Location: http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://9f2ebeba-278f-4d31-bfe2-b298c923b94f:8001/ +< Location: http://9f2ebeba-278f-4d31-bfe2-b298c923b94f: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 - } - } + "int": 1, + "float": 1.5, + "string": "2", + "tbool": true, + "fbool": false } -#### check posted data #### -> POST http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ -> content-type: application/json +gabbi.tests.test_intercept.queryparams_multi_params.test_request +gabbi.tests.test_intercept.queryparams_multi_params.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.coerce_string_internal_replace.test_request +gabbi.tests.test_intercept.coerce_string_internal_replace.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.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.jsonbody_test_fully_body.test_request +gabbi.tests.test_intercept.jsonbody_test_fully_body.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_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_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_from_prior_response.test_request +gabbi.tests.test_intercept.data_post_data_from_prior_response.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 +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 +#### get simple page #### +> GET http://80e225bf-a255-4c38-bfb3-1b9274517088:8001/ +> x-random-header: ya > 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 +< X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ -< Location: http://668ffc6a-fddc-4bdc-b46f-1ae825a30014:8001/ +< X-Gabbi-url: http://80e225bf-a255-4c38-bfb3-1b9274517088: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 - } - } -} +{} -#### left side json one #### -> POST http://a4da795e-1bcb-402c-95e5-dc272b002b47:8001/ +#### default casts #### +> POST http://8dba1189-825e-4510-9f93-4db5041a4931:8001/ > content-type: application/json +> accept: 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://a4da795e-1bcb-402c-95e5-dc272b002b47:8001/ -< Location: http://a4da795e-1bcb-402c-95e5-dc272b002b47:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://8dba1189-825e-4510-9f93-4db5041a4931:8001/ +< Location: http://8dba1189-825e-4510-9f93-4db5041a4931:8001/ { - "alpha": "alpha1", - "beta": "beta1" + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false } -#### expand left side #### -> POST http://a4da795e-1bcb-402c-95e5-dc272b002b47:8001/ +#### cast to string #### +> POST http://8dba1189-825e-4510-9f93-4db5041a4931:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "alpha1": "alpha", - "beta1": "beta" + "string": "2" } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://a4da795e-1bcb-402c-95e5-dc272b002b47:8001/ -< Location: http://a4da795e-1bcb-402c-95e5-dc272b002b47:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://8dba1189-825e-4510-9f93-4db5041a4931:8001/ +< Location: http://8dba1189-825e-4510-9f93-4db5041a4931:8001/ { - "alpha1": "alpha", - "beta1": "beta" + "string": "2" } -#### get simple page #### -> GET http://6190a213-ca95-4d94-8032-efdce297fd9f: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://6190a213-ca95-4d94-8032-efdce297fd9f:8001/ - -{} - -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.queryparams_simple_param.test_request -gabbi.tests.test_intercept.queryparams_simple_param.test_request ... ok -gabbi.tests.test_intercept.poll_poller.test_request -gabbi.tests.test_intercept.poll_poller.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.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.cookie_get_a_cookie.test_request -gabbi.tests.test_intercept.cookie_get_a_cookie.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_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 #### post data #### -> POST http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +> POST http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4137,8 +4180,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ -< Location: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +< X-Gabbi-url: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ +< Location: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ { "one_string": "1", @@ -4147,7 +4190,7 @@ } #### use data #### -> POST http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +> POST http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4160,8 +4203,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ -< Location: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +< X-Gabbi-url: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ +< Location: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ { "one_string": "1", @@ -4170,7 +4213,7 @@ } #### from environ #### -> POST http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +> POST http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4181,15 +4224,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ -< Location: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +< X-Gabbi-url: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ +< Location: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ { "one_environ": 1 } #### with list #### -> POST http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +> POST http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4202,8 +4245,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ -< Location: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +< X-Gabbi-url: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ +< Location: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ [ 1, @@ -4212,7 +4255,7 @@ ] #### object with list #### -> POST http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +> POST http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4232,8 +4275,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ -< Location: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +< X-Gabbi-url: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ +< Location: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ { "collection": [ @@ -4249,7 +4292,7 @@ } #### post extra data #### -> POST http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +> POST http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4278,8 +4321,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ -< Location: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +< X-Gabbi-url: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ +< Location: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ { "a": 1, @@ -4304,7 +4347,7 @@ } #### check posted data #### -> POST http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +> POST http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4333,8 +4376,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ -< Location: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +< X-Gabbi-url: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ +< Location: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ { "a": 1, @@ -4359,7 +4402,7 @@ } #### Post again and check the results #### -> POST http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +> POST http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4388,8 +4431,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ -< Location: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +< X-Gabbi-url: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ +< Location: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ { "a": 1, @@ -4414,7 +4457,7 @@ } #### Post again and check the results (reversed) #### -> POST http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +> POST http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4443,8 +4486,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ -< Location: http://c8c87d3e-2539-44f1-a359-f5186c0dbdac:8001/ +< X-Gabbi-url: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ +< Location: http://492945a7-dd3b-45db-bb5c-8c1afd471ee0:8001/ { "a": 1, @@ -4468,75 +4511,76 @@ } } -#### get simple page #### -> GET http://267a2f3f-d8fd-426b-a55b-47b74c535284:8001/ -> x-random-header: ya +#### header named http #### +> GET http://4624af20-703d-4459-91d5-80cbfa94cebc: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://267a2f3f-d8fd-426b-a55b-47b74c535284:8001/ +< X-Gabbi-url: http://4624af20-703d-4459-91d5-80cbfa94cebc:8001/header_key +< HTTP: some-scheme {} -#### yaml encoded value from disk #### -> POST http://9c01e6c0-294f-4ded-b2bb-8bc3c4cb5881: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://9c01e6c0-294f-4ded-b2bb-8bc3c4cb5881:8001/somewhere -< Location: http://9c01e6c0-294f-4ded-b2bb-8bc3c4cb5881:8001/somewhere - -{ - "foo": { - "b\u00e1r": 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.regex_regex_string_test_splat.test_request -gabbi.tests.test_intercept.regex_regex_string_test_splat.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.fixture_just_to_see_two.test_request -gabbi.tests.test_intercept.fixture_just_to_see_two.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.self_use_a_historical_location.test_request -gabbi.tests.test_intercept.self_use_a_historical_location.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 -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.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.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.method-shortcut_post_with_query.test_request -gabbi.tests.test_intercept.method-shortcut_post_with_query.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_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_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_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 #### post data #### -> POST http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +> POST http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4549,8 +4593,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ -< Location: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +< X-Gabbi-url: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ +< Location: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ { "one_string": "1", @@ -4559,7 +4603,7 @@ } #### use data #### -> POST http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +> POST http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4572,8 +4616,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ -< Location: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +< X-Gabbi-url: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ +< Location: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ { "one_string": "1", @@ -4582,7 +4626,7 @@ } #### from environ #### -> POST http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +> POST http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4593,15 +4637,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ -< Location: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +< X-Gabbi-url: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ +< Location: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ { "one_environ": 1 } #### with list #### -> POST http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +> POST http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4614,8 +4658,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ -< Location: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +< X-Gabbi-url: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ +< Location: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ [ 1, @@ -4624,7 +4668,7 @@ ] #### object with list #### -> POST http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +> POST http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4644,8 +4688,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ -< Location: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +< X-Gabbi-url: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ +< Location: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ { "collection": [ @@ -4661,7 +4705,7 @@ } #### post extra data #### -> POST http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +> POST http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4690,8 +4734,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ -< Location: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +< X-Gabbi-url: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ +< Location: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ { "a": 1, @@ -4716,7 +4760,7 @@ } #### check posted data #### -> POST http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +> POST http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4745,8 +4789,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ -< Location: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +< X-Gabbi-url: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ +< Location: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ { "a": 1, @@ -4771,7 +4815,7 @@ } #### Post again and check the results #### -> POST http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +> POST http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4800,8 +4844,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ -< Location: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +< X-Gabbi-url: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ +< Location: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ { "a": 1, @@ -4826,7 +4870,7 @@ } #### Post again and check the results (reversed) #### -> POST http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +> POST http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4855,8 +4899,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ -< Location: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +< X-Gabbi-url: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ +< Location: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ { "a": 1, @@ -4881,7 +4925,7 @@ } #### string internal replace #### -> POST http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +> POST http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -4893,107 +4937,58 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ -< Location: http://0adfd041-7824-4768-95ba-1300ba2bcdde:8001/ +< X-Gabbi-url: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ +< Location: http://c7eb2ecb-3b90-453a-bdb8-57f56e348d30:8001/ { "endpoint_resp": "/api/0.1/item/1", "endpoint_var": "/api/0.1/item/1" } -#### get simple page #### -> GET http://82c5424d-6676-468a-80d4-c2cec3a29250: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://82c5424d-6676-468a-80d4-c2cec3a29250:8001/ - -{} - -#### yaml encoded value from disk #### -> POST http://4f65ab04-555e-4bfc-acd0-eb8ab527989e: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://4f65ab04-555e-4bfc-acd0-eb8ab527989e:8001/somewhere -< Location: http://4f65ab04-555e-4bfc-acd0-eb8ab527989e:8001/somewhere - -{ - "foo": { - "b\u00e1r": 1 - } -} - -#### json encoded value from disk #### -> POST http://4f65ab04-555e-4bfc-acd0-eb8ab527989e: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://4f65ab04-555e-4bfc-acd0-eb8ab527989e:8001/somewhere -< Location: http://4f65ab04-555e-4bfc-acd0-eb8ab527989e:8001/somewhere - -{ - "foo": { - "b\u00e1r": 1 - } -} - ---------------------------------------------------------------------- -Ran 314 tests in 19.974s +Ran 314 tests in 3.690s OK (skipped=2, expected failures=15) + stestr slowest -Test id Runtime (s) ------------------------------------------------------------------------------------------- ----------- -gabbi.tests.test_driver.DriverTest.test_build_require_ssl 7.004 -gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request 6.216 -gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request 5.087 -gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files 3.044 -gabbi.tests.test_intercept.backref_get_a_historical_response.test_request 2.506 -gabbi.tests.test_intercept.coerce_post_extra_data.test_request 2.471 -gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request 2.379 -gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request 2.216 -gabbi.tests.test_intercept.coerce_string_internal_replace.test_request 1.969 -gabbi.tests.test_intercept.coerce_object_with_list.test_request 1.607 +Test id Runtime (s) +-------------------------------------------------------------------------------------- ----------- +gabbi.tests.test_intercept.coerce_string_internal_replace.test_request 0.991 +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request 0.562 +gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request 0.458 +gabbi.tests.test_intercept.backref_get_a_historical_response.test_request 0.437 +gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request 0.393 +gabbi.tests.test_intercept.coerce_check_posted_data.test_request 0.386 +gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request 0.361 +gabbi.tests.test_intercept.coerce_post_extra_data.test_request 0.322 +gabbi.tests.test_intercept.casting_internal_json_fine.test_request 0.246 +gabbi.tests.test_intercept.poll_loop_location.test_request 0.241 + rm -rf .stestr -+ [ 3.12 = disabled ] -+ + cut -d. -f1 -echo 3.12 ++ 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)' + subunit2pyunit -+ 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) +/usr/lib/python3.12/unittest/case.py:580: 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_intercept.contenttype_patch_no_content-type.test_request +gabbi.tests.test_intercept.contenttype_patch_no_content-type.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_handlers.HandlersTest.test_empty_response_handler @@ -5024,42 +5019,14 @@ gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_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_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 -/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 -/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 -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.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -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_intercept.contenttype_post_content-type.test_request -gabbi.tests.test_intercept.contenttype_post_content-type.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.header-key_header_named_http.test_request -gabbi.tests.test_intercept.header-key_header_named_http.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 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 +/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_header_replace_prior gabbi.tests.test_history.HistoryTest.test_header_replace_prior ... ok gabbi.tests.test_history.HistoryTest.test_header_replace_with_history @@ -5072,22 +5039,52 @@ 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.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.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_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.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 +/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_response_replace_prior +gabbi.tests.test_history.HistoryTest.test_response_replace_prior ... 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", gabbi.tests.test_handlers.HandlersTest.test_response_json_paths gabbi.tests.test_handlers.HandlersTest.test_response_json_paths ... 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_handlers.HandlersTest.test_response_json_paths_dict_type gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_dict_type ... 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_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_from_disk_json_path -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path ... 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.contenttype_put_content-type.test_request +gabbi.tests.test_intercept.contenttype_put_content-type.test_request ... ok +gabbi.tests.test_intercept.self_get_simple_page.test_request +gabbi.tests.test_intercept.self_get_simple_page.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_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_history.HistoryTest.test_response_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_response_replace_prior_regex ... ok -gabbi.tests.test_intercept.coerce_post_data.test_request -gabbi.tests.test_intercept.coerce_post_data.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_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 @@ -5098,275 +5095,372 @@ gabbi.tests.test_history.HistoryTest.test_url_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.coerce_from_environ.test_request -gabbi.tests.test_intercept.coerce_from_environ.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.contenttype_post_no_content-type.test_request -gabbi.tests.test_intercept.contenttype_post_no_content-type.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_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 -/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.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_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_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_handlers.HandlersTest.test_response_json_paths_substitution_noregex -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_noregex ... 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_splat.test_request gabbi.tests.test_intercept.regex_regex_string_test_splat.test_request ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_regex -gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_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.json-extensions_test_filtered.test_request -gabbi.tests.test_intercept.json-extensions_test_filtered.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 -gabbi.tests.test_handlers.HandlersTest.test_response_string_list_type ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_strings -gabbi.tests.test_handlers.HandlersTest.test_response_strings ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail -gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail ... ok -gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_output -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_handlers.TestJSONHandlerAccept.test_many_content_types -gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types ... ok -gabbi.tests.test_intercept.coerce_use_data.test_request -gabbi.tests.test_intercept.coerce_use_data.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.coerce_object_with_list.test_request -gabbi.tests.test_intercept.coerce_object_with_list.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_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.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-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_inner_fixture.inner_get_two.test_request -gabbi.tests.test_inner_fixture.inner_get_two.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.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.data_load_data_list.test_request -gabbi.tests.test_intercept.data_load_data_list.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.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_two.test_request -gabbi.tests.test_intercept.fixture_just_to_see_two.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_fail_path +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path ... 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_inner_fixture.inner_get_three.test_request +gabbi.tests.test_inner_fixture.inner_get_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.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.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_host_without_ssl.test_request -gabbi.tests.test_intercept.host-header_host_without_ssl.test_request ... ok -gabbi.tests.test_intercept.poll_poller.test_request -gabbi.tests.test_intercept.poll_poller.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_inheritance_of_defaults.test_request -gabbi.tests.test_intercept.self_inheritance_of_defaults.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.casting_json_set_up.test_request -gabbi.tests.test_intercept.casting_json_set_up.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.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.backref_post_some_json.test_request +gabbi.tests.test_intercept.backref_post_some_json.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.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_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.host-header_ssl_with_host.test_request +gabbi.tests.test_intercept.host-header_ssl_with_host.test_request ... ok +gabbi.tests.test_intercept.cookie_get_a_cookie.test_request +gabbi.tests.test_intercept.cookie_get_a_cookie.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.coerce_post_extra_data.test_request -gabbi.tests.test_intercept.coerce_post_extra_data.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_suite.SuiteTest.test_suite_catches_fixture_fail -gabbi.tests.test_suite.SuiteTest.test_suite_catches_fixture_fail ... ok -#### post data #### -> POST http://1f1d09a0-b7ec-485a-9647-a27250fb9fdd:8001/ +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_from_disk_json_path_fail +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path_fail ... 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.queryparams_url_in_param.test_request +gabbi.tests.test_intercept.queryparams_url_in_param.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_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.header-key_header_named_http.test_request +gabbi.tests.test_intercept.header-key_header_named_http.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_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_driver.DriverTest.test_build_url_target_forced_ssl +gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl ... 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_handlers.HandlersTest.test_response_json_paths_regex +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex ... 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 +#### get simple page #### +> GET http://2ba3a0f8-e656-4fbb-975d-47e42878b9f0: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://2ba3a0f8-e656-4fbb-975d-47e42878b9f0:8001/ + +{} + +#### left side json one #### +> POST http://171b1917-cc95-4435-9989-8ccfe3433b19: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://1f1d09a0-b7ec-485a-9647-a27250fb9fdd:8001/ -< Location: http://1f1d09a0-b7ec-485a-9647-a27250fb9fdd:8001/ +< X-Gabbi-url: http://171b1917-cc95-4435-9989-8ccfe3433b19:8001/ +< Location: http://171b1917-cc95-4435-9989-8ccfe3433b19:8001/ { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "alpha": "alpha1", + "beta": "beta1" } -#### use data #### -> POST http://1f1d09a0-b7ec-485a-9647-a27250fb9fdd:8001/ +#### expand left side #### +> POST http://171b1917-cc95-4435-9989-8ccfe3433b19: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://1f1d09a0-b7ec-485a-9647-a27250fb9fdd:8001/ -< Location: http://1f1d09a0-b7ec-485a-9647-a27250fb9fdd:8001/ +< X-Gabbi-url: http://171b1917-cc95-4435-9989-8ccfe3433b19:8001/ +< Location: http://171b1917-cc95-4435-9989-8ccfe3433b19:8001/ { - "one_string": "1", - "one_int": 1, - "one_float": 1.1 + "alpha1": "alpha", + "beta1": "beta" } -#### left side json one #### -> POST http://7b4abe34-2cf5-4174-9786-3fad9a274385:8001/ +#### expand environ left side #### +> POST http://171b1917-cc95-4435-9989-8ccfe3433b19:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "alpha": "alpha1", - "beta": "beta1" + "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://7b4abe34-2cf5-4174-9786-3fad9a274385:8001/ -< Location: http://7b4abe34-2cf5-4174-9786-3fad9a274385:8001/ +< X-Gabbi-url: http://171b1917-cc95-4435-9989-8ccfe3433b19:8001/ +< Location: http://171b1917-cc95-4435-9989-8ccfe3433b19:8001/ { - "alpha": "alpha1", - "beta": "beta1" + "alpha1": "alpha", + "beta1": "beta", + "1": "cow" } -#### get simple page #### -> GET http://ecdee87b-fb2c-4115-9ae7-49058f2ca81a:8001/ -> x-random-header: ya +#### set key and value #### +> GET http://171b1917-cc95-4435-9989-8ccfe3433b19: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" +} + +#### header named http #### +> GET http://bea3d069-c200-4d2e-b35b-1308df95fbdf: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://ecdee87b-fb2c-4115-9ae7-49058f2ca81a:8001/ +< X-Gabbi-url: http://bea3d069-c200-4d2e-b35b-1308df95fbdf:8001/header_key +< HTTP: some-scheme {} -gabbi.tests.test_intercept.coerce_with_list.test_request -gabbi.tests.test_intercept.coerce_with_list.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.data_load_data_dictionary.test_request -gabbi.tests.test_intercept.data_load_data_dictionary.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.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.host-header_ssl_no_host.test_request +gabbi.tests.test_intercept.host-header_ssl_no_host.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_driver.DriverTest.test_build_url_use_prior_test +gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test ... 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_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_regex_path_match +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_match ... 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_inner_fixture.inner_get_one.test_request +gabbi.tests.test_inner_fixture.inner_get_one.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_path_nomatch +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_nomatch ... 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_handlers.HandlersTest.test_response_json_paths_substitution_noregex +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_noregex ... 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.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_handlers.HandlersTest.test_response_json_paths_substitution_regex +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_regex ... 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_handlers.HandlersTest.test_response_json_paths_yamlhandler +gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_yamlhandler ... ok +gabbi.tests.test_intercept.casting_default_casts.test_request +gabbi.tests.test_intercept.casting_default_casts.test_request ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_string_list_type +gabbi.tests.test_handlers.HandlersTest.test_response_string_list_type ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_strings +gabbi.tests.test_handlers.HandlersTest.test_response_strings ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail +gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail ... ok +gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_output +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.backref_post_even_more_json.test_request gabbi.tests.test_intercept.backref_post_even_more_json.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_last_with_adjusted_parameters.test_request -gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.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.self_get_location_from_headers.test_request -gabbi.tests.test_intercept.self_get_location_from_headers.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.self_bogus_method.test_request +gabbi.tests.test_intercept.self_bogus_method.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.self_use_a_historical_location.test_request +gabbi.tests.test_intercept.self_use_a_historical_location.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.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.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_send_casted_json.test_request -gabbi.tests.test_intercept.casting_send_casted_json.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.method-shortcut_simple_get.test_request +gabbi.tests.test_intercept.method-shortcut_simple_get.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.backref_use_raw_json_from_response.test_request +gabbi.tests.test_intercept.backref_use_raw_json_from_response.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.coerce_check_posted_data.test_request -gabbi.tests.test_intercept.coerce_check_posted_data.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.poll_create_a_thing.test_request -gabbi.tests.test_intercept.poll_create_a_thing.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.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-extensions_test_filtered.test_request +gabbi.tests.test_intercept.json-extensions_test_filtered.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.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_simple_post.test_request +gabbi.tests.test_intercept.method-shortcut_simple_post.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.contenttype_post_no_content-type.test_request +gabbi.tests.test_intercept.contenttype_post_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.fixture_just_to_see.test_request +gabbi.tests.test_intercept.fixture_just_to_see.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.backref_get_a_historical_response.test_request +gabbi.tests.test_intercept.backref_get_a_historical_response.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.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.contenttype_patch_content-type.test_request +gabbi.tests.test_intercept.contenttype_patch_content-type.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.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.self_test_pluggable_response.test_request -gabbi.tests.test_intercept.self_test_pluggable_response.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.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.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.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.poll_poller.test_request +gabbi.tests.test_intercept.poll_poller.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.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.self_use_prior_location.test_request +gabbi.tests.test_intercept.self_use_prior_location.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_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.poll_create_a_thing.test_request +gabbi.tests.test_intercept.poll_create_a_thing.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.data_load_image_file.test_request -gabbi.tests.test_intercept.data_load_image_file.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.self_checklimit.test_request gabbi.tests.test_intercept.self_checklimit.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.self_get_ssl_page.test_request -gabbi.tests.test_intercept.self_get_ssl_page.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.verbosity_confirm_notempty.test_request +gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request ... ok gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean ... ok -#### post data #### -> POST http://4ede8980-f3fc-4f90-886e-cdc9adfc3d4b:8001/ -> content-type: application/json +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://9ad36d4b-283c-4f14-ae6f-86a71b1b99b4:8001/ +> x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} < 200 OK -< X-Gabbi-method: POST +< X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://4ede8980-f3fc-4f90-886e-cdc9adfc3d4b:8001/ -< Location: http://4ede8980-f3fc-4f90-886e-cdc9adfc3d4b:8001/ +< X-Gabbi-url: http://9ad36d4b-283c-4f14-ae6f-86a71b1b99b4:8001/ -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} +{} #### default casts #### -> POST http://bc33a026-6aac-4815-a810-2d593e254105:8001/ +> POST http://def7613e-9f80-4190-bcd3-be75ce9296ce:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5382,8 +5476,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://bc33a026-6aac-4815-a810-2d593e254105:8001/ -< Location: http://bc33a026-6aac-4815-a810-2d593e254105:8001/ +< X-Gabbi-url: http://def7613e-9f80-4190-bcd3-be75ce9296ce:8001/ +< Location: http://def7613e-9f80-4190-bcd3-be75ce9296ce:8001/ { "int": 1, @@ -5393,101 +5487,31 @@ "fbool": false } -#### cast to string #### -> POST http://bc33a026-6aac-4815-a810-2d593e254105: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://bc33a026-6aac-4815-a810-2d593e254105:8001/ -< Location: http://bc33a026-6aac-4815-a810-2d593e254105:8001/ - -{ - "string": "2" -} - -#### get simple page #### -> GET http://219c7cab-7a05-4c6a-82a6-a669f25f2667:8001/ -> x-random-header: ya +#### confirm notempty #### +> GET http://34e69684-4865-4a9f-82ef-5b3638fea03b:8001/notempty > 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://219c7cab-7a05-4c6a-82a6-a669f25f2667:8001/ -{} +notempty -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.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.forbiddenheaders_header_not_there_basic.test_request -gabbi.tests.test_intercept.forbiddenheaders_header_not_there_basic.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_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.method-shortcut_simple_post.test_request -gabbi.tests.test_intercept.method-shortcut_simple_post.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 -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 -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.data_partial_json_from_disk.test_request -gabbi.tests.test_intercept.data_partial_json_from_disk.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_some_json.test_request -gabbi.tests.test_intercept.backref_post_some_json.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.fixture_just_to_see_three.test_request -gabbi.tests.test_intercept.fixture_just_to_see_three.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.backref_post_some_more_json.test_request -gabbi.tests.test_intercept.backref_post_some_more_json.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_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 +gabbi.tests.test_intercept.queryparams_multi_params.test_request +gabbi.tests.test_intercept.queryparams_multi_params.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.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.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_unsafe_yaml.nan_test_nan.test_request +gabbi.tests.test_unsafe_yaml.nan_test_nan.test_request ... ok #### get simple page #### -> GET http://239a50ac-7774-44b7-8440-77fac777ad82:8001/ +> GET http://67dcdec8-23d9-403f-bdca-c79c17265ba4:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5495,35 +5519,12 @@ < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://239a50ac-7774-44b7-8440-77fac777ad82:8001/ +< X-Gabbi-url: http://67dcdec8-23d9-403f-bdca-c79c17265ba4:8001/ {} -#### yaml encoded value from disk #### -> POST http://6dc08513-410e-4c19-add2-e368a34a6c3f: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://6dc08513-410e-4c19-add2-e368a34a6c3f:8001/somewhere -< Location: http://6dc08513-410e-4c19-add2-e368a34a6c3f:8001/somewhere - -{ - "foo": { - "b\u00e1r": 1 - } -} - #### json encoded value from disk #### -> POST http://6dc08513-410e-4c19-add2-e368a34a6c3f:8001/somewhere +> POST http://e4b4a1db-07f7-46ab-af95-15e14d90c231:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5536,8 +5537,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6dc08513-410e-4c19-add2-e368a34a6c3f:8001/somewhere -< Location: http://6dc08513-410e-4c19-add2-e368a34a6c3f:8001/somewhere +< X-Gabbi-url: http://e4b4a1db-07f7-46ab-af95-15e14d90c231:8001/ +< Location: http://e4b4a1db-07f7-46ab-af95-15e14d90c231:8001/ { "foo": { @@ -5545,191 +5546,168 @@ } } -#### yaml parital from disk #### -> POST http://6dc08513-410e-4c19-add2-e368a34a6c3f: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://6dc08513-410e-4c19-add2-e368a34a6c3f:8001/somewhere -< Location: http://6dc08513-410e-4c19-add2-e368a34a6c3f:8001/somewhere - -{ - "type": "cat", - "sound": "meow" -} - -#### yaml partial both sides #### -> POST http://6dc08513-410e-4c19-add2-e368a34a6c3f: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://6dc08513-410e-4c19-add2-e368a34a6c3f:8001/somewhere -< Location: http://6dc08513-410e-4c19-add2-e368a34a6c3f:8001/somewhere - -[ - { - "type": "cat", - "sound": "meow" - }, - { - "type": "dog", - "sound": "woof" - } -] - +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.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.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.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_sort.test_request -gabbi.tests.test_intercept.json-extensions_test_sort.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.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.data_load_json_file.test_request -gabbi.tests.test_intercept.data_load_json_file.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.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.jsonbody_test_empty_dict.test_request +gabbi.tests.test_intercept.jsonbody_test_empty_dict.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_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 -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.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.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.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.cookie_use_a_historical_cookie.test_request +gabbi.tests.test_intercept.cookie_use_a_historical_cookie.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.jsonbody_test_fully_body.test_request +gabbi.tests.test_intercept.jsonbody_test_fully_body.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_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_post_data.test_request +gabbi.tests.test_intercept.coerce_post_data.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.self_inheritance_of_defaults.test_request +gabbi.tests.test_intercept.self_inheritance_of_defaults.test_request ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", -#### left side json one #### -> POST http://e3f8ef6f-7ba2-4e7b-84dc-64dc4a041597:8001/ -> content-type: application/json +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.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://e8645d89-ff5f-41a6-b1b6-837419a9f7cf:8001/ +> x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) -{ - "alpha": "alpha1", - "beta": "beta1" -} < 200 OK -< X-Gabbi-method: POST +< X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e3f8ef6f-7ba2-4e7b-84dc-64dc4a041597:8001/ -< Location: http://e3f8ef6f-7ba2-4e7b-84dc-64dc4a041597:8001/ +< X-Gabbi-url: http://e8645d89-ff5f-41a6-b1b6-837419a9f7cf:8001/ -{ - "alpha": "alpha1", - "beta": "beta1" -} +{} -#### expand left side #### -> POST http://e3f8ef6f-7ba2-4e7b-84dc-64dc4a041597:8001/ -> content-type: application/json +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_ssl_page.test_request +gabbi.tests.test_intercept.self_get_ssl_page.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_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://4bbde5b2-c0fa-4371-aa12-e732eedace50:8001/ +> x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) -{ - "alpha1": "alpha", - "beta1": "beta" -} < 200 OK -< X-Gabbi-method: POST +< X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://e3f8ef6f-7ba2-4e7b-84dc-64dc4a041597:8001/ -< Location: http://e3f8ef6f-7ba2-4e7b-84dc-64dc4a041597:8001/ +< X-Gabbi-url: http://4bbde5b2-c0fa-4371-aa12-e732eedace50:8001/ -{ - "alpha1": "alpha", - "beta1": "beta" -} +{} -#### expand environ left side #### -> POST http://e3f8ef6f-7ba2-4e7b-84dc-64dc4a041597:8001/ +#### default casts #### +> POST http://d76e6b69-b4ee-4df9-a676-6e936e39d299:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "alpha1": "alpha", - "beta1": "beta", - "1": "cow" + "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://e3f8ef6f-7ba2-4e7b-84dc-64dc4a041597:8001/ -< Location: http://e3f8ef6f-7ba2-4e7b-84dc-64dc4a041597:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://d76e6b69-b4ee-4df9-a676-6e936e39d299:8001/ +< Location: http://d76e6b69-b4ee-4df9-a676-6e936e39d299:8001/ { - "alpha1": "alpha", - "beta1": "beta", - "1": "cow" + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false } -#### set key and value #### -> GET http://e3f8ef6f-7ba2-4e7b-84dc-64dc4a041597:8001/jsonator?key=1&value=10 +#### cast to string #### +> POST http://d76e6b69-b4ee-4df9-a676-6e936e39d299:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) - -< 200 OK -< Content-Type: application/json - { - "1": "10" + "string": "2" } -#### check key and value #### -> GET http://e3f8ef6f-7ba2-4e7b-84dc-64dc4a041597: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 +< X-Gabbi-url: http://d76e6b69-b4ee-4df9-a676-6e936e39d299:8001/ +< Location: http://d76e6b69-b4ee-4df9-a676-6e936e39d299:8001/ { - "1": "10" + "string": "2" } -#### default casts #### -> POST http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ +#### json set up #### +> POST http://d76e6b69-b4ee-4df9-a676-6e936e39d299:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5737,7 +5715,7 @@ { "int": 1, "float": 1.5, - "string": 2, + "string": "2", "tbool": true, "fbool": false } @@ -5745,152 +5723,256 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ -< Location: http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ +< X-Gabbi-url: http://d76e6b69-b4ee-4df9-a676-6e936e39d299:8001/ +< Location: http://d76e6b69-b4ee-4df9-a676-6e936e39d299:8001/ { "int": 1, "float": 1.5, - "string": 2, + "string": "2", "tbool": true, "fbool": false } -#### cast to string #### -> POST http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ +#### yaml encoded value from disk #### +> POST http://23bf7014-b26b-4eaa-afa4-fdacaed922db:8001/somewhere > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "string": "2" + "foo": { + "b\u00e1r": 1 + } } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ -< Location: http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://23bf7014-b26b-4eaa-afa4-fdacaed922db:8001/somewhere +< Location: http://23bf7014-b26b-4eaa-afa4-fdacaed922db:8001/somewhere { - "string": "2" + "foo": { + "b\u00e1r": 1 + } } -#### json set up #### -> POST http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ +#### json encoded value from disk #### +> POST http://23bf7014-b26b-4eaa-afa4-fdacaed922db:8001/somewhere > 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://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ -< Location: http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://23bf7014-b26b-4eaa-afa4-fdacaed922db:8001/somewhere +< Location: http://23bf7014-b26b-4eaa-afa4-fdacaed922db:8001/somewhere { - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false + "foo": { + "b\u00e1r": 1 + } } -#### send casted json #### -> POST http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ +#### yaml parital from disk #### +> POST http://23bf7014-b26b-4eaa-afa4-fdacaed922db:8001/somewhere > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "casted": 2 + "type": "cat", + "sound": "meow" } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ -< Location: http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://23bf7014-b26b-4eaa-afa4-fdacaed922db:8001/somewhere +< Location: http://23bf7014-b26b-4eaa-afa4-fdacaed922db:8001/somewhere { - "casted": 2 + "type": "cat", + "sound": "meow" } -#### historic casted json #### -> POST http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ +#### yaml partial both sides #### +> POST http://23bf7014-b26b-4eaa-afa4-fdacaed922db: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://23bf7014-b26b-4eaa-afa4-fdacaed922db:8001/somewhere +< Location: http://23bf7014-b26b-4eaa-afa4-fdacaed922db:8001/somewhere + +[ + { + "type": "cat", + "sound": "meow" + }, + { + "type": "dog", + "sound": "woof" + } +] + +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.casting_historic_casted_json.test_request +gabbi.tests.test_intercept.casting_historic_casted_json.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.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.coerce_object_with_list.test_request +gabbi.tests.test_intercept.coerce_object_with_list.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_check_key_and_value.test_request +gabbi.tests.test_intercept.json-left-side_check_key_and_value.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.coerce_from_environ.test_request +gabbi.tests.test_intercept.coerce_from_environ.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.coerce_with_list.test_request +gabbi.tests.test_intercept.coerce_with_list.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_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-extensions_test_len.test_request +gabbi.tests.test_intercept.json-extensions_test_len.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 +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.casting_send_casted_json.test_request +gabbi.tests.test_intercept.casting_send_casted_json.test_request ... ok +#### json encoded value from disk #### +> POST http://010c7800-ac2d-45f6-a546-83c115a39e61:8001/ > 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://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ -< Location: http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://010c7800-ac2d-45f6-a546-83c115a39e61:8001/ +< Location: http://010c7800-ac2d-45f6-a546-83c115a39e61:8001/ { - "casted": 2 + "foo": { + "b\u00e1r": 1 + } } -#### internal json fine #### -> POST http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ +#### json parital from disk #### +> POST http://010c7800-ac2d-45f6-a546-83c115a39e61:8001/ > content-type: application/json -> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "casted": "in this 2 is not errors" + "type": "cat", + "sound": "meow" } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ -< Location: http://0f0bc412-4d38-4730-9a07-c4f56fdb8bb2:8001/ +< Content-Type: application/json ; charset=utf-8 ; stop=no +< X-Gabbi-url: http://010c7800-ac2d-45f6-a546-83c115a39e61:8001/ +< Location: http://010c7800-ac2d-45f6-a546-83c115a39e61:8001/ { - "casted": "in this 2 is not errors" + "type": "cat", + "sound": "meow" } -#### get simple page #### -> GET http://922eeb91-8bb5-4d5e-bbf9-1a03a47fb7d9:8001/ -> x-random-header: ya +#### json partial both sides #### +> POST http://010c7800-ac2d-45f6-a546-83c115a39e61:8001/ +> 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: GET +< X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://922eeb91-8bb5-4d5e-bbf9-1a03a47fb7d9:8001/ +< X-Gabbi-url: http://010c7800-ac2d-45f6-a546-83c115a39e61:8001/ +< Location: http://010c7800-ac2d-45f6-a546-83c115a39e61:8001/ -{} +[ + { + "type": "cat", + "sound": "meow" + }, + { + "type": "dog", + "sound": "woof" + } +] -gabbi.tests.test_runner.RunnerTest.test_custom_response_handler -gabbi.tests.test_runner.RunnerTest.test_custom_response_handler ... ok -gabbi.tests.test_intercept.queryparams_unicode.test_request -gabbi.tests.test_intercept.queryparams_unicode.test_request ... ok -gabbi.tests.test_intercept.queryparams_multi_params.test_request -gabbi.tests.test_intercept.queryparams_multi_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_intercept.queryparams_url_in_param.test_request -gabbi.tests.test_intercept.queryparams_url_in_param.test_request ... ok -gabbi.tests.test_runner.RunnerTest.test_data_dir_good -gabbi.tests.test_runner.RunnerTest.test_data_dir_good ... ok #### post data #### -> POST http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +> POST http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5903,8 +5985,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ -< Location: http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +< X-Gabbi-url: http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ +< Location: http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ { "one_string": "1", @@ -5913,7 +5995,7 @@ } #### use data #### -> POST http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +> POST http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5926,8 +6008,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ -< Location: http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +< X-Gabbi-url: http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ +< Location: http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ { "one_string": "1", @@ -5936,7 +6018,7 @@ } #### from environ #### -> POST http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +> POST http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5947,15 +6029,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ -< Location: http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +< X-Gabbi-url: http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ +< Location: http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ { "one_environ": 1 } #### with list #### -> POST http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +> POST http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5968,8 +6050,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ -< Location: http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +< X-Gabbi-url: http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ +< Location: http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ [ 1, @@ -5978,7 +6060,7 @@ ] #### object with list #### -> POST http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +> POST http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -5998,8 +6080,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ -< Location: http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +< X-Gabbi-url: http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ +< Location: http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ { "collection": [ @@ -6015,7 +6097,7 @@ } #### post extra data #### -> POST http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +> POST http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6044,8 +6126,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ -< Location: http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +< X-Gabbi-url: http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ +< Location: http://6ed8f8f1-61dd-49fb-9122-09724099ff8a:8001/ { "a": 1, @@ -6069,128 +6151,116 @@ } } -#### check posted data #### -> POST http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +#### yaml encoded value from disk #### +> POST http://a40b1f48-8e3f-42e1-9ef4-e7cf7b5b72a3: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://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ -< Location: http://ffbd900d-d2eb-452a-b92b-0c72634c03b4:8001/ +< X-Gabbi-url: http://a40b1f48-8e3f-42e1-9ef4-e7cf7b5b72a3:8001/somewhere +< Location: http://a40b1f48-8e3f-42e1-9ef4-e7cf7b5b72a3: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 } } -#### left side json one #### -> POST http://4735c256-a1a0-4fd0-9578-63f806705c1d:8001/ +#### json encoded value from disk #### +> POST http://a40b1f48-8e3f-42e1-9ef4-e7cf7b5b72a3:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "alpha": "alpha1", - "beta": "beta1" + "foo": { + "b\u00e1r": 1 + } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://4735c256-a1a0-4fd0-9578-63f806705c1d:8001/ -< Location: http://4735c256-a1a0-4fd0-9578-63f806705c1d:8001/ +< X-Gabbi-url: http://a40b1f48-8e3f-42e1-9ef4-e7cf7b5b72a3:8001/somewhere +< Location: http://a40b1f48-8e3f-42e1-9ef4-e7cf7b5b72a3:8001/somewhere { - "alpha": "alpha1", - "beta": "beta1" + "foo": { + "b\u00e1r": 1 + } } -#### expand left side #### -> POST http://4735c256-a1a0-4fd0-9578-63f806705c1d:8001/ +#### yaml parital from disk #### +> POST http://a40b1f48-8e3f-42e1-9ef4-e7cf7b5b72a3:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "alpha1": "alpha", - "beta1": "beta" + "type": "cat", + "sound": "meow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://4735c256-a1a0-4fd0-9578-63f806705c1d:8001/ -< Location: http://4735c256-a1a0-4fd0-9578-63f806705c1d:8001/ +< X-Gabbi-url: http://a40b1f48-8e3f-42e1-9ef4-e7cf7b5b72a3:8001/somewhere +< Location: http://a40b1f48-8e3f-42e1-9ef4-e7cf7b5b72a3:8001/somewhere { - "alpha1": "alpha", - "beta1": "beta" + "type": "cat", + "sound": "meow" } -#### expand environ left side #### -> POST http://4735c256-a1a0-4fd0-9578-63f806705c1d:8001/ -> content-type: application/json +gabbi.tests.test_intercept.data_load_encoded_text.test_request +gabbi.tests.test_intercept.data_load_encoded_text.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_utils.ColorizeTest.test_colorize_missing_color +gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color ... 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://8a98ad6f-c7c8-4f8b-bf22-037aeb644093:8001/ +> x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) -{ - "alpha1": "alpha", - "beta1": "beta", - "1": "cow" -} < 200 OK -< X-Gabbi-method: POST +< X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://4735c256-a1a0-4fd0-9578-63f806705c1d:8001/ -< Location: http://4735c256-a1a0-4fd0-9578-63f806705c1d:8001/ +< X-Gabbi-url: http://8a98ad6f-c7c8-4f8b-bf22-037aeb644093:8001/ -{ - "alpha1": "alpha", - "beta1": "beta", - "1": "cow" -} +{} #### default casts #### -> POST http://c0c3ad3a-f250-497d-83ae-b6ae49d5e246:8001/ +> POST http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6206,8 +6276,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://c0c3ad3a-f250-497d-83ae-b6ae49d5e246:8001/ -< Location: http://c0c3ad3a-f250-497d-83ae-b6ae49d5e246:8001/ +< X-Gabbi-url: http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ +< Location: http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ { "int": 1, @@ -6218,7 +6288,7 @@ } #### cast to string #### -> POST http://c0c3ad3a-f250-497d-83ae-b6ae49d5e246:8001/ +> POST http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6230,213 +6300,83 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://c0c3ad3a-f250-497d-83ae-b6ae49d5e246:8001/ -< Location: http://c0c3ad3a-f250-497d-83ae-b6ae49d5e246:8001/ +< X-Gabbi-url: http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ +< Location: http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ { "string": "2" } -#### json encoded value from disk #### -> POST http://537a4541-c297-4dea-8395-a1ebc8fcac90:8001/ +#### json set up #### +> POST http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "foo": { - "b\u00e1r": 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://537a4541-c297-4dea-8395-a1ebc8fcac90:8001/ -< Location: http://537a4541-c297-4dea-8395-a1ebc8fcac90:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ +< Location: http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ { - "foo": { - "b\u00e1r": 1 - } + "int": 1, + "float": 1.5, + "string": "2", + "tbool": true, + "fbool": false } -#### json parital from disk #### -> POST http://537a4541-c297-4dea-8395-a1ebc8fcac90:8001/ +#### send casted json #### +> POST http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "type": "cat", - "sound": "meow" + "casted": 2 } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://537a4541-c297-4dea-8395-a1ebc8fcac90:8001/ -< Location: http://537a4541-c297-4dea-8395-a1ebc8fcac90:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ +< Location: http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ { - "type": "cat", - "sound": "meow" + "casted": 2 } -#### json partial both sides #### -> POST http://537a4541-c297-4dea-8395-a1ebc8fcac90:8001/ +#### historic casted json #### +> POST http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) -[ - { - "type": "cat", - "sound": "meow" - }, - { - "type": "dog", - "sound": "woof" - } -] +{ + "casted": 2 +} < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://537a4541-c297-4dea-8395-a1ebc8fcac90:8001/ -< Location: http://537a4541-c297-4dea-8395-a1ebc8fcac90:8001/ - -[ - { - "type": "cat", - "sound": "meow" - }, - { - "type": "dog", - "sound": "woof" - } -] - -#### get simple page #### -> GET http://8806b9d2-c80d-42af-89fe-d85c50dd9852:8001/ -> x-random-header: ya/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.self_simple_post.test_request -gabbi.tests.test_intercept.self_simple_post.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", -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 -gabbi.tests.test_intercept.self_test_binary_handling.test_request -gabbi.tests.test_intercept.self_test_binary_handling.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 -/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_verbose_output_formatting -gabbi.tests.test_runner.RunnerTest.test_verbose_output_formatting ... ok -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.regex_regex_header_test.test_request -gabbi.tests.test_intercept.regex_regex_header_test.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.ColorizeTest.test_colorize_missing_color -gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color ... 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_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.queryparams_joined_params.test_request -gabbi.tests.test_intercept.queryparams_joined_params.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.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.self_json_derived_content_type.test_request -gabbi.tests.test_intercept.self_json_derived_content_type.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_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.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.queryparams_replacers_in_params.test_request -gabbi.tests.test_intercept.queryparams_replacers_in_params.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 - -> 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://8806b9d2-c80d-42af-89fe-d85c50dd9852:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ +< Location: http://dee6906c-629f-4568-a74b-90c82864b0ba:8001/ -{} +{ + "casted": 2 +} -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 #### post data #### -> POST http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ +> POST http://9be6e715-740c-449e-b83d-e8a9f032dc5d:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6449,8 +6389,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ -< Location: http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ +< X-Gabbi-url: http://9be6e715-740c-449e-b83d-e8a9f032dc5d:8001/ +< Location: http://9be6e715-740c-449e-b83d-e8a9f032dc5d:8001/ { "one_string": "1", @@ -6459,7 +6399,7 @@ } #### use data #### -> POST http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ +> POST http://9be6e715-740c-449e-b83d-e8a9f032dc5d:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6472,8 +6412,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ -< Location: http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ +< X-Gabbi-url: http://9be6e715-740c-449e-b83d-e8a9f032dc5d:8001/ +< Location: http://9be6e715-740c-449e-b83d-e8a9f032dc5d:8001/ { "one_string": "1", @@ -6482,7 +6422,7 @@ } #### from environ #### -> POST http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ +> POST http://9be6e715-740c-449e-b83d-e8a9f032dc5d:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6493,15 +6433,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ -< Location: http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ +< X-Gabbi-url: http://9be6e715-740c-449e-b83d-e8a9f032dc5d:8001/ +< Location: http://9be6e715-740c-449e-b83d-e8a9f032dc5d:8001/ { "one_environ": 1 } #### with list #### -> POST http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ +> POST http://9be6e715-740c-449e-b83d-e8a9f032dc5d:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6514,8 +6454,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ -< Location: http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ +< X-Gabbi-url: http://9be6e715-740c-449e-b83d-e8a9f032dc5d:8001/ +< Location: http://9be6e715-740c-449e-b83d-e8a9f032dc5d:8001/ [ 1, @@ -6523,58 +6463,90 @@ "3" ] -#### object with list #### -> POST http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ +gabbi.tests.test_intercept.data_load_image_file.test_request +gabbi.tests.test_intercept.data_load_image_file.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 +#### get simple page #### +> GET http://3499d140-d283-44d1-a9ab-92804af99c00: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://3499d140-d283-44d1-a9ab-92804af99c00:8001/ + +{} + +#### post data #### +> POST http://48ef24b3-fdaa-4cbc-a114-5ad2c2f9621b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] + "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://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ -< Location: http://6f733db5-85c8-466b-a9cb-e7560ab6577b:8001/ +< X-Gabbi-url: http://48ef24b3-fdaa-4cbc-a114-5ad2c2f9621b:8001/ +< Location: http://48ef24b3-fdaa-4cbc-a114-5ad2c2f9621b:8001/ { - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] + "one_string": "1", + "one_int": 1, + "one_float": 1.1 } -#### get simple page #### -> GET http://6d1ba598-c90b-4e18-aa78-93ae27dd8ccc:8001/ -> x-random-header: ya +#### use data #### +> POST http://48ef24b3-fdaa-4cbc-a114-5ad2c2f9621b: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: GET +< X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6d1ba598-c90b-4e18-aa78-93ae27dd8ccc:8001/ +< X-Gabbi-url: http://48ef24b3-fdaa-4cbc-a114-5ad2c2f9621b:8001/ +< Location: http://48ef24b3-fdaa-4cbc-a114-5ad2c2f9621b:8001/ -{} +{ + "one_string": "1", + "one_int": 1, + "one_float": 1.1 +} + +#### from environ #### +> POST http://48ef24b3-fdaa-4cbc-a114-5ad2c2f9621b: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://48ef24b3-fdaa-4cbc-a114-5ad2c2f9621b:8001/ +< Location: http://48ef24b3-fdaa-4cbc-a114-5ad2c2f9621b:8001/ + +{ + "one_environ": 1 +} #### yaml encoded value from disk #### -> POST http://36b1847b-9abc-4bc7-81a7-09ef9cdef496:8001/somewhere +> POST http://cbc92672-c3c1-4798-adad-4b4e2b6f7770:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6587,8 +6559,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://36b1847b-9abc-4bc7-81a7-09ef9cdef496:8001/somewhere -< Location: http://36b1847b-9abc-4bc7-81a7-09ef9cdef496:8001/somewhere +< X-Gabbi-url: http://cbc92672-c3c1-4798-adad-4b4e2b6f7770:8001/somewhere +< Location: http://cbc92672-c3c1-4798-adad-4b4e2b6f7770:8001/somewhere { "foo": { @@ -6597,7 +6569,7 @@ } #### json encoded value from disk #### -> POST http://36b1847b-9abc-4bc7-81a7-09ef9cdef496:8001/somewhere +> POST http://cbc92672-c3c1-4798-adad-4b4e2b6f7770:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6610,8 +6582,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://36b1847b-9abc-4bc7-81a7-09ef9cdef496:8001/somewhere -< Location: http://36b1847b-9abc-4bc7-81a7-09ef9cdef496:8001/somewhere +< X-Gabbi-url: http://cbc92672-c3c1-4798-adad-4b4e2b6f7770:8001/somewhere +< Location: http://cbc92672-c3c1-4798-adad-4b4e2b6f7770:8001/somewhere { "foo": { @@ -6619,31 +6591,90 @@ } } -#### yaml parital from disk #### -> POST http://36b1847b-9abc-4bc7-81a7-09ef9cdef496:8001/somewhere -> content-type: application/json +gabbi.tests.test_intercept.coerce_use_data.test_request +gabbi.tests.test_intercept.coerce_use_data.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.data_load_data_list.test_request +gabbi.tests.test_intercept.data_load_data_list.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_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_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.queryparams_simple_param.test_request +gabbi.tests.test_intercept.queryparams_simple_param.test_request ... 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.queryparams_unicode.test_request +gabbi.tests.test_intercept.queryparams_unicode.test_request ... ok +#### loop location #### +> GET http://5154f721-263c-4197-9d5d-52134af85e85: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://5154f721-263c-4197-9d5d-52134af85e85: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://5154f721-263c-4197-9d5d-52134af85e85:8001/poller?count=2&x=1&y=2&z=3.4 > user-agent: gabbi/3.0.0 (Python urllib3) -{ - "type": "cat", - "sound": "meow" -} < 200 OK -< X-Gabbi-method: POST +< X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://36b1847b-9abc-4bc7-81a7-09ef9cdef496:8001/somewhere -< Location: http://36b1847b-9abc-4bc7-81a7-09ef9cdef496:8001/somewhere +< X-Gabbi-url: http://5154f721-263c-4197-9d5d-52134af85e85:8001/poller?count=2&x=1&y=2&z=3.4 { - "type": "cat", - "sound": "meow" + "count": [ + "2" + ], + "x": [ + "1" + ], + "y": [ + "2" + ], + "z": [ + "3.4" + ] } -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 +#### get simple page #### +> GET http://06c25ea5-7ab3-41aa-bf26-a27acd956554: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://06c25ea5-7ab3-41aa-bf26-a27acd956554:8001/ + +{} + #### left side json one #### -> POST http://8a09b527-614e-4899-9401-d3d9dc1eeb80:8001/ +> POST http://417db8a3-ffb1-4a47-bb33-7c8156c4f8a6:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6655,8 +6686,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://8a09b527-614e-4899-9401-d3d9dc1eeb80:8001/ -< Location: http://8a09b527-614e-4899-9401-d3d9dc1eeb80:8001/ +< X-Gabbi-url: http://417db8a3-ffb1-4a47-bb33-7c8156c4f8a6:8001/ +< Location: http://417db8a3-ffb1-4a47-bb33-7c8156c4f8a6:8001/ { "alpha": "alpha1", @@ -6664,7 +6695,7 @@ } #### expand left side #### -> POST http://8a09b527-614e-4899-9401-d3d9dc1eeb80:8001/ +> POST http://417db8a3-ffb1-4a47-bb33-7c8156c4f8a6:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6676,16 +6707,65 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://8a09b527-614e-4899-9401-d3d9dc1eeb80:8001/ -< Location: http://8a09b527-614e-4899-9401-d3d9dc1eeb80:8001/ +< X-Gabbi-url: http://417db8a3-ffb1-4a47-bb33-7c8156c4f8a6:8001/ +< Location: http://417db8a3-ffb1-4a47-bb33-7c8156c4f8a6:8001/ { "alpha1": "alpha", "beta1": "beta" } +#### expand environ left side #### +> POST http://417db8a3-ffb1-4a47-bb33-7c8156c4f8a6: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://417db8a3-ffb1-4a47-bb33-7c8156c4f8a6:8001/ +< Location: http://417db8a3-ffb1-4a47-bb33-7c8156c4f8a6:8001/ + +{ + "alpha1": "alpha", + "beta1": "beta", + "1": "cow" +} + +#### set key and value #### +> GET http://417db8a3-ffb1-4a47-bb33-7c8156c4f8a6: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://417db8a3-ffb1-4a47-bb33-7c8156c4f8a6: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" +} + #### default casts #### -> POST http://15f7a40a-bf80-4398-bc18-b099fded7612:8001/ +> POST http://be40ec04-0655-446a-b7e6-b1a2c91ef61f:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6701,8 +6781,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://15f7a40a-bf80-4398-bc18-b099fded7612:8001/ -< Location: http://15f7a40a-bf80-4398-bc18-b099fded7612:8001/ +< X-Gabbi-url: http://be40ec04-0655-446a-b7e6-b1a2c91ef61f:8001/ +< Location: http://be40ec04-0655-446a-b7e6-b1a2c91ef61f:8001/ { "int": 1, @@ -6713,7 +6793,7 @@ } #### cast to string #### -> POST http://15f7a40a-bf80-4398-bc18-b099fded7612:8001/ +> POST http://be40ec04-0655-446a-b7e6-b1a2c91ef61f:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6725,15 +6805,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://15f7a40a-bf80-4398-bc18-b099fded7612:8001/ -< Location: http://15f7a40a-bf80-4398-bc18-b099fded7612:8001/ +< X-Gabbi-url: http://be40ec04-0655-446a-b7e6-b1a2c91ef61f:8001/ +< Location: http://be40ec04-0655-446a-b7e6-b1a2c91ef61f:8001/ { "string": "2" } #### json set up #### -> POST http://15f7a40a-bf80-4398-bc18-b099fded7612:8001/ +> POST http://be40ec04-0655-446a-b7e6-b1a2c91ef61f:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6749,8 +6829,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://15f7a40a-bf80-4398-bc18-b099fded7612:8001/ -< Location: http://15f7a40a-bf80-4398-bc18-b099fded7612:8001/ +< X-Gabbi-url: http://be40ec04-0655-446a-b7e6-b1a2c91ef61f:8001/ +< Location: http://be40ec04-0655-446a-b7e6-b1a2c91ef61f:8001/ { "int": 1, @@ -6760,131 +6840,28 @@ "fbool": false } -#### loop location #### -> GET http://1ea3cd3c-f0bf-4603-b4ed-ccf9fde8cc3f: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://1ea3cd3c-f0bf-4603-b4ed-ccf9fde8cc3f: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://1ea3cd3c-f0bf-4603-b4ed-ccf9fde8cc3f: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://1ea3cd3c-f0bf-4603-b4ed-ccf9fde8cc3f:8001/poller?count=2&x=1&y=2&z=3.4 - -{ - "count": [ - "2" - ], - "x": [ - "1" - ], - "y": [ - "2" - ], - "z": [ - "3.4" - ] -} - -#### yaml encoded value from disk #### -> POST http://2a59d6b2-118d-4187-8970-29f2bc3b7b7d: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://2a59d6b2-118d-4187-8970-29f2bc3b7b7d:8001/somewhere -< Location: http://2a59d6b2-118d-4187-8970-29f2bc3b7b7d:8001/somewhere - -{ - "foo": { - "b\u00e1r": 1 - } -} - -#### json encoded value from disk #### -> POST http://2a59d6b2-118d-4187-8970-29f2bc3b7b7d:8001/somewhere +#### send casted json #### +> POST http://be40ec04-0655-446a-b7e6-b1a2c91ef61f:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "foo": { - "b\u00e1r": 1 - } + "casted": 2 } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://2a59d6b2-118d-4187-8970-29f2bc3b7b7d:8001/somewhere -< Location: http://2a59d6b2-118d-4187-8970-29f2bc3b7b7d:8001/somewhere +< Content-Type: application/json +< X-Gabbi-url: http://be40ec04-0655-446a-b7e6-b1a2c91ef61f:8001/ +< Location: http://be40ec04-0655-446a-b7e6-b1a2c91ef61f:8001/ { - "foo": { - "b\u00e1r": 1 - } + "casted": 2 } -/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_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_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_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_jsonpath.JSONPathTest.test_basic_match -gabbi.tests.test_jsonpath.JSONPathTest.test_basic_match ... 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_driver_loads_three_tests -gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests ... ok -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 -gabbi.tests.test_jsonpath.JSONPathTest.test_embedded_list_handling -gabbi.tests.test_jsonpath.JSONPathTest.test_embedded_list_handling ... 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_jsonpath.JSONPathTest.test_filtered_list -gabbi.tests.test_jsonpath.JSONPathTest.test_filtered_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 #### post data #### -> POST http://d68ad437-5957-4bd5-b1e0-8f811f9d3f9c:8001/ +> POST http://313d954a-246b-4125-bd7c-114e9c1ec32a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6897,8 +6874,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d68ad437-5957-4bd5-b1e0-8f811f9d3f9c:8001/ -< Location: http://d68ad437-5957-4bd5-b1e0-8f811f9d3f9c:8001/ +< X-Gabbi-url: http://313d954a-246b-4125-bd7c-114e9c1ec32a:8001/ +< Location: http://313d954a-246b-4125-bd7c-114e9c1ec32a:8001/ { "one_string": "1", @@ -6907,7 +6884,7 @@ } #### use data #### -> POST http://d68ad437-5957-4bd5-b1e0-8f811f9d3f9c:8001/ +> POST http://313d954a-246b-4125-bd7c-114e9c1ec32a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -6920,8 +6897,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d68ad437-5957-4bd5-b1e0-8f811f9d3f9c:8001/ -< Location: http://d68ad437-5957-4bd5-b1e0-8f811f9d3f9c:8001/ +< X-Gabbi-url: http://313d954a-246b-4125-bd7c-114e9c1ec32a:8001/ +< Location: http://313d954a-246b-4125-bd7c-114e9c1ec32a:8001/ { "one_string": "1", @@ -6929,104 +6906,144 @@ "one_float": 1.1 } -#### from environ #### -> POST http://d68ad437-5957-4bd5-b1e0-8f811f9d3f9c:8001/ +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.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 +/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 +/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_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 +#### default casts #### +> POST http://56c5ed9b-e251-4374-897f-f32cb34f6e62: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://d68ad437-5957-4bd5-b1e0-8f811f9d3f9c:8001/ -< Location: http://d68ad437-5957-4bd5-b1e0-8f811f9d3f9c:8001/ +< Content-Type: application/json +< X-Gabbi-url: http://56c5ed9b-e251-4374-897f-f32cb34f6e62:8001/ +< Location: http://56c5ed9b-e251-4374-897f-f32cb34f6e62:8001/ { - "one_environ": 1 + "int": 1, + "float": 1.5, + "string": 2, + "tbool": true, + "fbool": false } -#### with list #### -> POST http://d68ad437-5957-4bd5-b1e0-8f811f9d3f9c: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://d68ad437-5957-4bd5-b1e0-8f811f9d3f9c:8001/ -< Location: http://d68ad437-5957-4bd5-b1e0-8f811f9d3f9c:8001/ - -[ - 1, - 2, - "3" -] - -#### get simple page #### -> GET http://5b94602c-706d-47d8-976d-e4d367b69903: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://5b94602c-706d-47d8-976d-e4d367b69903:8001/ - -{} - -#### yaml encoded value from disk #### -> POST http://976aec3b-b3f3-4794-9b55-05859c57cdfe:8001/somewhere +#### cast to string #### +> POST http://56c5ed9b-e251-4374-897f-f32cb34f6e62:8001/ > content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "foo": { - "b\u00e1r": 1 - } + "string": "2" } < 200 OK < X-Gabbi-method: POST -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://976aec3b-b3f3-4794-9b55-05859c57cdfe:8001/somewhere -< Location: http://976aec3b-b3f3-4794-9b55-05859c57cdfe:8001/somewhere +< Content-Type: application/json +< X-Gabbi-url: http://56c5ed9b-e251-4374-897f-f32cb34f6e62:8001/ +< Location: http://56c5ed9b-e251-4374-897f-f32cb34f6e62:8001/ { - "foo": { - "b\u00e1r": 1 - } + "string": "2" } -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 -#### header named http #### -> GET http://606c4783-1396-4dcf-b7b8-1ab0e71fc0c4: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://606c4783-1396-4dcf-b7b8-1ab0e71fc0c4:8001/header_key -< HTTP: some-scheme - -{} - #### post data #### -> POST http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +> POST http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7039,8 +7056,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ -< Location: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +< X-Gabbi-url: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ +< Location: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ { "one_string": "1", @@ -7049,7 +7066,7 @@ } #### use data #### -> POST http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +> POST http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7062,8 +7079,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ -< Location: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +< X-Gabbi-url: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ +< Location: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ { "one_string": "1", @@ -7072,7 +7089,7 @@ } #### from environ #### -> POST http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +> POST http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7083,15 +7100,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ -< Location: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +< X-Gabbi-url: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ +< Location: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ { "one_environ": 1 } #### with list #### -> POST http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +> POST http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7104,8 +7121,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ -< Location: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +< X-Gabbi-url: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ +< Location: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ [ 1, @@ -7114,7 +7131,7 @@ ] #### object with list #### -> POST http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +> POST http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7134,8 +7151,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ -< Location: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +< X-Gabbi-url: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ +< Location: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ { "collection": [ @@ -7151,7 +7168,7 @@ } #### post extra data #### -> POST http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +> POST http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7180,8 +7197,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ -< Location: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +< X-Gabbi-url: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ +< Location: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ { "a": 1, @@ -7206,7 +7223,7 @@ } #### check posted data #### -> POST http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +> POST http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7235,8 +7252,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ -< Location: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +< X-Gabbi-url: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ +< Location: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ { "a": 1, @@ -7261,7 +7278,7 @@ } #### Post again and check the results #### -> POST http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +> POST http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7290,8 +7307,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ -< Location: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +< X-Gabbi-url: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ +< Location: http://6ef5192c-0c75-4183-af26-4ef38b5a55e7:8001/ { "a": 1, @@ -7315,63 +7332,21 @@ } } -#### Post again and check the results (reversed) #### -> POST http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ -> content-type: application/json +#### get simple page #### +> GET http://171d7f19-6e9e-469f-beba-9ddad4b32155:8001/ +> x-random-header: ya > 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 +< X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ -< Location: http://d0795578-65fe-4052-8515-9f632cfe0dbe:8001/ +< X-Gabbi-url: http://171d7f19-6e9e-469f-beba-9ddad4b32155: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 - } - } -} +{} #### default casts #### -> POST http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ +> POST http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7387,8 +7362,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ -< Location: http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ +< X-Gabbi-url: http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ +< Location: http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ { "int": 1, @@ -7399,7 +7374,7 @@ } #### cast to string #### -> POST http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ +> POST http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7411,15 +7386,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ -< Location: http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ +< X-Gabbi-url: http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ +< Location: http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ { "string": "2" } #### json set up #### -> POST http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ +> POST http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7435,8 +7410,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ -< Location: http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ +< X-Gabbi-url: http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ +< Location: http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ { "int": 1, @@ -7447,7 +7422,7 @@ } #### send casted json #### -> POST http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ +> POST http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7459,324 +7434,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ -< Location: http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ +< X-Gabbi-url: http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ +< Location: http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ { "casted": 2 } -#### historic casted json ####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.skipall_a_skipped_test.test_request -gabbi.tests.test_intercept.skipall_a_skipped_test.test_request ... skipped 'entire suite skipped' -gabbi.tests.test_intercept.queryparams_simple_param.test_request -gabbi.tests.test_intercept.queryparams_simple_param.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_jsonpath.JSONPathTest.test_list_handling -gabbi.tests.test_jsonpath.JSONPathTest.test_list_handling ... ok -gabbi.tests.test_intercept.self_bogus_method.test_request -gabbi.tests.test_intercept.self_bogus_method.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_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_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 -#### post data #### -> POST http://2525ac31-1be6-45b0-836d-1919d703a8c0: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://2525ac31-1be6-45b0-836d-1919d703a8c0:8001/ -< Location: http://2525ac31-1be6-45b0-836d-1919d703a8c0:8001/ - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -#### use data #### -> POST http://2525ac31-1be6-45b0-836d-1919d703a8c0: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://2525ac31-1be6-45b0-836d-1919d703a8c0:8001/ -< Location: http://2525ac31-1be6-45b0-836d-1919d703a8c0:8001/ - -{ - "one_string": "1", - "one_int": 1, - "one_float": 1.1 -} - -#### from environ #### -> POST http://2525ac31-1be6-45b0-836d-1919d703a8c0: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://2525ac31-1be6-45b0-836d-1919d703a8c0:8001/ -< Location: http://2525ac31-1be6-45b0-836d-1919d703a8c0:8001/ - -{ - "one_environ": 1 -} - -#### with list #### -> POST http://2525ac31-1be6-45b0-836d-1919d703a8c0: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://2525ac31-1be6-45b0-836d-1919d703a8c0:8001/ -< Location: http://2525ac31-1be6-45b0-836d-1919d703a8c0:8001/ - -[ - 1, - 2, - "3" -] - -#### object with list #### -> POST http://2525ac31-1be6-45b0-836d-1919d703a8c0: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://2525ac31-1be6-45b0-836d-1919d703a8c0:8001/ -< Location: http://2525ac31-1be6-45b0-836d-1919d703a8c0:8001/ - -{ - "collection": [ - { - "alpha": 1, - "beta": "max" - }, - { - "alpha": 2, - "beta": "climb" - } - ] -} - -#### post extra data #### -> POST http://2525ac31-1be6-45b0-836d-1919d703a8c0: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://2525ac31-1be6-45b0-836d-1919d703a8c0:8001/ -< Location: http://2525ac31-1be6-45b0-836d-1919d703a8c0: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 - } - } -} - -#### confirm notempty #### -> GET http://817d07e7-9dbc-446c-8aed-f30ac2e3889f:8001/notempty -> user-agent: gabbi/3.0.0 (Python urllib3) - - -< 200 OK - -notempty - -#### default casts #### -> POST http://b3ff0e99-95b2-400f-b689-5737ae3bd027: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://b3ff0e99-95b2-400f-b689-5737ae3bd027:8001/ -< Location: http://b3ff0e99-95b2-400f-b689-5737ae3bd027:8001/ - -{ - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false -} - -#### cast to string #### -> POST http://b3ff0e99-95b2-400f-b689-5737ae3bd027: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://b3ff0e99-95b2-400f-b689-5737ae3bd027:8001/ -< Location: http://b3ff0e99-95b2-400f-b689-5737ae3bd027:8001/ - -{ - "string": "2" -} - -#### json set up #### -> POST http://b3ff0e99-95b2-400f-b689-5737ae3bd027: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://b3ff0e99-95b2-400f-b689-5737ae3bd027:8001/ -< Location: http://b3ff0e99-95b2-400f-b689-5737ae3bd027:8001/ - -{ - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false -} - -#### send casted json #### -> POST http://b3ff0e99-95b2-400f-b689-5737ae3bd027:8001/ +#### historic casted json #### +> POST http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7788,113 +7454,35 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://b3ff0e99-95b2-400f-b689-5737ae3bd027:8001/ -< Location: http://b3ff0e99-95b2-400f-b689-5737ae3bd027:8001/ +< X-Gabbi-url: http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ +< Location: http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ { "casted": 2 } -#### get simple page #### -> GET http://276eb33c-8e20-4ab2-b555-d1447c0ac421: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://276eb33c-8e20-4ab2-b555-d1447c0ac421:8001/ - -{} - -gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request -gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request ... ok - -> POST http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ +#### internal json fine #### +> POST http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "casted": 2 + "casted": "in this 2 is not errors" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ -< Location: http://5551d25e-5ca8-4ceb-9aae-01e4a8aa3380:8001/ +< X-Gabbi-url: http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ +< Location: http://3bbc53bf-7f5a-464d-8993-f0e47bd29796:8001/ { - "casted": 2 + "casted": "in this 2 is not errors" } -#### get simple page #### -> GET http://860e754f-85b3-4ade-95c7-37ab5a1ba817: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://860e754f-85b3-4ade-95c7-37ab5a1ba817:8001/ - -{} - -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.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.self_use_prior_location.test_request -gabbi.tests.test_intercept.self_use_prior_location.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.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 -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_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 #### post data #### -> POST http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +> POST http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7907,8 +7495,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ -< Location: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +< X-Gabbi-url: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ +< Location: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ { "one_string": "1", @@ -7917,7 +7505,7 @@ } #### use data #### -> POST http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +> POST http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7930,8 +7518,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ -< Location: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +< X-Gabbi-url: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ +< Location: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ { "one_string": "1", @@ -7940,7 +7528,7 @@ } #### from environ #### -> POST http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +> POST http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7951,15 +7539,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ -< Location: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +< X-Gabbi-url: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ +< Location: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ { "one_environ": 1 } #### with list #### -> POST http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +> POST http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -7972,8 +7560,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ -< Location: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +< X-Gabbi-url: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ +< Location: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ [ 1, @@ -7982,7 +7570,7 @@ ] #### object with list #### -> POST http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +> POST http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8002,8 +7590,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ -< Location: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +< X-Gabbi-url: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ +< Location: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ { "collection": [ @@ -8019,7 +7607,7 @@ } #### post extra data #### -> POST http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +> POST http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8048,8 +7636,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ -< Location: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +< X-Gabbi-url: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ +< Location: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ { "a": 1, @@ -8074,7 +7662,7 @@ } #### check posted data #### -> POST http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +> POST http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8103,8 +7691,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ -< Location: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +< X-Gabbi-url: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ +< Location: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ { "a": 1, @@ -8129,7 +7717,7 @@ } #### Post again and check the results #### -> POST http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +> POST http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8158,8 +7746,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ -< Location: http://2f1d4f79-9029-4c90-823e-80e74310f86f:8001/ +< X-Gabbi-url: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ +< Location: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ { "a": 1, @@ -8183,8 +7771,42 @@ } } +#### Post again and check the results (reversed) ######## get simple page #### +> GET http://b69186a0-05d6-4762-a6b7-f59c7279a7be: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://b69186a0-05d6-4762-a6b7-f59c7279a7be:8001/ + +{} + +#### left side json one #### +> POST http://96d172c8-560e-40ef-8996-1e4ad8cf544f: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://96d172c8-560e-40ef-8996-1e4ad8cf544f:8001/ +< Location: http://96d172c8-560e-40ef-8996-1e4ad8cf544f:8001/ + +{ + "alpha": "alpha1", + "beta": "beta1" +} + #### default casts #### -> POST http://613866d4-6ca2-490b-9ab2-77c981b34bbd:8001/ +> POST http://49ec4406-ce1b-4ba2-84bd-a14f02c3a266:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8200,8 +7822,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json -< X-Gabbi-url: http://613866d4-6ca2-490b-9ab2-77c981b34bbd:8001/ -< Location: http://613866d4-6ca2-490b-9ab2-77c981b34bbd:8001/ +< X-Gabbi-url: http://49ec4406-ce1b-4ba2-84bd-a14f02c3a266:8001/ +< Location: http://49ec4406-ce1b-4ba2-84bd-a14f02c3a266:8001/ { "int": 1, @@ -8211,23 +7833,28 @@ "fbool": false } -#### get simple page #### -> GET http://8e3f02e3-a10b-40fc-b3df-79d7796f9524:8001/ -> x-random-header: ya +#### cast to string #### +> POST http://49ec4406-ce1b-4ba2-84bd-a14f02c3a266:8001/ +> content-type: application/json +> accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) +{ + "string": "2" +} < 200 OK -< X-Gabbi-method: GET -< Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://8e3f02e3-a10b-40fc-b3df-79d7796f9524:8001/ +< X-Gabbi-method: POST +< Content-Type: application/json +< X-Gabbi-url: http://49ec4406-ce1b-4ba2-84bd-a14f02c3a266:8001/ +< Location: http://49ec4406-ce1b-4ba2-84bd-a14f02c3a266:8001/ -{} +{ + "string": "2" +} -gabbi.tests.test_intercept.coerce_string_internal_replace.test_request -gabbi.tests.test_intercept.coerce_string_internal_replace.test_request ... ok #### post data #### -> POST http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +> POST http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8240,8 +7867,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ -< Location: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +< X-Gabbi-url: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ +< Location: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ { "one_string": "1", @@ -8250,7 +7877,7 @@ } #### use data #### -> POST http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +> POST http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8263,8 +7890,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ -< Location: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +< X-Gabbi-url: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ +< Location: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ { "one_string": "1", @@ -8273,7 +7900,7 @@ } #### from environ #### -> POST http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +> POST http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8284,15 +7911,15 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ -< Location: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +< X-Gabbi-url: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ +< Location: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ { "one_environ": 1 } #### with list #### -> POST http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +> POST http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8305,8 +7932,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ -< Location: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +< X-Gabbi-url: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ +< Location: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ [ 1, @@ -8315,7 +7942,7 @@ ] #### object with list #### -> POST http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +> POST http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8335,8 +7962,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ -< Location: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +< X-Gabbi-url: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ +< Location: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ { "collection": [ @@ -8352,7 +7979,7 @@ } #### post extra data #### -> POST http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +> POST http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8381,8 +8008,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ -< Location: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +< X-Gabbi-url: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ +< Location: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ { "a": 1, @@ -8407,7 +8034,7 @@ } #### check posted data #### -> POST http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +> POST http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8436,8 +8063,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ -< Location: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +< X-Gabbi-url: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ +< Location: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ { "a": 1, @@ -8462,7 +8089,7 @@ } #### Post again and check the results #### -> POST http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +> POST http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8491,8 +8118,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ -< Location: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +< X-Gabbi-url: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ +< Location: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ { "a": 1, @@ -8517,7 +8144,7 @@ } #### Post again and check the results (reversed) #### -> POST http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +> POST http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8546,8 +8173,8 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ -< Location: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +< X-Gabbi-url: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ +< Location: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ { "a": 1, @@ -8572,7 +8199,7 @@ } #### string internal replace #### -> POST http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +> POST http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) @@ -8584,240 +8211,101 @@ < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no -< X-Gabbi-url: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ -< Location: http://6cdb71e0-dd2c-4f0f-8433-a8442efd0a03:8001/ +< X-Gabbi-url: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ +< Location: http://10b38374-1201-4fec-ad3c-83a939ec9e8f:8001/ { "endpoint_resp": "/api/0.1/item/1", "endpoint_var": "/api/0.1/item/1" -} - -#### default casts #### -> POST http://184f0564-cb59-4753-af18-612617a38bf5: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://184f0564-cb59-4753-af18-612617a38bf5:8001/ -< Location: http://184f0564-cb59-4753-af18-612617a38bf5:8001/ - -{ - "int": 1, - "float": 1.5, - "string": 2, - "tbool": true, - "fbool": false -} - -#### cast to string #### -> POST http://184f0564-cb59-4753-af18-612617a38bf5: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://184f0564-cb59-4753-af18-612617a38bf5:8001/ -< Location: http://184f0564-cb59-4753-af18-612617a38bf5:8001/ - -{ - "string": "2" -} - -#### json set up #### -> POST http://184f0564-cb59-4753-af18-612617a38bf5: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://184f0564-cb59-4753-af18-612617a38bf5:8001/ -< Location: http://184f0564-cb59-4753-af18-612617a38bf5:8001/ - -{ - "int": 1, - "float": 1.5, - "string": "2", - "tbool": true, - "fbool": false -} - -#### send casted json #### -> POST http://184f0564-cb59-4753-af18-612617a38bf5:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "casted": 2 -} - -< 200 OK -< X-Gabbi-method: POSTgabbi.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-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.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.fixture_just_to_see.test_request -gabbi.tests.test_intercept.fixture_just_to_see.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_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.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.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.method-shortcut_simple_get.test_request -gabbi.tests.test_intercept.method-shortcut_simple_get.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 - -< Content-Type: application/json -< X-Gabbi-url: http://184f0564-cb59-4753-af18-612617a38bf5:8001/ -< Location: http://184f0564-cb59-4753-af18-612617a38bf5:8001/ - -{ - "casted": 2 -} - -#### historic casted json #### -> POST http://184f0564-cb59-4753-af18-612617a38bf5:8001/ -> content-type: application/json -> accept: application/json -> user-agent: gabbi/3.0.0 (Python urllib3) - -{ - "casted": 2 -} +}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.data_load_data_dictionary.test_request +gabbi.tests.test_intercept.data_load_data_dictionary.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 -< 200 OK -< X-Gabbi-method: POST -< Content-Type: application/json -< X-Gabbi-url: http://184f0564-cb59-4753-af18-612617a38bf5:8001/ -< Location: http://184f0564-cb59-4753-af18-612617a38bf5:8001/ -{ - "casted": 2 -} +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.data_load_json_file.test_request +gabbi.tests.test_intercept.data_load_json_file.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.jsonbody_test_empty_list.test_request +gabbi.tests.test_intercept.jsonbody_test_empty_list.test_request ... ok -#### json encoded value from disk #### -> POST http://a00bd24a-8c75-498c-adf7-fcd72bb94ea4:8001/ +> POST http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { - "foo": { - "b\u00e1r": 1 + "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://a00bd24a-8c75-498c-adf7-fcd72bb94ea4:8001/ -< Location: http://a00bd24a-8c75-498c-adf7-fcd72bb94ea4:8001/ +< X-Gabbi-url: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ +< Location: http://c35bad99-d554-4840-8274-50fe5b0d64c7:8001/ { - "foo": { - "b\u00e1r": 1 + "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 + } } } -#### get simple page #### -> GET http://83cf1c84-85da-4b82-8a41-011da03bec48: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://83cf1c84-85da-4b82-8a41-011da03bec48:8001/ - -{} - ---------------------------------------------------------------------- -Ran 314 tests in 18.772s +Ran 314 tests in 4.084s OK (skipped=2, expected failures=15) + stestr slowest Test id Runtime (s) ------------------------------------------------------------------------------------------ ----------- -gabbi.tests.test_driver.DriverTest.test_build_require_ssl 6.780 -gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request 5.961 -gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request 3.859 -gabbi.tests.test_intercept.coerce_check_posted_data.test_request 3.507 -gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files 3.043 -gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request 2.450 -gabbi.tests.test_intercept.coerce_post_extra_data.test_request 2.283 -gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request 2.246 -gabbi.tests.test_intercept.backref_get_a_historical_response.test_request 2.165 -gabbi.tests.test_intercept.coerce_string_internal_replace.test_request 1.862 +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request 0.880 +gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request 0.714 +gabbi.tests.test_intercept.coerce_string_internal_replace.test_request 0.460 +gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request 0.402 +gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request 0.394 +gabbi.tests.test_intercept.backref_get_a_historical_response.test_request 0.387 +gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request 0.373 +gabbi.tests.test_intercept.backref_repost_that_raw_int.test_request 0.349 +gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request 0.336 +gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request 0.312 + rm -rf .stestr make[1]: Leaving directory '/build/reproducible-path/python-gabbi-3.0.0' dh_install -O--buildsystem=python_distutils @@ -8916,14 +8404,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 \ @@ -8932,7 +8420,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' @@ -8947,14 +8435,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 \ @@ -8963,7 +8451,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' @@ -8997,12 +8485,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/2683033/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2683033/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/3032869 and its subdirectories -I: Current time: Fri Dec 19 20:40:50 -12 2025 -I: pbuilder-time-stamp: 1766220050 +I: removing directory /srv/workspace/pbuilder/2683033 and its subdirectories +I: Current time: Sun Nov 17 16:19:44 +14 2024 +I: pbuilder-time-stamp: 1731809984