Warning: Permanently added '2620:52:3:1:dead:beef:cafe:c109' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/8306617-fedora-41-x86_64 --chroot fedora-41-x86_64 Version: 1.2 PID: 8807 Logging PID: 8808 Task: {'allow_user_ssh': False, 'appstream': False, 'background': True, 'build_id': 8306617, 'buildroot_pkgs': [], 'chroot': 'fedora-41-x86_64', 'enable_net': False, 'fedora_review': False, 'git_hash': '5c155a9e351f84c6f9cada8737d294765eea089d', 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/thrnciar/pytest/python-dns-lexicon', 'isolation': 'default', 'memory_reqs': 2048, 'package_name': 'python-dns-lexicon', 'package_version': '3.18.0-1', 'project_dirname': 'pytest', 'project_name': 'pytest', 'project_owner': 'thrnciar', 'repo_priority': None, 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/thrnciar/pytest/fedora-41-x86_64/', 'id': 'copr_base', 'name': 'Copr repository', 'priority': None}], 'sandbox': 'thrnciar/pytest--https://src.fedoraproject.org/user/turboben', 'source_json': {}, 'source_type': None, 'ssh_public_keys': None, 'storage': None, 'submitter': 'https://src.fedoraproject.org/user/turboben', 'tags': [], 'task_id': '8306617-fedora-41-x86_64', 'timeout': 18000, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/thrnciar/pytest/python-dns-lexicon /var/lib/copr-rpmbuild/workspace/workdir-c3sf64q3/python-dns-lexicon --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/thrnciar/pytest/python-dns-lexicon', '/var/lib/copr-rpmbuild/workspace/workdir-c3sf64q3/python-dns-lexicon', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-c3sf64q3/python-dns-lexicon'... Running: git checkout 5c155a9e351f84c6f9cada8737d294765eea089d -- cmd: ['git', 'checkout', '5c155a9e351f84c6f9cada8737d294765eea089d', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-c3sf64q3/python-dns-lexicon rc: 0 stdout: stderr: Note: switching to '5c155a9e351f84c6f9cada8737d294765eea089d'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 5c155a9 automatic import of python-dns-lexicon Running: dist-git-client sources /usr/bin/tail: /var/lib/copr-rpmbuild/main.log: file truncated cmd: ['dist-git-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-c3sf64q3/python-dns-lexicon rc: 0 stdout: stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD INFO: Reading stdout from command: git rev-parse HEAD INFO: Reading sources specification file: sources INFO: Downloading lexicon-3.18.0.tar.gz INFO: Reading stdout from command: curl --help all INFO: Calling: curl -H Pragma: -o lexicon-3.18.0.tar.gz --location --connect-timeout 60 --retry 3 --retry-delay 10 --remote-time --show-error --fail --retry-all-errors https://copr-dist-git.fedorainfracloud.org/repo/pkgs/thrnciar/pytest/python-dns-lexicon/lexicon-3.18.0.tar.gz/md5/6ab6a186c81c45f27c640618b7fe7463/lexicon-3.18.0.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 6071k 100 6071k 0 0 11.7M 0 --:--:-- --:--:-- --:--:-- 11.7M INFO: Reading stdout from command: md5sum lexicon-3.18.0.tar.gz Running (timeout=18000): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-c3sf64q3/python-dns-lexicon/python-dns-lexicon.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-c3sf64q3/python-dns-lexicon --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1732382396.805928 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 5.9 starting (python version = 3.13.0, NVR = mock-5.9-1.fc41), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-c3sf64q3/python-dns-lexicon/python-dns-lexicon.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-c3sf64q3/python-dns-lexicon --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1732382396.805928 -r /var/lib/copr-rpmbuild/results/configs/child.cfg Start(bootstrap): init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish(bootstrap): init plugins Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-c3sf64q3/python-dns-lexicon/python-dns-lexicon.spec) Config(fedora-41-x86_64) Start: clean chroot Finish: clean chroot Mock Version: 5.9 INFO: Mock Version: 5.9 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-41-x86_64-bootstrap-1732382396.805928/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Guessed host environment type: unknown INFO: Using bootstrap image: registry.fedoraproject.org/fedora:41 INFO: Pulling image: registry.fedoraproject.org/fedora:41 INFO: Copy content of container registry.fedoraproject.org/fedora:41 to /var/lib/mock/fedora-41-x86_64-bootstrap-1732382396.805928/root INFO: Checking that registry.fedoraproject.org/fedora:41 image matches host's architecture INFO: mounting registry.fedoraproject.org/fedora:41 with podman image mount INFO: image registry.fedoraproject.org/fedora:41 as /var/lib/containers/storage/overlay/83d3763b682803cb538a2221e7b9a455324c1faa9650a724186316e5285ca6ec/merged INFO: umounting image registry.fedoraproject.org/fedora:41 (/var/lib/containers/storage/overlay/83d3763b682803cb538a2221e7b9a455324c1faa9650a724186316e5285ca6ec/merged) with podman image umount INFO: Package manager dnf5 detected and used (fallback) INFO: Not updating bootstrap chroot, bootstrap_image_ready=True Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-41-x86_64-1732382396.805928/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.20.0-1.fc41.x86_64 rpm-sequoia-1.7.0-2.fc41.x86_64 dnf5-5.2.7.0-1.fc41.x86_64 dnf5-plugins-5.2.7.0-1.fc41.x86_64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: updates 100% | 6.1 MiB/s | 5.3 MiB | 00m01s fedora 100% | 21.9 MiB/s | 35.5 MiB | 00m02s Copr repository 100% | 13.5 MiB/s | 1.7 MiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash x86_64 5.2.32-1.fc41 fedora 8.2 MiB bzip2 x86_64 1.0.8-19.fc41 fedora 95.7 KiB coreutils x86_64 9.5-11.fc41 updates 5.7 MiB cpio x86_64 2.15-2.fc41 fedora 1.1 MiB diffutils x86_64 3.10-8.fc41 fedora 1.6 MiB fedora-release-common noarch 41-28 updates 19.7 KiB findutils x86_64 1:4.10.0-4.fc41 fedora 1.8 MiB gawk x86_64 5.3.0-4.fc41 fedora 1.7 MiB glibc-minimal-langpack x86_64 2.40-11.fc41 updates 0.0 B grep x86_64 3.11-9.fc41 fedora 1.0 MiB gzip x86_64 1.13-2.fc41 fedora 389.0 KiB info x86_64 7.1-3.fc41 fedora 361.8 KiB patch x86_64 2.7.6-25.fc41 fedora 266.7 KiB redhat-rpm-config noarch 293-1.fc41 fedora 183.5 KiB rpm-build x86_64 4.20.0-1.fc41 fedora 194.3 KiB sed x86_64 4.9-3.fc41 fedora 861.5 KiB shadow-utils x86_64 2:4.15.1-12.fc41 fedora 4.1 MiB tar x86_64 2:1.35-4.fc41 fedora 2.9 MiB unzip x86_64 6.0-64.fc41 fedora 386.8 KiB util-linux x86_64 2.40.2-4.fc41 fedora 3.7 MiB which x86_64 2.21-42.fc41 fedora 80.2 KiB xz x86_64 1:5.6.2-2.fc41 fedora 1.2 MiB Installing dependencies: add-determinism x86_64 0.3.6-3.fc41 updates 2.4 MiB alternatives x86_64 1.30-1.fc41 fedora 66.3 KiB ansible-srpm-macros noarch 1-16.fc41 fedora 35.7 KiB audit-libs x86_64 4.0.2-1.fc41 fedora 331.3 KiB authselect x86_64 1.5.0-8.fc41 fedora 157.6 KiB authselect-libs x86_64 1.5.0-8.fc41 fedora 822.2 KiB basesystem noarch 11-21.fc41 fedora 0.0 B binutils x86_64 2.43.1-2.fc41 fedora 27.5 MiB build-reproducibility-srpm-macros noarch 0.3.6-3.fc41 updates 735.0 B bzip2-libs x86_64 1.0.8-19.fc41 fedora 80.7 KiB ca-certificates noarch 2024.2.69_v8.0.401-1.0.fc41 fedora 2.4 MiB coreutils-common x86_64 9.5-11.fc41 updates 11.2 MiB cracklib x86_64 2.9.11-6.fc41 fedora 238.9 KiB crypto-policies noarch 20241029-1.git8baf557.fc41 updates 136.9 KiB curl x86_64 8.9.1-2.fc41 fedora 796.2 KiB cyrus-sasl-lib x86_64 2.1.28-27.fc41 fedora 2.3 MiB debugedit x86_64 5.1-1.fc41 updates 199.8 KiB dwz x86_64 0.15-8.fc41 fedora 298.9 KiB ed x86_64 1.20.2-2.fc41 fedora 146.9 KiB efi-srpm-macros noarch 5-12.fc41 fedora 40.1 KiB elfutils x86_64 0.192-6.fc41 updates 2.7 MiB elfutils-debuginfod-client x86_64 0.192-6.fc41 updates 84.1 KiB elfutils-default-yama-scope noarch 0.192-6.fc41 updates 1.8 KiB elfutils-libelf x86_64 0.192-6.fc41 updates 1.2 MiB elfutils-libs x86_64 0.192-6.fc41 updates 666.3 KiB fedora-gpg-keys noarch 41-1 fedora 126.4 KiB fedora-release noarch 41-28 updates 0.0 B fedora-release-identity-basic noarch 41-28 updates 682.0 B fedora-repos noarch 41-1 fedora 4.9 KiB file x86_64 5.45-7.fc41 fedora 103.5 KiB file-libs x86_64 5.45-7.fc41 fedora 9.9 MiB filesystem x86_64 3.18-23.fc41 fedora 106.0 B fonts-srpm-macros noarch 1:2.0.5-17.fc41 fedora 55.8 KiB forge-srpm-macros noarch 0.4.0-1.fc41 copr_base 38.9 KiB fpc-srpm-macros noarch 1.3-13.fc41 fedora 144.0 B gdb-minimal x86_64 15.2-3.fc41 updates 13.0 MiB gdbm x86_64 1:1.23-7.fc41 fedora 460.9 KiB gdbm-libs x86_64 1:1.23-7.fc41 fedora 121.9 KiB ghc-srpm-macros noarch 1.9.1-2.fc41 fedora 747.0 B glibc x86_64 2.40-11.fc41 updates 6.7 MiB glibc-common x86_64 2.40-11.fc41 updates 1.0 MiB glibc-gconv-extra x86_64 2.40-11.fc41 updates 8.0 MiB gmp x86_64 1:6.3.0-2.fc41 fedora 811.4 KiB gnat-srpm-macros noarch 6-6.fc41 fedora 1.0 KiB go-srpm-macros noarch 3.6.0-3.fc41 fedora 60.8 KiB jansson x86_64 2.13.1-10.fc41 fedora 88.3 KiB json-c x86_64 0.17-4.fc41 fedora 82.4 KiB kernel-srpm-macros noarch 1.0-24.fc41 fedora 1.9 KiB keyutils-libs x86_64 1.6.3-4.fc41 fedora 54.4 KiB krb5-libs x86_64 1.21.3-3.fc41 updates 2.3 MiB libacl x86_64 2.3.2-2.fc41 fedora 40.0 KiB libarchive x86_64 3.7.4-4.fc41 updates 926.6 KiB libattr x86_64 2.5.2-4.fc41 fedora 28.5 KiB libblkid x86_64 2.40.2-4.fc41 fedora 258.5 KiB libbrotli x86_64 1.1.0-5.fc41 fedora 837.6 KiB libcap x86_64 2.70-4.fc41 fedora 220.2 KiB libcap-ng x86_64 0.8.5-3.fc41 fedora 69.2 KiB libcom_err x86_64 1.47.1-6.fc41 fedora 67.2 KiB libcurl x86_64 8.9.1-2.fc41 fedora 818.1 KiB libeconf x86_64 0.6.2-3.fc41 fedora 58.0 KiB libevent x86_64 2.1.12-14.fc41 fedora 895.7 KiB libfdisk x86_64 2.40.2-4.fc41 fedora 362.9 KiB libffi x86_64 3.4.6-3.fc41 fedora 86.4 KiB libgcc x86_64 14.2.1-3.fc41 fedora 274.6 KiB libgomp x86_64 14.2.1-3.fc41 fedora 523.5 KiB libidn2 x86_64 2.3.7-2.fc41 fedora 329.1 KiB libmount x86_64 2.40.2-4.fc41 fedora 351.8 KiB libnghttp2 x86_64 1.62.1-2.fc41 fedora 166.1 KiB libnsl2 x86_64 2.0.1-2.fc41 fedora 57.9 KiB libpkgconf x86_64 2.3.0-1.fc41 fedora 78.2 KiB libpsl x86_64 0.21.5-4.fc41 fedora 80.5 KiB libpwquality x86_64 1.4.5-11.fc41 fedora 417.8 KiB libselinux x86_64 3.7-5.fc41 fedora 181.0 KiB libsemanage x86_64 3.7-2.fc41 fedora 293.5 KiB libsepol x86_64 3.7-2.fc41 fedora 817.8 KiB libsmartcols x86_64 2.40.2-4.fc41 fedora 180.4 KiB libssh x86_64 0.10.6-8.fc41 fedora 513.3 KiB libssh-config noarch 0.10.6-8.fc41 fedora 277.0 B libstdc++ x86_64 14.2.1-3.fc41 fedora 2.8 MiB libtasn1 x86_64 4.19.0-9.fc41 fedora 175.7 KiB libtirpc x86_64 1.3.6-1.fc41 updates 202.7 KiB libtool-ltdl x86_64 2.4.7-12.fc41 fedora 66.2 KiB libunistring x86_64 1.1-8.fc41 fedora 1.7 MiB libutempter x86_64 1.2.1-15.fc41 fedora 57.7 KiB libuuid x86_64 2.40.2-4.fc41 fedora 37.5 KiB libverto x86_64 0.3.2-9.fc41 fedora 29.5 KiB libxcrypt x86_64 4.4.36-10.fc41 updates 271.4 KiB libxml2 x86_64 2.12.8-2.fc41 fedora 1.7 MiB libzstd x86_64 1.5.6-2.fc41 fedora 795.9 KiB lua-libs x86_64 5.4.6-6.fc41 fedora 285.0 KiB lua-srpm-macros noarch 1-14.fc41 fedora 1.3 KiB lz4-libs x86_64 1.10.0-1.fc41 fedora 145.5 KiB mpfr x86_64 4.2.1-5.fc41 fedora 832.1 KiB ncurses-base noarch 6.5-2.20240629.fc41 fedora 326.3 KiB ncurses-libs x86_64 6.5-2.20240629.fc41 fedora 975.2 KiB ocaml-srpm-macros noarch 10-3.fc41 fedora 1.9 KiB openblas-srpm-macros noarch 2-18.fc41 fedora 112.0 B openldap x86_64 2.6.8-5.fc41 fedora 644.2 KiB openssl-libs x86_64 1:3.2.2-9.fc41 fedora 7.8 MiB p11-kit x86_64 0.25.5-3.fc41 fedora 2.2 MiB p11-kit-trust x86_64 0.25.5-3.fc41 fedora 391.4 KiB package-notes-srpm-macros noarch 0.5-12.fc41 fedora 1.6 KiB pam x86_64 1.6.1-6.fc41 updates 1.8 MiB pam-libs x86_64 1.6.1-6.fc41 updates 139.0 KiB pcre2 x86_64 10.44-1.fc41.1 fedora 653.5 KiB pcre2-syntax noarch 10.44-1.fc41.1 fedora 251.6 KiB perl-srpm-macros noarch 1-56.fc41 fedora 861.0 B pkgconf x86_64 2.3.0-1.fc41 fedora 88.6 KiB pkgconf-m4 noarch 2.3.0-1.fc41 fedora 14.4 KiB pkgconf-pkg-config x86_64 2.3.0-1.fc41 fedora 989.0 B popt x86_64 1.19-7.fc41 fedora 136.9 KiB publicsuffix-list-dafsa noarch 20240107-4.fc41 fedora 67.5 KiB pyproject-srpm-macros noarch 1.16.2-1.fc41 copr_base 1.9 KiB python-srpm-macros noarch 3.13-3.fc41 fedora 51.0 KiB qt5-srpm-macros noarch 5.15.15-1.fc41 fedora 500.0 B qt6-srpm-macros noarch 6.8.0-1.fc41 updates 456.0 B readline x86_64 8.2-10.fc41 fedora 493.2 KiB rpm x86_64 4.20.0-1.fc41 fedora 3.1 MiB rpm-build-libs x86_64 4.20.0-1.fc41 fedora 206.7 KiB rpm-libs x86_64 4.20.0-1.fc41 fedora 725.9 KiB rpm-sequoia x86_64 1.7.0-2.fc41 fedora 2.4 MiB rust-srpm-macros noarch 26.3-3.fc41 copr_base 4.8 KiB setup noarch 2.15.0-5.fc41 fedora 720.7 KiB sqlite-libs x86_64 3.46.1-1.fc41 fedora 1.4 MiB systemd-libs x86_64 257~rc2-3.fc41 copr_base 2.3 MiB util-linux-core x86_64 2.40.2-4.fc41 fedora 1.5 MiB xxhash-libs x86_64 0.8.2-4.fc41 fedora 88.4 KiB xz-libs x86_64 1:5.6.2-2.fc41 fedora 214.4 KiB zig-srpm-macros noarch 1-3.fc41 fedora 1.1 KiB zip x86_64 3.0-41.fc41 fedora 703.2 KiB zlib-ng-compat x86_64 2.1.7-3.fc41 fedora 134.0 KiB zstd x86_64 1.5.6-2.fc41 fedora 1.7 MiB Installing groups: Buildsystem building group Transaction Summary: Installing: 154 packages Total size of inbound packages is 53 MiB. Need to download 53 MiB. After this operation, 181 MiB extra will be used (install 181 MiB, remove 0 B). [ 1/154] bzip2-0:1.0.8-19.fc41.x86_64 100% | 133.6 KiB/s | 52.5 KiB | 00m00s [ 2/154] cpio-0:2.15-2.fc41.x86_64 100% | 335.4 KiB/s | 291.8 KiB | 00m01s [ 3/154] findutils-1:4.10.0-4.fc41.x86 100% | 339.2 KiB/s | 548.5 KiB | 00m02s [ 4/154] diffutils-0:3.10-8.fc41.x86_6 100% | 158.0 KiB/s | 405.4 KiB | 00m03s [ 5/154] gzip-0:1.13-2.fc41.x86_64 100% | 208.6 KiB/s | 170.2 KiB | 00m01s [ 6/154] grep-0:3.11-9.fc41.x86_64 100% | 156.4 KiB/s | 299.7 KiB | 00m02s [ 7/154] info-0:7.1-3.fc41.x86_64 100% | 260.7 KiB/s | 182.5 KiB | 00m01s [ 8/154] redhat-rpm-config-0:293-1.fc4 100% | 324.3 KiB/s | 82.0 KiB | 00m00s [ 9/154] rpm-build-0:4.20.0-1.fc41.x86 100% | 331.3 KiB/s | 82.8 KiB | 00m00s [ 10/154] patch-0:2.7.6-25.fc41.x86_64 100% | 222.0 KiB/s | 131.0 KiB | 00m01s [ 11/154] sed-0:4.9-3.fc41.x86_64 100% | 379.2 KiB/s | 317.7 KiB | 00m01s [ 12/154] shadow-utils-2:4.15.1-12.fc41 100% | 575.6 KiB/s | 1.3 MiB | 00m02s [ 13/154] unzip-0:6.0-64.fc41.x86_64 100% | 1.0 MiB/s | 184.9 KiB | 00m00s [ 14/154] bash-0:5.2.32-1.fc41.x86_64 100% | 244.0 KiB/s | 1.8 MiB | 00m08s [ 15/154] which-0:2.21-42.fc41.x86_64 100% | 483.2 KiB/s | 41.6 KiB | 00m00s [ 16/154] tar-2:1.35-4.fc41.x86_64 100% | 450.4 KiB/s | 860.7 KiB | 00m02s [ 17/154] fedora-release-common-0:41-28 100% | 510.0 KiB/s | 23.5 KiB | 00m00s [ 18/154] coreutils-0:9.5-11.fc41.x86_6 100% | 5.8 MiB/s | 1.1 MiB | 00m00s [ 19/154] glibc-minimal-langpack-0:2.40 100% | 4.0 MiB/s | 110.7 KiB | 00m00s [ 20/154] xz-1:5.6.2-2.fc41.x86_64 100% | 498.4 KiB/s | 471.5 KiB | 00m01s [ 21/154] util-linux-0:2.40.2-4.fc41.x8 100% | 1.1 MiB/s | 1.2 MiB | 00m01s [ 22/154] ncurses-libs-0:6.5-2.20240629 100% | 1.2 MiB/s | 334.0 KiB | 00m00s [ 23/154] bzip2-libs-0:1.0.8-19.fc41.x8 100% | 432.8 KiB/s | 41.1 KiB | 00m00s [ 24/154] libselinux-0:3.7-5.fc41.x86_6 100% | 69.8 KiB/s | 87.8 KiB | 00m01s [ 25/154] gawk-0:5.3.0-4.fc41.x86_64 100% | 379.3 KiB/s | 1.1 MiB | 00m03s [ 26/154] ed-0:1.20.2-2.fc41.x86_64 100% | 283.1 KiB/s | 81.8 KiB | 00m00s [ 27/154] pcre2-0:10.44-1.fc41.1.x86_64 100% | 655.3 KiB/s | 243.1 KiB | 00m00s [ 28/154] libattr-0:2.5.2-4.fc41.x86_64 100% | 201.9 KiB/s | 18.2 KiB | 00m00s [ 29/154] ansible-srpm-macros-0:1-16.fc 100% | 228.3 KiB/s | 20.8 KiB | 00m00s [ 30/154] filesystem-0:3.18-23.fc41.x86 100% | 424.3 KiB/s | 1.1 MiB | 00m03s [ 31/154] efi-srpm-macros-0:5-12.fc41.n 100% | 251.4 KiB/s | 22.4 KiB | 00m00s [ 32/154] fonts-srpm-macros-1:2.0.5-17. 100% | 293.1 KiB/s | 27.0 KiB | 00m00s [ 33/154] file-0:5.45-7.fc41.x86_64 100% | 249.4 KiB/s | 49.1 KiB | 00m00s [ 34/154] fpc-srpm-macros-0:1.3-13.fc41 100% | 76.6 KiB/s | 8.0 KiB | 00m00s [ 35/154] ghc-srpm-macros-0:1.9.1-2.fc4 100% | 88.8 KiB/s | 9.1 KiB | 00m00s [ 36/154] gnat-srpm-macros-0:6-6.fc41.n 100% | 87.8 KiB/s | 9.0 KiB | 00m00s [ 37/154] go-srpm-macros-0:3.6.0-3.fc41 100% | 303.8 KiB/s | 28.0 KiB | 00m00s [ 38/154] kernel-srpm-macros-0:1.0-24.f 100% | 107.3 KiB/s | 9.9 KiB | 00m00s [ 39/154] lua-srpm-macros-0:1-14.fc41.n 100% | 98.7 KiB/s | 8.9 KiB | 00m00s [ 40/154] ocaml-srpm-macros-0:10-3.fc41 100% | 102.2 KiB/s | 9.2 KiB | 00m00s [ 41/154] openblas-srpm-macros-0:2-18.f 100% | 89.7 KiB/s | 7.7 KiB | 00m00s [ 42/154] package-notes-srpm-macros-0:0 100% | 114.3 KiB/s | 9.8 KiB | 00m00s [ 43/154] perl-srpm-macros-0:1-56.fc41. 100% | 101.3 KiB/s | 8.5 KiB | 00m00s [ 44/154] python-srpm-macros-0:3.13-3.f 100% | 282.4 KiB/s | 23.7 KiB | 00m00s [ 45/154] dwz-0:0.15-8.fc41.x86_64 100% | 174.3 KiB/s | 138.9 KiB | 00m01s [ 46/154] qt5-srpm-macros-0:5.15.15-1.f 100% | 105.9 KiB/s | 8.9 KiB | 00m00s [ 47/154] zig-srpm-macros-0:1-3.fc41.no 100% | 95.6 KiB/s | 8.1 KiB | 00m00s [ 48/154] popt-0:1.19-7.fc41.x86_64 100% | 251.6 KiB/s | 65.9 KiB | 00m00s [ 49/154] rpm-0:4.20.0-1.fc41.x86_64 100% | 1.2 MiB/s | 547.4 KiB | 00m00s [ 50/154] rpm-build-libs-0:4.20.0-1.fc4 100% | 1.0 MiB/s | 98.6 KiB | 00m00s [ 51/154] zip-0:3.0-41.fc41.x86_64 100% | 423.7 KiB/s | 264.8 KiB | 00m01s [ 52/154] rpm-libs-0:4.20.0-1.fc41.x86_ 100% | 1.1 MiB/s | 309.4 KiB | 00m00s [ 53/154] libacl-0:2.3.2-2.fc41.x86_64 100% | 269.2 KiB/s | 24.5 KiB | 00m00s [ 54/154] readline-0:8.2-10.fc41.x86_64 100% | 333.1 KiB/s | 213.2 KiB | 00m01s [ 55/154] libeconf-0:0.6.2-3.fc41.x86_6 100% | 353.6 KiB/s | 32.2 KiB | 00m00s [ 56/154] audit-libs-0:4.0.2-1.fc41.x86 100% | 444.2 KiB/s | 126.2 KiB | 00m00s [ 57/154] libsemanage-0:3.7-2.fc41.x86_ 100% | 309.3 KiB/s | 116.3 KiB | 00m00s [ 58/154] setup-0:2.15.0-5.fc41.noarch 100% | 404.3 KiB/s | 154.4 KiB | 00m00s [ 59/154] coreutils-common-0:9.5-11.fc4 100% | 12.6 MiB/s | 2.1 MiB | 00m00s [ 60/154] xz-libs-1:5.6.2-2.fc41.x86_64 100% | 327.8 KiB/s | 111.8 KiB | 00m00s [ 61/154] zstd-0:1.5.6-2.fc41.x86_64 100% | 374.1 KiB/s | 481.5 KiB | 00m01s [ 62/154] gmp-1:6.3.0-2.fc41.x86_64 100% | 888.1 KiB/s | 318.0 KiB | 00m00s [ 63/154] libcap-0:2.70-4.fc41.x86_64 100% | 306.4 KiB/s | 86.7 KiB | 00m00s [ 64/154] fedora-repos-0:41-1.noarch 100% | 95.2 KiB/s | 9.2 KiB | 00m00s [ 65/154] glibc-common-0:2.40-11.fc41.x 100% | 928.9 KiB/s | 399.4 KiB | 00m00s [ 66/154] libblkid-0:2.40.2-4.fc41.x86_ 100% | 466.9 KiB/s | 124.7 KiB | 00m00s [ 67/154] libcap-ng-0:0.8.5-3.fc41.x86_ 100% | 357.8 KiB/s | 32.6 KiB | 00m00s [ 68/154] libfdisk-0:2.40.2-4.fc41.x86_ 100% | 892.9 KiB/s | 159.8 KiB | 00m00s [ 69/154] mpfr-0:4.2.1-5.fc41.x86_64 100% | 292.7 KiB/s | 346.3 KiB | 00m01s [ 70/154] libmount-0:2.40.2-4.fc41.x86_ 100% | 801.8 KiB/s | 155.5 KiB | 00m00s [ 71/154] libutempter-0:1.2.1-15.fc41.x 100% | 299.0 KiB/s | 26.6 KiB | 00m00s [ 72/154] libuuid-0:2.40.2-4.fc41.x86_6 100% | 309.8 KiB/s | 29.1 KiB | 00m00s [ 73/154] libsmartcols-0:2.40.2-4.fc41. 100% | 310.2 KiB/s | 83.7 KiB | 00m00s [ 74/154] zlib-ng-compat-0:2.1.7-3.fc41 100% | 286.9 KiB/s | 77.7 KiB | 00m00s [ 75/154] util-linux-core-0:2.40.2-4.fc 100% | 825.2 KiB/s | 537.2 KiB | 00m01s [ 76/154] ncurses-base-0:6.5-2.20240629 100% | 120.7 KiB/s | 88.3 KiB | 00m01s [ 77/154] libsepol-0:3.7-2.fc41.x86_64 100% | 588.9 KiB/s | 342.2 KiB | 00m01s [ 78/154] pcre2-syntax-0:10.44-1.fc41.1 100% | 325.2 KiB/s | 149.9 KiB | 00m00s [ 79/154] file-libs-0:5.45-7.fc41.x86_6 100% | 767.4 KiB/s | 762.0 KiB | 00m01s [ 80/154] libgcc-0:14.2.1-3.fc41.x86_64 100% | 716.6 KiB/s | 133.3 KiB | 00m00s [ 81/154] curl-0:8.9.1-2.fc41.x86_64 100% | 348.6 KiB/s | 315.1 KiB | 00m01s [ 82/154] lua-libs-0:5.4.6-6.fc41.x86_6 100% | 684.0 KiB/s | 132.0 KiB | 00m00s [ 83/154] libzstd-0:1.5.6-2.fc41.x86_64 100% | 791.5 KiB/s | 310.3 KiB | 00m00s [ 84/154] libgomp-0:14.2.1-3.fc41.x86_6 100% | 363.2 KiB/s | 354.1 KiB | 00m01s [ 85/154] openssl-libs-1:3.2.2-9.fc41.x 100% | 422.4 KiB/s | 2.3 MiB | 00m06s [ 86/154] rpm-sequoia-0:1.7.0-2.fc41.x8 100% | 825.6 KiB/s | 892.5 KiB | 00m01s [ 87/154] lz4-libs-0:1.10.0-1.fc41.x86_ 100% | 648.5 KiB/s | 70.7 KiB | 00m00s [ 88/154] ca-certificates-0:2024.2.69_v 100% | 967.0 KiB/s | 871.2 KiB | 00m01s [ 89/154] sqlite-libs-0:3.46.1-1.fc41.x 100% | 380.7 KiB/s | 712.7 KiB | 00m02s [ 90/154] fedora-gpg-keys-0:41-1.noarch 100% | 707.6 KiB/s | 133.7 KiB | 00m00s [ 91/154] glibc-0:2.40-11.fc41.x86_64 100% | 10.9 MiB/s | 2.2 MiB | 00m00s [ 92/154] glibc-gconv-extra-0:2.40-11.f 100% | 6.7 MiB/s | 1.7 MiB | 00m00s [ 93/154] libxcrypt-0:4.4.36-10.fc41.x8 100% | 5.5 MiB/s | 118.9 KiB | 00m00s [ 94/154] basesystem-0:11-21.fc41.noarc 100% | 78.4 KiB/s | 7.4 KiB | 00m00s [ 95/154] pam-0:1.6.1-6.fc41.x86_64 100% | 13.2 MiB/s | 554.4 KiB | 00m00s [ 96/154] systemd-libs-0:257~rc2-3.fc41 100% | 12.1 MiB/s | 815.1 KiB | 00m00s [ 97/154] pam-libs-0:1.6.1-6.fc41.x86_6 100% | 602.7 KiB/s | 57.3 KiB | 00m00s [ 98/154] gdbm-libs-1:1.23-7.fc41.x86_6 100% | 284.3 KiB/s | 56.3 KiB | 00m00s [ 99/154] libnsl2-0:2.0.1-2.fc41.x86_64 100% | 302.1 KiB/s | 29.6 KiB | 00m00s [100/154] authselect-0:1.5.0-8.fc41.x86 100% | 372.8 KiB/s | 145.8 KiB | 00m00s [101/154] libstdc++-0:14.2.1-3.fc41.x86 100% | 450.7 KiB/s | 887.8 KiB | 00m02s [102/154] libpwquality-0:1.4.5-11.fc41. 100% | 626.5 KiB/s | 119.0 KiB | 00m00s [103/154] cracklib-0:2.9.11-6.fc41.x86_ 100% | 487.1 KiB/s | 92.1 KiB | 00m00s [104/154] elfutils-libelf-0:0.192-6.fc4 100% | 4.9 MiB/s | 207.4 KiB | 00m00s [105/154] elfutils-libs-0:0.192-6.fc41. 100% | 9.8 MiB/s | 261.9 KiB | 00m00s [106/154] elfutils-0:0.192-6.fc41.x86_6 100% | 9.1 MiB/s | 547.2 KiB | 00m00s [107/154] elfutils-debuginfod-client-0: 100% | 1.2 MiB/s | 46.2 KiB | 00m00s [108/154] debugedit-0:5.1-1.fc41.x86_64 100% | 3.1 MiB/s | 78.1 KiB | 00m00s [109/154] libarchive-0:3.7.4-4.fc41.x86 100% | 13.8 MiB/s | 409.1 KiB | 00m00s [110/154] json-c-0:0.17-4.fc41.x86_64 100% | 462.9 KiB/s | 44.0 KiB | 00m00s [111/154] authselect-libs-0:1.5.0-8.fc4 100% | 463.8 KiB/s | 218.0 KiB | 00m00s [112/154] alternatives-0:1.30-1.fc41.x8 100% | 477.1 KiB/s | 42.5 KiB | 00m00s [113/154] jansson-0:2.13.1-10.fc41.x86_ 100% | 477.7 KiB/s | 44.4 KiB | 00m00s [114/154] pkgconf-pkg-config-0:2.3.0-1. 100% | 112.5 KiB/s | 10.0 KiB | 00m00s [115/154] pkgconf-0:2.3.0-1.fc41.x86_64 100% | 486.1 KiB/s | 45.2 KiB | 00m00s [116/154] pkgconf-m4-0:2.3.0-1.fc41.noa 100% | 155.7 KiB/s | 14.3 KiB | 00m00s [117/154] libxml2-0:2.12.8-2.fc41.x86_6 100% | 1.0 MiB/s | 687.3 KiB | 00m01s [118/154] build-reproducibility-srpm-ma 100% | 470.6 KiB/s | 10.8 KiB | 00m00s [119/154] libpkgconf-0:2.3.0-1.fc41.x86 100% | 405.1 KiB/s | 38.5 KiB | 00m00s [120/154] pyproject-srpm-macros-0:1.16. 100% | 1.8 MiB/s | 14.4 KiB | 00m00s [121/154] add-determinism-0:0.3.6-3.fc4 100% | 10.1 MiB/s | 875.9 KiB | 00m00s [122/154] forge-srpm-macros-0:0.4.0-1.f 100% | 2.5 MiB/s | 20.3 KiB | 00m00s [123/154] qt6-srpm-macros-0:6.8.0-1.fc4 100% | 114.5 KiB/s | 9.0 KiB | 00m00s [124/154] rust-srpm-macros-0:26.3-3.fc4 100% | 1.5 MiB/s | 12.7 KiB | 00m00s [125/154] crypto-policies-0:20241029-1. 100% | 4.5 MiB/s | 97.5 KiB | 00m00s [126/154] libtirpc-0:1.3.6-1.fc41.x86_6 100% | 4.6 MiB/s | 94.4 KiB | 00m00s [127/154] libcom_err-0:1.47.1-6.fc41.x8 100% | 279.7 KiB/s | 26.6 KiB | 00m00s [128/154] libffi-0:3.4.6-3.fc41.x86_64 100% | 420.4 KiB/s | 39.9 KiB | 00m00s [129/154] libtasn1-0:4.19.0-9.fc41.x86_ 100% | 797.9 KiB/s | 74.2 KiB | 00m00s [130/154] p11-kit-trust-0:0.25.5-3.fc41 100% | 691.9 KiB/s | 132.1 KiB | 00m00s [131/154] gdbm-1:1.23-7.fc41.x86_64 100% | 816.1 KiB/s | 151.8 KiB | 00m00s [132/154] krb5-libs-0:1.21.3-3.fc41.x86 100% | 9.5 MiB/s | 757.9 KiB | 00m00s [133/154] keyutils-libs-0:1.6.3-4.fc41. 100% | 351.7 KiB/s | 31.6 KiB | 00m00s [134/154] libverto-0:0.3.2-9.fc41.x86_6 100% | 224.9 KiB/s | 20.7 KiB | 00m00s [135/154] elfutils-default-yama-scope-0 100% | 560.4 KiB/s | 12.3 KiB | 00m00s [136/154] fedora-release-0:41-28.noarch 100% | 162.1 KiB/s | 12.6 KiB | 00m00s [137/154] p11-kit-0:0.25.5-3.fc41.x86_6 100% | 476.2 KiB/s | 490.9 KiB | 00m01s [138/154] gdb-minimal-0:15.2-3.fc41.x86 100% | 18.2 MiB/s | 4.3 MiB | 00m00s [139/154] xxhash-libs-0:0.8.2-4.fc41.x8 100% | 395.4 KiB/s | 36.8 KiB | 00m00s [140/154] libcurl-0:8.9.1-2.fc41.x86_64 100% | 781.6 KiB/s | 361.9 KiB | 00m00s [141/154] libidn2-0:2.3.7-2.fc41.x86_64 100% | 616.7 KiB/s | 118.4 KiB | 00m00s [142/154] libbrotli-0:1.1.0-5.fc41.x86_ 100% | 518.2 KiB/s | 340.5 KiB | 00m01s [143/154] libnghttp2-0:1.62.1-2.fc41.x8 100% | 790.2 KiB/s | 76.6 KiB | 00m00s [144/154] libpsl-0:0.21.5-4.fc41.x86_64 100% | 333.7 KiB/s | 64.1 KiB | 00m00s [145/154] libssh-0:0.10.6-8.fc41.x86_64 100% | 1.1 MiB/s | 211.8 KiB | 00m00s [146/154] openldap-0:2.6.8-5.fc41.x86_6 100% | 528.1 KiB/s | 255.6 KiB | 00m00s [147/154] libunistring-0:1.1-8.fc41.x86 100% | 1.1 MiB/s | 544.8 KiB | 00m00s [148/154] publicsuffix-list-dafsa-0:202 100% | 607.0 KiB/s | 58.3 KiB | 00m00s [149/154] libssh-config-0:0.10.6-8.fc41 100% | 96.3 KiB/s | 9.2 KiB | 00m00s [150/154] libevent-0:2.1.12-14.fc41.x86 100% | 903.6 KiB/s | 257.5 KiB | 00m00s [151/154] libtool-ltdl-0:2.4.7-12.fc41. 100% | 382.7 KiB/s | 35.6 KiB | 00m00s [152/154] fedora-release-identity-basic 100% | 305.6 KiB/s | 13.4 KiB | 00m00s [153/154] cyrus-sasl-lib-0:2.1.28-27.fc 100% | 655.3 KiB/s | 794.9 KiB | 00m01s [154/154] binutils-0:2.43.1-2.fc41.x86_ 100% | 605.0 KiB/s | 6.5 MiB | 00m11s -------------------------------------------------------------------------------- [154/154] Total 100% | 1.6 MiB/s | 53.4 MiB | 00m33s Running transaction Importing PGP key 0xE99D6AD1: UserID : "Fedora (41) " Fingerprint: 466CF2D8B60BC3057AA9453ED0622462E99D6AD1 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-41-primary The key was successfully imported. [ 1/156] Verify package files 100% | 719.0 B/s | 154.0 B | 00m00s >>> Running pre-transaction scriptlet: filesystem-0:3.18-23.fc41.x86_64 >>> Finished pre-transaction scriptlet: filesystem-0:3.18-23.fc41.x86_64 >>> [RPM] /var/lib/mock/fedora-41-x86_64-1732382396.805928/root/var/cache/dnf/co [ 2/156] Prepare transaction 100% | 1.9 KiB/s | 154.0 B | 00m00s [ 3/156] Installing libgcc-0:14.2.1-3. 100% | 134.9 MiB/s | 276.3 KiB | 00m00s [ 4/156] Installing fedora-release-ide 100% | 918.0 KiB/s | 940.0 B | 00m00s [ 5/156] Installing fedora-gpg-keys-0: 100% | 18.7 MiB/s | 172.2 KiB | 00m00s [ 6/156] Installing fedora-repos-0:41- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 7/156] Installing fedora-release-com 100% | 11.7 MiB/s | 24.0 KiB | 00m00s [ 8/156] Installing fedora-release-0:4 100% | 0.0 B/s | 124.0 B | 00m00s [ 9/156] Installing setup-0:2.15.0-5.f 100% | 47.3 MiB/s | 726.1 KiB | 00m00s >>> [RPM] /etc/hosts created as /etc/hosts.rpmnew [ 10/156] Installing filesystem-0:3.18- 100% | 1.6 MiB/s | 212.5 KiB | 00m00s [ 11/156] Installing basesystem-0:11-21 100% | 0.0 B/s | 124.0 B | 00m00s [ 12/156] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 13/156] Installing publicsuffix-list- 100% | 66.7 MiB/s | 68.3 KiB | 00m00s [ 14/156] Installing rust-srpm-macros-0 100% | 0.0 B/s | 5.6 KiB | 00m00s [ 15/156] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 732.0 B | 00m00s [ 16/156] Installing pkgconf-m4-0:2.3.0 100% | 0.0 B/s | 14.8 KiB | 00m00s [ 17/156] Installing pcre2-syntax-0:10. 100% | 124.1 MiB/s | 254.1 KiB | 00m00s [ 18/156] Installing ncurses-base-0:6.5 100% | 34.3 MiB/s | 351.7 KiB | 00m00s [ 19/156] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 20/156] Installing ncurses-libs-0:6.5 100% | 137.0 MiB/s | 981.8 KiB | 00m00s [ 21/156] Installing glibc-0:2.40-11.fc 100% | 208.7 MiB/s | 6.7 MiB | 00m00s [ 22/156] Installing bash-0:5.2.32-1.fc 100% | 272.3 MiB/s | 8.2 MiB | 00m00s [ 23/156] Installing glibc-common-0:2.4 100% | 116.3 MiB/s | 1.0 MiB | 00m00s [ 24/156] Installing glibc-gconv-extra- 100% | 137.3 MiB/s | 8.1 MiB | 00m00s [ 25/156] Installing zlib-ng-compat-0:2 100% | 65.8 MiB/s | 134.8 KiB | 00m00s [ 26/156] Installing bzip2-libs-0:1.0.8 100% | 79.9 MiB/s | 81.8 KiB | 00m00s [ 27/156] Installing xz-libs-1:5.6.2-2. 100% | 210.4 MiB/s | 215.5 KiB | 00m00s [ 28/156] Installing popt-0:1.19-7.fc41 100% | 35.0 MiB/s | 143.5 KiB | 00m00s [ 29/156] Installing readline-0:8.2-10. 100% | 161.2 MiB/s | 495.3 KiB | 00m00s [ 30/156] Installing libuuid-0:2.40.2-4 100% | 37.7 MiB/s | 38.6 KiB | 00m00s [ 31/156] Installing libblkid-0:2.40.2- 100% | 126.7 MiB/s | 259.5 KiB | 00m00s [ 32/156] Installing libattr-0:2.5.2-4. 100% | 28.8 MiB/s | 29.5 KiB | 00m00s [ 33/156] Installing libacl-0:2.3.2-2.f 100% | 39.8 MiB/s | 40.7 KiB | 00m00s [ 34/156] Installing gmp-1:6.3.0-2.fc41 100% | 198.6 MiB/s | 813.7 KiB | 00m00s [ 35/156] Installing libzstd-0:1.5.6-2. 100% | 194.6 MiB/s | 797.2 KiB | 00m00s [ 36/156] Installing elfutils-libelf-0: 100% | 234.0 MiB/s | 1.2 MiB | 00m00s [ 37/156] Installing libstdc++-0:14.2.1 100% | 251.5 MiB/s | 2.8 MiB | 00m00s [ 38/156] Installing libxcrypt-0:4.4.36 100% | 133.9 MiB/s | 274.1 KiB | 00m00s [ 39/156] Installing libeconf-0:0.6.2-3 100% | 58.3 MiB/s | 59.7 KiB | 00m00s [ 40/156] Installing gdbm-libs-1:1.23-7 100% | 120.7 MiB/s | 123.6 KiB | 00m00s [ 41/156] Installing dwz-0:0.15-8.fc41. 100% | 146.6 MiB/s | 300.3 KiB | 00m00s [ 42/156] Installing mpfr-0:4.2.1-5.fc4 100% | 203.5 MiB/s | 833.7 KiB | 00m00s [ 43/156] Installing gawk-0:5.3.0-4.fc4 100% | 157.5 MiB/s | 1.7 MiB | 00m00s [ 44/156] Installing unzip-0:6.0-64.fc4 100% | 127.0 MiB/s | 390.3 KiB | 00m00s [ 45/156] Installing file-libs-0:5.45-7 100% | 451.5 MiB/s | 9.9 MiB | 00m00s [ 46/156] Installing file-0:5.45-7.fc41 100% | 6.0 MiB/s | 105.0 KiB | 00m00s >>> Running pre-install scriptlet: crypto-policies-0:20241029-1.git8baf557.fc41. >>> Finished pre-install scriptlet: crypto-policies-0:20241029-1.git8baf557.fc41 >>> Scriptlet output: >>> /var/tmp/rpm-tmp.ud42eO: line 2: rm: command not found >>> [ 47/156] Installing crypto-policies-0: 100% | 14.5 MiB/s | 163.3 KiB | 00m00s [ 48/156] Installing pcre2-0:10.44-1.fc 100% | 213.2 MiB/s | 654.9 KiB | 00m00s [ 49/156] Installing grep-0:3.11-9.fc41 100% | 100.3 MiB/s | 1.0 MiB | 00m00s [ 50/156] Installing xz-1:5.6.2-2.fc41. 100% | 109.5 MiB/s | 1.2 MiB | 00m00s [ 51/156] Installing libcap-ng-0:0.8.5- 100% | 69.4 MiB/s | 71.0 KiB | 00m00s [ 52/156] Installing audit-libs-0:4.0.2 100% | 162.8 MiB/s | 333.4 KiB | 00m00s [ 53/156] Installing pam-libs-0:1.6.1-6 100% | 69.0 MiB/s | 141.2 KiB | 00m00s [ 54/156] Installing libcap-0:2.70-4.fc 100% | 55.0 MiB/s | 225.2 KiB | 00m00s [ 55/156] Installing systemd-libs-0:257 100% | 226.5 MiB/s | 2.3 MiB | 00m00s [ 56/156] Installing libsmartcols-0:2.4 100% | 177.1 MiB/s | 181.4 KiB | 00m00s [ 57/156] Installing libsepol-0:3.7-2.f 100% | 199.9 MiB/s | 818.8 KiB | 00m00s [ 58/156] Installing libselinux-0:3.7-5 100% | 89.0 MiB/s | 182.3 KiB | 00m00s [ 59/156] Installing sed-0:4.9-3.fc41.x 100% | 121.3 MiB/s | 869.7 KiB | 00m00s [ 60/156] Installing findutils-1:4.10.0 100% | 185.8 MiB/s | 1.9 MiB | 00m00s [ 61/156] Installing libmount-0:2.40.2- 100% | 172.3 MiB/s | 352.9 KiB | 00m00s [ 62/156] Installing lua-libs-0:5.4.6-6 100% | 139.8 MiB/s | 286.2 KiB | 00m00s [ 63/156] Installing lz4-libs-0:1.10.0- 100% | 143.1 MiB/s | 146.6 KiB | 00m00s [ 64/156] Installing alternatives-0:1.3 100% | 66.3 MiB/s | 67.9 KiB | 00m00s [ 65/156] Installing libcom_err-0:1.47. 100% | 66.7 MiB/s | 68.3 KiB | 00m00s [ 66/156] Installing libffi-0:3.4.6-3.f 100% | 85.7 MiB/s | 87.8 KiB | 00m00s [ 67/156] Installing libtasn1-0:4.19.0- 100% | 86.7 MiB/s | 177.5 KiB | 00m00s [ 68/156] Installing p11-kit-0:0.25.5-3 100% | 147.2 MiB/s | 2.2 MiB | 00m00s [ 69/156] Installing libunistring-0:1.1 100% | 216.3 MiB/s | 1.7 MiB | 00m00s [ 70/156] Installing libidn2-0:2.3.7-2. 100% | 65.4 MiB/s | 335.1 KiB | 00m00s [ 71/156] Installing libpsl-0:0.21.5-4. 100% | 79.7 MiB/s | 81.7 KiB | 00m00s [ 72/156] Installing p11-kit-trust-0:0. 100% | 21.3 MiB/s | 393.1 KiB | 00m00s [ 73/156] Installing zstd-0:1.5.6-2.fc4 100% | 211.4 MiB/s | 1.7 MiB | 00m00s [ 74/156] Installing util-linux-core-0: 100% | 123.8 MiB/s | 1.5 MiB | 00m00s [ 75/156] Installing tar-2:1.35-4.fc41. 100% | 197.2 MiB/s | 3.0 MiB | 00m00s [ 76/156] Installing libsemanage-0:3.7- 100% | 96.1 MiB/s | 295.2 KiB | 00m00s [ 77/156] Installing shadow-utils-2:4.1 100% | 74.4 MiB/s | 4.2 MiB | 00m00s [ 78/156] Installing libutempter-0:1.2. 100% | 19.4 MiB/s | 59.7 KiB | 00m00s [ 79/156] Installing zip-0:3.0-41.fc41. 100% | 138.1 MiB/s | 707.1 KiB | 00m00s [ 80/156] Installing gdbm-1:1.23-7.fc41 100% | 91.0 MiB/s | 465.8 KiB | 00m00s [ 81/156] Installing cyrus-sasl-lib-0:2 100% | 209.6 MiB/s | 2.3 MiB | 00m00s [ 82/156] Installing libfdisk-0:2.40.2- 100% | 177.8 MiB/s | 364.1 KiB | 00m00s [ 83/156] Installing libxml2-0:2.12.8-2 100% | 214.0 MiB/s | 1.7 MiB | 00m00s [ 84/156] Installing bzip2-0:1.0.8-19.f 100% | 48.9 MiB/s | 100.2 KiB | 00m00s [ 85/156] Installing sqlite-libs-0:3.46 100% | 238.2 MiB/s | 1.4 MiB | 00m00s [ 86/156] Installing add-determinism-0: 100% | 261.8 MiB/s | 2.4 MiB | 00m00s [ 87/156] Installing build-reproducibil 100% | 0.0 B/s | 1.0 KiB | 00m00s [ 88/156] Installing ed-0:1.20.2-2.fc41 100% | 72.8 MiB/s | 149.2 KiB | 00m00s [ 89/156] Installing patch-0:2.7.6-25.f 100% | 131.0 MiB/s | 268.2 KiB | 00m00s [ 90/156] Installing elfutils-default-y 100% | 120.2 KiB/s | 2.0 KiB | 00m00s [ 91/156] Installing elfutils-libs-0:0. 100% | 130.5 MiB/s | 668.1 KiB | 00m00s [ 92/156] Installing cpio-0:2.15-2.fc41 100% | 137.5 MiB/s | 1.1 MiB | 00m00s [ 93/156] Installing diffutils-0:3.10-8 100% | 159.0 MiB/s | 1.6 MiB | 00m00s [ 94/156] Installing libgomp-0:14.2.1-3 100% | 256.2 MiB/s | 524.8 KiB | 00m00s [ 95/156] Installing json-c-0:0.17-4.fc 100% | 81.7 MiB/s | 83.6 KiB | 00m00s [ 96/156] Installing jansson-0:2.13.1-1 100% | 87.6 MiB/s | 89.7 KiB | 00m00s [ 97/156] Installing libpkgconf-0:2.3.0 100% | 77.5 MiB/s | 79.3 KiB | 00m00s [ 98/156] Installing pkgconf-0:2.3.0-1. 100% | 44.5 MiB/s | 91.1 KiB | 00m00s [ 99/156] Installing pkgconf-pkg-config 100% | 1.7 MiB/s | 1.8 KiB | 00m00s [100/156] Installing keyutils-libs-0:1. 100% | 54.5 MiB/s | 55.8 KiB | 00m00s [101/156] Installing libverto-0:0.3.2-9 100% | 30.5 MiB/s | 31.3 KiB | 00m00s [102/156] Installing xxhash-libs-0:0.8. 100% | 87.7 MiB/s | 89.8 KiB | 00m00s [103/156] Installing libbrotli-0:1.1.0- 100% | 205.0 MiB/s | 839.9 KiB | 00m00s [104/156] Installing libnghttp2-0:1.62. 100% | 81.6 MiB/s | 167.1 KiB | 00m00s [105/156] Installing libtool-ltdl-0:2.4 100% | 32.9 MiB/s | 67.3 KiB | 00m00s [106/156] Installing coreutils-common-0 100% | 233.1 MiB/s | 11.2 MiB | 00m00s [107/156] Installing openssl-libs-1:3.2 100% | 279.6 MiB/s | 7.8 MiB | 00m00s [108/156] Installing coreutils-0:9.5-11 100% | 139.2 MiB/s | 5.7 MiB | 00m00s [109/156] Installing ca-certificates-0: 100% | 2.4 MiB/s | 2.4 MiB | 00m01s [110/156] Installing krb5-libs-0:1.21.3 100% | 165.6 MiB/s | 2.3 MiB | 00m00s [111/156] Installing libarchive-0:3.7.4 100% | 226.7 MiB/s | 928.6 KiB | 00m00s [112/156] Installing libtirpc-0:1.3.6-1 100% | 99.8 MiB/s | 204.5 KiB | 00m00s [113/156] Installing gzip-0:1.13-2.fc41 100% | 96.3 MiB/s | 394.6 KiB | 00m00s [114/156] Installing authselect-libs-0: 100% | 81.8 MiB/s | 837.2 KiB | 00m00s [115/156] Installing cracklib-0:2.9.11- 100% | 34.9 MiB/s | 250.3 KiB | 00m00s [116/156] Installing libpwquality-0:1.4 100% | 46.7 MiB/s | 430.1 KiB | 00m00s [117/156] Installing libnsl2-0:2.0.1-2. 100% | 28.8 MiB/s | 59.1 KiB | 00m00s [118/156] Installing pam-0:1.6.1-6.fc41 100% | 75.1 MiB/s | 1.9 MiB | 00m00s [119/156] Installing libssh-0:0.10.6-8. 100% | 167.8 MiB/s | 515.4 KiB | 00m00s [120/156] Installing rpm-sequoia-0:1.7. 100% | 263.0 MiB/s | 2.4 MiB | 00m00s [121/156] Installing rpm-libs-0:4.20.0- 100% | 177.6 MiB/s | 727.4 KiB | 00m00s [122/156] Installing rpm-build-libs-0:4 100% | 101.3 MiB/s | 207.5 KiB | 00m00s [123/156] Installing libevent-0:2.1.12- 100% | 175.7 MiB/s | 899.5 KiB | 00m00s [124/156] Installing openldap-0:2.6.8-5 100% | 158.2 MiB/s | 648.0 KiB | 00m00s [125/156] Installing libcurl-0:8.9.1-2. 100% | 200.0 MiB/s | 819.2 KiB | 00m00s [126/156] Installing elfutils-debuginfo 100% | 42.2 MiB/s | 86.3 KiB | 00m00s [127/156] Installing elfutils-0:0.192-6 100% | 222.9 MiB/s | 2.7 MiB | 00m00s [128/156] Installing binutils-0:2.43.1- 100% | 243.6 MiB/s | 27.5 MiB | 00m00s [129/156] Installing gdb-minimal-0:15.2 100% | 282.4 MiB/s | 13.0 MiB | 00m00s [130/156] Installing debugedit-0:5.1-1. 100% | 98.9 MiB/s | 202.5 KiB | 00m00s [131/156] Installing curl-0:8.9.1-2.fc4 100% | 32.5 MiB/s | 798.6 KiB | 00m00s [132/156] Installing rpm-0:4.20.0-1.fc4 100% | 86.4 MiB/s | 2.5 MiB | 00m00s [133/156] Installing efi-srpm-macros-0: 100% | 40.2 MiB/s | 41.2 KiB | 00m00s [134/156] Installing lua-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [135/156] Installing zig-srpm-macros-0: 100% | 0.0 B/s | 1.7 KiB | 00m00s [136/156] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [137/156] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [138/156] Installing package-notes-srpm 100% | 0.0 B/s | 2.0 KiB | 00m00s [139/156] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [140/156] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.2 KiB | 00m00s [141/156] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [142/156] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [143/156] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [144/156] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [145/156] Installing ansible-srpm-macro 100% | 35.4 MiB/s | 36.2 KiB | 00m00s [146/156] Installing python-srpm-macros 100% | 50.9 MiB/s | 52.2 KiB | 00m00s [147/156] Installing fonts-srpm-macros- 100% | 55.7 MiB/s | 57.0 KiB | 00m00s [148/156] Installing go-srpm-macros-0:3 100% | 60.5 MiB/s | 62.0 KiB | 00m00s [149/156] Installing forge-srpm-macros- 100% | 39.3 MiB/s | 40.3 KiB | 00m00s [150/156] Installing redhat-rpm-config- 100% | 61.9 MiB/s | 190.1 KiB | 00m00s [151/156] Installing rpm-build-0:4.20.0 100% | 49.5 MiB/s | 202.8 KiB | 00m00s [152/156] Installing pyproject-srpm-mac 100% | 1.2 MiB/s | 2.5 KiB | 00m00s [153/156] Installing util-linux-0:2.40. 100% | 78.1 MiB/s | 3.7 MiB | 00m00s [154/156] Installing authselect-0:1.5.0 100% | 39.5 MiB/s | 161.9 KiB | 00m00s [155/156] Installing which-0:2.21-42.fc 100% | 40.2 MiB/s | 82.4 KiB | 00m00s [156/156] Installing info-0:7.1-3.fc41. 100% | 265.0 KiB/s | 362.2 KiB | 00m01s Warning: skipped PGP checks for 4 packages from repository: copr_base Complete! Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: add-determinism-0.3.6-3.fc41.x86_64 alternatives-1.30-1.fc41.x86_64 ansible-srpm-macros-1-16.fc41.noarch audit-libs-4.0.2-1.fc41.x86_64 authselect-1.5.0-8.fc41.x86_64 authselect-libs-1.5.0-8.fc41.x86_64 basesystem-11-21.fc41.noarch bash-5.2.32-1.fc41.x86_64 binutils-2.43.1-2.fc41.x86_64 build-reproducibility-srpm-macros-0.3.6-3.fc41.noarch bzip2-1.0.8-19.fc41.x86_64 bzip2-libs-1.0.8-19.fc41.x86_64 ca-certificates-2024.2.69_v8.0.401-1.0.fc41.noarch coreutils-9.5-11.fc41.x86_64 coreutils-common-9.5-11.fc41.x86_64 cpio-2.15-2.fc41.x86_64 cracklib-2.9.11-6.fc41.x86_64 crypto-policies-20241029-1.git8baf557.fc41.noarch curl-8.9.1-2.fc41.x86_64 cyrus-sasl-lib-2.1.28-27.fc41.x86_64 debugedit-5.1-1.fc41.x86_64 diffutils-3.10-8.fc41.x86_64 dwz-0.15-8.fc41.x86_64 ed-1.20.2-2.fc41.x86_64 efi-srpm-macros-5-12.fc41.noarch elfutils-0.192-6.fc41.x86_64 elfutils-debuginfod-client-0.192-6.fc41.x86_64 elfutils-default-yama-scope-0.192-6.fc41.noarch elfutils-libelf-0.192-6.fc41.x86_64 elfutils-libs-0.192-6.fc41.x86_64 fedora-gpg-keys-41-1.noarch fedora-release-41-28.noarch fedora-release-common-41-28.noarch fedora-release-identity-basic-41-28.noarch fedora-repos-41-1.noarch file-5.45-7.fc41.x86_64 file-libs-5.45-7.fc41.x86_64 filesystem-3.18-23.fc41.x86_64 findutils-4.10.0-4.fc41.x86_64 fonts-srpm-macros-2.0.5-17.fc41.noarch forge-srpm-macros-0.4.0-1.fc41.noarch fpc-srpm-macros-1.3-13.fc41.noarch gawk-5.3.0-4.fc41.x86_64 gdb-minimal-15.2-3.fc41.x86_64 gdbm-1.23-7.fc41.x86_64 gdbm-libs-1.23-7.fc41.x86_64 ghc-srpm-macros-1.9.1-2.fc41.noarch glibc-2.40-11.fc41.x86_64 glibc-common-2.40-11.fc41.x86_64 glibc-gconv-extra-2.40-11.fc41.x86_64 glibc-minimal-langpack-2.40-11.fc41.x86_64 gmp-6.3.0-2.fc41.x86_64 gnat-srpm-macros-6-6.fc41.noarch go-srpm-macros-3.6.0-3.fc41.noarch gpg-pubkey-e99d6ad1-64d2612c grep-3.11-9.fc41.x86_64 gzip-1.13-2.fc41.x86_64 info-7.1-3.fc41.x86_64 jansson-2.13.1-10.fc41.x86_64 json-c-0.17-4.fc41.x86_64 kernel-srpm-macros-1.0-24.fc41.noarch keyutils-libs-1.6.3-4.fc41.x86_64 krb5-libs-1.21.3-3.fc41.x86_64 libacl-2.3.2-2.fc41.x86_64 libarchive-3.7.4-4.fc41.x86_64 libattr-2.5.2-4.fc41.x86_64 libblkid-2.40.2-4.fc41.x86_64 libbrotli-1.1.0-5.fc41.x86_64 libcap-2.70-4.fc41.x86_64 libcap-ng-0.8.5-3.fc41.x86_64 libcom_err-1.47.1-6.fc41.x86_64 libcurl-8.9.1-2.fc41.x86_64 libeconf-0.6.2-3.fc41.x86_64 libevent-2.1.12-14.fc41.x86_64 libfdisk-2.40.2-4.fc41.x86_64 libffi-3.4.6-3.fc41.x86_64 libgcc-14.2.1-3.fc41.x86_64 libgomp-14.2.1-3.fc41.x86_64 libidn2-2.3.7-2.fc41.x86_64 libmount-2.40.2-4.fc41.x86_64 libnghttp2-1.62.1-2.fc41.x86_64 libnsl2-2.0.1-2.fc41.x86_64 libpkgconf-2.3.0-1.fc41.x86_64 libpsl-0.21.5-4.fc41.x86_64 libpwquality-1.4.5-11.fc41.x86_64 libselinux-3.7-5.fc41.x86_64 libsemanage-3.7-2.fc41.x86_64 libsepol-3.7-2.fc41.x86_64 libsmartcols-2.40.2-4.fc41.x86_64 libssh-0.10.6-8.fc41.x86_64 libssh-config-0.10.6-8.fc41.noarch libstdc++-14.2.1-3.fc41.x86_64 libtasn1-4.19.0-9.fc41.x86_64 libtirpc-1.3.6-1.fc41.x86_64 libtool-ltdl-2.4.7-12.fc41.x86_64 libunistring-1.1-8.fc41.x86_64 libutempter-1.2.1-15.fc41.x86_64 libuuid-2.40.2-4.fc41.x86_64 libverto-0.3.2-9.fc41.x86_64 libxcrypt-4.4.36-10.fc41.x86_64 libxml2-2.12.8-2.fc41.x86_64 libzstd-1.5.6-2.fc41.x86_64 lua-libs-5.4.6-6.fc41.x86_64 lua-srpm-macros-1-14.fc41.noarch lz4-libs-1.10.0-1.fc41.x86_64 mpfr-4.2.1-5.fc41.x86_64 ncurses-base-6.5-2.20240629.fc41.noarch ncurses-libs-6.5-2.20240629.fc41.x86_64 ocaml-srpm-macros-10-3.fc41.noarch openblas-srpm-macros-2-18.fc41.noarch openldap-2.6.8-5.fc41.x86_64 openssl-libs-3.2.2-9.fc41.x86_64 p11-kit-0.25.5-3.fc41.x86_64 p11-kit-trust-0.25.5-3.fc41.x86_64 package-notes-srpm-macros-0.5-12.fc41.noarch pam-1.6.1-6.fc41.x86_64 pam-libs-1.6.1-6.fc41.x86_64 patch-2.7.6-25.fc41.x86_64 pcre2-10.44-1.fc41.1.x86_64 pcre2-syntax-10.44-1.fc41.1.noarch perl-srpm-macros-1-56.fc41.noarch pkgconf-2.3.0-1.fc41.x86_64 pkgconf-m4-2.3.0-1.fc41.noarch pkgconf-pkg-config-2.3.0-1.fc41.x86_64 popt-1.19-7.fc41.x86_64 publicsuffix-list-dafsa-20240107-4.fc41.noarch pyproject-srpm-macros-1.16.2-1.fc41.noarch python-srpm-macros-3.13-3.fc41.noarch qt5-srpm-macros-5.15.15-1.fc41.noarch qt6-srpm-macros-6.8.0-1.fc41.noarch readline-8.2-10.fc41.x86_64 redhat-rpm-config-293-1.fc41.noarch rpm-4.20.0-1.fc41.x86_64 rpm-build-4.20.0-1.fc41.x86_64 rpm-build-libs-4.20.0-1.fc41.x86_64 rpm-libs-4.20.0-1.fc41.x86_64 rpm-sequoia-1.7.0-2.fc41.x86_64 rust-srpm-macros-26.3-3.fc41.noarch sed-4.9-3.fc41.x86_64 setup-2.15.0-5.fc41.noarch shadow-utils-4.15.1-12.fc41.x86_64 sqlite-libs-3.46.1-1.fc41.x86_64 systemd-libs-257~rc2-3.fc41.x86_64 tar-1.35-4.fc41.x86_64 unzip-6.0-64.fc41.x86_64 util-linux-2.40.2-4.fc41.x86_64 util-linux-core-2.40.2-4.fc41.x86_64 which-2.21-42.fc41.x86_64 xxhash-libs-0.8.2-4.fc41.x86_64 xz-5.6.2-2.fc41.x86_64 xz-libs-5.6.2-2.fc41.x86_64 zig-srpm-macros-1-3.fc41.noarch zip-3.0-41.fc41.x86_64 zlib-ng-compat-2.1.7-3.fc41.x86_64 zstd-1.5.6-2.fc41.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1732320000 Wrote: /builddir/build/SRPMS/python-dns-lexicon-3.18.0-1.fc41.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-41-x86_64-1732382396.805928/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-c3sf64q3/python-dns-lexicon/python-dns-lexicon.spec) Config(child) 1 minutes 1 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot INFO: Start(/var/lib/copr-rpmbuild/results/python-dns-lexicon-3.18.0-1.fc41.src.rpm) Config(fedora-41-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-41-x86_64-bootstrap-1732382396.805928/root. INFO: reusing tmpfs at /var/lib/mock/fedora-41-x86_64-bootstrap-1732382396.805928/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-41-x86_64-1732382396.805928/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.20.0-1.fc41.x86_64 rpm-sequoia-1.7.0-2.fc41.x86_64 dnf5-5.2.7.0-1.fc41.x86_64 dnf5-plugins-5.2.7.0-1.fc41.x86_64 Finish: chroot init Start: build phase for python-dns-lexicon-3.18.0-1.fc41.src.rpm Start: build setup for python-dns-lexicon-3.18.0-1.fc41.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1732320000 Wrote: /builddir/build/SRPMS/python-dns-lexicon-3.18.0-1.fc41.src.rpm Updating and loading repositories: updates 100% | 834.6 KiB/s | 27.5 KiB | 00m00s fedora 100% | 1.0 MiB/s | 27.5 KiB | 00m00s Copr repository 100% | 29.5 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: python3-devel x86_64 3.13.0-1.fc41 fedora 1.8 MiB python3-pytest noarch 8.3.3-1.fc41 updates 20.8 MiB python3-pytest-vcr noarch 1.0.2-22.fc41 fedora 12.9 KiB Installing dependencies: expat x86_64 2.6.4-1.fc41 updates 292.9 KiB libb2 x86_64 0.98.1-12.fc41 fedora 42.2 KiB libyaml x86_64 0.2.5-15.fc41 fedora 134.4 KiB mpdecimal x86_64 2.5.1-16.fc41 fedora 204.9 KiB pyproject-rpm-macros noarch 1.16.2-1.fc41 copr_base 113.8 KiB python-pip-wheel noarch 24.3.1-1.fc41 copr_base 1.2 MiB python-rpm-macros noarch 3.13-3.fc41 fedora 22.1 KiB python3 x86_64 3.13.0-1.fc41 fedora 31.8 KiB python3-idna noarch 3.10-1.fc41 copr_base 629.0 KiB python3-iniconfig noarch 1.1.1-24.fc41 copr_base 20.6 KiB python3-libs x86_64 3.13.0-1.fc41 fedora 40.3 MiB python3-multidict x86_64 6.1.0-1.fc41 copr_base 164.4 KiB python3-packaging noarch 24.2-2.fc41 copr_base 558.2 KiB python3-pluggy noarch 1.5.0-1.fc41 fedora 193.2 KiB python3-pyyaml x86_64 6.0.1-18.fc41 fedora 791.1 KiB python3-rpm-generators noarch 14-11.fc41 fedora 81.7 KiB python3-rpm-macros noarch 3.13-3.fc41 fedora 6.4 KiB python3-six noarch 1.16.0-24.fc41 copr_base 118.3 KiB python3-vcrpy noarch 5.0.0-6.fc41 fedora 297.1 KiB python3-wrapt x86_64 1.16.0-6.fc41 fedora 197.4 KiB python3-yarl x86_64 1.13.1-1.fc41 copr_base 539.0 KiB tzdata noarch 2024a-9.fc41 fedora 1.7 MiB Transaction Summary: Installing: 25 packages Total size of inbound packages is 15 MiB. Need to download 15 MiB. After this operation, 70 MiB extra will be used (install 70 MiB, remove 0 B). [ 1/25] python3-pytest-vcr-0:1.0.2-22.f 100% | 101.5 KiB/s | 15.0 KiB | 00m00s [ 2/25] python3-vcrpy-0:5.0.0-6.fc41.no 100% | 1.1 MiB/s | 121.4 KiB | 00m00s [ 3/25] libb2-0:0.98.1-12.fc41.x86_64 100% | 713.2 KiB/s | 25.7 KiB | 00m00s [ 4/25] python3-devel-0:3.13.0-1.fc41.x 100% | 1.2 MiB/s | 402.5 KiB | 00m00s [ 5/25] mpdecimal-0:2.5.1-16.fc41.x86_6 100% | 1.8 MiB/s | 89.0 KiB | 00m00s [ 6/25] python3-pyyaml-0:6.0.1-18.fc41. 100% | 3.2 MiB/s | 231.6 KiB | 00m00s [ 7/25] tzdata-0:2024a-9.fc41.noarch 100% | 7.4 MiB/s | 714.7 KiB | 00m00s [ 8/25] python3-wrapt-0:1.16.0-6.fc41.x 100% | 1.8 MiB/s | 72.2 KiB | 00m00s [ 9/25] libyaml-0:0.2.5-15.fc41.x86_64 100% | 1.5 MiB/s | 59.4 KiB | 00m00s [10/25] python3-pluggy-0:1.5.0-1.fc41.n 100% | 1.5 MiB/s | 58.6 KiB | 00m00s [11/25] python3-libs-0:3.13.0-1.fc41.x8 100% | 17.2 MiB/s | 9.1 MiB | 00m01s [12/25] python3-0:3.13.0-1.fc41.x86_64 100% | 730.7 KiB/s | 27.8 KiB | 00m00s [13/25] python3-six-0:1.16.0-24.fc41.no 100% | 469.1 KiB/s | 41.8 KiB | 00m00s [14/25] expat-0:2.6.4-1.fc41.x86_64 100% | 1.5 MiB/s | 114.5 KiB | 00m00s [15/25] python3-yarl-0:1.13.1-1.fc41.x8 100% | 811.4 KiB/s | 139.6 KiB | 00m00s [16/25] python-pip-wheel-0:24.3.1-1.fc4 100% | 26.8 MiB/s | 1.2 MiB | 00m00s [17/25] python3-iniconfig-0:1.1.1-24.fc 100% | 453.8 KiB/s | 18.6 KiB | 00m00s [18/25] python3-packaging-0:24.2-2.fc41 100% | 14.1 MiB/s | 144.0 KiB | 00m00s [19/25] python3-idna-0:3.10-1.fc41.noar 100% | 11.0 MiB/s | 112.1 KiB | 00m00s [20/25] python-rpm-macros-0:3.13-3.fc41 100% | 453.0 KiB/s | 17.7 KiB | 00m00s [21/25] python3-multidict-0:6.1.0-1.fc4 100% | 689.0 KiB/s | 53.1 KiB | 00m00s [22/25] python3-rpm-generators-0:14-11. 100% | 771.1 KiB/s | 29.3 KiB | 00m00s [23/25] pyproject-rpm-macros-0:1.16.2-1 100% | 4.9 MiB/s | 45.2 KiB | 00m00s [24/25] python3-rpm-macros-0:3.13-3.fc4 100% | 377.1 KiB/s | 12.4 KiB | 00m00s [25/25] python3-pytest-0:8.3.3-1.fc41.n 100% | 5.1 MiB/s | 2.1 MiB | 00m00s -------------------------------------------------------------------------------- [25/25] Total 100% | 16.0 MiB/s | 14.9 MiB | 00m01s Running transaction [ 1/27] Verify package files 100% | 471.0 B/s | 25.0 B | 00m00s [ 2/27] Prepare transaction 100% | 462.0 B/s | 25.0 B | 00m00s [ 3/27] Installing python-rpm-macros-0: 100% | 22.3 MiB/s | 22.8 KiB | 00m00s [ 4/27] Installing python3-rpm-macros-0 100% | 0.0 B/s | 6.7 KiB | 00m00s [ 5/27] Installing pyproject-rpm-macros 100% | 113.0 MiB/s | 115.7 KiB | 00m00s [ 6/27] Installing python-pip-wheel-0:2 100% | 414.7 MiB/s | 1.2 MiB | 00m00s [ 7/27] Installing expat-0:2.6.4-1.fc41 100% | 144.0 MiB/s | 295.0 KiB | 00m00s [ 8/27] Installing libyaml-0:0.2.5-15.f 100% | 26.5 MiB/s | 135.8 KiB | 00m00s [ 9/27] Installing tzdata-0:2024a-9.fc4 100% | 25.2 MiB/s | 1.9 MiB | 00m00s [10/27] Installing mpdecimal-0:2.5.1-16 100% | 100.6 MiB/s | 206.0 KiB | 00m00s [11/27] Installing libb2-0:0.98.1-12.fc 100% | 7.0 MiB/s | 43.3 KiB | 00m00s [12/27] Installing python3-libs-0:3.13. 100% | 192.0 MiB/s | 40.7 MiB | 00m00s [13/27] Installing python3-0:3.13.0-1.f 100% | 32.8 MiB/s | 33.6 KiB | 00m00s [14/27] Installing python3-packaging-0: 100% | 111.4 MiB/s | 570.5 KiB | 00m00s [15/27] Installing python3-rpm-generato 100% | 81.0 MiB/s | 82.9 KiB | 00m00s [16/27] Installing python3-pyyaml-0:6.0 100% | 78.6 MiB/s | 804.9 KiB | 00m00s [17/27] Installing python3-wrapt-0:1.16 100% | 66.5 MiB/s | 204.2 KiB | 00m00s [18/27] Installing python3-pluggy-0:1.5 100% | 64.9 MiB/s | 199.4 KiB | 00m00s [19/27] Installing python3-six-0:1.16.0 100% | 58.9 MiB/s | 120.7 KiB | 00m00s [20/27] Installing python3-iniconfig-0: 100% | 7.7 MiB/s | 23.6 KiB | 00m00s [21/27] Installing python3-pytest-0:8.3 100% | 244.0 MiB/s | 21.0 MiB | 00m00s [22/27] Installing python3-idna-0:3.10- 100% | 155.1 MiB/s | 635.3 KiB | 00m00s [23/27] Installing python3-multidict-0: 100% | 55.3 MiB/s | 170.0 KiB | 00m00s [24/27] Installing python3-yarl-0:1.13. 100% | 133.2 MiB/s | 545.6 KiB | 00m00s [25/27] Installing python3-vcrpy-0:5.0. 100% | 51.5 MiB/s | 316.3 KiB | 00m00s [26/27] Installing python3-pytest-vcr-0 100% | 7.6 MiB/s | 15.5 KiB | 00m00s [27/27] Installing python3-devel-0:3.13 100% | 37.8 MiB/s | 1.8 MiB | 00m00s Warning: skipped PGP checks for 8 packages from repository: copr_base Complete! Finish: build setup for python-dns-lexicon-3.18.0-1.fc41.src.rpm Start: rpmbuild python-dns-lexicon-3.18.0-1.fc41.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1732320000 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.upLuET + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + test -d /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + /usr/bin/rm -rf /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.tDSOeL + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + cd /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + rm -rf lexicon-3.18.0 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/lexicon-3.18.0.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd lexicon-3.18.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + rm -rf dns-lexicon.egg-info + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.XoJLuO + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + cd lexicon-3.18.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir + RPM_TOXENV=light + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/pyproject-wheeldir --output /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/python-dns-lexicon-3.18.0-1.fc41.x86_64-pyproject-buildrequires -r -t -e light -x gransy,localzone,oci,route53 Handling poetry-core>=1.2.0 from build-system.requires Requirement not satisfied: poetry-core>=1.2.0 Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/python-dns-lexicon-3.18.0-1.fc41.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-dns-lexicon-3.18.0-1.fc41.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 1.0 MiB/s | 27.5 KiB | 00m00s updates 100% | 983.7 KiB/s | 27.5 KiB | 00m00s Copr repository 100% | 49.5 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.16.2-1.fc41.noarch" is already installed. Package "python3-devel-3.13.0-1.fc41.x86_64" is already installed. Package "python3-pytest-8.3.3-1.fc41.noarch" is already installed. Package "python3-pytest-vcr-1.0.2-22.fc41.noarch" is already installed. Package "python3-packaging-24.2-2.fc41.noarch" is already installed. Package Arch Version Repository Size Installing: python3-pip noarch 24.3.1-1.fc41 copr_base 11.4 MiB python3-poetry-core noarch 1.9.1-1.fc41 copr_base 1.0 MiB Installing dependencies: python3-fastjsonschema noarch 2.20.0-1.fc41 copr_base 190.8 KiB python3-lark noarch 1.1.9-5.fc41 fedora 1.3 MiB Transaction Summary: Installing: 4 packages Total size of inbound packages is 3 MiB. Need to download 3 MiB. After this operation, 14 MiB extra will be used (install 14 MiB, remove 0 B). [1/4] python3-poetry-core-0:1.9.1-1.fc4 100% | 5.2 MiB/s | 260.1 KiB | 00m00s [2/4] python3-fastjsonschema-0:2.20.0-1 100% | 1.9 MiB/s | 59.0 KiB | 00m00s [3/4] python3-pip-0:24.3.1-1.fc41.noarc 100% | 27.9 MiB/s | 2.5 MiB | 00m00s [4/4] python3-lark-0:1.1.9-5.fc41.noarc 100% | 962.5 KiB/s | 388.9 KiB | 00m00s -------------------------------------------------------------------------------- [4/4] Total 100% | 7.4 MiB/s | 3.2 MiB | 00m00s Running transaction [1/6] Verify package files 100% | 307.0 B/s | 4.0 B | 00m00s [2/6] Prepare transaction 100% | 142.0 B/s | 4.0 B | 00m00s [3/6] Installing python3-fastjsonschema 100% | 48.5 MiB/s | 198.8 KiB | 00m00s [4/6] Installing python3-lark-0:1.1.9-5 100% | 111.0 MiB/s | 1.3 MiB | 00m00s [5/6] Installing python3-poetry-core-0: 100% | 53.3 MiB/s | 1.1 MiB | 00m00s [6/6] Installing python3-pip-0:24.3.1-1 100% | 99.0 MiB/s | 11.7 MiB | 00m00s Warning: skipped PGP checks for 3 packages from repository: copr_base Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1732320000 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.PP6qzZ + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + cd lexicon-3.18.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir + RPM_TOXENV=light + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/pyproject-wheeldir --output /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/python-dns-lexicon-3.18.0-1.fc41.x86_64-pyproject-buildrequires -r -t -e light -x gransy,localzone,oci,route53 Handling poetry-core>=1.2.0 from build-system.requires Requirement satisfied: poetry-core>=1.2.0 (installed: poetry-core 1.9.1) Handling tox-current-env >= 0.0.6 from tox itself Requirement not satisfied: tox-current-env >= 0.0.6 Exiting dependency generation pass: tox itself + cat /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/python-dns-lexicon-3.18.0-1.fc41.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-dns-lexicon-3.18.0-1.fc41.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 980.9 KiB/s | 27.5 KiB | 00m00s updates 100% | 1.1 MiB/s | 27.5 KiB | 00m00s Copr repository 100% | 39.3 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.16.2-1.fc41.noarch" is already installed. Package Arch Version Repository Size Installing: python3-tox-current-env noarch 0.0.14-1.fc41 copr_base 75.7 KiB Installing dependencies: python-setuptools-wheel noarch 74.1.3-4.fc41 copr_base 1.2 MiB python-wheel-wheel noarch 1:0.44.0-2.fc41 copr_base 66.4 KiB python3-cachetools noarch 5.4.0-2.fc41 fedora 144.4 KiB python3-chardet noarch 5.2.0-14.fc41 fedora 2.1 MiB python3-colorama noarch 0.4.6-9.fc41 fedora 191.6 KiB python3-distlib noarch 0.3.9-1.fc41 copr_base 1.2 MiB python3-filelock noarch 3.15.4-3.fc41 copr_base 90.2 KiB python3-platformdirs noarch 4.2.2-3.fc41 copr_base 168.4 KiB python3-pyproject-api noarch 1.6.1-6.fc41 copr_base 80.5 KiB python3-virtualenv noarch 20.26.6-1.fc41 copr_base 647.5 KiB tox noarch 4.23.2-1.fc41 copr_base 1.2 MiB Transaction Summary: Installing: 12 packages Package "python3-devel-3.13.0-1.fc41.x86_64" is already installed. Package "python3-pytest-8.3.3-1.fc41.noarch" is already installed. Package "python3-pytest-vcr-1.0.2-22.fc41.noarch" is already installed. Package "python3-packaging-24.2-2.fc41.noarch" is already installed. Package "python3-pip-24.3.1-1.fc41.noarch" is already installed. Package "python3-poetry-core-1.9.1-1.fc41.noarch" is already installed. Total size of inbound packages is 3 MiB. Need to download 3 MiB. After this operation, 7 MiB extra will be used (install 7 MiB, remove 0 B). [ 1/12] python3-tox-current-env-0:0.0.1 100% | 561.1 KiB/s | 31.4 KiB | 00m00s [ 2/12] tox-0:4.23.2-1.fc41.noarch 100% | 2.9 MiB/s | 371.2 KiB | 00m00s [ 3/12] python3-cachetools-0:5.4.0-2.fc 100% | 118.5 KiB/s | 37.6 KiB | 00m00s [ 4/12] python3-filelock-0:3.15.4-3.fc4 100% | 2.2 MiB/s | 38.1 KiB | 00m00s [ 5/12] python3-platformdirs-0:4.2.2-3. 100% | 2.9 MiB/s | 41.5 KiB | 00m00s [ 6/12] python3-pyproject-api-0:1.6.1-6 100% | 913.0 KiB/s | 37.4 KiB | 00m00s [ 7/12] python3-virtualenv-0:20.26.6-1. 100% | 9.1 MiB/s | 243.4 KiB | 00m00s [ 8/12] python3-chardet-0:5.2.0-14.fc41 100% | 807.3 KiB/s | 298.7 KiB | 00m00s [ 9/12] python3-colorama-0:0.4.6-9.fc41 100% | 219.9 KiB/s | 71.2 KiB | 00m00s [10/12] python-wheel-wheel-1:0.44.0-2.f 100% | 1.3 MiB/s | 72.6 KiB | 00m00s [11/12] python-setuptools-wheel-0:74.1. 100% | 8.1 MiB/s | 1.1 MiB | 00m00s [12/12] python3-distlib-0:0.3.9-1.fc41. 100% | 929.4 KiB/s | 259.3 KiB | 00m00s -------------------------------------------------------------------------------- [12/12] Total 100% | 3.3 MiB/s | 2.6 MiB | 00m01s Running transaction [ 1/14] Verify package files 100% | 1.1 KiB/s | 12.0 B | 00m00s [ 2/14] Prepare transaction 100% | 631.0 B/s | 12.0 B | 00m00s [ 3/14] Installing python3-platformdirs 100% | 56.9 MiB/s | 174.9 KiB | 00m00s [ 4/14] Installing python3-filelock-0:3 100% | 31.6 MiB/s | 97.1 KiB | 00m00s [ 5/14] Installing python3-distlib-0:0. 100% | 168.4 MiB/s | 1.2 MiB | 00m00s [ 6/14] Installing python-wheel-wheel-1 100% | 65.5 MiB/s | 67.1 KiB | 00m00s [ 7/14] Installing python-setuptools-wh 100% | 384.3 MiB/s | 1.2 MiB | 00m00s [ 8/14] Installing python3-virtualenv-0 100% | 33.3 MiB/s | 716.2 KiB | 00m00s [ 9/14] Installing python3-pyproject-ap 100% | 42.3 MiB/s | 86.7 KiB | 00m00s [10/14] Installing python3-colorama-0:0 100% | 49.2 MiB/s | 201.5 KiB | 00m00s [11/14] Installing python3-chardet-0:5. 100% | 161.2 MiB/s | 2.1 MiB | 00m00s [12/14] Installing python3-cachetools-0 100% | 48.3 MiB/s | 148.3 KiB | 00m00s [13/14] Installing tox-0:4.23.2-1.fc41. 100% | 58.4 MiB/s | 1.3 MiB | 00m00s [14/14] Installing python3-tox-current- 100% | 3.9 MiB/s | 80.0 KiB | 00m00s Warning: skipped PGP checks for 9 packages from repository: copr_base Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1732320000 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.RZK2tb + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + cd lexicon-3.18.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir + RPM_TOXENV=light + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/pyproject-wheeldir --output /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/python-dns-lexicon-3.18.0-1.fc41.x86_64-pyproject-buildrequires -r -t -e light -x gransy,localzone,oci,route53 Handling poetry-core>=1.2.0 from build-system.requires Requirement satisfied: poetry-core>=1.2.0 (installed: poetry-core 1.9.1) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.14) light: OK (0.01 seconds) congratulations :) (0.08 seconds) Handling tox from tox --print-deps-only: light Requirement satisfied: tox (installed: tox 4.23.2) light: OK (0.01 seconds) congratulations :) (0.06 seconds) Handling beautifulsoup4 (>=4) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: beautifulsoup4 (>=4) Handling boto3 (>=1.28) ; extra == "route53" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: boto3 (>=1.28) ; extra == "route53" or extra == "full" Handling cryptography (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: cryptography (>=2) Handling dnspython (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: dnspython (>=2) Handling importlib-metadata (>=4.6) ; python_version < "3.10" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: importlib-metadata (>=4.6) ; python_version < "3.10" Handling localzone (>=0.9.8) ; extra == "localzone" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: localzone (>=0.9.8) ; extra == "localzone" or extra == "full" Handling oci (>=2) ; extra == "oci" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: oci (>=2) ; extra == "oci" or extra == "full" Handling pyotp (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: pyotp (>=2) Handling pyyaml (>=3) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: pyyaml (>=3) (installed: pyyaml 6.0.1) Handling requests (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: requests (>=2) Handling softlayer (>=5) ; extra == "softlayer" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: softlayer (>=5) ; extra == "softlayer" or extra == "full" Handling tencentcloud-sdk-python (>=3) ; extra == "qcloud" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: tencentcloud-sdk-python (>=3) ; extra == "qcloud" or extra == "full" Handling tldextract (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: tldextract (>=2) Handling zeep (>=3) ; extra == "gransy" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: zeep (>=3) ; extra == "gransy" or extra == "full" + cat /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/python-dns-lexicon-3.18.0-1.fc41.x86_64-pyproject-buildrequires + rm -rfv dns_lexicon-3.18.0.dist-info/ removed 'dns_lexicon-3.18.0.dist-info/entry_points.txt' removed 'dns_lexicon-3.18.0.dist-info/WHEEL' removed 'dns_lexicon-3.18.0.dist-info/METADATA' removed 'dns_lexicon-3.18.0.dist-info/LICENSE' removed directory 'dns_lexicon-3.18.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-dns-lexicon-3.18.0-1.fc41.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 1.0 MiB/s | 27.5 KiB | 00m00s updates 100% | 1.0 MiB/s | 27.5 KiB | 00m00s Copr repository 100% | 7.6 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.16.2-1.fc41.noarch" is already installed. Package "python3-devel-3.13.0-1.fc41.x86_64" is already installed. Package "python3-pytest-8.3.3-1.fc41.noarch" is already installed. Package "python3-pytest-vcr-1.0.2-22.fc41.noarch" is already installed. Package "python3-packaging-24.2-2.fc41.noarch" is already installed. Package "python3-pip-24.3.1-1.fc41.noarch" is already installed. Package "python3-poetry-core-1.9.1-1.fc41.noarch" is already installed. Package "python3-pyyaml-6.0.1-18.fc41.x86_64" is already installed. Package "tox-4.23.2-1.fc41.noarch" is already installed. Package "python3-tox-current-env-0.0.14-1.fc41.noarch" is already installed. Package Arch Version Repository Size Installing: python3-beautifulsoup4 noarch 4.12.3-8.fc41 copr_base 1.4 MiB python3-boto3 noarch 1.35.64-1.fc41 updates 2.0 MiB python3-cryptography x86_64 43.0.0-3.fc41 copr_base 4.7 MiB python3-dns noarch 2.6.1-4.fc41 fedora 2.8 MiB python3-localzone noarch 0.9.8-8.fc41 fedora 47.5 KiB python3-oci noarch 2.138.0-1.fc41 copr_base 299.0 MiB python3-pyotp noarch 2.9.0-5.fc41 fedora 59.6 KiB python3-requests noarch 2.32.3-3.fc41 copr_base 485.9 KiB python3-tldextract noarch 5.1.3-1.fc41 copr_base 103.2 KiB python3-zeep noarch 4.3.1-1.fc41 copr_base 1.0 MiB Installing dependencies: libxslt x86_64 1.1.42-2.fc41 fedora 483.1 KiB python3-attrs noarch 24.2.0-1.fc41 copr_base 396.1 KiB python3-botocore noarch 1.35.68-1.fc41 copr_base 97.4 MiB python3-certifi noarch 2024.08.30-1.fc41 copr_base 6.8 KiB python3-cffi x86_64 1.17.1-1.fc41 copr_base 1.3 MiB python3-charset-normalizer noarch 3.4.0-1.fc41 copr_base 322.1 KiB python3-circuitbreaker noarch 2.0.0-6.fc41 fedora 46.2 KiB python3-dateutil noarch 1:2.8.2-16.fc41 fedora 879.2 KiB python3-isodate noarch 0.7.2-1.fc41 copr_base 122.2 KiB python3-jmespath noarch 1.0.1-8.fc41 fedora 149.8 KiB python3-lxml x86_64 5.2.1-6.fc41 fedora 4.9 MiB python3-ply noarch 3.11-25.fc41 fedora 568.2 KiB python3-pyOpenSSL noarch 24.2.1-1.fc41 fedora 747.1 KiB python3-pycparser noarch 2.20-18.fc41 fedora 821.0 KiB python3-pytz noarch 2024.2-1.fc41 copr_base 223.7 KiB python3-requests-file noarch 2.0.0-4.fc41 fedora 14.0 KiB python3-requests-toolbelt noarch 1.0.0-7.fc41 fedora 299.1 KiB python3-s3transfer noarch 0.10.4-1.fc41 copr_base 623.4 KiB python3-soupsieve noarch 2.6-3.fc41 copr_base 294.5 KiB python3-urllib3 noarch 2.2.3-5.fc41 copr_base 1.0 MiB Transaction Summary: Installing: 30 packages Total size of inbound packages is 36 MiB. Need to download 36 MiB. After this operation, 422 MiB extra will be used (install 422 MiB, remove 0 B). [ 1/30] python3-beautifulsoup4-0:4.12.3 100% | 3.4 MiB/s | 308.2 KiB | 00m00s [ 2/30] python3-cryptography-0:43.0.0-3 100% | 41.8 MiB/s | 1.3 MiB | 00m00s [ 3/30] python3-boto3-0:1.35.64-1.fc41. 100% | 1.8 MiB/s | 403.8 KiB | 00m00s [ 4/30] python3-pyotp-0:2.9.0-5.fc41.no 100% | 139.9 KiB/s | 36.8 KiB | 00m00s [ 5/30] python3-localzone-0:0.9.8-8.fc4 100% | 116.1 KiB/s | 30.0 KiB | 00m00s [ 6/30] python3-requests-0:2.32.3-3.fc4 100% | 4.4 MiB/s | 149.6 KiB | 00m00s [ 7/30] python3-oci-0:2.138.0-1.fc41.no 100% | 67.2 MiB/s | 21.7 MiB | 00m00s [ 8/30] python3-tldextract-0:5.1.3-1.fc 100% | 629.3 KiB/s | 44.1 KiB | 00m00s [ 9/30] python3-zeep-0:4.3.1-1.fc41.noa 100% | 2.1 MiB/s | 237.7 KiB | 00m00s [10/30] python3-dns-0:2.6.1-4.fc41.noar 100% | 884.3 KiB/s | 611.9 KiB | 00m01s [11/30] python3-jmespath-0:1.0.1-8.fc41 100% | 327.8 KiB/s | 58.7 KiB | 00m00s [12/30] python3-circuitbreaker-0:2.0.0- 100% | 285.5 KiB/s | 21.7 KiB | 00m00s [13/30] python3-pyOpenSSL-0:24.2.1-1.fc 100% | 1.5 MiB/s | 130.2 KiB | 00m00s [14/30] python3-requests-file-0:2.0.0-4 100% | 210.4 KiB/s | 15.8 KiB | 00m00s [15/30] python3-lxml-0:5.2.1-6.fc41.x86 100% | 2.8 MiB/s | 1.4 MiB | 00m00s [16/30] python3-requests-toolbelt-0:1.0 100% | 1.4 MiB/s | 117.7 KiB | 00m00s [17/30] python3-attrs-0:24.2.0-1.fc41.n 100% | 11.6 MiB/s | 118.6 KiB | 00m00s [18/30] python3-dateutil-1:2.8.2-16.fc4 100% | 1.3 MiB/s | 359.7 KiB | 00m00s [19/30] libxslt-0:1.1.42-2.fc41.x86_64 100% | 2.3 MiB/s | 189.1 KiB | 00m00s [20/30] python3-charset-normalizer-0:3. 100% | 9.9 MiB/s | 101.8 KiB | 00m00s [21/30] python3-pytz-0:2024.2-1.fc41.no 100% | 2.6 MiB/s | 60.4 KiB | 00m00s [22/30] python3-isodate-0:0.7.2-1.fc41. 100% | 1.6 MiB/s | 46.7 KiB | 00m00s [23/30] python3-urllib3-0:2.2.3-5.fc41. 100% | 23.1 MiB/s | 259.6 KiB | 00m00s [24/30] python3-cffi-0:1.17.1-1.fc41.x8 100% | 24.2 MiB/s | 297.1 KiB | 00m00s [25/30] python3-pycparser-0:2.20-18.fc4 100% | 2.0 MiB/s | 159.5 KiB | 00m00s [26/30] python3-ply-0:3.11-25.fc41.noar 100% | 1.5 MiB/s | 136.2 KiB | 00m00s [27/30] python3-soupsieve-0:2.6-3.fc41. 100% | 4.3 MiB/s | 93.3 KiB | 00m00s [28/30] python3-certifi-0:2024.08.30-1. 100% | 91.6 KiB/s | 14.9 KiB | 00m00s [29/30] python3-s3transfer-0:0.10.4-1.f 100% | 1.9 MiB/s | 148.4 KiB | 00m00s [30/30] python3-botocore-0:1.35.68-1.fc 100% | 38.3 MiB/s | 7.2 MiB | 00m00s -------------------------------------------------------------------------------- [30/30] Total 100% | 23.3 MiB/s | 35.6 MiB | 00m02s Running transaction [ 1/32] Verify package files 100% | 150.0 B/s | 30.0 B | 00m00s [ 2/32] Prepare transaction 100% | 52.0 B/s | 30.0 B | 00m01s [ 3/32] Installing python3-urllib3-0:2. 100% | 62.6 MiB/s | 1.0 MiB | 00m00s [ 4/32] Installing python3-pytz-0:2024. 100% | 44.7 MiB/s | 229.0 KiB | 00m00s [ 5/32] Installing python3-dateutil-1:2 100% | 87.2 MiB/s | 892.9 KiB | 00m00s [ 6/32] Installing python3-jmespath-0:1 100% | 15.3 MiB/s | 156.3 KiB | 00m00s [ 7/32] Installing python3-botocore-0:1 100% | 177.3 MiB/s | 97.9 MiB | 00m01s [ 8/32] Installing python3-s3transfer-0 100% | 77.5 MiB/s | 634.5 KiB | 00m00s [ 9/32] Installing python3-soupsieve-0: 100% | 58.7 MiB/s | 300.6 KiB | 00m00s [10/32] Installing python3-ply-0:3.11-2 100% | 112.0 MiB/s | 573.4 KiB | 00m00s [11/32] Installing python3-pycparser-0: 100% | 90.3 MiB/s | 832.5 KiB | 00m00s [12/32] Installing python3-cffi-0:1.17. 100% | 111.5 MiB/s | 1.3 MiB | 00m00s [13/32] Installing python3-cryptography 100% | 91.8 MiB/s | 4.8 MiB | 00m00s [14/32] Installing python3-pyOpenSSL-0: 100% | 122.6 MiB/s | 753.1 KiB | 00m00s [15/32] Installing python3-certifi-0:20 100% | 5.1 MiB/s | 10.4 KiB | 00m00s [16/32] Installing python3-charset-norm 100% | 46.3 MiB/s | 332.0 KiB | 00m00s [17/32] Installing python3-requests-0:2 100% | 69.5 MiB/s | 498.0 KiB | 00m00s [18/32] Installing python3-requests-fil 100% | 8.0 MiB/s | 16.4 KiB | 00m00s [19/32] Installing python3-requests-too 100% | 26.3 MiB/s | 323.7 KiB | 00m00s [20/32] Installing python3-isodate-0:0. 100% | 31.8 MiB/s | 130.2 KiB | 00m00s [21/32] Installing python3-attrs-0:24.2 100% | 50.1 MiB/s | 410.7 KiB | 00m00s [22/32] Installing libxslt-0:1.1.42-2.f 100% | 67.8 MiB/s | 486.2 KiB | 00m00s [23/32] Installing python3-lxml-0:5.2.1 100% | 141.9 MiB/s | 5.0 MiB | 00m00s [24/32] Installing python3-circuitbreak 100% | 11.8 MiB/s | 48.5 KiB | 00m00s [25/32] Installing python3-dns-0:2.6.1- 100% | 76.5 MiB/s | 2.9 MiB | 00m00s [26/32] Installing python3-localzone-0: 100% | 476.1 KiB/s | 52.4 KiB | 00m00s [27/32] Installing python3-oci-0:2.138. 100% | 139.1 MiB/s | 307.6 MiB | 00m02s [28/32] Installing python3-beautifulsou 100% | 131.8 MiB/s | 1.5 MiB | 00m00s [29/32] Installing python3-zeep-0:4.3.1 100% | 77.0 MiB/s | 1.1 MiB | 00m00s [30/32] Installing python3-tldextract-0 100% | 35.8 MiB/s | 109.9 KiB | 00m00s [31/32] Installing python3-boto3-0:1.35 100% | 120.4 MiB/s | 2.0 MiB | 00m00s [32/32] Installing python3-pyotp-0:2.9. 100% | 709.2 KiB/s | 66.7 KiB | 00m00s Warning: skipped PGP checks for 16 packages from repository: copr_base Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1732320000 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.EEKDiJ + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + cd lexicon-3.18.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir + RPM_TOXENV=light + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/pyproject-wheeldir --output /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/python-dns-lexicon-3.18.0-1.fc41.x86_64-pyproject-buildrequires -r -t -e light -x gransy,localzone,oci,route53 Handling poetry-core>=1.2.0 from build-system.requires Requirement satisfied: poetry-core>=1.2.0 (installed: poetry-core 1.9.1) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.14) light: OK (0.01 seconds) congratulations :) (0.07 seconds) Handling tox from tox --print-deps-only: light Requirement satisfied: tox (installed: tox 4.23.2) light: OK (0.00 seconds) congratulations :) (0.06 seconds) Handling beautifulsoup4 (>=4) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: beautifulsoup4 (>=4) (installed: beautifulsoup4 4.12.3) Handling boto3 (>=1.28) ; extra == "route53" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: boto3 (>=1.28) ; extra == "route53" or extra == "full" (installed: boto3 1.35.64) Handling cryptography (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: cryptography (>=2) (installed: cryptography 43.0.0) Handling dnspython (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: dnspython (>=2) (installed: dnspython 2.6.1) Handling importlib-metadata (>=4.6) ; python_version < "3.10" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: importlib-metadata (>=4.6) ; python_version < "3.10" Handling localzone (>=0.9.8) ; extra == "localzone" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: localzone (>=0.9.8) ; extra == "localzone" or extra == "full" (installed: localzone 0.9.8) Handling oci (>=2) ; extra == "oci" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: oci (>=2) ; extra == "oci" or extra == "full" (installed: oci 2.138.0) Handling pyotp (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: pyotp (>=2) (installed: pyotp 2.9.0) Handling pyyaml (>=3) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: pyyaml (>=3) (installed: pyyaml 6.0.1) Handling requests (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: requests (>=2) (installed: requests 2.32.3) Handling softlayer (>=5) ; extra == "softlayer" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: softlayer (>=5) ; extra == "softlayer" or extra == "full" Handling tencentcloud-sdk-python (>=3) ; extra == "qcloud" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: tencentcloud-sdk-python (>=3) ; extra == "qcloud" or extra == "full" Handling tldextract (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: tldextract (>=2) (installed: tldextract 5.1.3) Handling zeep (>=3) ; extra == "gransy" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: zeep (>=3) ; extra == "gransy" or extra == "full" (installed: zeep 4.3.1) + cat /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/python-dns-lexicon-3.18.0-1.fc41.x86_64-pyproject-buildrequires + rm -rfv dns_lexicon-3.18.0.dist-info/ removed 'dns_lexicon-3.18.0.dist-info/entry_points.txt' removed 'dns_lexicon-3.18.0.dist-info/WHEEL' removed 'dns_lexicon-3.18.0.dist-info/METADATA' removed 'dns_lexicon-3.18.0.dist-info/LICENSE' removed directory 'dns_lexicon-3.18.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-dns-lexicon-3.18.0-1.fc41.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 1.0 MiB/s | 27.5 KiB | 00m00s updates 100% | 1.1 MiB/s | 27.5 KiB | 00m00s Copr repository 100% | 12.0 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Nothing to do. Package "pyproject-rpm-macros-1.16.2-1.fc41.noarch" is already installed. Package "python3-devel-3.13.0-1.fc41.x86_64" is already installed. Package "python3-pytest-8.3.3-1.fc41.noarch" is already installed. Package "python3-pytest-vcr-1.0.2-22.fc41.noarch" is already installed. Package "python3-beautifulsoup4-4.12.3-8.fc41.noarch" is already installed. Package "python3-boto3-1.35.64-1.fc41.noarch" is already installed. Package "python3-cryptography-43.0.0-3.fc41.x86_64" is already installed. Package "python3-dns-2.6.1-4.fc41.noarch" is already installed. Package "python3-localzone-0.9.8-8.fc41.noarch" is already installed. Package "python3-oci-2.138.0-1.fc41.noarch" is already installed. Package "python3-packaging-24.2-2.fc41.noarch" is already installed. Package "python3-pip-24.3.1-1.fc41.noarch" is already installed. Package "python3-poetry-core-1.9.1-1.fc41.noarch" is already installed. Package "python3-pyotp-2.9.0-5.fc41.noarch" is already installed. Package "python3-pyyaml-6.0.1-18.fc41.x86_64" is already installed. Package "python3-requests-2.32.3-3.fc41.noarch" is already installed. Package "python3-tldextract-5.1.3-1.fc41.noarch" is already installed. Package "tox-4.23.2-1.fc41.noarch" is already installed. Package "python3-tox-current-env-0.0.14-1.fc41.noarch" is already installed. Package "python3-zeep-4.3.1-1.fc41.noarch" is already installed. Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1732320000 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.vAy8B5 + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + cd lexicon-3.18.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir + RPM_TOXENV=light + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/pyproject-wheeldir --output /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/python-dns-lexicon-3.18.0-1.fc41.x86_64-pyproject-buildrequires -r -t -e light -x gransy,localzone,oci,route53 Handling poetry-core>=1.2.0 from build-system.requires Requirement satisfied: poetry-core>=1.2.0 (installed: poetry-core 1.9.1) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.14) light: OK (0.01 seconds) congratulations :) (0.07 seconds) Handling tox from tox --print-deps-only: light Requirement satisfied: tox (installed: tox 4.23.2) light: OK (0.01 seconds) congratulations :) (0.07 seconds) Handling beautifulsoup4 (>=4) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: beautifulsoup4 (>=4) (installed: beautifulsoup4 4.12.3) Handling boto3 (>=1.28) ; extra == "route53" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: boto3 (>=1.28) ; extra == "route53" or extra == "full" (installed: boto3 1.35.64) Handling cryptography (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: cryptography (>=2) (installed: cryptography 43.0.0) Handling dnspython (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: dnspython (>=2) (installed: dnspython 2.6.1) Handling importlib-metadata (>=4.6) ; python_version < "3.10" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: importlib-metadata (>=4.6) ; python_version < "3.10" Handling localzone (>=0.9.8) ; extra == "localzone" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: localzone (>=0.9.8) ; extra == "localzone" or extra == "full" (installed: localzone 0.9.8) Handling oci (>=2) ; extra == "oci" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: oci (>=2) ; extra == "oci" or extra == "full" (installed: oci 2.138.0) Handling pyotp (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: pyotp (>=2) (installed: pyotp 2.9.0) Handling pyyaml (>=3) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: pyyaml (>=3) (installed: pyyaml 6.0.1) Handling requests (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: requests (>=2) (installed: requests 2.32.3) Handling softlayer (>=5) ; extra == "softlayer" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: softlayer (>=5) ; extra == "softlayer" or extra == "full" Handling tencentcloud-sdk-python (>=3) ; extra == "qcloud" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: tencentcloud-sdk-python (>=3) ; extra == "qcloud" or extra == "full" Handling tldextract (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: tldextract (>=2) (installed: tldextract 5.1.3) Handling zeep (>=3) ; extra == "gransy" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: zeep (>=3) ; extra == "gransy" or extra == "full" (installed: zeep 4.3.1) + cat /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/python-dns-lexicon-3.18.0-1.fc41.x86_64-pyproject-buildrequires + rm -rfv dns_lexicon-3.18.0.dist-info/ removed 'dns_lexicon-3.18.0.dist-info/entry_points.txt' removed 'dns_lexicon-3.18.0.dist-info/WHEEL' removed 'dns_lexicon-3.18.0.dist-info/METADATA' removed 'dns_lexicon-3.18.0.dist-info/LICENSE' removed directory 'dns_lexicon-3.18.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.lYuPCF + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd lexicon-3.18.0 + sed -i 1d src/lexicon/_private/cli.py + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/pyproject-wheeldir Processing /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: dns-lexicon Building wheel for dns-lexicon (pyproject.toml): started Running command Building wheel for dns-lexicon (pyproject.toml) Building wheel for dns-lexicon (pyproject.toml): finished with status 'done' Created wheel for dns-lexicon: filename=dns_lexicon-3.18.0-py3-none-any.whl size=247047 sha256=8d2c2d847d14a974823d570cde5338718fa08aa771702970931d3783d0a294ae Stored in directory: /builddir/.cache/pip/wheels/08/3b/49/211463fdd2271b2c944679041dc7d46095a99b75059edde585 Successfully built dns-lexicon + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.dO5RGx + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + '[' /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT ++ dirname /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + mkdir /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd lexicon-3.18.0 ++ ls /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/pyproject-wheeldir/dns_lexicon-3.18.0-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=dns_lexicon==3.18.0 + '[' -z dns_lexicon==3.18.0 ']' + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/pyproject-wheeldir dns_lexicon==3.18.0 Using pip 24.3.1 from /usr/lib/python3.13/site-packages/pip (python 3.13) Looking in links: /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/pyproject-wheeldir Processing ./pyproject-wheeldir/dns_lexicon-3.18.0-py3-none-any.whl Installing collected packages: dns_lexicon Creating /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/bin changing mode of /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/bin/lexicon to 755 Successfully installed dns_lexicon-3.18.0 + '[' -d /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/bin ']' + '[' -z sP ']' + shebang_flags=-kasP + /usr/bin/python3 -B /usr/lib/rpm/redhat/pathfix.py -pni /usr/bin/python3 -kasP /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/bin/lexicon /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/bin/lexicon: updating + rm -rfv /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/bin/__pycache__ + rm -f /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/python-dns-lexicon-3.18.0-1.fc41.x86_64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + site_dirs+=("/usr/lib/python3.13/site-packages") + '[' /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib64/python3.13/site-packages '!=' /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + '[' -d /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib64/python3.13/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.13/site-packages/dns_lexicon-3.18.0.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/dns_lexicon-3.18.0.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT --record /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/dns_lexicon-3.18.0.dist-info/RECORD --output /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/python-dns-lexicon-3.18.0-1.fc41.x86_64-pyproject-record + rm -fv /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/dns_lexicon-3.18.0.dist-info/RECORD removed '/builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/dns_lexicon-3.18.0.dist-info/RECORD' + rm -fv /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/dns_lexicon-3.18.0.dist-info/REQUESTED removed '/builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/dns_lexicon-3.18.0.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/python-dns-lexicon-3.18.0-1.fc41.x86_64-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + install -pm 0755 /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT//usr/bin/lexicon /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT//usr/bin/lexicon-3.13 + cd /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT//usr/bin + ln -s lexicon-3.13 lexicon-3 + rm -rf /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/tests + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j2 Bytecompiling .py files below /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13 using python3.13 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j2 /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/aliyun.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/aurora.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/auto.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/azure.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/cloudflare.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/cloudns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/cloudxns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/conoha.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/constellix.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/ddns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/digitalocean.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/directadmin.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dinahosting.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dnsimple.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dnsmadeeasy.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dnspark.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dnspod.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dnsservices.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dreamhost.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/duckdns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dynu.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/easydns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/euserv.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/easyname.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/exoscale.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/flexibleengine.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/gandi.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/gehirn.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/glesys.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/godaddy.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/googleclouddns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/gransy.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/gratisdns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/henet.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/hetzner.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/hostingde.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/hover.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/infoblox.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/infomaniak.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/internetbs.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/inwx.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/joker.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/linode.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/linode4.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/localzone.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/luadns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/memset.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/misaka.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/mythicbeasts.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/namecheap.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/namecom.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/namesilo.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/netcup.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/nfsn.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/njalla.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/nsone.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/oci.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/onapp.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/online.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/ovh.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/plesk.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/pointhq.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/porkbun.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/powerdns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/qcloud.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/rackspace.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/rage4.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/rcodezero.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/route53.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/safedns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/sakuracloud.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/softlayer.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/timeweb.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/transip.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/ultradns.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/valuedomain.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/vultr.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/webgo.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/wedos.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/yandex.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/yandexcloud.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/zeit.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/zilore.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/zonomi.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/azure.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/vercel.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/plesk.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/ultradns.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/valuedomain.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/__pycache__/cli.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/__pycache__/discovery.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/__pycache__/parser.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/providers/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/__pycache__/client.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/easyname.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/__pycache__/exceptions.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/__pycache__/interfaces.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/__pycache__/config.cpython-313.pyc: rewriting with normalized contents Scanned 15 directories and 297 files, processed 101 inodes, 101 modified (10 replaced + 91 rewritten), 0 unsupported format, 0 errors Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.RerVHB + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.18.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd lexicon-3.18.0 + TEST_SELECTOR='not AutoProviderTests and not NamecheapProviderTests and not NamecheapManagedProviderTests and not Route53Provider and not AliyunProviderTests and not AuroraProviderTests and not Route53ProviderTests' + TEST_SELECTOR+=' and not SoftLayerProviderTests' + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + PATH=/builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-dns-lexicon-3.18.0-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=2 + /usr/bin/pytest -v -k 'not AutoProviderTests and not NamecheapProviderTests and not NamecheapManagedProviderTests and not Route53Provider and not AliyunProviderTests and not AuroraProviderTests and not Route53ProviderTests and not SoftLayerProviderTests' ============================= test session starts ============================== platform linux -- Python 3.13.0, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/python-dns-lexicon-3.18.0-build/lexicon-3.18.0 configfile: pyproject.toml plugins: vcr-1.0.2 collecting ... collected 2422 items / 193 deselected / 2229 selected tests/providers/test_azure.py::AzureTests::test_provider_authenticate PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 1%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 1%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 1%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 1%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 1%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_authenticate PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_authenticate PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 3%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_authenticate PASSED [ 3%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 3%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 3%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 3%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 3%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_authenticate PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 6%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 6%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 6%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 6%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 6%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 6%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_authenticate PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_authenticate SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_should_handle_record_sets SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_update_record_should_modify_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record SKIPPED [ 8%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_authenticate PASSED [ 8%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 8%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 8%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 8%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 10%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_authenticate PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_authenticate PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_authenticate PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 13%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_authenticate PASSED [ 13%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 13%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 13%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 13%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 15%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_authenticate PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 16%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_authenticate PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 17%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_authenticate PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_id_to_dreamhost_record PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_id_to_record PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_identifier PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_authenticate PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 19%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_duckdns_domain_logic PASSED [ 19%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_authenticate SKIPPED [ 19%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail SKIPPED [ 19%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 19%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content SKIPPED [ 19%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 19%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_update_record_should_modify_record SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record SKIPPED [ 20%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_authenticate PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_authenticate PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_authenticate PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_authenticate PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 25%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_authenticate PASSED [ 25%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 25%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 25%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 25%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 25%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_authenticate PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched SKIPPED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_should_handle_record_sets SKIPPED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record SKIPPED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record SKIPPED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record SKIPPED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_authenticate PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_authenticate PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 30%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_authenticate PASSED [ 30%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 30%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 30%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 30%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 31%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_authenticate PASSED [ 31%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 31%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 31%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 31%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 31%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 32%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_authenticate FAILED [ 32%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 32%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content FAILED [ 32%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content FAILED [ 32%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content FAILED [ 32%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_after_setting_ttl FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_should_handle_record_sets FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_update_record_should_modify_record FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record FAILED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record FAILED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_authenticate PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_authenticate PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 36%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_authenticate PASSED [ 36%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 36%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 36%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 36%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 36%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 36%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 36%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 36%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 36%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 36%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 37%] tests/providers/test_henet.py::HenetProviderTests::test_provider_authenticate PASSED [ 37%] tests/providers/test_henet.py::HenetProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 37%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 37%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 37%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 37%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_authenticate PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_authenticate PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 41%] tests/providers/test_hover.py::HoverProviderTests::test_provider_authenticate PASSED [ 41%] tests/providers/test_hover.py::HoverProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 41%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 41%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 41%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 41%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 41%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 41%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 41%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 41%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 41%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 42%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_authenticate PASSED [ 42%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 42%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 42%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 42%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_authenticate PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_authenticate PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 46%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_authenticate PASSED [ 46%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 46%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 46%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 46%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 46%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 46%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 46%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 46%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 46%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 47%] tests/providers/test_joker.py::JokerProviderTests::test_provider_authenticate PASSED [ 47%] tests/providers/test_joker.py::JokerProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 47%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 47%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_authenticate PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_authenticate PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 51%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_authenticate SKIPPED [ 51%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail SKIPPED [ 51%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 51%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 51%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 51%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 51%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 51%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 51%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 51%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 52%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_authenticate PASSED [ 52%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 52%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 52%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content SKIPPED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_authenticate PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_authenticate PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 55%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 56%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_authenticate PASSED [ 56%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 56%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 56%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 56%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 56%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 56%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 56%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 56%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 57%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_authenticate PASSED [ 57%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 57%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_authentication_method PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_MX_with_no_priority PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_MX_with_priority PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_should_fail_on_http_error PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_should_pass_if_no_record_to_delete PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_with_no_identifier_or_rtype_and_name_should_fail PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_by_identifier_with_no_other_args_should_pass PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_filter_by_content_should_pass PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_should_fail_if_multiple_records_to_update PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_should_fail_if_no_record_to_update PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_with_no_identifier_or_rtype_and_name_should_fail PASSED [ 59%] tests/providers/test_namecom.py::test_subparser_configuration PASSED [ 59%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_authenticate PASSED [ 59%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 59%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 59%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 59%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 59%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 59%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 59%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 60%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_authenticate PASSED [ 60%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_authenticate PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 63%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_authenticate PASSED [ 63%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 63%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 63%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 63%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 63%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 63%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 63%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 63%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop SKIPPED [ 63%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 63%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 63%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 63%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all SKIPPED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 64%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_authenticate PASSED [ 64%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 64%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 64%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 64%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 64%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 64%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 65%] tests/providers/test_oci.py::OciProviderTests::test_provider_authenticate PASSED [ 65%] tests/providers/test_oci.py::OciProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_authenticate PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 67%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 68%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_authenticate PASSED [ 68%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 68%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 68%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 68%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 68%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 68%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 68%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 68%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 68%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 68%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 68%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 68%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 69%] tests/providers/test_online.py::OnlineProviderTests::test_provider_authenticate PASSED [ 69%] tests/providers/test_online.py::OnlineProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 69%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 69%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 69%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 69%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 69%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record SKIPPED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 70%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_authenticate PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_authenticate PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 72%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 73%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_authenticate PASSED [ 73%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 73%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 73%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 73%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 73%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 73%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 73%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 73%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 73%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 73%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 73%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 74%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_authenticate PASSED [ 74%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 74%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 74%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 74%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 74%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 75%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_authenticate PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_authenticate PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 77%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 78%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_authenticate PASSED [ 78%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 78%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 78%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 78%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 78%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 78%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 78%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 78%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 78%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 78%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_update_record_should_modify_record SKIPPED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record SKIPPED [ 79%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_authenticate PASSED [ 79%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 79%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 79%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 79%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 79%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_authenticate PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content SKIPPED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 81%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_authenticate PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record SKIPPED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 82%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_authenticate PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content SKIPPED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content SKIPPED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 83%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 84%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 84%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 84%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 84%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 84%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 84%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 84%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 84%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 84%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 84%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 84%] tests/providers/test_timeweb.py::TimewebProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_authenticate PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_authenticate PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_authenticate SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_should_handle_record_sets SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list SKIPPED [ 88%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record SKIPPED [ 88%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all SKIPPED [ 88%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_update_record_should_modify_record SKIPPED [ 88%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 88%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record SKIPPED [ 88%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record SKIPPED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_authenticate PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_authenticate PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 90%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_authenticate PASSED [ 90%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 90%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 90%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 90%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 92%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_authenticate PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 93%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 93%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 93%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 93%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 93%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 93%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 93%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_authenticate PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_authenticate PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 95%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_authenticate PASSED [ 95%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 95%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 95%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 97%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_authenticate PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 98%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 98%] tests/test_client.py::test_client_basic_init FAILED [ 98%] tests/test_client.py::test_client_legacy_init FAILED [ 98%] tests/test_client.py::test_client_init_when_domain_includes_subdomain_should_strip FAILED [ 98%] tests/test_client.py::test_client_init_with_delegated_domain_name FAILED [ 98%] tests/test_client.py::test_client_init_with_delegated_domain_fqdn FAILED [ 98%] tests/test_client.py::test_client_init_with_same_delegated_domain_fqdn FAILED [ 98%] tests/test_client.py::test_client_init_when_missing_provider_should_fail PASSED [ 98%] tests/test_client.py::test_client_init_when_missing_action_should_fail FAILED [ 98%] tests/test_client.py::test_client_init_when_missing_domain_should_fail PASSED [ 98%] tests/test_client.py::test_client_init_when_missing_type_should_fail FAILED [ 98%] tests/test_client.py::test_client_parse_env_with_no_keys_should_do_nothing FAILED [ 98%] tests/test_client.py::test_client_parse_env_with_auth_keys FAILED [ 98%] tests/test_config.py::test_environment_resolution PASSED [ 98%] tests/test_config.py::test_argparse_resolution PASSED [ 98%] tests/test_config.py::test_dict_resolution PASSED [ 98%] tests/test_config.py::test_config_lexicon_file_resolution PASSED [ 98%] tests/test_config.py::test_provider_config_lexicon_file_resolution PASSED [ 98%] tests/test_config.py::test_provider_config_dir_resolution PASSED [ 98%] tests/test_config.py::test_generic_config_feeder_resolution PASSED [ 98%] tests/test_config.py::test_legacy_dict_config_resolution PASSED [ 98%] tests/test_config.py::test_prioritized_resolution PASSED [ 99%] tests/test_library.py::test_unknown_provider_raises_error_on_instantiation PASSED [ 99%] tests/test_library.py::test_missing_required_client_config_parameter_raises_error_on_instantiation PASSED [ 99%] tests/test_library.py::test_missing_required_client_config_parameter_raises_error_on_execute FAILED [ 99%] tests/test_library.py::test_missing_optional_client_config_parameter_does_not_raise_error_on_execute FAILED [ 99%] tests/test_library.py::test_list_action_is_correctly_handled_by_provider_on_execute FAILED [ 99%] tests/test_library.py::test_list_action_is_correctly_handled_by_provider_on_context_manager FAILED [ 99%] tests/test_library.py::test_create_action_is_correctly_handled_by_provider_on_execute FAILED [ 99%] tests/test_library.py::test_create_action_is_correctly_handled_by_provider_on_context_manager FAILED [ 99%] tests/test_library.py::test_update_action_is_correctly_handled_by_provider_on_execute FAILED [ 99%] tests/test_library.py::test_update_action_is_correctly_handled_by_provider_on_context_manager FAILED [ 99%] tests/test_library.py::test_delete_action_is_correctly_handled_by_provider_on_execute FAILED [ 99%] tests/test_library.py::test_delete_action_is_correctly_handled_by_provider_on_context_manager FAILED [ 99%] tests/test_output.py::test_output_function_outputs_json_as_table PASSED [ 99%] tests/test_output.py::test_output_function_outputs_json_as_table_with_no_header PASSED [ 99%] tests/test_output.py::test_output_function_outputs_json_as_json_string PASSED [ 99%] tests/test_output.py::test_output_function_output_nothing_when_quiet PASSED [ 99%] tests/test_output.py::test_output_function_outputs_nothing_with_not_a_json_serializable PASSED [ 99%] tests/test_parser.py::test_base_provider_parser PASSED [ 99%] tests/test_parser.py::test_base_provider_parser_without_domain PASSED [ 99%] tests/test_parser.py::test_base_provider_parser_without_options PASSED [ 99%] tests/test_parser.py::test_cli_main_parser PASSED [ 99%] tests/test_parser.py::test_cli_main_parser_without_args PASSED [100%] =================================== FAILURES =================================== _______________ GoDaddyProviderTests.test_provider_authenticate ________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_authenticate.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 1 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_create_record_for_A_with_valid_name_and_content _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:126: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_create_record_for_A_with_valid_name_and_content.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 2 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/A/localhost /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:133: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 2 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/CNAME/docs /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:156: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 2 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.fqdn /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_create_record_for_TXT_with_full_name_and_content _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_create_record_for_TXT_with_full_name_and_content.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 2 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.full /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:140: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 2 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.test /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_create_record_multiple_times_should_create_record_set _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:489: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_create_record_multiple_times_should_create_record_set.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 3 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.createrecordset E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.createrecordset /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_create_record_with_duplicate_records_should_be_noop _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:475: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_create_record_with_duplicate_records_should_be_noop.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 4 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.noop E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.noop E E 4 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.noop /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_delete_record_by_filter_should_remove_record _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:303: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_delete_record_by_filter_should_remove_record.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 4 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/delete.testfilt E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records E E 4 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/delete.testfilt /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 4 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/delete.testfqdn E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records E E 4 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/delete.testfqdn /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 4 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/delete.testfull E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records E E 4 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/delete.testfull /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_delete_record_by_identifier_should_remove_record _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:294: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_delete_record_by_identifier_should_remove_record.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 5 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/delete.testid E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/delete.testid E E 4 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records E E 5 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/delete.testid /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:541: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 5 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.deleterecordinset E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.deleterecordinset E E 4 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records E E 5 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.deleterecordinset /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_delete_record_with_record_set_name_remove_all _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:521: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_delete_record_with_record_set_name_remove_all.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 5 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.deleterecordset E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.deleterecordset E E 4 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records E E 5 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.deleterecordset /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_list_records_after_setting_ttl _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:211: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_list_records_after_setting_ttl.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 3 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/ttl.fqdn E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/ttl.fqdn /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_list_records_should_handle_record_sets _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:507: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_list_records_should_handle_record_sets.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 4 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.listrecordset E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.listrecordset E E 4 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/_acme-challenge.listrecordset /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:199: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 3 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/random.fqdntest E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/random.fqdntest /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_list_records_with_full_name_filter_should_return_record _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:185: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_list_records_with_full_name_filter_should_return_record.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 3 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/random.fulltest E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/random.fulltest /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:501: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 2 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/filter.thisdoesnotexist /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_list_records_with_name_filter_should_return_record _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_list_records_with_name_filter_should_return_record.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 3 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/random.test E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/random.test /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_list_records_with_no_arguments_should_list_all _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:166: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_list_records_with_no_arguments_should_list_all.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 2 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_update_record_should_modify_record _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:240: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_update_record_should_modify_record.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 4 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/orig.test E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/orig.test E E 4 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_update_record_should_modify_record_name_specified _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:251: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_update_record_should_modify_record_name_specified.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 3 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/orig.nameonly.test E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_update_record_with_fqdn_name_should_modify_record _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:275: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_update_record_with_fqdn_name_should_modify_record.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 4 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/orig.testfqdn E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/orig.testfqdn E E 4 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException _ GoDaddyProviderTests.test_provider_when_calling_update_record_with_full_name_should_modify_record _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = func = , namespace = 'urls' kwargs = {'session': , 'timeout': None, 'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} hashed_argnames = ['url'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , namespace = 'urls' key = {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: self = > ??? tests/providers/integration_tests.py:259: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/providers/integration_tests.py:418: in _construct_authenticated_provider ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:62: in authenticate ??? ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/godaddy.py:304: in get_root_domain_name ??? /usr/lib/python3.13/site-packages/tldextract/tldextract.py:432: in extract return TLD_EXTRACTOR( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: in _get_suffix_lists text = find_first_response( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:46: in find_first_response return cache.cached_fetch_url( /usr/lib/python3.13/site-packages/tldextract/cache.py:209: in cached_fetch_url return self.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/cache.py:218: in _fetch_url response = session.get(url, timeout=timeout) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:789: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:536: in _make_request response = conn.getresponse() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = _ = False, kwargs = {} def getresponse(self, _=False, **kwargs): """Retrieve the response""" # Check to see if the cassette has a response for this request. If so, # then return it if self.cassette.can_play_response_for(self._vcr_request): log.info(f"Playing response for {self._vcr_request} from cassette") response = self.cassette.play_response(self._vcr_request) return VCRHTTPResponse(response) else: if self.cassette.write_protected and self.cassette.filter_request(self._vcr_request): > raise CannotOverwriteExistingCassetteException( cassette=self.cassette, failed_request=self._vcr_request ) E vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette ('tests/fixtures/cassettes/godaddy/IntegrationTests/test_provider_when_calling_update_record_with_full_name_should_modify_record.yaml') in your current record mode ('none'). E No match for the request () was found. E Found 4 similar requests with 2 different matcher(s) : E E 1 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online E E 2 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/orig.testfull E E 3 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records/TXT/orig.testfull E E 4 - (). E Matchers succeeded : ['method', 'scheme', 'port', 'query'] E Matchers failed : E host - assertion failure : E publicsuffix.org != api.godaddy.com E path - assertion failure : E /list/public_suffix_list.dat != /v1/domains/fullm3tal.online/records /usr/lib/python3.13/site-packages/vcr/stubs/__init__.py:265: CannotOverwriteExistingCassetteException ____________________________ test_client_basic_init ____________________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:17: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ___________________________ test_client_legacy_init ____________________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6bf5d84ad0> mock_provider = None > ??? tests/test_client.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _________ test_client_init_when_domain_includes_subdomain_should_strip _________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _________________ test_client_init_with_delegated_domain_name __________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:66: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _________________ test_client_init_with_delegated_domain_fqdn __________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _______________ test_client_init_with_same_delegated_domain_fqdn _______________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _______________ test_client_init_when_missing_action_should_fail _______________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: > ??? tests/test_client.py:115: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ________________ test_client_init_when_missing_type_should_fail ________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _____________ test_client_parse_env_with_no_keys_should_do_nothing _____________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6bf5fd4050> mock_provider = None > ??? tests/test_client.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _____________________ test_client_parse_env_with_auth_keys _____________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6bf61165f0> mock_provider = None > ??? tests/test_client.py:164: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ____ test_missing_required_client_config_parameter_raises_error_on_execute _____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: lexicon_client = mock_provider = None > ??? tests/test_library.py:62: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _ test_missing_optional_client_config_parameter_does_not_raise_error_on_execute _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: lexicon_client = mock_provider = None > ??? tests/test_library.py:88: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _________ test_list_action_is_correctly_handled_by_provider_on_execute _________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7f6bf4b856a0> lexicon_client = mock_provider = None > ??? tests/test_library.py:105: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _____ test_list_action_is_correctly_handled_by_provider_on_context_manager _____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7f6bf5d40a50> lexicon_client = mock_provider = None > ??? tests/test_library.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ________ test_create_action_is_correctly_handled_by_provider_on_execute ________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7f6bf5d40e10> lexicon_client = mock_provider = None > ??? tests/test_library.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ____ test_create_action_is_correctly_handled_by_provider_on_context_manager ____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7f6bf53ff950> lexicon_client = mock_provider = None > ??? tests/test_library.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ________ test_update_action_is_correctly_handled_by_provider_on_execute ________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7f6bf65936f0> lexicon_client = mock_provider = None > ??? tests/test_library.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ____ test_update_action_is_correctly_handled_by_provider_on_context_manager ____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7f6bf5f6ca70> lexicon_client = mock_provider = None > ??? tests/test_library.py:234: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ________ test_delete_action_is_correctly_handled_by_provider_on_execute ________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7f6bf485caf0> lexicon_client = mock_provider = None > ??? tests/test_library.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ____ test_delete_action_is_correctly_handled_by_provider_on_context_manager ____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:101: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.warning( "Exception reading Public Suffix List url %s", url, exc_info=True ) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:58: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7f6bf47fb8a0> lexicon_client = mock_provider = None > ??? tests/test_library.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:122: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:226: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:255: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:306: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:354: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:83: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:200: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:111: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6bf7b85010> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) WARNING tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 198, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 101, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 200, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 218, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) =========================== short test summary info ============================ FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_authenticate FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_after_setting_ttl FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_should_handle_record_sets FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_update_record_should_modify_record FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record FAILED tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record FAILED tests/test_client.py::test_client_basic_init - FileNotFoundError: [Err... FAILED tests/test_client.py::test_client_legacy_init - FileNotFoundError: [Er... FAILED tests/test_client.py::test_client_init_when_domain_includes_subdomain_should_strip FAILED tests/test_client.py::test_client_init_with_delegated_domain_name - Fi... FAILED tests/test_client.py::test_client_init_with_delegated_domain_fqdn - Fi... FAILED tests/test_client.py::test_client_init_with_same_delegated_domain_fqdn FAILED tests/test_client.py::test_client_init_when_missing_action_should_fail FAILED tests/test_client.py::test_client_init_when_missing_type_should_fail FAILED tests/test_client.py::test_client_parse_env_with_no_keys_should_do_nothing FAILED tests/test_client.py::test_client_parse_env_with_auth_keys - FileNotFo... FAILED tests/test_library.py::test_missing_required_client_config_parameter_raises_error_on_execute FAILED tests/test_library.py::test_missing_optional_client_config_parameter_does_not_raise_error_on_execute FAILED tests/test_library.py::test_list_action_is_correctly_handled_by_provider_on_execute FAILED tests/test_library.py::test_list_action_is_correctly_handled_by_provider_on_context_manager FAILED tests/test_library.py::test_create_action_is_correctly_handled_by_provider_on_execute FAILED tests/test_library.py::test_create_action_is_correctly_handled_by_provider_on_context_manager FAILED tests/test_library.py::test_update_action_is_correctly_handled_by_provider_on_execute FAILED tests/test_library.py::test_update_action_is_correctly_handled_by_provider_on_context_manager FAILED tests/test_library.py::test_delete_action_is_correctly_handled_by_provider_on_execute FAILED tests/test_library.py::test_delete_action_is_correctly_handled_by_provider_on_context_manager === 45 failed, 1919 passed, 265 skipped, 193 deselected in 70.10s (0:01:10) ==== RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.RerVHB (%check) Bad exit status from /var/tmp/rpm-tmp.RerVHB (%check) Finish: rpmbuild python-dns-lexicon-3.18.0-1.fc41.src.rpm Finish: build phase for python-dns-lexicon-3.18.0-1.fc41.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-41-x86_64-1732382396.805928/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names ERROR: Exception(/var/lib/copr-rpmbuild/results/python-dns-lexicon-3.18.0-1.fc41.src.rpm) Config(fedora-41-x86_64) 1 minutes 42 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_failure=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M 3dc87e18c82f4223b31360e602fef275 -D /var/lib/mock/fedora-41-x86_64-1732382396.805928/root -a -u mockbuild --capability=cap_ipc_lock --rlimit=RLIMIT_NOFILE=10240 --capability=cap_ipc_lock --bind=/tmp/mock-resolv.wzut8p7w:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;\007"' '--setenv=PS1= \s-\v\$ ' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c '/usr/bin/rpmbuild -ba --noprep --target x86_64 /builddir/build/originals/python-dns-lexicon.spec' Copr build error: Build failed