0s autopkgtest [10:55:35]: starting date and time: 2025-11-17 10:55:35+0000 0s autopkgtest [10:55:35]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [10:55:35]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.nssfci1w/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python-botocore,src:requests,src:python3-defaults --apt-upgrade python-moto --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python-botocore/1.40.68+repack-1 requests/2.32.5+dfsg-1ubuntu1 python3-defaults/3.13.7-2' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-ppc64el-9.secgroup --name adt-resolute-ppc64el-python-moto-20251117-105534-juju-7f2275-prod-proposed-migration-environment-2-0d39c975-eff7-4abc-9502-84d16c00e557 --image adt/ubuntu-resolute-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration-ppc64el -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-ppc64el-python-moto-20251117-105534-juju-7f2275-prod-proposed-migration-environment-2-0d39c975-eff7-4abc-9502-84d16c00e557 from image adt/ubuntu-resolute-ppc64el-server-20251117.img (UUID c6f5b741-c77a-45db-84cb-f00b40e77676)... 260s autopkgtest [10:59:55]: testbed dpkg architecture: ppc64el 260s autopkgtest [10:59:55]: testbed apt version: 3.1.11 260s autopkgtest [10:59:55]: @@@@@@@@@@@@@@@@@@@@ test bed setup 260s autopkgtest [10:59:55]: testbed release detected to be: None 261s autopkgtest [10:59:56]: updating testbed package index (apt update) 261s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 262s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 262s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 262s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 262s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [22.9 kB] 262s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [9848 B] 262s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [81.1 kB] 262s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [868 kB] 262s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el Packages [140 kB] 262s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted ppc64el Packages [940 B] 262s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el Packages [562 kB] 262s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse ppc64el Packages [11.0 kB] 263s Fetched 1784 kB in 1s (1447 kB/s) 263s Reading package lists... 264s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 264s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 264s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 264s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 265s Reading package lists... 265s Reading package lists... 265s Building dependency tree... 265s Reading state information... 266s Calculating upgrade... 266s The following packages will be upgraded: 266s libpython3-stdlib python3 python3-botocore python3-minimal python3-requests 266s usbutils 266s 6 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 266s Need to get 7588 kB of archives. 266s After this operation, 5337 kB of additional disk space will be used. 266s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3-botocore all 1.40.68+repack-1 [7381 kB] 267s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3-minimal ppc64el 3.13.7-2 [27.8 kB] 267s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3 ppc64el 3.13.7-2 [23.9 kB] 267s Get:4 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3-requests all 2.32.5+dfsg-1ubuntu1 [53.1 kB] 267s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el libpython3-stdlib ppc64el 3.13.7-2 [10.6 kB] 267s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el usbutils ppc64el 1:019-1 [91.5 kB] 267s dpkg-preconfigure: unable to re-open stdin: No such file or directory 267s Fetched 7588 kB in 1s (5828 kB/s) 268s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 81022 files and directories currently installed.) 268s Preparing to unpack .../python3-botocore_1.40.68+repack-1_all.deb ... 268s Unpacking python3-botocore (1.40.68+repack-1) over (1.37.9+repack-1) ... 269s Preparing to unpack .../python3-minimal_3.13.7-2_ppc64el.deb ... 269s Unpacking python3-minimal (3.13.7-2) over (3.13.7-1) ... 269s Setting up python3-minimal (3.13.7-2) ... 269s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 81066 files and directories currently installed.) 269s Preparing to unpack .../python3_3.13.7-2_ppc64el.deb ... 270s running python pre-rtupdate hooks for python3.13... 270s Unpacking python3 (3.13.7-2) over (3.13.7-1) ... 270s Preparing to unpack .../python3-requests_2.32.5+dfsg-1ubuntu1_all.deb ... 270s Unpacking python3-requests (2.32.5+dfsg-1ubuntu1) over (2.32.3+dfsg-5ubuntu2) ... 270s Preparing to unpack .../libpython3-stdlib_3.13.7-2_ppc64el.deb ... 270s Unpacking libpython3-stdlib:ppc64el (3.13.7-2) over (3.13.7-1) ... 270s Preparing to unpack .../usbutils_1%3a019-1_ppc64el.deb ... 270s Unpacking usbutils (1:019-1) over (1:018-2) ... 270s Setting up usbutils (1:019-1) ... 270s Setting up libpython3-stdlib:ppc64el (3.13.7-2) ... 270s Setting up python3 (3.13.7-2) ... 270s running python rtupdate hooks for python3.13... 270s running python post-rtupdate hooks for python3.13... 270s Setting up python3-requests (2.32.5+dfsg-1ubuntu1) ... 270s Setting up python3-botocore (1.40.68+repack-1) ... 271s Processing triggers for man-db (2.13.1-1) ... 274s autopkgtest [11:00:09]: upgrading testbed (apt dist-upgrade and autopurge) 274s Reading package lists... 274s Building dependency tree... 274s Reading state information... 274s Calculating upgrade... 274s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 275s Reading package lists... 275s Building dependency tree... 275s Reading state information... 275s Solving dependencies... 275s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 278s autopkgtest [11:00:13]: testbed running kernel: Linux 6.17.0-5-generic #5-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 10:02:41 UTC 2025 278s autopkgtest [11:00:13]: @@@@@@@@@@@@@@@@@@@@ apt-source python-moto 281s Get:1 http://ftpmaster.internal/ubuntu resolute/universe python-moto 5.1.1-4 (dsc) [2721 B] 281s Get:2 http://ftpmaster.internal/ubuntu resolute/universe python-moto 5.1.1-4 (tar) [6647 kB] 281s Get:3 http://ftpmaster.internal/ubuntu resolute/universe python-moto 5.1.1-4 (diff) [3856 B] 281s gpgv: Signature made Fri Mar 21 15:43:48 2025 UTC 281s gpgv: using RSA key A0B1A9F3508956130E7A425CD416AD15AC6B43FE 281s gpgv: Can't check signature: No public key 281s dpkg-source: warning: cannot verify inline signature for ./python-moto_5.1.1-4.dsc: no acceptable signature found 282s autopkgtest [11:00:17]: testing package python-moto version 5.1.1-4 282s autopkgtest [11:00:17]: build not needed 291s autopkgtest [11:00:26]: test pybuild-autopkgtest: preparing testbed 291s Reading package lists... 291s Building dependency tree... 291s Reading state information... 291s Solving dependencies... 291s The following NEW packages will be installed: 291s autoconf automake autopoint autotools-dev build-essential cpp cpp-15 291s cpp-15-powerpc64le-linux-gnu cpp-powerpc64le-linux-gnu debhelper debugedit 291s dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-15 291s g++-15-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu gcc gcc-15 291s gcc-15-powerpc64le-linux-gnu gcc-powerpc64le-linux-gnu gettext 291s intltool-debian libarchive-zip-perl libasan8 libcc1-0 libdebhelper-perl 291s libfile-stripnondeterminism-perl libgcc-15-dev libgomp1 libisl23 libitm1 291s liblsan0 libmpc3 libpython3.14-minimal libpython3.14-stdlib libquadmath0 291s libstdc++-15-dev libtool libtsan2 libubsan1 libxslt1.1 m4 291s openstack-pkg-tools po-debconf pybuild-plugin-autopkgtest 291s pybuild-plugin-pyproject python3-all python3-antlr4 python3-aws-xray-sdk 291s python3-build python3-click python3-docker python3-envs python3-flask 291s python3-flask-cors python3-freezegun python3-graphql-core python3-inflection 291s python3-iniconfig python3-installer python3-itsdangerous python3-joserfc 291s python3-jsondiff python3-jsonpath-ng python3-jsonpickle 291s python3-jsonschema-path python3-lazy-object-proxy python3-lxml python3-moto 291s python3-multipart python3-mypy python3-mypy-extensions 291s python3-openapi-schema-validator python3-openapi-spec-validator 291s python3-pathable python3-pip python3-pluggy python3-ply 291s python3-prompt-toolkit python3-psutil python3-pycognito python3-pyotp 291s python3-pyproject-hooks python3-pytest python3-responses 291s python3-rfc3339-validator python3-terminaltables3 python3-wcwidth 291s python3-werkzeug python3-wheel python3-wrapt python3-xmltodict python3.14 291s python3.14-minimal 291s 0 upgraded, 97 newly installed, 0 to remove and 0 not upgraded. 291s Need to get 92.3 MB of archives. 291s After this operation, 379 MB of additional disk space will be used. 291s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpython3.14-minimal ppc64el 3.14.0-4 [908 kB] 292s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3.14-minimal ppc64el 3.14.0-4 [2705 kB] 293s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el m4 ppc64el 1.4.20-2 [236 kB] 293s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el autoconf all 2.72-3.1ubuntu1 [384 kB] 293s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el autotools-dev all 20240727.1 [43.4 kB] 293s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el automake all 1:1.18.1-2 [581 kB] 293s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el autopoint all 0.23.2-1 [620 kB] 293s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el libisl23 ppc64el 0.27-1 [882 kB] 293s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el libmpc3 ppc64el 1.3.1-2 [62.5 kB] 293s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp-15-powerpc64le-linux-gnu ppc64el 15.2.0-7ubuntu1 [11.4 MB] 293s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp-15 ppc64el 15.2.0-7ubuntu1 [1032 B] 293s Get:12 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp-powerpc64le-linux-gnu ppc64el 4:15.2.0-4ubuntu1 [5746 B] 293s Get:13 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp ppc64el 4:15.2.0-4ubuntu1 [22.4 kB] 293s Get:14 http://ftpmaster.internal/ubuntu resolute/main ppc64el libcc1-0 ppc64el 15.2.0-7ubuntu1 [49.0 kB] 293s Get:15 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgomp1 ppc64el 15.2.0-7ubuntu1 [169 kB] 293s Get:16 http://ftpmaster.internal/ubuntu resolute/main ppc64el libitm1 ppc64el 15.2.0-7ubuntu1 [32.3 kB] 293s Get:17 http://ftpmaster.internal/ubuntu resolute/main ppc64el libasan8 ppc64el 15.2.0-7ubuntu1 [3006 kB] 294s Get:18 http://ftpmaster.internal/ubuntu resolute/main ppc64el liblsan0 ppc64el 15.2.0-7ubuntu1 [1374 kB] 294s Get:19 http://ftpmaster.internal/ubuntu resolute/main ppc64el libtsan2 ppc64el 15.2.0-7ubuntu1 [2728 kB] 294s Get:20 http://ftpmaster.internal/ubuntu resolute/main ppc64el libubsan1 ppc64el 15.2.0-7ubuntu1 [1231 kB] 294s Get:21 http://ftpmaster.internal/ubuntu resolute/main ppc64el libquadmath0 ppc64el 15.2.0-7ubuntu1 [160 kB] 294s Get:22 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgcc-15-dev ppc64el 15.2.0-7ubuntu1 [1670 kB] 294s Get:23 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-15-powerpc64le-linux-gnu ppc64el 15.2.0-7ubuntu1 [22.4 MB] 295s Get:24 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-15 ppc64el 15.2.0-7ubuntu1 [524 kB] 295s Get:25 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-powerpc64le-linux-gnu ppc64el 4:15.2.0-4ubuntu1 [1220 B] 295s Get:26 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc ppc64el 4:15.2.0-4ubuntu1 [5032 B] 295s Get:27 http://ftpmaster.internal/ubuntu resolute/main ppc64el libstdc++-15-dev ppc64el 15.2.0-7ubuntu1 [2744 kB] 295s Get:28 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++-15-powerpc64le-linux-gnu ppc64el 15.2.0-7ubuntu1 [13.0 MB] 295s Get:29 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++-15 ppc64el 15.2.0-7ubuntu1 [23.7 kB] 295s Get:30 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++-powerpc64le-linux-gnu ppc64el 4:15.2.0-4ubuntu1 [970 B] 295s Get:31 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++ ppc64el 4:15.2.0-4ubuntu1 [1092 B] 295s Get:32 http://ftpmaster.internal/ubuntu resolute/main ppc64el build-essential ppc64el 12.12ubuntu1 [5094 B] 295s Get:33 http://ftpmaster.internal/ubuntu resolute/main ppc64el libdebhelper-perl all 13.24.2ubuntu1 [95.7 kB] 295s Get:34 http://ftpmaster.internal/ubuntu resolute/main ppc64el libtool all 2.5.4-7 [169 kB] 295s Get:35 http://ftpmaster.internal/ubuntu resolute/main ppc64el dh-autoreconf all 21 [12.5 kB] 295s Get:36 http://ftpmaster.internal/ubuntu resolute/main ppc64el libarchive-zip-perl all 1.68-1 [90.2 kB] 295s Get:37 http://ftpmaster.internal/ubuntu resolute/main ppc64el libfile-stripnondeterminism-perl all 1.15.0-1 [20.5 kB] 295s Get:38 http://ftpmaster.internal/ubuntu resolute/main ppc64el dh-strip-nondeterminism all 1.15.0-1 [5090 B] 295s Get:39 http://ftpmaster.internal/ubuntu resolute/main ppc64el debugedit ppc64el 1:5.2-3 [57.3 kB] 295s Get:40 http://ftpmaster.internal/ubuntu resolute/main ppc64el dwz ppc64el 0.16-2 [142 kB] 295s Get:41 http://ftpmaster.internal/ubuntu resolute/main ppc64el gettext ppc64el 0.23.2-1 [1177 kB] 295s Get:42 http://ftpmaster.internal/ubuntu resolute/main ppc64el intltool-debian all 0.35.0+20060710.6 [23.2 kB] 295s Get:43 http://ftpmaster.internal/ubuntu resolute/main ppc64el po-debconf all 1.0.21+nmu1 [233 kB] 295s Get:44 http://ftpmaster.internal/ubuntu resolute/main ppc64el debhelper all 13.24.2ubuntu1 [896 kB] 295s Get:45 http://ftpmaster.internal/ubuntu resolute/universe ppc64el dh-python all 6.20250414 [119 kB] 295s Get:46 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpython3.14-stdlib ppc64el 3.14.0-4 [2446 kB] 296s Get:47 http://ftpmaster.internal/ubuntu resolute/main ppc64el libxslt1.1 ppc64el 1.1.43-0.3 [190 kB] 296s Get:48 http://ftpmaster.internal/ubuntu resolute/universe ppc64el pybuild-plugin-autopkgtest all 6.20250414 [1746 B] 296s Get:49 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 296s Get:50 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-wheel all 0.46.1-2 [22.1 kB] 296s Get:51 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-build all 1.2.2-4 [31.0 kB] 296s Get:52 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 296s Get:53 http://ftpmaster.internal/ubuntu resolute/universe ppc64el pybuild-plugin-pyproject all 6.20250414 [1728 B] 296s Get:54 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3.14 ppc64el 3.14.0-4 [805 kB] 296s Get:55 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3-all ppc64el 3.13.7-2 [892 B] 296s Get:56 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-antlr4 all 4.9.2-1 [99.0 kB] 296s Get:57 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-jsonpickle all 4.0.2+dfsg-2 [40.1 kB] 296s Get:58 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-wrapt ppc64el 1.17.3-2 [42.0 kB] 296s Get:59 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-aws-xray-sdk all 0.95-4 [30.3 kB] 296s Get:60 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 296s Get:61 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-docker all 7.1.0-2ubuntu1 [91.0 kB] 296s Get:62 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-terminaltables3 all 4.0.0-4 [14.6 kB] 296s Get:63 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-envs all 1.2.6-4 [6902 B] 296s Get:64 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-itsdangerous all 2.2.0-2 [15.3 kB] 296s Get:65 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-werkzeug all 3.1.3-2 [169 kB] 296s Get:66 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-flask all 3.1.2-1ubuntu1 [84.7 kB] 296s Get:67 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-flask-cors all 6.0.1-1 [512 kB] 296s Get:68 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-freezegun all 1.5.1-1.2 [15.9 kB] 296s Get:69 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-graphql-core all 3.2.7-1 [125 kB] 296s Get:70 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-inflection all 0.3.1-3 [7326 B] 296s Get:71 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-iniconfig all 2.1.0-1 [6840 B] 296s Get:72 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-joserfc all 1.4.1-1 [41.8 kB] 296s Get:73 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-jsondiff all 2.1.2-1 [14.2 kB] 296s Get:74 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-ply all 3.11-9 [45.8 kB] 296s Get:75 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-jsonpath-ng all 1.7.0-3 [32.9 kB] 296s Get:76 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pathable all 0.4.4-1 [5604 B] 296s Get:77 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-jsonschema-path all 0.3.4-1 [8042 B] 296s Get:78 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-lazy-object-proxy ppc64el 1.12.0-1 [27.0 kB] 296s Get:79 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-lxml ppc64el 6.0.2-1 [2452 kB] 296s Get:80 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-responses all 0.25.8-1 [40.6 kB] 296s Get:81 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-xmltodict all 0.13.0-1ubuntu1 [14.3 kB] 296s Get:82 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-moto all 5.1.1-4 [3531 kB] 296s Get:83 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-multipart all 1.3.0-3 [15.5 kB] 296s Get:84 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-mypy-extensions all 1.1.0-1 [6716 B] 296s Get:85 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-psutil ppc64el 7.1.0-1ubuntu1 [192 kB] 296s Get:86 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-mypy ppc64el 1.15.0-5 [8881 kB] 296s Get:87 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-rfc3339-validator all 0.1.4-2 [3930 B] 296s Get:88 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-openapi-schema-validator all 0.6.3-1 [8164 B] 296s Get:89 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-openapi-spec-validator all 0.7.1-3 [27.5 kB] 296s Get:90 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pip all 25.1.1+dfsg-1ubuntu2 [1416 kB] 296s Get:91 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pluggy all 1.6.0-1 [21.0 kB] 296s Get:92 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 296s Get:93 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-prompt-toolkit all 3.0.52-1 [258 kB] 296s Get:94 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pycognito all 2024.5.1-2 [27.0 kB] 296s Get:95 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pyotp all 2.9.0-2 [17.3 kB] 296s Get:96 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pytest all 8.3.5-2 [252 kB] 296s Get:97 http://ftpmaster.internal/ubuntu resolute/universe ppc64el openstack-pkg-tools all 135ubuntu1 [99.5 kB] 297s Fetched 92.3 MB in 5s (18.1 MB/s) 297s Selecting previously unselected package libpython3.14-minimal:ppc64el. 297s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 81066 files and directories currently installed.) 297s Preparing to unpack .../00-libpython3.14-minimal_3.14.0-4_ppc64el.deb ... 297s Unpacking libpython3.14-minimal:ppc64el (3.14.0-4) ... 297s Selecting previously unselected package python3.14-minimal. 297s Preparing to unpack .../01-python3.14-minimal_3.14.0-4_ppc64el.deb ... 297s Unpacking python3.14-minimal (3.14.0-4) ... 297s Selecting previously unselected package m4. 297s Preparing to unpack .../02-m4_1.4.20-2_ppc64el.deb ... 297s Unpacking m4 (1.4.20-2) ... 297s Selecting previously unselected package autoconf. 297s Preparing to unpack .../03-autoconf_2.72-3.1ubuntu1_all.deb ... 297s Unpacking autoconf (2.72-3.1ubuntu1) ... 297s Selecting previously unselected package autotools-dev. 297s Preparing to unpack .../04-autotools-dev_20240727.1_all.deb ... 297s Unpacking autotools-dev (20240727.1) ... 297s Selecting previously unselected package automake. 297s Preparing to unpack .../05-automake_1%3a1.18.1-2_all.deb ... 297s Unpacking automake (1:1.18.1-2) ... 297s Selecting previously unselected package autopoint. 297s Preparing to unpack .../06-autopoint_0.23.2-1_all.deb ... 297s Unpacking autopoint (0.23.2-1) ... 297s Selecting previously unselected package libisl23:ppc64el. 297s Preparing to unpack .../07-libisl23_0.27-1_ppc64el.deb ... 297s Unpacking libisl23:ppc64el (0.27-1) ... 297s Selecting previously unselected package libmpc3:ppc64el. 297s Preparing to unpack .../08-libmpc3_1.3.1-2_ppc64el.deb ... 297s Unpacking libmpc3:ppc64el (1.3.1-2) ... 297s Selecting previously unselected package cpp-15-powerpc64le-linux-gnu. 297s Preparing to unpack .../09-cpp-15-powerpc64le-linux-gnu_15.2.0-7ubuntu1_ppc64el.deb ... 297s Unpacking cpp-15-powerpc64le-linux-gnu (15.2.0-7ubuntu1) ... 297s Selecting previously unselected package cpp-15. 297s Preparing to unpack .../10-cpp-15_15.2.0-7ubuntu1_ppc64el.deb ... 297s Unpacking cpp-15 (15.2.0-7ubuntu1) ... 297s Selecting previously unselected package cpp-powerpc64le-linux-gnu. 297s Preparing to unpack .../11-cpp-powerpc64le-linux-gnu_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 297s Unpacking cpp-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 297s Selecting previously unselected package cpp. 297s Preparing to unpack .../12-cpp_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 297s Unpacking cpp (4:15.2.0-4ubuntu1) ... 297s Selecting previously unselected package libcc1-0:ppc64el. 297s Preparing to unpack .../13-libcc1-0_15.2.0-7ubuntu1_ppc64el.deb ... 297s Unpacking libcc1-0:ppc64el (15.2.0-7ubuntu1) ... 297s Selecting previously unselected package libgomp1:ppc64el. 298s Preparing to unpack .../14-libgomp1_15.2.0-7ubuntu1_ppc64el.deb ... 298s Unpacking libgomp1:ppc64el (15.2.0-7ubuntu1) ... 298s Selecting previously unselected package libitm1:ppc64el. 298s Preparing to unpack .../15-libitm1_15.2.0-7ubuntu1_ppc64el.deb ... 298s Unpacking libitm1:ppc64el (15.2.0-7ubuntu1) ... 298s Selecting previously unselected package libasan8:ppc64el. 298s Preparing to unpack .../16-libasan8_15.2.0-7ubuntu1_ppc64el.deb ... 298s Unpacking libasan8:ppc64el (15.2.0-7ubuntu1) ... 298s Selecting previously unselected package liblsan0:ppc64el. 298s Preparing to unpack .../17-liblsan0_15.2.0-7ubuntu1_ppc64el.deb ... 298s Unpacking liblsan0:ppc64el (15.2.0-7ubuntu1) ... 298s Selecting previously unselected package libtsan2:ppc64el. 298s Preparing to unpack .../18-libtsan2_15.2.0-7ubuntu1_ppc64el.deb ... 298s Unpacking libtsan2:ppc64el (15.2.0-7ubuntu1) ... 298s Selecting previously unselected package libubsan1:ppc64el. 298s Preparing to unpack .../19-libubsan1_15.2.0-7ubuntu1_ppc64el.deb ... 298s Unpacking libubsan1:ppc64el (15.2.0-7ubuntu1) ... 298s Selecting previously unselected package libquadmath0:ppc64el. 298s Preparing to unpack .../20-libquadmath0_15.2.0-7ubuntu1_ppc64el.deb ... 298s Unpacking libquadmath0:ppc64el (15.2.0-7ubuntu1) ... 298s Selecting previously unselected package libgcc-15-dev:ppc64el. 298s Preparing to unpack .../21-libgcc-15-dev_15.2.0-7ubuntu1_ppc64el.deb ... 298s Unpacking libgcc-15-dev:ppc64el (15.2.0-7ubuntu1) ... 298s Selecting previously unselected package gcc-15-powerpc64le-linux-gnu. 298s Preparing to unpack .../22-gcc-15-powerpc64le-linux-gnu_15.2.0-7ubuntu1_ppc64el.deb ... 298s Unpacking gcc-15-powerpc64le-linux-gnu (15.2.0-7ubuntu1) ... 298s Selecting previously unselected package gcc-15. 298s Preparing to unpack .../23-gcc-15_15.2.0-7ubuntu1_ppc64el.deb ... 298s Unpacking gcc-15 (15.2.0-7ubuntu1) ... 298s Selecting previously unselected package gcc-powerpc64le-linux-gnu. 298s Preparing to unpack .../24-gcc-powerpc64le-linux-gnu_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 298s Unpacking gcc-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 298s Selecting previously unselected package gcc. 298s Preparing to unpack .../25-gcc_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 298s Unpacking gcc (4:15.2.0-4ubuntu1) ... 298s Selecting previously unselected package libstdc++-15-dev:ppc64el. 298s Preparing to unpack .../26-libstdc++-15-dev_15.2.0-7ubuntu1_ppc64el.deb ... 298s Unpacking libstdc++-15-dev:ppc64el (15.2.0-7ubuntu1) ... 298s Selecting previously unselected package g++-15-powerpc64le-linux-gnu. 298s Preparing to unpack .../27-g++-15-powerpc64le-linux-gnu_15.2.0-7ubuntu1_ppc64el.deb ... 298s Unpacking g++-15-powerpc64le-linux-gnu (15.2.0-7ubuntu1) ... 299s Selecting previously unselected package g++-15. 299s Preparing to unpack .../28-g++-15_15.2.0-7ubuntu1_ppc64el.deb ... 299s Unpacking g++-15 (15.2.0-7ubuntu1) ... 299s Selecting previously unselected package g++-powerpc64le-linux-gnu. 299s Preparing to unpack .../29-g++-powerpc64le-linux-gnu_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 299s Unpacking g++-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 299s Selecting previously unselected package g++. 299s Preparing to unpack .../30-g++_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 299s Unpacking g++ (4:15.2.0-4ubuntu1) ... 299s Selecting previously unselected package build-essential. 299s Preparing to unpack .../31-build-essential_12.12ubuntu1_ppc64el.deb ... 299s Unpacking build-essential (12.12ubuntu1) ... 299s Selecting previously unselected package libdebhelper-perl. 299s Preparing to unpack .../32-libdebhelper-perl_13.24.2ubuntu1_all.deb ... 299s Unpacking libdebhelper-perl (13.24.2ubuntu1) ... 299s Selecting previously unselected package libtool. 299s Preparing to unpack .../33-libtool_2.5.4-7_all.deb ... 299s Unpacking libtool (2.5.4-7) ... 299s Selecting previously unselected package dh-autoreconf. 299s Preparing to unpack .../34-dh-autoreconf_21_all.deb ... 299s Unpacking dh-autoreconf (21) ... 299s Selecting previously unselected package libarchive-zip-perl. 299s Preparing to unpack .../35-libarchive-zip-perl_1.68-1_all.deb ... 299s Unpacking libarchive-zip-perl (1.68-1) ... 299s Selecting previously unselected package libfile-stripnondeterminism-perl. 299s Preparing to unpack .../36-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... 299s Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... 299s Selecting previously unselected package dh-strip-nondeterminism. 299s Preparing to unpack .../37-dh-strip-nondeterminism_1.15.0-1_all.deb ... 299s Unpacking dh-strip-nondeterminism (1.15.0-1) ... 299s Selecting previously unselected package debugedit. 299s Preparing to unpack .../38-debugedit_1%3a5.2-3_ppc64el.deb ... 299s Unpacking debugedit (1:5.2-3) ... 299s Selecting previously unselected package dwz. 299s Preparing to unpack .../39-dwz_0.16-2_ppc64el.deb ... 299s Unpacking dwz (0.16-2) ... 299s Selecting previously unselected package gettext. 299s Preparing to unpack .../40-gettext_0.23.2-1_ppc64el.deb ... 299s Unpacking gettext (0.23.2-1) ... 299s Selecting previously unselected package intltool-debian. 299s Preparing to unpack .../41-intltool-debian_0.35.0+20060710.6_all.deb ... 299s Unpacking intltool-debian (0.35.0+20060710.6) ... 299s Selecting previously unselected package po-debconf. 299s Preparing to unpack .../42-po-debconf_1.0.21+nmu1_all.deb ... 299s Unpacking po-debconf (1.0.21+nmu1) ... 299s Selecting previously unselected package debhelper. 299s Preparing to unpack .../43-debhelper_13.24.2ubuntu1_all.deb ... 299s Unpacking debhelper (13.24.2ubuntu1) ... 299s Selecting previously unselected package dh-python. 299s Preparing to unpack .../44-dh-python_6.20250414_all.deb ... 299s Unpacking dh-python (6.20250414) ... 299s Selecting previously unselected package libpython3.14-stdlib:ppc64el. 299s Preparing to unpack .../45-libpython3.14-stdlib_3.14.0-4_ppc64el.deb ... 299s Unpacking libpython3.14-stdlib:ppc64el (3.14.0-4) ... 299s Selecting previously unselected package libxslt1.1:ppc64el. 299s Preparing to unpack .../46-libxslt1.1_1.1.43-0.3_ppc64el.deb ... 299s Unpacking libxslt1.1:ppc64el (1.1.43-0.3) ... 299s Selecting previously unselected package pybuild-plugin-autopkgtest. 299s Preparing to unpack .../47-pybuild-plugin-autopkgtest_6.20250414_all.deb ... 299s Unpacking pybuild-plugin-autopkgtest (6.20250414) ... 299s Selecting previously unselected package python3-pyproject-hooks. 299s Preparing to unpack .../48-python3-pyproject-hooks_1.2.0-1_all.deb ... 299s Unpacking python3-pyproject-hooks (1.2.0-1) ... 299s Selecting previously unselected package python3-wheel. 299s Preparing to unpack .../49-python3-wheel_0.46.1-2_all.deb ... 299s Unpacking python3-wheel (0.46.1-2) ... 299s Selecting previously unselected package python3-build. 299s Preparing to unpack .../50-python3-build_1.2.2-4_all.deb ... 299s Unpacking python3-build (1.2.2-4) ... 299s Selecting previously unselected package python3-installer. 299s Preparing to unpack .../51-python3-installer_0.7.0+dfsg1-3_all.deb ... 299s Unpacking python3-installer (0.7.0+dfsg1-3) ... 299s Selecting previously unselected package pybuild-plugin-pyproject. 299s Preparing to unpack .../52-pybuild-plugin-pyproject_6.20250414_all.deb ... 299s Unpacking pybuild-plugin-pyproject (6.20250414) ... 299s Selecting previously unselected package python3.14. 299s Preparing to unpack .../53-python3.14_3.14.0-4_ppc64el.deb ... 299s Unpacking python3.14 (3.14.0-4) ... 299s Selecting previously unselected package python3-all. 299s Preparing to unpack .../54-python3-all_3.13.7-2_ppc64el.deb ... 299s Unpacking python3-all (3.13.7-2) ... 299s Selecting previously unselected package python3-antlr4. 299s Preparing to unpack .../55-python3-antlr4_4.9.2-1_all.deb ... 299s Unpacking python3-antlr4 (4.9.2-1) ... 299s Selecting previously unselected package python3-jsonpickle. 299s Preparing to unpack .../56-python3-jsonpickle_4.0.2+dfsg-2_all.deb ... 299s Unpacking python3-jsonpickle (4.0.2+dfsg-2) ... 299s Selecting previously unselected package python3-wrapt. 299s Preparing to unpack .../57-python3-wrapt_1.17.3-2_ppc64el.deb ... 299s Unpacking python3-wrapt (1.17.3-2) ... 299s Selecting previously unselected package python3-aws-xray-sdk. 299s Preparing to unpack .../58-python3-aws-xray-sdk_0.95-4_all.deb ... 299s Unpacking python3-aws-xray-sdk (0.95-4) ... 300s Selecting previously unselected package python3-click. 300s Preparing to unpack .../59-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 300s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 300s Selecting previously unselected package python3-docker. 300s Preparing to unpack .../60-python3-docker_7.1.0-2ubuntu1_all.deb ... 300s Unpacking python3-docker (7.1.0-2ubuntu1) ... 300s Selecting previously unselected package python3-terminaltables3. 300s Preparing to unpack .../61-python3-terminaltables3_4.0.0-4_all.deb ... 300s Unpacking python3-terminaltables3 (4.0.0-4) ... 300s Selecting previously unselected package python3-envs. 300s Preparing to unpack .../62-python3-envs_1.2.6-4_all.deb ... 300s Unpacking python3-envs (1.2.6-4) ... 300s Selecting previously unselected package python3-itsdangerous. 300s Preparing to unpack .../63-python3-itsdangerous_2.2.0-2_all.deb ... 300s Unpacking python3-itsdangerous (2.2.0-2) ... 300s Selecting previously unselected package python3-werkzeug. 300s Preparing to unpack .../64-python3-werkzeug_3.1.3-2_all.deb ... 300s Unpacking python3-werkzeug (3.1.3-2) ... 300s Selecting previously unselected package python3-flask. 300s Preparing to unpack .../65-python3-flask_3.1.2-1ubuntu1_all.deb ... 300s Unpacking python3-flask (3.1.2-1ubuntu1) ... 300s Selecting previously unselected package python3-flask-cors. 300s Preparing to unpack .../66-python3-flask-cors_6.0.1-1_all.deb ... 300s Unpacking python3-flask-cors (6.0.1-1) ... 300s Selecting previously unselected package python3-freezegun. 300s Preparing to unpack .../67-python3-freezegun_1.5.1-1.2_all.deb ... 300s Unpacking python3-freezegun (1.5.1-1.2) ... 300s Selecting previously unselected package python3-graphql-core. 300s Preparing to unpack .../68-python3-graphql-core_3.2.7-1_all.deb ... 300s Unpacking python3-graphql-core (3.2.7-1) ... 300s Selecting previously unselected package python3-inflection. 300s Preparing to unpack .../69-python3-inflection_0.3.1-3_all.deb ... 300s Unpacking python3-inflection (0.3.1-3) ... 300s Selecting previously unselected package python3-iniconfig. 300s Preparing to unpack .../70-python3-iniconfig_2.1.0-1_all.deb ... 300s Unpacking python3-iniconfig (2.1.0-1) ... 300s Selecting previously unselected package python3-joserfc. 300s Preparing to unpack .../71-python3-joserfc_1.4.1-1_all.deb ... 300s Unpacking python3-joserfc (1.4.1-1) ... 300s Selecting previously unselected package python3-jsondiff. 300s Preparing to unpack .../72-python3-jsondiff_2.1.2-1_all.deb ... 300s Unpacking python3-jsondiff (2.1.2-1) ... 300s Selecting previously unselected package python3-ply. 300s Preparing to unpack .../73-python3-ply_3.11-9_all.deb ... 300s Unpacking python3-ply (3.11-9) ... 300s Selecting previously unselected package python3-jsonpath-ng. 300s Preparing to unpack .../74-python3-jsonpath-ng_1.7.0-3_all.deb ... 300s Unpacking python3-jsonpath-ng (1.7.0-3) ... 300s Selecting previously unselected package python3-pathable. 300s Preparing to unpack .../75-python3-pathable_0.4.4-1_all.deb ... 300s Unpacking python3-pathable (0.4.4-1) ... 300s Selecting previously unselected package python3-jsonschema-path. 300s Preparing to unpack .../76-python3-jsonschema-path_0.3.4-1_all.deb ... 300s Unpacking python3-jsonschema-path (0.3.4-1) ... 300s Selecting previously unselected package python3-lazy-object-proxy. 300s Preparing to unpack .../77-python3-lazy-object-proxy_1.12.0-1_ppc64el.deb ... 300s Unpacking python3-lazy-object-proxy (1.12.0-1) ... 300s Selecting previously unselected package python3-lxml:ppc64el. 300s Preparing to unpack .../78-python3-lxml_6.0.2-1_ppc64el.deb ... 300s Unpacking python3-lxml:ppc64el (6.0.2-1) ... 300s Selecting previously unselected package python3-responses. 300s Preparing to unpack .../79-python3-responses_0.25.8-1_all.deb ... 300s Unpacking python3-responses (0.25.8-1) ... 300s Selecting previously unselected package python3-xmltodict. 300s Preparing to unpack .../80-python3-xmltodict_0.13.0-1ubuntu1_all.deb ... 300s Unpacking python3-xmltodict (0.13.0-1ubuntu1) ... 300s Selecting previously unselected package python3-moto. 300s Preparing to unpack .../81-python3-moto_5.1.1-4_all.deb ... 300s Unpacking python3-moto (5.1.1-4) ... 300s Selecting previously unselected package python3-multipart. 300s Preparing to unpack .../82-python3-multipart_1.3.0-3_all.deb ... 300s Unpacking python3-multipart (1.3.0-3) ... 300s Selecting previously unselected package python3-mypy-extensions. 300s Preparing to unpack .../83-python3-mypy-extensions_1.1.0-1_all.deb ... 300s Unpacking python3-mypy-extensions (1.1.0-1) ... 300s Selecting previously unselected package python3-psutil. 300s Preparing to unpack .../84-python3-psutil_7.1.0-1ubuntu1_ppc64el.deb ... 300s Unpacking python3-psutil (7.1.0-1ubuntu1) ... 300s Selecting previously unselected package python3-mypy. 300s Preparing to unpack .../85-python3-mypy_1.15.0-5_ppc64el.deb ... 300s Unpacking python3-mypy (1.15.0-5) ... 301s Selecting previously unselected package python3-rfc3339-validator. 301s Preparing to unpack .../86-python3-rfc3339-validator_0.1.4-2_all.deb ... 301s Unpacking python3-rfc3339-validator (0.1.4-2) ... 301s Selecting previously unselected package python3-openapi-schema-validator. 301s Preparing to unpack .../87-python3-openapi-schema-validator_0.6.3-1_all.deb ... 301s Unpacking python3-openapi-schema-validator (0.6.3-1) ... 301s Selecting previously unselected package python3-openapi-spec-validator. 301s Preparing to unpack .../88-python3-openapi-spec-validator_0.7.1-3_all.deb ... 301s Unpacking python3-openapi-spec-validator (0.7.1-3) ... 301s Selecting previously unselected package python3-pip. 301s Preparing to unpack .../89-python3-pip_25.1.1+dfsg-1ubuntu2_all.deb ... 301s Unpacking python3-pip (25.1.1+dfsg-1ubuntu2) ... 301s Selecting previously unselected package python3-pluggy. 301s Preparing to unpack .../90-python3-pluggy_1.6.0-1_all.deb ... 301s Unpacking python3-pluggy (1.6.0-1) ... 301s Selecting previously unselected package python3-wcwidth. 301s Preparing to unpack .../91-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 301s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 301s Selecting previously unselected package python3-prompt-toolkit. 301s Preparing to unpack .../92-python3-prompt-toolkit_3.0.52-1_all.deb ... 301s Unpacking python3-prompt-toolkit (3.0.52-1) ... 301s Selecting previously unselected package python3-pycognito. 301s Preparing to unpack .../93-python3-pycognito_2024.5.1-2_all.deb ... 301s Unpacking python3-pycognito (2024.5.1-2) ... 301s Selecting previously unselected package python3-pyotp. 301s Preparing to unpack .../94-python3-pyotp_2.9.0-2_all.deb ... 301s Unpacking python3-pyotp (2.9.0-2) ... 301s Selecting previously unselected package python3-pytest. 301s Preparing to unpack .../95-python3-pytest_8.3.5-2_all.deb ... 301s Unpacking python3-pytest (8.3.5-2) ... 301s Selecting previously unselected package openstack-pkg-tools. 301s Preparing to unpack .../96-openstack-pkg-tools_135ubuntu1_all.deb ... 301s Unpacking openstack-pkg-tools (135ubuntu1) ... 301s Setting up dh-python (6.20250414) ... 301s Setting up python3-iniconfig (2.1.0-1) ... 302s Setting up python3-antlr4 (4.9.2-1) ... 302s Setting up python3-jsonpickle (4.0.2+dfsg-2) ... 302s Setting up libarchive-zip-perl (1.68-1) ... 302s Setting up python3-pathable (0.4.4-1) ... 302s Setting up python3-mypy-extensions (1.1.0-1) ... 303s Setting up libdebhelper-perl (13.24.2ubuntu1) ... 303s Setting up python3-ply (3.11-9) ... 303s Setting up libpython3.14-minimal:ppc64el (3.14.0-4) ... 303s Setting up python3-docker (7.1.0-2ubuntu1) ... 303s Setting up python3-rfc3339-validator (0.1.4-2) ... 303s Setting up m4 (1.4.20-2) ... 303s Setting up python3-itsdangerous (2.2.0-2) ... 304s Setting up python3-inflection (0.3.1-3) ... 304s Setting up libgomp1:ppc64el (15.2.0-7ubuntu1) ... 304s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 304s Setting up python3-wheel (0.46.1-2) ... 304s Setting up python3-terminaltables3 (4.0.0-4) ... 304s Setting up python3-psutil (7.1.0-1ubuntu1) ... 305s Setting up python3-joserfc (1.4.1-1) ... 305s Setting up python3-responses (0.25.8-1) ... 305s Setting up python3-xmltodict (0.13.0-1ubuntu1) ... 306s Setting up autotools-dev (20240727.1) ... 306s Setting up python3-pyotp (2.9.0-2) ... 306s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 306s Setting up python3-pyproject-hooks (1.2.0-1) ... 306s Setting up python3-werkzeug (3.1.3-2) ... 307s Setting up libquadmath0:ppc64el (15.2.0-7ubuntu1) ... 307s Setting up libmpc3:ppc64el (1.3.1-2) ... 307s Setting up python3-wrapt (1.17.3-2) ... 307s Setting up python3-mypy (1.15.0-5) ... 310s Setting up autopoint (0.23.2-1) ... 310s Setting up python3-graphql-core (3.2.7-1) ... 310s Setting up python3-pip (25.1.1+dfsg-1ubuntu2) ... 312s Setting up python3-openapi-schema-validator (0.6.3-1) ... 313s Setting up python3-installer (0.7.0+dfsg1-3) ... 313s Setting up autoconf (2.72-3.1ubuntu1) ... 313s Setting up python3-pluggy (1.6.0-1) ... 313s Setting up libubsan1:ppc64el (15.2.0-7ubuntu1) ... 313s Setting up dwz (0.16-2) ... 313s Setting up libasan8:ppc64el (15.2.0-7ubuntu1) ... 313s Setting up libxslt1.1:ppc64el (1.1.43-0.3) ... 313s Setting up debugedit (1:5.2-3) ... 313s Setting up python3-jsondiff (2.1.2-1) ... 313s Setting up libtsan2:ppc64el (15.2.0-7ubuntu1) ... 313s Setting up python3-lazy-object-proxy (1.12.0-1) ... 313s Setting up python3-jsonpath-ng (1.7.0-3) ... 314s Setting up python3-aws-xray-sdk (0.95-4) ... 314s Setting up libisl23:ppc64el (0.27-1) ... 314s Setting up python3-build (1.2.2-4) ... 314s Setting up python3-multipart (1.3.0-3) ... 314s Setting up python3.14-minimal (3.14.0-4) ... 315s Setting up libcc1-0:ppc64el (15.2.0-7ubuntu1) ... 315s Setting up python3-freezegun (1.5.1-1.2) ... 315s Setting up liblsan0:ppc64el (15.2.0-7ubuntu1) ... 315s Setting up libitm1:ppc64el (15.2.0-7ubuntu1) ... 315s Setting up automake (1:1.18.1-2) ... 315s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 315s Setting up python3-prompt-toolkit (3.0.52-1) ... 316s Setting up python3-jsonschema-path (0.3.4-1) ... 316s Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... 316s Setting up gettext (0.23.2-1) ... 316s Setting up python3-openapi-spec-validator (0.7.1-3) ... 316s Setting up libgcc-15-dev:ppc64el (15.2.0-7ubuntu1) ... 316s Setting up libpython3.14-stdlib:ppc64el (3.14.0-4) ... 316s Setting up pybuild-plugin-pyproject (6.20250414) ... 316s Setting up python3-pytest (8.3.5-2) ... 317s Setting up python3-flask (3.1.2-1ubuntu1) ... 317s Setting up python3-envs (1.2.6-4) ... 318s Setting up intltool-debian (0.35.0+20060710.6) ... 318s Setting up cpp-15-powerpc64le-linux-gnu (15.2.0-7ubuntu1) ... 318s Setting up python3-flask-cors (6.0.1-1) ... 318s Setting up libstdc++-15-dev:ppc64el (15.2.0-7ubuntu1) ... 318s Setting up python3-moto (5.1.1-4) ... 323s Setting up dh-strip-nondeterminism (1.15.0-1) ... 323s Setting up cpp-15 (15.2.0-7ubuntu1) ... 323s Setting up python3-lxml:ppc64el (6.0.2-1) ... 323s Setting up python3.14 (3.14.0-4) ... 324s Setting up cpp-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 324s Setting up python3-pycognito (2024.5.1-2) ... 325s Setting up gcc-15-powerpc64le-linux-gnu (15.2.0-7ubuntu1) ... 325s Setting up po-debconf (1.0.21+nmu1) ... 325s Setting up python3-all (3.13.7-2) ... 325s Setting up openstack-pkg-tools (135ubuntu1) ... 325s Setting up gcc-15 (15.2.0-7ubuntu1) ... 325s Setting up gcc-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 325s Setting up cpp (4:15.2.0-4ubuntu1) ... 325s Setting up g++-15-powerpc64le-linux-gnu (15.2.0-7ubuntu1) ... 325s Setting up libtool (2.5.4-7) ... 325s Setting up gcc (4:15.2.0-4ubuntu1) ... 325s Setting up dh-autoreconf (21) ... 325s Setting up g++-15 (15.2.0-7ubuntu1) ... 325s Setting up g++-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 325s Setting up debhelper (13.24.2ubuntu1) ... 325s Setting up g++ (4:15.2.0-4ubuntu1) ... 325s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 325s Setting up build-essential (12.12ubuntu1) ... 325s Setting up pybuild-plugin-autopkgtest (6.20250414) ... 325s Processing triggers for man-db (2.13.1-1) ... 326s Processing triggers for install-info (7.2-5) ... 326s Processing triggers for libc-bin (2.42-2ubuntu2) ... 326s Processing triggers for systemd (257.9-0ubuntu2) ... 327s autopkgtest [11:01:02]: test pybuild-autopkgtest: pybuild-autopkgtest 327s autopkgtest [11:01:02]: test pybuild-autopkgtest: [----------------------- 329s make: pyversions: No such file or directory 329s pybuild-autopkgtest 329s py3versions: no X-Python3-Version in control file, using supported versions 330s I: pybuild base:311: cd /tmp/autopkgtest.Oozpkm/autopkgtest_tmp/build; python3.14 -m pytest -m 'not network and not requires_docker' tests --deselect tests/test_cloudformation/test_validate.py --deselect tests/test_dynamodb/test_dynamodb_import_table.py --deselect tests/test_dynamodb/test_dynamodb_statements.py --deselect tests/test_s3/test_s3_select.py --deselect tests/test_stepfunctions/parser/ --deselect 'tests/test_stepfunctions/test_stepfunctions_versions.py::test_describe_state_machine_using_version_arn[use_parser]' --deselect tests/test_dynamodb/test_dynamodb_account_mode.py::test_dynamodb_with_account_id_routing --deselect tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_entire_service --deselect tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_specific_url --deselect tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_wildcard_urls --deselect tests/test_firehose/test_firehose_put.py::test_put_record_http_destination --deselect tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination --deselect tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header --deselect tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins 359s ============================= test session starts ============================== 359s platform linux -- Python 3.14.0, pytest-8.3.5, pluggy-1.6.0 359s rootdir: /tmp/autopkgtest.Oozpkm/autopkgtest_tmp/build 359s configfile: pyproject.toml 359s plugins: typeguard-4.4.2 359s collected 9960 items / 140 deselected / 9820 selected 359s 365s tests/test_acm/test_acm.py ................................ [ 0%] 368s tests/test_acmpca/test_acmpca.py ................... [ 0%] 368s tests/test_amp/test_amp_logging_config.py .... [ 0%] 369s tests/test_amp/test_amp_rulegroupnamespaces.py ....... [ 0%] 369s tests/test_amp/test_amp_workspaces.py ........ [ 0%] 370s tests/test_apigateway/test_apigateway.py ............................... [ 1%] 371s .......................................... [ 1%] 372s tests/test_apigateway/test_apigateway_cloudformation.py .. [ 1%] 372s tests/test_apigateway/test_apigateway_custom_ids.py ... [ 1%] 372s tests/test_apigateway/test_apigateway_deployments.py .......... [ 1%] 372s tests/test_apigateway/test_apigateway_export.py ... [ 1%] 372s tests/test_apigateway/test_apigateway_gatewayresponses.py ........ [ 1%] 372s tests/test_apigateway/test_apigateway_importrestapi.py .... [ 1%] 373s tests/test_apigateway/test_apigateway_integration.py ..... [ 1%] 373s tests/test_apigateway/test_apigateway_putrestapi.py ........ [ 1%] 373s tests/test_apigateway/test_apigateway_stage.py ................ [ 2%] 373s tests/test_apigateway/test_apigateway_validators.py ..... [ 2%] 374s tests/test_apigateway/test_apigateway_vpclink.py ...... [ 2%] 374s tests/test_apigateway/test_server.py ..... [ 2%] 374s tests/test_apigatewaymanagementapi/test_apigatewaymanagementapi.py .... [ 2%] 374s tests/test_apigatewayv2/test_apigatewayv2.py ............ [ 2%] 374s tests/test_apigatewayv2/test_apigatewayv2_authorizers.py ........ [ 2%] 374s tests/test_apigatewayv2/test_apigatewayv2_domains.py ..... [ 2%] 374s tests/test_apigatewayv2/test_apigatewayv2_integrationresponses.py ...... [ 2%] 374s . [ 2%] 375s tests/test_apigatewayv2/test_apigatewayv2_integrations.py ........... [ 2%] 375s tests/test_apigatewayv2/test_apigatewayv2_mappings.py ....... [ 2%] 375s tests/test_apigatewayv2/test_apigatewayv2_models.py ...... [ 2%] 375s tests/test_apigatewayv2/test_apigatewayv2_reimport.py .... [ 2%] 375s tests/test_apigatewayv2/test_apigatewayv2_routes.py ............... [ 3%] 375s tests/test_apigatewayv2/test_apigatewayv2_stages.py ... [ 3%] 375s tests/test_apigatewayv2/test_apigatewayv2_tags.py .... [ 3%] 376s tests/test_apigatewayv2/test_apigatewayv2_vpclinks.py ........ [ 3%] 376s tests/test_apigatewayv2/test_server.py . [ 3%] 376s tests/test_appconfig/test_appconfig_applications.py .. [ 3%] 376s tests/test_appconfig/test_appconfig_config_profiles.py .. [ 3%] 376s tests/test_appconfig/test_appconfig_hosted_config_versions.py ... [ 3%] 376s tests/test_applicationautoscaling/test_applicationautoscaling.py ....... [ 3%] 377s ...... [ 3%] 377s tests/test_applicationautoscaling/test_applicationautoscaling_policies.py . [ 3%] 377s ... [ 3%] 377s tests/test_applicationautoscaling/test_validation.py ....... [ 3%] 377s tests/test_appmesh/test_appmesh.py ......... [ 3%] 377s tests/test_appsync/test_appsync.py ................. [ 3%] 378s tests/test_appsync/test_appsync_apikeys.py ....... [ 3%] 378s tests/test_appsync/test_appsync_schema.py ........... [ 3%] 378s tests/test_appsync/test_appsync_tags.py ...... [ 4%] 378s tests/test_appsync/test_server.py . [ 4%] 379s tests/test_athena/test_athena.py ....................... [ 4%] 379s tests/test_athena/test_athena_integration.py . [ 4%] 379s tests/test_athena/test_athena_server_api.py .s.. [ 4%] 381s tests/test_autoscaling/test_autoscaling.py ............................. [ 4%] 382s ........... [ 4%] 382s tests/test_autoscaling/test_autoscaling_cloudformation.py ..... [ 4%] 383s tests/test_autoscaling/test_autoscaling_group_filters.py .... [ 4%] 384s tests/test_autoscaling/test_autoscaling_groups.py ............ [ 4%] 384s tests/test_autoscaling/test_autoscaling_metrics.py . [ 4%] 384s tests/test_autoscaling/test_autoscaling_scheduledactions.py .......... [ 5%] 385s tests/test_autoscaling/test_autoscaling_tags.py ........ [ 5%] 385s tests/test_autoscaling/test_autoscaling_warm_pools.py .... [ 5%] 387s tests/test_autoscaling/test_elb.py .................. [ 5%] 387s tests/test_autoscaling/test_elbv2.py .. [ 5%] 389s tests/test_autoscaling/test_launch_configurations.py ............. [ 5%] 389s tests/test_autoscaling/test_policies.py .......... [ 5%] 389s tests/test_autoscaling/test_server.py . [ 5%] 390s tests/test_awslambda/test_awslambda_cloudformation.py ...FFFF [ 5%] 392s tests/test_awslambda/test_lambda.py .................................... [ 6%] 394s ................................ [ 6%] 395s tests/test_awslambda/test_lambda_alias.py ............... [ 6%] 395s tests/test_awslambda/test_lambda_concurrency.py ...... [ 6%] 395s tests/test_awslambda/test_lambda_eventsourcemapping.py FFFFF [ 6%] 396s tests/test_awslambda/test_lambda_function_urls.py ...... [ 6%] 396s tests/test_awslambda/test_lambda_invoke.py s. [ 6%] 396s tests/test_awslambda/test_lambda_layers.py ........ [ 6%] 396s tests/test_awslambda/test_lambda_policy.py ............. [ 6%] 397s tests/test_awslambda/test_lambda_tags.py ... [ 6%] 397s tests/test_awslambda/test_policy.py . [ 6%] 397s tests/test_awslambda_simple/test_lambda_simple.py ... [ 7%] 397s tests/test_backup/test_backup.py .................. [ 7%] 397s tests/test_batch/test_batch.py .. [ 7%] 397s tests/test_batch/test_batch_cloudformation.py ... [ 7%] 398s tests/test_batch/test_batch_compute_envs.py ............ [ 7%] 399s tests/test_batch/test_batch_job_queue.py ........ [ 7%] 399s tests/test_batch/test_batch_jobs.py ......... [ 7%] 399s tests/test_batch/test_batch_scheduling_policy.py ..... [ 7%] 399s tests/test_batch/test_batch_tags_job_definition.py ... [ 7%] 400s tests/test_batch/test_batch_tags_job_queue.py .... [ 7%] 400s tests/test_batch/test_batch_tags_scheduling_policy.py . [ 7%] 401s tests/test_batch/test_batch_task_definition.py .................. [ 7%] 401s tests/test_batch/test_server.py . [ 7%] 401s tests/test_batch/test_utils.py .................. [ 8%] 401s tests/test_batch_simple/test_batch_cloudformation.py ... [ 8%] 401s tests/test_batch_simple/test_batch_compute_envs.py .. [ 8%] 403s tests/test_batch_simple/test_batch_jobs.py ...... [ 8%] 404s tests/test_bedrock/test_bedrock.py ..................................... [ 8%] 404s ........... [ 8%] 405s tests/test_bedrockagent/test_bedrockagent.py ........................... [ 8%] 405s  [ 8%] 405s tests/test_budgets/test_budgets.py ........ [ 9%] 405s tests/test_budgets/test_notifications.py ..... [ 9%] 405s tests/test_budgets/test_server.py . [ 9%] 405s tests/test_ce/test_ce.py ....... [ 9%] 405s tests/test_ce/test_ce_cost_and_usage.py .. [ 9%] 405s tests/test_ce/test_ce_tags.py .. [ 9%] 410s tests/test_cloudformation/test_cloudformation_custom_resources.py s.. [ 9%] 410s tests/test_cloudformation/test_cloudformation_depends_on.py ... [ 9%] 411s tests/test_cloudformation/test_cloudformation_multi_accounts.py ........ [ 9%] 411s . [ 9%] 411s tests/test_cloudformation/test_cloudformation_nested_stacks.py .... [ 9%] 411s tests/test_cloudformation/test_cloudformation_stack_crud_boto3.py ...... [ 9%] 414s ........................................................................ [ 10%] 415s ................................ [ 10%] 415s tests/test_cloudformation/test_cloudformation_stack_integration.py ..... [ 10%] 417s ............................. [ 10%] 417s tests/test_cloudformation/test_cloudformation_stack_policies.py ........ [ 10%] 417s  [ 10%] 417s tests/test_cloudformation/test_conditions.py ... [ 10%] 417s tests/test_cloudformation/test_import_value.py .. [ 10%] 417s tests/test_cloudformation/test_server.py . [ 10%] 417s tests/test_cloudformation/test_stack_parsing.py ........................ [ 11%] 417s . [ 11%] 417s tests/test_cloudformation/test_utilities.py .... [ 11%] 418s tests/test_cloudfront/test_cloudfront.py ..... [ 11%] 418s tests/test_cloudfront/test_cloudfront_dist_tags.py .. [ 11%] 418s tests/test_cloudfront/test_cloudfront_distributions.py ................. [ 11%] 419s .......................................... [ 11%] 419s tests/test_cloudfront/test_cloudfront_invalidation.py ....... [ 12%] 420s tests/test_cloudfront/test_cloudfront_keys.py .... [ 12%] 420s tests/test_cloudfront/test_cloudfront_oac.py .. [ 12%] 420s tests/test_cloudfront/test_server.py . [ 12%] 420s tests/test_cloudhsmv2/test_cloudhsmv2.py ............. [ 12%] 421s tests/test_cloudtrail/test_cloudtrail.py ............................. [ 12%] 421s tests/test_cloudtrail/test_cloudtrail_eventselectors.py ........ [ 12%] 421s tests/test_cloudtrail/test_cloudtrail_tags.py .... [ 12%] 421s tests/test_cloudtrail/test_server.py . [ 12%] 421s tests/test_cloudwatch/test_cloudwatch_alarms.py ....... [ 12%] 424s tests/test_cloudwatch/test_cloudwatch_boto3.py ......................... [ 12%] 424s ................ [ 13%] 424s tests/test_cloudwatch/test_cloudwatch_dashboards.py ....... [ 13%] 424s tests/test_cloudwatch/test_cloudwatch_expression_parser.py ... [ 13%] 424s tests/test_cloudwatch/test_cloudwatch_expressions.py ... [ 13%] 424s tests/test_cloudwatch/test_cloudwatch_tags.py ....... [ 13%] 425s tests/test_codebuild/test_codebuild.py ................... [ 13%] 425s tests/test_codecommit/test_codecommit.py ........ [ 13%] 425s tests/test_codepipeline/test_codepipeline.py ................ [ 13%] 426s tests/test_cognitoidentity/test_cognitoidentity.py ..................... [ 13%] 426s .. [ 14%] 426s tests/test_cognitoidentity/test_server.py ... [ 14%] 432s tests/test_cognitoidp/test_cognitoidp.py ............................... [ 14%] 446s ........................................................................ [ 15%] 461s ........................................................................ [ 15%] 469s ................................... [ 16%] 469s tests/test_cognitoidp/test_cognitoidp_exceptions.py ... [ 16%] 470s tests/test_cognitoidp/test_cognitoidp_replay.py .. [ 16%] 471s tests/test_cognitoidp/test_server.py ... [ 16%] 471s tests/test_comprehend/test_comprehend.py .................. [ 16%] 474s tests/test_config/test_config.py .................................. [ 16%] 475s tests/test_config/test_config_rules.py ........ [ 16%] 475s tests/test_config/test_config_rules_integration.py ... [ 16%] 475s tests/test_config/test_config_tags.py ... [ 16%] 476s tests/test_core/test_account_id_resolution.py . [ 16%] 477s tests/test_core/test_auth.py .......................... [ 17%] 477s tests/test_core/test_backenddict.py ............. [ 17%] 477s tests/test_core/test_backends.py . [ 17%] 477s tests/test_core/test_botocore_stubber.py . [ 17%] 477s tests/test_core/test_config.py .. [ 17%] 478s tests/test_core/test_decorator_calls.py ............................ [ 17%] 478s tests/test_core/test_ec2_vpc_endpoint_services.py ... [ 17%] 478s tests/test_core/test_environ_patching.py ... [ 17%] 478s tests/test_core/test_importorder.py ....... [ 17%] 478s tests/test_core/test_instance_metadata.py .... [ 17%] 478s tests/test_core/test_mock_regions.py ..... [ 17%] 478s tests/test_core/test_moto_api.py ...... [ 17%] 479s tests/test_core/test_mypy.py ... [ 17%] 479s tests/test_core/test_nested.py .. [ 18%] 479s tests/test_core/test_proxy.py sssss [ 18%] 479s tests/test_core/test_request_mocking.py ... [ 18%] 479s tests/test_core/test_request_passthrough.py . [ 18%] 479s tests/test_core/test_responses.py ......... [ 18%] 480s tests/test_core/test_responses_module.py ..... [ 18%] 480s tests/test_core/test_server.py .... [ 18%] 480s tests/test_core/test_settings.py ......... [ 18%] 481s tests/test_core/test_url_base_regex.py ................................. [ 18%] 482s ........................................................................ [ 19%] 483s ..................................................... [ 19%] 483s tests/test_core/test_url_mapping.py .. [ 20%] 483s tests/test_core/test_utils.py ............ [ 20%] 483s tests/test_databrew/test_databrew_datasets.py ............ [ 20%] 484s tests/test_databrew/test_databrew_jobs.py .......................... [ 20%] 484s tests/test_databrew/test_databrew_recipes.py ........................... [ 20%] 485s ......... [ 20%] 485s tests/test_databrew/test_databrew_rulesets.py .......... [ 20%] 485s tests/test_datapipeline/test_datapipeline.py ........ [ 21%] 485s tests/test_datapipeline/test_datapipeline_cloudformation.py . [ 21%] 485s tests/test_datapipeline/test_server.py . [ 21%] 485s tests/test_datasync/test_datasync.py ................... [ 21%] 486s tests/test_dax/test_dax.py ............................... [ 21%] 486s tests/test_dax/test_server.py . [ 21%] 487s tests/test_directconnect/test_directconnect.py .......... [ 21%] 487s tests/test_dms/test_dms.py ......... [ 21%] 488s tests/test_ds/test_ds.py ........... [ 21%] 489s tests/test_ds/test_ds_ad_connect.py ........ [ 21%] 490s tests/test_ds/test_ds_microsoft_ad.py ......... [ 22%] 490s tests/test_ds/test_ds_simple_ad_directory.py .... [ 22%] 491s tests/test_ds/test_ds_tags.py ... [ 22%] 491s tests/test_dsql/test_dsql.py .... [ 22%] 491s tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py ............. [ 22%] 493s .............................................. [ 22%] 493s tests/test_dynamodb/exceptions/test_dynamodb_transactions.py ........ [ 22%] 493s tests/test_dynamodb/exceptions/test_key_length_exceptions.py ........ [ 22%] 493s tests/test_dynamodb/models/test_item.py ............. [ 23%] 493s tests/test_dynamodb/models/test_key_condition_expression_parser.py ..... [ 23%] 493s .......................... [ 23%] 493s tests/test_dynamodb/models/test_utilities.py ............ [ 23%] 494s tests/test_dynamodb/test_dynamodb.py ................................... [ 23%] 503s ........................................................................ [ 24%] 503s .................................. [ 24%] 505s tests/test_dynamodb/test_dynamodb_batch_get_item.py ....... [ 25%] 505s tests/test_dynamodb/test_dynamodb_batch_write.py ... [ 25%] 505s tests/test_dynamodb/test_dynamodb_cloudformation.py ... [ 25%] 505s tests/test_dynamodb/test_dynamodb_condition_expressions.py .......... [ 25%] 505s tests/test_dynamodb/test_dynamodb_consumedcapacity.py ...... [ 25%] 506s tests/test_dynamodb/test_dynamodb_create_table.py .............. [ 25%] 506s tests/test_dynamodb/test_dynamodb_executor.py ....................... [ 25%] 507s tests/test_dynamodb/test_dynamodb_export_table.py ....... [ 25%] 507s tests/test_dynamodb/test_dynamodb_expression_tokenizer.py .............. [ 25%] 507s ....... [ 25%] 507s tests/test_dynamodb/test_dynamodb_expressions.py ....................... [ 26%] 507s ................. [ 26%] 508s tests/test_dynamodb/test_dynamodb_query.py ................... [ 26%] 509s tests/test_dynamodb/test_dynamodb_resource_policy.py .............. [ 26%] 510s tests/test_dynamodb/test_dynamodb_scan.py .......................... [ 26%] 510s tests/test_dynamodb/test_dynamodb_table_with_range_key.py .............. [ 27%] 510s ........... [ 27%] 511s tests/test_dynamodb/test_dynamodb_table_without_range_key.py ........... [ 27%] 511s ............... [ 27%] 512s tests/test_dynamodb/test_dynamodb_transact.py .................. [ 27%] 512s tests/test_dynamodb/test_dynamodb_update_expressions.py ........ [ 27%] 512s tests/test_dynamodb/test_dynamodb_update_table.py ..... [ 27%] 512s tests/test_dynamodb/test_dynamodb_validation.py ..................... [ 27%] 512s tests/test_dynamodb/test_server.py . [ 27%] 512s tests/test_dynamodb_v20111205/test_server.py ........................... [ 28%] 512s .............. [ 28%] 512s tests/test_dynamodb_v20111205/test_servermode.py ss [ 28%] 513s tests/test_dynamodbstreams/test_dynamodbstreams.py .......... [ 28%] 513s tests/test_ebs/test_ebs.py ........ [ 28%] 513s tests/test_ec2/test_account_attributes.py . [ 28%] 518s tests/test_ec2/test_amis.py ............................................ [ 29%] 519s . [ 29%] 520s tests/test_ec2/test_availability_zones_and_regions.py .............. [ 29%] 520s tests/test_ec2/test_carrier_gateways.py ...... [ 29%] 520s tests/test_ec2/test_customer_gateways.py ...... [ 29%] 521s tests/test_ec2/test_dhcp_options.py .................. [ 29%] 523s tests/test_ec2/test_ec2_cloudformation.py ...................... [ 29%] 523s tests/test_ec2/test_ec2_integration.py . [ 29%] 523s tests/test_ec2/test_egress_only_igw.py ..... [ 29%] 525s tests/test_ec2/test_elastic_block_store.py ............................. [ 30%] 526s ............ [ 30%] 528s tests/test_ec2/test_elastic_ip_addresses.py ...................... [ 30%] 530s tests/test_ec2/test_elastic_network_interfaces.py ...................... [ 30%] 530s ......... [ 30%] 532s tests/test_ec2/test_fleets.py .................... [ 30%] 533s tests/test_ec2/test_flow_logs.py .............. [ 31%] 533s tests/test_ec2/test_flow_logs_cloudformation.py .. [ 31%] 533s tests/test_ec2/test_general.py .. [ 31%] 534s tests/test_ec2/test_hosts.py ........ [ 31%] 534s tests/test_ec2/test_iam_integration.py ....... [ 31%] 534s tests/test_ec2/test_instance_type_offerings.py .... [ 31%] 536s tests/test_ec2/test_instance_types.py ........... [ 31%] 539s tests/test_ec2/test_instances.py ....................................... [ 31%] 542s .......................................................... [ 32%] 544s tests/test_ec2/test_internet_gateways.py ................. [ 32%] 545s tests/test_ec2/test_key_pairs.py ................... [ 32%] 546s tests/test_ec2/test_launch_templates.py ...................... [ 33%] 547s tests/test_ec2/test_launch_templates_cloudformation.py .... [ 33%] 547s tests/test_ec2/test_nat_gateway.py ........ [ 33%] 548s tests/test_ec2/test_network_acls.py ............... [ 33%] 549s tests/test_ec2/test_prefix_lists.py ............. [ 33%] 549s tests/test_ec2/test_regions.py ........ [ 33%] 552s tests/test_ec2/test_route_tables.py ............................. [ 33%] 554s tests/test_ec2/test_security_groups.py ................................. [ 34%] 555s ................... [ 34%] 555s tests/test_ec2/test_security_groups_cloudformation.py .... [ 34%] 555s tests/test_ec2/test_server.py ... [ 34%] 555s tests/test_ec2/test_settings.py .... [ 34%] 559s tests/test_ec2/test_spot_fleet.py ................. [ 34%] 559s tests/test_ec2/test_spot_instances.py ............ [ 34%] 561s tests/test_ec2/test_subnets.py ............................. [ 35%] 562s tests/test_ec2/test_tags.py ................... [ 35%] 565s tests/test_ec2/test_transit_gateway.py ............................... [ 35%] 565s tests/test_ec2/test_transit_gateway_cloudformation.py .. [ 35%] 566s tests/test_ec2/test_transit_gateway_peering_attachments.py ........ [ 35%] 566s tests/test_ec2/test_utils.py ....... [ 35%] 567s tests/test_ec2/test_virtual_private_gateways.py ................ [ 35%] 567s tests/test_ec2/test_vpc_endpoint_services_integration.py . [ 35%] 569s tests/test_ec2/test_vpc_peering.py ........................... [ 36%] 570s tests/test_ec2/test_vpc_service_configuration_integration.py ........... [ 36%] 570s .... [ 36%] 573s tests/test_ec2/test_vpcs.py ............................................ [ 36%] 573s ........ [ 36%] 574s tests/test_ec2/test_vpn_connections.py ...... [ 36%] 574s tests/test_ec2/test_windows.py . [ 36%] 574s tests/test_ec2instanceconnect/test_ec2instanceconnect_boto3.py . [ 36%] 575s tests/test_ecr/test_ecr_boto3.py ....................................... [ 37%] 576s ............................................................ [ 37%] 576s tests/test_ecr/test_ecr_cloudformation.py ... [ 37%] 576s tests/test_ecr/test_ecr_policy_validation.py ...................... [ 38%] 576s tests/test_ecr/test_ecr_scanning_config.py ... [ 38%] 576s tests/test_ecs/test_ecs_account_settings.py ............. [ 38%] 577s tests/test_ecs/test_ecs_boto3.py ....................................... [ 38%] 580s ............................................................ [ 39%] 580s tests/test_ecs/test_ecs_capacity_provider.py ....... [ 39%] 580s tests/test_ecs/test_ecs_cloudformation.py .......... [ 39%] 580s tests/test_ecs/test_ecs_efs.py . [ 39%] 580s tests/test_ecs/test_ecs_task_def_tags.py . [ 39%] 580s tests/test_ecs/test_ecs_task_tags.py .. [ 39%] 581s tests/test_ecs/test_ecs_tasksets.py ......... [ 39%] 581s tests/test_efs/test_access_point_tagging.py .... [ 39%] 581s tests/test_efs/test_access_points.py ....... [ 39%] 581s tests/test_efs/test_efs_cloudformation.py .. [ 39%] 581s tests/test_efs/test_file_system.py ................. [ 39%] 581s tests/test_efs/test_filesystem_policy.py .. [ 40%] 581s tests/test_efs/test_filesystem_tagging.py .... [ 40%] 581s tests/test_efs/test_lifecycle_config.py ... [ 40%] 582s tests/test_efs/test_mount_target.py ................... [ 40%] 582s tests/test_efs/test_mount_target_security_groups.py .... [ 40%] 582s tests/test_efs/test_server.py ....... [ 40%] 617s tests/test_eks/test_eks.py ............................................. [ 40%] 621s ............................................ [ 41%] 621s tests/test_eks/test_eks_ec2.py ... [ 41%] 622s tests/test_eks/test_server.py .................. [ 41%] 623s tests/test_elasticache/test_elasticache.py ............................. [ 41%] 623s .... [ 41%] 623s tests/test_elasticache/test_server.py . [ 41%] 623s tests/test_elasticbeanstalk/test_elasticbeanstalk.py .......... [ 41%] 623s tests/test_elasticbeanstalk/test_server.py . [ 41%] 624s tests/test_elastictranscoder/test_elastictranscoder.py ................ [ 42%] 624s tests/test_elastictranscoder/test_server.py . [ 42%] 626s tests/test_elb/test_elb.py ......................................... [ 42%] 626s tests/test_elb/test_elb_availabilityzones.py . [ 42%] 626s tests/test_elb/test_elb_cloudformation.py ... [ 42%] 626s tests/test_elb/test_elb_policies.py .......... [ 42%] 626s tests/test_elb/test_elb_subnets.py .. [ 42%] 626s tests/test_elb/test_server.py . [ 42%] 630s tests/test_elbv2/test_elbv2.py ......................................... [ 43%] 633s ................ [ 43%] 634s tests/test_elbv2/test_elbv2_cloudformation.py ..... [ 43%] 634s tests/test_elbv2/test_elbv2_integration.py . [ 43%] 634s tests/test_elbv2/test_elbv2_listener_attributes.py . [ 43%] 635s tests/test_elbv2/test_elbv2_listener_rule_tags.py ... [ 43%] 639s tests/test_elbv2/test_elbv2_listener_rules.py .......................... [ 43%] 641s ............ [ 43%] 641s tests/test_elbv2/test_elbv2_listener_tags.py ... [ 43%] 641s tests/test_elbv2/test_elbv2_set_subnets.py .. [ 43%] 644s tests/test_elbv2/test_elbv2_target_groups.py ........................... [ 44%] 647s ............................................. [ 44%] 647s tests/test_elbv2/test_elbv2_target_health.py .. [ 44%] 647s tests/test_elbv2/test_server.py . [ 44%] 647s tests/test_emr/test_emr.py . [ 44%] 653s tests/test_emr/test_emr_boto3.py ............................ [ 44%] 653s tests/test_emr/test_emr_cloudformation.py ....... [ 44%] 653s tests/test_emr/test_emr_integration.py ...... [ 45%] 653s tests/test_emr/test_server.py . [ 45%] 653s tests/test_emr/test_utils.py .. [ 45%] 654s tests/test_emrcontainers/test_emrcontainers.py ......................... [ 45%] 655s ................................ [ 45%] 655s tests/test_emrcontainers/test_server.py . [ 45%] 656s tests/test_emrserverless/test_emrserverless.py ......................... [ 45%] 658s .................................... [ 46%] 658s tests/test_emrserverless/test_server.py . [ 46%] 658s tests/test_es/test_domain_tags.py ..... [ 46%] 658s tests/test_es/test_es.py ................... [ 46%] 658s tests/test_es/test_server.py . [ 46%] 658s tests/test_events/test_event_pattern.py ............ [ 46%] 659s tests/test_events/test_events.py ....................................... [ 47%] 662s ........................................................................ [ 47%] 662s ... [ 47%] 662s tests/test_events/test_events_cloudformation.py ...... [ 47%] 662s tests/test_events/test_events_http_integration.py . [ 47%] 664s tests/test_events/test_events_integration.py ...... [ 47%] 679s tests/test_events/test_events_lambdatriggers_integration.py .... [ 48%] 680s tests/test_events/test_events_partners_integration.py ... [ 48%] 680s tests/test_firehose/test_firehose.py ....... [ 48%] 680s tests/test_firehose/test_firehose_destination_types.py ..... [ 48%] 680s tests/test_firehose/test_firehose_encryption.py .... [ 48%] 680s tests/test_firehose/test_firehose_put.py ..... [ 48%] 680s tests/test_firehose/test_firehose_tags.py ... [ 48%] 680s tests/test_firehose/test_http_destinations.py .. [ 48%] 681s tests/test_forecast/test_forecast.py ..................... [ 48%] 683s tests/test_fsx/test_fsx.py ...... [ 48%] 683s tests/test_glacier/test_glacier_archives.py ... [ 48%] 688s tests/test_glacier/test_glacier_jobs.py .... [ 48%] 688s tests/test_glacier/test_glacier_vaults.py .... [ 48%] 688s tests/test_glacier/test_server.py . [ 48%] 689s tests/test_glue/test_datacatalog.py .................................... [ 49%] 690s ................. [ 49%] 691s tests/test_glue/test_glue.py ........................................... [ 49%] 691s ............... [ 49%] 691s tests/test_glue/test_glue_job_runs.py ...... [ 49%] 692s tests/test_glue/test_partition_filter.py ....... [ 49%] 693s tests/test_glue/test_schema_registry.py ................................ [ 50%] 694s ..................................... [ 50%] 694s tests/test_greengrass/test_greengrass_core.py ............. [ 50%] 695s tests/test_greengrass/test_greengrass_deployment.py ............... [ 50%] 695s tests/test_greengrass/test_greengrass_device.py ............... [ 51%] 695s tests/test_greengrass/test_greengrass_functions.py ................ [ 51%] 696s tests/test_greengrass/test_greengrass_groups.py ........................ [ 51%] 696s ....... [ 51%] 697s tests/test_greengrass/test_greengrass_resource.py .................... [ 51%] 697s tests/test_greengrass/test_greengrass_subscriptions.py ................. [ 51%] 697s ...... [ 52%] 697s tests/test_guardduty/test_guardduty.py ........... [ 52%] 698s tests/test_guardduty/test_guardduty_filters.py ..... [ 52%] 698s tests/test_guardduty/test_guardduty_organization.py .. [ 52%] 698s tests/test_guardduty/test_server.py . [ 52%] 701s tests/test_iam/test_iam.py ............................................. [ 52%] 705s ........................................................................ [ 53%] 708s ...................................... [ 53%] 708s tests/test_iam/test_iam_access_integration.py ... [ 53%] 708s tests/test_iam/test_iam_account_aliases.py . [ 53%] 710s tests/test_iam/test_iam_cloudformation.py .............................. [ 54%] 710s  [ 54%] 711s tests/test_iam/test_iam_groups.py ....................... [ 54%] 711s tests/test_iam/test_iam_oidc.py .................. [ 54%] 711s tests/test_iam/test_iam_password_last_used.py . [ 54%] 712s tests/test_iam/test_iam_policies.py .................................... [ 54%] 713s ........................................................................ [ 55%] 713s ..................... [ 55%] 715s tests/test_iam/test_iam_resets.py .. [ 55%] 715s tests/test_iam/test_iam_server_certificates.py ..... [ 55%] 716s tests/test_iam/test_iam_signing_certificates.py ...... [ 56%] 716s tests/test_iam/test_server.py . [ 56%] 717s tests/test_identitystore/test_identitystore.py ......................... [ 56%] 717s .. [ 56%] 717s tests/test_inspector2/test_inspector2.py .. [ 56%] 717s tests/test_inspector2/test_inspector2_admin_accounts.py . [ 56%] 717s tests/test_inspector2/test_inspector2_enable.py . [ 56%] 717s tests/test_inspector2/test_inspector2_findings.py . [ 56%] 717s tests/test_inspector2/test_inspector2_members.py . [ 56%] 717s tests/test_inspector2/test_inspector2_organization.py . [ 56%] 717s tests/test_inspector2/test_inspector2_tags.py .. [ 56%] 718s tests/test_iot/test_iot.py .... [ 56%] 718s tests/test_iot/test_iot_ca_certificates.py .......... [ 56%] 720s tests/test_iot/test_iot_certificates.py .............. [ 56%] 720s tests/test_iot/test_iot_cloudformation.py ................. [ 56%] 720s tests/test_iot/test_iot_deprecate_thing_type.py .... [ 56%] 721s tests/test_iot/test_iot_domain_configuration.py ............ [ 57%] 721s tests/test_iot/test_iot_indexing_configuration.py .. [ 57%] 721s tests/test_iot/test_iot_integration.py . [ 57%] 721s tests/test_iot/test_iot_job_executions.py ...... [ 57%] 721s tests/test_iot/test_iot_job_templates.py ......... [ 57%] 721s tests/test_iot/test_iot_jobs.py ........ [ 57%] 722s tests/test_iot/test_iot_policies.py ................. [ 57%] 723s tests/test_iot/test_iot_rolealias.py ....... [ 57%] 723s tests/test_iot/test_iot_search.py ............. [ 57%] 723s tests/test_iot/test_iot_thing_groups.py ................. [ 57%] 724s tests/test_iot/test_iot_thing_types.py ..... [ 57%] 724s tests/test_iot/test_iot_things.py ....... [ 57%] 724s tests/test_iot/test_iot_topic_rules.py .......... [ 58%] 725s tests/test_iot/test_server.py ... [ 58%] 725s tests/test_iotdata/test_iotdata.py ................... [ 58%] 725s tests/test_iotdata/test_server.py ... [ 58%] 726s tests/test_ivs/test_ivs.py ................. [ 58%] 726s tests/test_kafka/test_kafka.py ..... [ 58%] 730s tests/test_kinesis/test_kinesis.py .................................. [ 58%] 730s tests/test_kinesis/test_kinesis_boto3.py ................ [ 59%] 730s tests/test_kinesis/test_kinesis_cloudformation.py .... [ 59%] 730s tests/test_kinesis/test_kinesis_encryption.py ... [ 59%] 731s tests/test_kinesis/test_kinesis_monitoring.py ..... [ 59%] 731s tests/test_kinesis/test_kinesis_resource_policy.py ..... [ 59%] 731s tests/test_kinesis/test_kinesis_stream_consumers.py ....... [ 59%] 731s tests/test_kinesis/test_kinesis_stream_limits.py ....... [ 59%] 731s tests/test_kinesis/test_server.py . [ 59%] 731s tests/test_kinesisvideo/test_kinesisvideo.py ........ [ 59%] 731s tests/test_kinesisvideo/test_server.py . [ 59%] 731s tests/test_kinesisvideoarchivedmedia/test_kinesisvideoarchivedmedia.py . [ 59%] 731s .. [ 59%] 731s tests/test_kinesisvideoarchivedmedia/test_server.py . [ 59%] 734s tests/test_kms/test_kms_boto3.py ....................................... [ 59%] 737s ........................................................................ [ 60%] 745s .......................................... [ 61%] 748s tests/test_kms/test_kms_encrypt.py ................... [ 61%] 748s tests/test_kms/test_kms_grants.py ....... [ 61%] 749s tests/test_kms/test_kms_key_rotation.py ....... [ 61%] 749s tests/test_kms/test_kms_mac.py ...... [ 61%] 750s tests/test_kms/test_kms_policy_enforcement.py ........................ [ 61%] 750s tests/test_kms/test_model.py .... [ 61%] 750s tests/test_kms/test_server.py . [ 61%] 750s tests/test_kms/test_utils.py ..................... [ 61%] 751s tests/test_lakeformation/test_lakeformation.py ................... [ 62%] 751s tests/test_lakeformation/test_permission.py .. [ 62%] 751s tests/test_lakeformation/test_resource_tags_integration.py ..... [ 62%] 751s tests/test_lexv2models/test_lexv2models.py ....... [ 62%] 752s tests/test_logs/test_export_tasks.py ......... [ 62%] 752s tests/test_logs/test_integration.py ..... [ 62%] 753s tests/test_logs/test_logs.py ........................................... [ 62%] 753s .................. [ 63%] 753s tests/test_logs/test_logs_cloudformation.py . [ 63%] 754s tests/test_logs/test_logs_filter_log_events.py ........ [ 63%] 754s tests/test_logs/test_logs_metric_filters.py ............ [ 63%] 754s tests/test_logs/test_logs_query/test_boto3.py .... [ 63%] 754s tests/test_logs/test_logs_query/test_query.py .. [ 63%] 754s tests/test_logs/test_logs_query/test_query_parser.py ........... [ 63%] 754s tests/test_logs/test_logs_tags.py .. [ 63%] 754s tests/test_logs/test_models.py . [ 63%] 754s tests/test_managedblockchain/test_managedblockchain_invitations.py ... [ 63%] 754s tests/test_managedblockchain/test_managedblockchain_members.py ......... [ 63%] 754s ...... [ 63%] 755s tests/test_managedblockchain/test_managedblockchain_networks.py ...... [ 63%] 755s tests/test_managedblockchain/test_managedblockchain_nodes.py ........... [ 63%] 755s ...... [ 63%] 755s tests/test_managedblockchain/test_managedblockchain_proposals.py ....... [ 63%] 755s .. [ 63%] 755s tests/test_managedblockchain/test_managedblockchain_proposalvotes.py ... [ 64%] 755s .......... [ 64%] 760s tests/test_mediaconnect/test_mediaconnect.py ...FFFFFFFFFFFFFFFFFFFFFFFF [ 64%] 761s F [ 64%] 761s tests/test_mediaconnect/test_server.py . [ 64%] 761s tests/test_medialive/test_medialive.py ............ [ 64%] 761s tests/test_medialive/test_server.py .. [ 64%] 761s tests/test_mediapackage/test_mediapackage.py .............. [ 64%] 761s tests/test_mediapackage/test_server.py .. [ 64%] 762s tests/test_mediastore/test_mediastore.py ..................... [ 64%] 762s tests/test_mediastore/test_server.py . [ 64%] 762s tests/test_mediastoredata/test_mediastoredata.py ...... [ 65%] 762s tests/test_mediastoredata/test_server.py . [ 65%] 763s tests/test_memorydb/test_memorydb.py ................................... [ 65%] 763s .............. [ 65%] 763s tests/test_meteringmarketplace/test_meteringmarketplace.py . [ 65%] 763s tests/test_moto_api/mock_random/test_mock_random.py ... [ 65%] 765s tests/test_moto_api/recorder/test_recorder.py ........ [ 65%] 765s tests/test_moto_api/seeder/test_seeder.py ... [ 65%] 765s tests/test_moto_api/state_manager/servermode/test_inmemory_server.py ... [ 65%] 765s  [ 65%] 765s tests/test_moto_api/state_manager/servermode/test_state_manager.py sss [ 65%] 765s tests/test_moto_api/state_manager/test_batch_integration.py . [ 65%] 767s tests/test_moto_api/state_manager/test_managed_state_model.py ....... [ 65%] 767s tests/test_moto_api/state_manager/test_state_manager.py ....... [ 65%] 767s tests/test_mq/test_mq.py ................ [ 66%] 767s tests/test_mq/test_mq_configuration.py ......... [ 66%] 768s tests/test_mq/test_mq_tags.py ..... [ 66%] 768s tests/test_mq/test_mq_users.py ....... [ 66%] 768s tests/test_mq/test_server.py . [ 66%] 768s tests/test_neptune/test_cluster_options.py . [ 66%] 768s tests/test_neptune/test_cluster_tags.py . [ 66%] 768s tests/test_neptune/test_clusters.py ....... [ 66%] 768s tests/test_neptune/test_global_clusters.py .... [ 66%] 769s tests/test_networkmanager/test_networkmanager.py ..................... [ 66%] 769s tests/test_networkmanager/test_server.py ... [ 66%] 769s tests/test_opensearch/test_domain_tags.py .. [ 66%] 769s tests/test_opensearch/test_opensearch.py .............. [ 66%] 769s tests/test_opensearchserverless/test_opensearchserverless.py ........... [ 66%] 769s ............ [ 67%] 770s tests/test_opsworks/test_apps.py FF [ 67%] 770s tests/test_opsworks/test_instances.py FFF [ 67%] 770s tests/test_opsworks/test_layers.py FF [ 67%] 770s tests/test_opsworks/test_stack.py FF [ 67%] 771s tests/test_organizations/test_organizations_boto3.py ................... [ 67%] 773s ........................................................................ [ 68%] 773s ................. [ 68%] 774s tests/test_osis/test_osis.py ................ [ 68%] 774s tests/test_osis/test_server.py . [ 68%] 774s tests/test_panorama/test_application_instance.py ...... [ 68%] 774s tests/test_panorama/test_nodes.py ... [ 68%] 774s tests/test_panorama/test_panorama_device.py ............... [ 68%] 774s tests/test_panorama/test_server.py . [ 68%] 774s tests/test_personalize/test_personalize_schema.py ........ [ 68%] 775s tests/test_pinpoint/test_pinpoint.py ....... [ 68%] 775s tests/test_pinpoint/test_pinpoint_application_tags.py .... [ 68%] 775s tests/test_pinpoint/test_pinpoint_event_stream.py ... [ 68%] 775s tests/test_polly/test_polly.py .............. [ 69%] 775s tests/test_polly/test_server.py . [ 69%] 775s tests/test_qldb/test_qldb.py EE [ 69%] 775s tests/test_quicksight/test_quicksight_datasets.py .. [ 69%] 776s tests/test_quicksight/test_quicksight_groups.py ............... [ 69%] 778s tests/test_quicksight/test_quicksight_users.py ....................... [ 69%] 778s tests/test_ram/test_ram.py ............ [ 69%] 778s tests/test_rds/test_db_cluster_param_group.py . [ 69%] 778s tests/test_rds/test_db_cluster_params.py . [ 69%] 779s tests/test_rds/test_filters.py .............................. [ 69%] 779s tests/test_rds/test_global_clusters.py ........ [ 69%] 782s tests/test_rds/test_rds.py ............................................. [ 70%] 785s ........................................................................ [ 71%] 788s ........................................................................ [ 71%] 788s .......... [ 72%] 789s tests/test_rds/test_rds_cloudformation.py ....... [ 72%] 790s tests/test_rds/test_rds_clusters.py .................................... [ 72%] 792s ........................................ [ 72%] 792s tests/test_rds/test_rds_clusters_with_instances.py ..... [ 72%] 792s tests/test_rds/test_rds_event_subscriptions.py ...... [ 72%] 793s tests/test_rds/test_rds_export_tasks.py ........ [ 73%] 793s tests/test_rds/test_rds_proxy.py FFFFF. [ 73%] 794s tests/test_rds/test_rds_proxy_target_groups.py ... [ 73%] 794s tests/test_rds/test_server.py .. [ 73%] 794s tests/test_rds/test_utils.py ................ [ 73%] 794s tests/test_rdsdata/test_rdsdata.py .. [ 73%] 795s tests/test_redshift/test_redshift.py ................................... [ 73%] 796s ............................... [ 74%] 796s tests/test_redshift/test_redshift_cloudformation.py . [ 74%] 796s tests/test_redshift/test_server.py .............. [ 74%] 796s tests/test_redshiftdata/test_redshiftdata.py ......... [ 74%] 796s tests/test_redshiftdata/test_server.py ........ [ 74%] 796s tests/test_rekognition/test_rekognition.py ........ [ 74%] 796s tests/test_resiliencehub/test_resiliencehub.py ........... [ 74%] 797s tests/test_resiliencehub/test_resiliencyhub_resources.py ..... [ 74%] 797s tests/test_resiliencehub/test_resiliencyhub_tagging.py .. [ 74%] 797s tests/test_resourcegroups/test_resourcegroups.py ............ [ 74%] 797s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_dynamodb.py . [ 74%] 797s . [ 74%] 797s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_glue.py . [ 74%] 797s  [ 74%] 797s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_logs.py . [ 74%] 797s . [ 74%] 797s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_rds.py .. [ 74%] 797s  [ 74%] 798s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py ... [ 74%] 800s .............FFF............ [ 75%] 800s tests/test_resourcegroupstaggingapi/test_server.py . [ 75%] 800s tests/test_robomaker/test_robomaker.py F [ 75%] 800s tests/test_route53/test_change_set_model.py ... [ 75%] 803s tests/test_route53/test_route53.py ..................................... [ 75%] 804s .............. [ 75%] 804s tests/test_route53/test_route53_cloudformation.py ...... [ 75%] 804s tests/test_route53/test_route53_delegationsets.py ........ [ 75%] 805s tests/test_route53/test_route53_healthchecks.py .......... [ 75%] 805s tests/test_route53/test_route53_query_logging_config.py ...... [ 75%] 805s tests/test_route53/test_route53_vpcs.py ....... [ 76%] 805s tests/test_route53/test_server.py . [ 76%] 806s tests/test_route53domains/test_route53domains_domain.py ................ [ 76%] 806s ................ [ 76%] 807s tests/test_route53resolver/test_route53resolver_endpoint.py ............ [ 76%] 808s .......... [ 76%] 809s tests/test_route53resolver/test_route53resolver_rule.py ........... [ 76%] 809s tests/test_route53resolver/test_route53resolver_rule_associations.py ... [ 76%] 810s ........ [ 76%] 810s tests/test_route53resolver/test_route53resolver_tags.py .... [ 76%] 812s tests/test_s3/test_s3.py ............................................... [ 77%] 816s ........................................................................ [ 78%] 817s ....................................... [ 78%] 818s tests/test_s3/test_s3_acl.py .......................... [ 78%] 819s tests/test_s3/test_s3_auth.py .... [ 78%] 820s tests/test_s3/test_s3_bucket_policy.py ........... [ 78%] 820s tests/test_s3/test_s3_classdecorator.py . [ 78%] 820s tests/test_s3/test_s3_cloudformation.py ..... [ 78%] 820s tests/test_s3/test_s3_config.py ...... [ 79%] 822s tests/test_s3/test_s3_copyobject.py .................................... [ 79%] 822s  [ 79%] 822s tests/test_s3/test_s3_cross_account.py . [ 79%] 823s tests/test_s3/test_s3_custom_endpoint.py .......... [ 79%] 823s tests/test_s3/test_s3_encryption.py ...... [ 79%] 823s tests/test_s3/test_s3_eventbridge_integration.py .......... [ 79%] 842s tests/test_s3/test_s3_file_handles.py ........................ [ 79%] 842s tests/test_s3/test_s3_lambda_integration.py ...... [ 79%] 843s tests/test_s3/test_s3_lifecycle.py .......... [ 80%] 844s tests/test_s3/test_s3_list_object_versions.py ............ [ 80%] 845s tests/test_s3/test_s3_list_objects.py .. [ 80%] 845s tests/test_s3/test_s3_locales.py . [ 80%] 857s tests/test_s3/test_s3_lock.py ..F........... [ 80%] 857s tests/test_s3/test_s3_logging.py ........... [ 80%] 857s tests/test_s3/test_s3_metadata.py . [ 80%] 859s tests/test_s3/test_s3_multipart.py ..................................... [ 80%] 859s  [ 80%] 859s tests/test_s3/test_s3_notifications.py ............ [ 81%] 860s tests/test_s3/test_s3_object_attributes.py ........ [ 81%] 860s tests/test_s3/test_s3_ownership.py ... [ 81%] 860s tests/test_s3/test_s3_replication.py ....... [ 81%] 860s tests/test_s3/test_s3_storageclass.py ............ [ 81%] 861s tests/test_s3/test_s3_tagging.py ............ [ 81%] 861s tests/test_s3/test_s3_utils.py ........... [ 81%] 861s tests/test_s3/test_server.py ............. [ 81%] 861s tests/test_s3bucket_path/test_s3bucket_path_utils.py ... [ 81%] 861s tests/test_s3bucket_path/test_server.py ..... [ 81%] 862s tests/test_s3control/test_s3control.py . [ 81%] 862s tests/test_s3control/test_s3control_access_points.py .... [ 81%] 862s tests/test_s3control/test_s3control_accesspoint_policy.py ..... [ 81%] 864s tests/test_s3control/test_s3control_config_integration.py .. [ 81%] 864s tests/test_s3control/test_s3control_s3.py ... [ 81%] 865s tests/test_s3tables/test_s3tables.py ............F...F..F.FFFF.. [ 82%] 866s tests/test_s3tables/test_server.py .......F. [ 82%] 866s tests/test_sagemaker/test_sagemaker_automljobs.py ....... [ 82%] 867s tests/test_sagemaker/test_sagemaker_cloudformation.py .................. [ 82%] 867s .. [ 82%] 867s tests/test_sagemaker/test_sagemaker_cluster.py .......... [ 82%] 867s tests/test_sagemaker/test_sagemaker_compilation_jobs.py ........ [ 82%] 867s tests/test_sagemaker/test_sagemaker_data_quality_jobs_definitions.py ... [ 82%] 867s . [ 82%] 867s tests/test_sagemaker/test_sagemaker_domains.py ...... [ 82%] 868s tests/test_sagemaker/test_sagemaker_endpoint.py ................... [ 83%] 868s tests/test_sagemaker/test_sagemaker_experiment.py ..... [ 83%] 868s tests/test_sagemaker/test_sagemaker_feature_groups.py .. [ 83%] 868s tests/test_sagemaker/test_sagemaker_hyper_parameter_tuning_job.py ...... [ 83%] 868s . [ 83%] 869s tests/test_sagemaker/test_sagemaker_model_bias_job_definitions.py .... [ 83%] 871s tests/test_sagemaker/test_sagemaker_model_cards.py ......... [ 83%] 871s tests/test_sagemaker/test_sagemaker_model_expainability.py ....... [ 83%] 871s tests/test_sagemaker/test_sagemaker_model_package_groups.py ............ [ 83%] 871s  [ 83%] 872s tests/test_sagemaker/test_sagemaker_model_packages.py .................. [ 83%] 872s ....... [ 83%] 872s tests/test_sagemaker/test_sagemaker_model_quality.py ....... [ 83%] 872s tests/test_sagemaker/test_sagemaker_models.py .......... [ 83%] 873s tests/test_sagemaker/test_sagemaker_notebooks.py ......... [ 84%] 876s tests/test_sagemaker/test_sagemaker_pipeline.py ........................ [ 84%] 877s .................. [ 84%] 877s tests/test_sagemaker/test_sagemaker_processing.py .......... [ 84%] 877s tests/test_sagemaker/test_sagemaker_search.py ..... [ 84%] 878s tests/test_sagemaker/test_sagemaker_training.py ............ [ 84%] 879s tests/test_sagemaker/test_sagemaker_transform.py ............ [ 84%] 879s tests/test_sagemaker/test_sagemaker_trial.py ....... [ 84%] 880s tests/test_sagemaker/test_sagemaker_trial_component.py ........... [ 85%] 880s tests/test_sagemakermetrics/test_sagemakermetrics.py .. [ 85%] 880s tests/test_sagemakermetrics/test_server.py . [ 85%] 880s tests/test_sagemakerruntime/test_sagemakerruntime.py .... [ 85%] 880s tests/test_scheduler/test_schedule_groups.py ... [ 85%] 880s tests/test_scheduler/test_scheduler.py .................. [ 85%] 880s tests/test_scheduler/test_scheduler_tags.py .. [ 85%] 880s tests/test_scheduler/test_server.py . [ 85%] 880s tests/test_sdb/test_sdb_attributes.py ......... [ 85%] 881s tests/test_sdb/test_sdb_domains.py ................. [ 85%] 881s tests/test_sdb/test_server.py . [ 85%] 881s tests/test_secretsmanager/test_list_secrets.py ......................... [ 85%] 881s . [ 85%] 881s tests/test_secretsmanager/test_policy.py .... [ 85%] 881s tests/test_secretsmanager/test_rotate_simple_lambda.py .. [ 85%] 882s tests/test_secretsmanager/test_secrets_duplication.py .......... [ 86%] 882s tests/test_secretsmanager/test_secretsmanager.py ....................... [ 86%] 884s ......................................s............ss................... [ 87%] 884s .............. [ 87%] 884s tests/test_secretsmanager/test_server.py ............................. [ 87%] 884s tests/test_securityhub/test_securityhub.py ..... [ 87%] 884s tests/test_servicediscovery/test_server.py . [ 87%] 884s tests/test_servicediscovery/test_servicediscovery_httpnamespaces.py .... [ 87%] 885s .......... [ 87%] 885s tests/test_servicediscovery/test_servicediscovery_instance.py .......... [ 87%] 885s ... [ 87%] 885s tests/test_servicediscovery/test_servicediscovery_operations.py ....... [ 87%] 885s tests/test_servicediscovery/test_servicediscovery_service.py ....... [ 87%] 885s tests/test_servicediscovery/test_servicediscovery_tags.py ...... [ 87%] 885s tests/test_servicequotas/test_servicequotas.py .... [ 88%] 885s tests/test_ses/test_server.py .. [ 88%] 886s tests/test_ses/test_ses_boto3.py ....................................... [ 88%] 886s  [ 88%] 887s tests/test_ses/test_ses_sns_boto3.py ........ [ 88%] 887s tests/test_ses/test_ses_utils.py . [ 88%] 887s tests/test_ses/test_templating.py ......... [ 88%] 887s tests/test_sesv2/test_server.py . [ 88%] 888s tests/test_sesv2/test_sesv2.py .......................... [ 88%] 888s tests/test_shield/test_shield.py ...................... [ 89%] 888s tests/test_signer/test_signing_platforms.py . [ 89%] 888s tests/test_signer/test_signing_profiles.py .... [ 89%] 889s tests/test_sns/test_application_boto3.py ..................... [ 89%] 889s tests/test_sns/test_http_message_verification.py . [ 89%] 890s tests/test_sns/test_publish_batch.py ........ [ 89%] 892s tests/test_sns/test_publishing_boto3.py ................................ [ 89%] 899s ........................................................................ [ 90%] 899s ... [ 90%] 900s tests/test_sns/test_server.py . [ 90%] 900s tests/test_sns/test_sns_cloudformation.py ...... [ 90%] 912s tests/test_sns/test_subscriptions_boto3.py ................... [ 90%] 913s tests/test_sns/test_topics_boto3.py ......................... [ 91%] 913s tests/test_sns/test_utils.py ... [ 91%] 913s tests/test_special_cases/test_custom_amis.py . [ 91%] 920s tests/test_sqs/test_server.py ... [ 91%] 931s tests/test_sqs/test_sqs.py ............................................. [ 91%] 956s ........................................................................ [ 92%] 973s ........................ [ 92%] 973s tests/test_sqs/test_sqs_cloudformation.py ....... [ 92%] 973s tests/test_sqs/test_sqs_integration.py F [ 92%] 973s tests/test_sqs/test_sqs_multiaccount.py . [ 92%] 974s tests/test_ssm/test_ssm_boto3.py ....................................... [ 93%] 976s ................................................. [ 93%] 976s tests/test_ssm/test_ssm_cloudformation.py . [ 93%] 976s tests/test_ssm/test_ssm_default_amis.py .. [ 93%] 977s tests/test_ssm/test_ssm_defaults.py ... [ 93%] 978s tests/test_ssm/test_ssm_doc_permissions.py ...................... [ 93%] 978s tests/test_ssm/test_ssm_docs.py ........ [ 93%] 978s tests/test_ssm/test_ssm_ec2_integration.py . [ 93%] 979s tests/test_ssm/test_ssm_ecs_images.py . [ 93%] 979s tests/test_ssm/test_ssm_maintenance_windows.py ............ [ 94%] 980s tests/test_ssm/test_ssm_parameterstore.py ......... [ 94%] 980s tests/test_ssm/test_ssm_patch_baseline.py .. [ 94%] 980s tests/test_ssm/test_ssm_secretsmanager.py ...... [ 94%] 980s tests/test_ssm/test_ssm_utils.py ... [ 94%] 980s tests/test_ssoadmin/test_server.py . [ 94%] 980s tests/test_ssoadmin/test_ssoadmin.py .................. [ 94%] 980s tests/test_ssoadmin/test_ssoadmin_instances.py .. [ 94%] 980s tests/test_ssoadmin/test_ssoadmin_permission_sets.py .. [ 94%] 981s tests/test_ssoadmin/test_ssoadmin_policies.py ........... [ 94%] 981s tests/test_stepfunctions/test_stepfunctions.py ......................... [ 94%] 982s ....................... [ 95%] 982s tests/test_stepfunctions/test_stepfunctions_cloudformation.py ... [ 95%] 982s tests/test_stepfunctions/test_stepfunctions_versions.py ... [ 95%] 983s tests/test_sts/test_server.py .... [ 95%] 983s tests/test_sts/test_sts.py ...................... [ 95%] 984s tests/test_sts/test_sts_integration.py ... [ 95%] 984s tests/test_support/test_server.py .... [ 95%] 984s tests/test_support/test_support.py ..................................... [ 95%] 984s .... [ 95%] 984s tests/test_swf/models/test_activity_task.py ....... [ 96%] 984s tests/test_swf/models/test_decision_task.py ..... [ 96%] 984s tests/test_swf/models/test_domain.py ........ [ 96%] 984s tests/test_swf/models/test_generic_type.py .... [ 96%] 984s tests/test_swf/models/test_history_event.py ... [ 96%] 985s tests/test_swf/models/test_timeout.py . [ 96%] 985s tests/test_swf/models/test_timer.py .... [ 96%] 985s tests/test_swf/models/test_workflow_execution.py ....................... [ 96%] 985s ............ [ 96%] 988s tests/test_swf/responses/test_activity_tasks.py ............. [ 96%] 988s tests/test_swf/responses/test_activity_types.py ............. [ 96%] 994s tests/test_swf/responses/test_decision_tasks.py ....................... [ 97%] 994s tests/test_swf/responses/test_domains.py ............. [ 97%] 995s tests/test_swf/responses/test_timeouts.py ... [ 97%] 995s tests/test_swf/responses/test_workflow_executions.py .............. [ 97%] 995s tests/test_swf/responses/test_workflow_types.py ............. [ 97%] 995s tests/test_swf/test_exceptions.py ............ [ 97%] 995s tests/test_swf/test_utils.py . [ 97%] 995s tests/test_textract/test_server.py ..... [ 97%] 995s tests/test_textract/test_textract.py .... [ 97%] 995s tests/test_timestreaminfluxdb/test_timestreaminfluxdb.py ........... [ 97%] 995s tests/test_timestreaminfluxdb/test_timestreaminfluxdb_tagging.py ... [ 97%] 996s tests/test_timestreamquery/test_timestreamquery.py ..... [ 97%] 996s tests/test_timestreamwrite/test_server.py . [ 98%] 996s tests/test_timestreamwrite/test_timestreamwrite_database.py ....... [ 98%] 996s tests/test_timestreamwrite/test_timestreamwrite_table.py .......... [ 98%] 996s tests/test_timestreamwrite/test_timestreamwrite_tagging.py ..... [ 98%] 997s tests/test_transcribe/test_transcribe_boto3.py ....................... [ 98%] 997s tests/test_transfer/test_transfer.py ... [ 98%] 997s tests/test_utilities/test_docker_utilities.py ....... [ 98%] 997s tests/test_utilities/test_id_generator.py .......... [ 98%] 997s tests/test_utilities/test_paginator.py .................... [ 98%] 997s tests/test_utilities/test_tagging_service.py ........... [ 98%] 1000s tests/test_utilities/test_threaded_server.py ..... [ 99%] 1000s tests/test_utilities/test_utils.py .. [ 99%] 1000s tests/test_wafv2/test_server.py .. [ 99%] 1000s tests/test_wafv2/test_utils.py . [ 99%] 1000s tests/test_wafv2/test_wafv2.py .......... [ 99%] 1000s tests/test_wafv2/test_wafv2_integration.py .... [ 99%] 1000s tests/test_wafv2/test_wafv2_logging_configuration.py .. [ 99%] 1001s tests/test_wafv2/test_wafv2_rules.py ..... [ 99%] 1001s tests/test_wafv2/test_wafv2_tags.py .... [ 99%] 1003s tests/test_workspaces/test_workspaces.py F..FFFFFFFFFFF.FFFFFFF.FFFF.FF [ 99%] 1004s tests/test_workspacesweb/test_workspacesweb.py ......................... [ 99%] 1004s  [ 99%] 1004s tests/test_xray/test_xray_boto3.py ...... [ 99%] 1005s tests/test_xray/test_xray_client.py .... [100%] 1005s 1005s ==================================== ERRORS ==================================== 1005s _______ ERROR at setup of test_create_describe_update_and_delete_ledger ________ 1005s 1005s @pytest.fixture(name="client") 1005s def fixture_qldb_client(): 1005s with mock_aws(): 1005s > yield boto3.client("qldb", region_name="us-east-1") 1005s 1005s tests/test_qldb/test_qldb.py:18: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1005s return _get_default_session().client(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1005s return self._session.create_client( 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1005s client = client_creator.create_client( 1005s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1005s service_model = self._load_service_model(service_name, api_version) 1005s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1005s json_model = self._loader.load_service_model( 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1005s data = func(self, *args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = , service_name = 'qldb' 1005s type_name = 'service-2', api_version = None 1005s 1005s @instance_cache 1005s def load_service_model(self, service_name, type_name, api_version=None): 1005s  """Load a botocore service model 1005s  1005s  This is the main method for loading botocore models (e.g. a service 1005s  model, pagination configs, waiter configs, etc.). 1005s  1005s  :type service_name: str 1005s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1005s  1005s  :type type_name: str 1005s  :param type_name: The model type. Valid types include, but are not 1005s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1005s  1005s  :type api_version: str 1005s  :param api_version: The API version to load. If this is not 1005s  provided, then the latest API version will be used. 1005s  1005s  :type load_extras: bool 1005s  :param load_extras: Whether or not to load the tool extras which 1005s  contain additional data to be added to the model. 1005s  1005s  :raises: UnknownServiceError if there is no known service with 1005s  the provided service_name. 1005s  1005s  :raises: DataNotFoundError if no data could be found for the 1005s  service_name/type_name/api_version. 1005s  1005s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1005s  """ 1005s # Wrapper around the load_data. This will calculate the path 1005s # to call load_data with. 1005s known_services = self.list_available_services(type_name) 1005s if service_name not in known_services: 1005s > raise UnknownServiceError( 1005s service_name=service_name, 1005s known_service_names=', '.join(sorted(known_services)), 1005s ) 1005s E botocore.exceptions.UnknownServiceError: Unknown service: 'qldb'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1005s 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1005s ________ ERROR at setup of test_tag_resource_and_list_tags_for_resource ________ 1005s 1005s @pytest.fixture(name="client") 1005s def fixture_qldb_client(): 1005s with mock_aws(): 1005s > yield boto3.client("qldb", region_name="us-east-1") 1005s 1005s tests/test_qldb/test_qldb.py:18: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1005s return _get_default_session().client(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1005s return self._session.create_client( 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1005s client = client_creator.create_client( 1005s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1005s service_model = self._load_service_model(service_name, api_version) 1005s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1005s json_model = self._loader.load_service_model( 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1005s data = func(self, *args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = , service_name = 'qldb' 1005s type_name = 'service-2', api_version = None 1005s 1005s @instance_cache 1005s def load_service_model(self, service_name, type_name, api_version=None): 1005s  """Load a botocore service model 1005s  1005s  This is the main method for loading botocore models (e.g. a service 1005s  model, pagination configs, waiter configs, etc.). 1005s  1005s  :type service_name: str 1005s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1005s  1005s  :type type_name: str 1005s  :param type_name: The model type. Valid types include, but are not 1005s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1005s  1005s  :type api_version: str 1005s  :param api_version: The API version to load. If this is not 1005s  provided, then the latest API version will be used. 1005s  1005s  :type load_extras: bool 1005s  :param load_extras: Whether or not to load the tool extras which 1005s  contain additional data to be added to the model. 1005s  1005s  :raises: UnknownServiceError if there is no known service with 1005s  the provided service_name. 1005s  1005s  :raises: DataNotFoundError if no data could be found for the 1005s  service_name/type_name/api_version. 1005s  1005s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1005s  """ 1005s # Wrapper around the load_data. This will calculate the path 1005s # to call load_data with. 1005s known_services = self.list_available_services(type_name) 1005s if service_name not in known_services: 1005s > raise UnknownServiceError( 1005s service_name=service_name, 1005s known_service_names=', '.join(sorted(known_services)), 1005s ) 1005s E botocore.exceptions.UnknownServiceError: Unknown service: 'qldb'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1005s 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1005s =================================== FAILURES =================================== 1005s __________ test_event_source_mapping_create_from_cloudformation_json ___________ 1005s 1005s @mock_aws 1005s def test_event_source_mapping_create_from_cloudformation_json(): 1005s sqs = boto3.resource("sqs", region_name="us-east-1") 1005s s3 = boto3.client("s3", "us-east-1") 1005s cf = boto3.client("cloudformation", region_name="us-east-1") 1005s lmbda = boto3.client("lambda", region_name="us-east-1") 1005s  1005s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1005s  1005s # Creates lambda 1005s _, lambda_stack = create_stack(cf, s3) 1005s created_fn_name = get_created_function_name(cf, lambda_stack) 1005s created_fn_arn = lmbda.get_function(FunctionName=created_fn_name)["Configuration"][ 1005s "FunctionArn" 1005s ] 1005s  1005s esm_template = event_source_mapping_template.substitute( 1005s { 1005s "resource_name": "Foo", 1005s "batch_size": 1, 1005s "event_source_arn": queue.attributes["QueueArn"], 1005s "function_name": created_fn_name, 1005s "enabled": True, 1005s } 1005s ) 1005s  1005s cf.create_stack(StackName=random_stack_name(), TemplateBody=esm_template) 1005s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1005s 1005s tests/test_awslambda/test_awslambda_cloudformation.py:184: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'ListEventSourceMappings' 1005s api_params = {'FunctionName': 'd3fd54-LF3ABOV-KHXR438ZYROQ'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s ____________________ test_event_source_mapping_delete_stack ____________________ 1005s 1005s @mock_aws 1005s def test_event_source_mapping_delete_stack(): 1005s sqs = boto3.resource("sqs", region_name="us-east-1") 1005s s3 = boto3.client("s3", "us-east-1") 1005s cf = boto3.client("cloudformation", region_name="us-east-1") 1005s lmbda = boto3.client("lambda", region_name="us-east-1") 1005s  1005s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1005s  1005s # Creates lambda 1005s _, lambda_stack = create_stack(cf, s3) 1005s created_fn_name = get_created_function_name(cf, lambda_stack) 1005s  1005s esm_template = event_source_mapping_template.substitute( 1005s { 1005s "resource_name": "Foo", 1005s "batch_size": 1, 1005s "event_source_arn": queue.attributes["QueueArn"], 1005s "function_name": created_fn_name, 1005s "enabled": True, 1005s } 1005s ) 1005s  1005s esm_stack = cf.create_stack( 1005s StackName=random_stack_name(), TemplateBody=esm_template 1005s ) 1005s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1005s 1005s tests/test_awslambda/test_awslambda_cloudformation.py:218: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'ListEventSourceMappings' 1005s api_params = {'FunctionName': '72349f-LF3ABOV-05H4X5DX0HM7'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s __________ test_event_source_mapping_update_from_cloudformation_json ___________ 1005s 1005s @mock_aws 1005s def test_event_source_mapping_update_from_cloudformation_json(): 1005s sqs = boto3.resource("sqs", region_name="us-east-1") 1005s s3 = boto3.client("s3", "us-east-1") 1005s cf = boto3.client("cloudformation", region_name="us-east-1") 1005s lmbda = boto3.client("lambda", region_name="us-east-1") 1005s  1005s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1005s  1005s # Creates lambda 1005s _, lambda_stack = create_stack(cf, s3) 1005s created_fn_name = get_created_function_name(cf, lambda_stack) 1005s  1005s original_template = event_source_mapping_template.substitute( 1005s { 1005s "resource_name": "Foo", 1005s "batch_size": 1, 1005s "event_source_arn": queue.attributes["QueueArn"], 1005s "function_name": created_fn_name, 1005s "enabled": True, 1005s } 1005s ) 1005s  1005s stack_name = random_stack_name() 1005s cf.create_stack(StackName=stack_name, TemplateBody=original_template) 1005s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1005s 1005s tests/test_awslambda/test_awslambda_cloudformation.py:253: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'ListEventSourceMappings' 1005s api_params = {'FunctionName': 'c5c55c-LF3ABOV-4FK169JKMQU8'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s __________ test_event_source_mapping_delete_from_cloudformation_json ___________ 1005s 1005s @mock_aws 1005s def test_event_source_mapping_delete_from_cloudformation_json(): 1005s sqs = boto3.resource("sqs", region_name="us-east-1") 1005s s3 = boto3.client("s3", "us-east-1") 1005s cf = boto3.client("cloudformation", region_name="us-east-1") 1005s lmbda = boto3.client("lambda", region_name="us-east-1") 1005s  1005s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1005s  1005s # Creates lambda 1005s _, lambda_stack = create_stack(cf, s3) 1005s created_fn_name = get_created_function_name(cf, lambda_stack) 1005s  1005s original_template = event_source_mapping_template.substitute( 1005s { 1005s "resource_name": "Foo", 1005s "batch_size": 1, 1005s "event_source_arn": queue.attributes["QueueArn"], 1005s "function_name": created_fn_name, 1005s "enabled": True, 1005s } 1005s ) 1005s  1005s stack_name = random_stack_name() 1005s cf.create_stack(StackName=stack_name, TemplateBody=original_template) 1005s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1005s 1005s tests/test_awslambda/test_awslambda_cloudformation.py:303: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'ListEventSourceMappings' 1005s api_params = {'FunctionName': 'dc5043-LF3ABOV-CUNL5HI6ZEWN'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s _______________________ test_create_event_source_mapping _______________________ 1005s 1005s @mock_aws 1005s def test_create_event_source_mapping(): 1005s function_name = str(uuid.uuid4())[0:6] 1005s sqs = boto3.resource("sqs", region_name="us-east-1") 1005s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1005s  1005s conn = boto3.client("lambda", region_name="us-east-1") 1005s func = conn.create_function( 1005s FunctionName=function_name, 1005s Runtime=PYTHON_VERSION, 1005s Role=get_role_name(), 1005s Handler="lambda_function.lambda_handler", 1005s Code={"ZipFile": get_test_zip_file3()}, 1005s Description="test lambda function", 1005s Timeout=3, 1005s MemorySize=128, 1005s Publish=True, 1005s ) 1005s  1005s destination_config = { 1005s "OnSuccess": {"Destination": "s3"}, 1005s "OnFailure": {"Destination": "s4"}, 1005s } 1005s doc_db_config = { 1005s "DatabaseName": "db", 1005s "CollectionName": "cn", 1005s "FullDocument": "UpdateLookup", 1005s } 1005s > response = conn.create_event_source_mapping( 1005s EventSourceArn=queue.attributes["QueueArn"], 1005s FunctionName=func["FunctionArn"], 1005s BatchSize=1, 1005s FilterCriteria={ 1005s "Filters": [{"Pattern": r"asdf"}], 1005s }, 1005s MaximumBatchingWindowInSeconds=5, 1005s ParallelizationFactor=4, 1005s StartingPosition="AT_TIMESTAMP", 1005s DestinationConfig=destination_config, 1005s MaximumRecordAgeInSeconds=59, 1005s BisectBatchOnFunctionError=True, 1005s MaximumRetryAttempts=9000, 1005s Tags={"k1": "v1"}, 1005s TumblingWindowInSeconds=100, 1005s Topics=["t1", "T2"], 1005s Queues=["q1", "q2"], 1005s SourceAccessConfigurations=[ 1005s {"Type": "BASIC_AUTH", "URI": "http://auth.endpoint"}, 1005s ], 1005s SelfManagedEventSource={ 1005s "Endpoints": { 1005s "key": ["v1"], 1005s }, 1005s }, 1005s FunctionResponseTypes=["ReportBatchItemFailures"], 1005s AmazonManagedKafkaEventSourceConfig={"ConsumerGroupId": "cgid"}, 1005s SelfManagedKafkaEventSourceConfig={"ConsumerGroupId": "cgid2"}, 1005s ScalingConfig={"MaximumConcurrency": 100}, 1005s DocumentDBEventSourceConfig=doc_db_config, 1005s KMSKeyArn="arn:kms:key", 1005s MetricsConfig={"Metrics": ["EventCount"]}, 1005s ProvisionedPollerConfig={"MinimumPollers": 12, "MaximumPollers": 13}, 1005s ) 1005s 1005s tests/test_awslambda/test_lambda_eventsourcemapping.py:51: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'CreateEventSourceMapping' 1005s api_params = {'AmazonManagedKafkaEventSourceConfig': {'ConsumerGroupId': 'cgid'}, 'BatchSize': 1, 'BisectBatchOnFunctionError': True, 'DestinationConfig': {'OnFailure': {'Destination': 's4'}, 'OnSuccess': {'Destination': 's3'}}, ...} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s _______________________ test_list_event_source_mappings ________________________ 1005s 1005s @mock_aws 1005s def test_list_event_source_mappings(): 1005s function_name = str(uuid.uuid4())[0:6] 1005s sqs = boto3.resource("sqs", region_name="us-east-1") 1005s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1005s  1005s conn = boto3.client("lambda", region_name="us-east-1") 1005s func = conn.create_function( 1005s FunctionName=function_name, 1005s Runtime=PYTHON_VERSION, 1005s Role=get_role_name(), 1005s Handler="lambda_function.lambda_handler", 1005s Code={"ZipFile": get_test_zip_file3()}, 1005s Description="test lambda function", 1005s Timeout=3, 1005s MemorySize=128, 1005s Publish=True, 1005s ) 1005s > response = conn.create_event_source_mapping( 1005s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func["FunctionArn"] 1005s ) 1005s 1005s tests/test_awslambda/test_lambda_eventsourcemapping.py:473: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'CreateEventSourceMapping' 1005s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:bb86e6_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:bb86e6'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s ________________________ test_get_event_source_mapping _________________________ 1005s 1005s @mock_aws 1005s def test_get_event_source_mapping(): 1005s function_name = str(uuid.uuid4())[0:6] 1005s sqs = boto3.resource("sqs", region_name="us-east-1") 1005s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1005s  1005s conn = boto3.client("lambda", region_name="us-east-1") 1005s func = conn.create_function( 1005s FunctionName=function_name, 1005s Runtime=PYTHON_VERSION, 1005s Role=get_role_name(), 1005s Handler="lambda_function.lambda_handler", 1005s Code={"ZipFile": get_test_zip_file3()}, 1005s Description="test lambda function", 1005s Timeout=3, 1005s MemorySize=128, 1005s Publish=True, 1005s ) 1005s > response = conn.create_event_source_mapping( 1005s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func["FunctionArn"] 1005s ) 1005s 1005s tests/test_awslambda/test_lambda_eventsourcemapping.py:505: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'CreateEventSourceMapping' 1005s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:61adae_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:61adae'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s _______________________ test_update_event_source_mapping _______________________ 1005s 1005s @mock_aws 1005s def test_update_event_source_mapping(): 1005s function_name = str(uuid.uuid4())[0:6] 1005s sqs = boto3.resource("sqs", region_name="us-east-1") 1005s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1005s  1005s conn = boto3.client("lambda", region_name="us-east-1") 1005s func1 = conn.create_function( 1005s FunctionName=function_name, 1005s Runtime=PYTHON_VERSION, 1005s Role=get_role_name(), 1005s Handler="lambda_function.lambda_handler", 1005s Code={"ZipFile": get_test_zip_file3()}, 1005s Description="test lambda function", 1005s Timeout=3, 1005s MemorySize=128, 1005s Publish=True, 1005s ) 1005s func2 = conn.create_function( 1005s FunctionName="testFunction2", 1005s Runtime=PYTHON_VERSION, 1005s Role=get_role_name(), 1005s Handler="lambda_function.lambda_handler", 1005s Code={"ZipFile": get_test_zip_file3()}, 1005s Description="test lambda function", 1005s Timeout=3, 1005s MemorySize=128, 1005s Publish=True, 1005s ) 1005s > response = conn.create_event_source_mapping( 1005s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func1["FunctionArn"] 1005s ) 1005s 1005s tests/test_awslambda/test_lambda_eventsourcemapping.py:548: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'CreateEventSourceMapping' 1005s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:b2cc0e_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:b2cc0e'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s _______________________ test_delete_event_source_mapping _______________________ 1005s 1005s @mock_aws 1005s def test_delete_event_source_mapping(): 1005s function_name = str(uuid.uuid4())[0:6] 1005s sqs = boto3.resource("sqs", region_name="us-east-1") 1005s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1005s  1005s conn = boto3.client("lambda", region_name="us-east-1") 1005s func1 = conn.create_function( 1005s FunctionName=function_name, 1005s Runtime=PYTHON_VERSION, 1005s Role=get_role_name(), 1005s Handler="lambda_function.lambda_handler", 1005s Code={"ZipFile": get_test_zip_file3()}, 1005s Description="test lambda function", 1005s Timeout=3, 1005s MemorySize=128, 1005s Publish=True, 1005s ) 1005s > response = conn.create_event_source_mapping( 1005s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func1["FunctionArn"] 1005s ) 1005s 1005s tests/test_awslambda/test_lambda_eventsourcemapping.py:635: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'CreateEventSourceMapping' 1005s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:1002b1_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:1002b1'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s _________________________ test_describe_flow_succeeds __________________________ 1005s 1005s @mock_aws 1005s def test_describe_flow_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s > describe_response = client.describe_flow(FlowArn=flow_arn) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:157: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s __________________________ test_delete_flow_succeeds ___________________________ 1005s 1005s @mock_aws 1005s def test_delete_flow_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s > delete_response = client.delete_flow(FlowArn=flow_arn) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:170: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:49: in delete_flow 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ________________________ test_start_stop_flow_succeeds _________________________ 1005s 1005s @mock_aws 1005s def test_start_stop_flow_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s assert create_response["Flow"]["Status"] == "STANDBY" 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s  1005s > start_response = client.start_flow(FlowArn=flow_arn) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:186: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:54: in start_flow 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ______________________________ test_unknown_flow _______________________________ 1005s 1005s @mock_aws 1005s def test_unknown_flow(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s  1005s with pytest.raises(ClientError) as exc: 1005s > client.describe_flow(FlowArn="unknown") 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:210: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s __________________________ test_tag_resource_succeeds __________________________ 1005s 1005s @mock_aws 1005s def test_tag_resource_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s  1005s > tag_response = client.tag_resource(ResourceArn="some-arn", Tags={"Tag1": "Value1"}) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:234: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:64: in tag_resource 1005s resource_arn = unquote(self._get_param("resourceArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ____________________ test_add_flow_vpc_interfaces_succeeds _____________________ 1005s 1005s @mock_aws 1005s def test_add_flow_vpc_interfaces_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s assert create_response["Flow"]["Status"] == "STANDBY" 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s  1005s > client.add_flow_vpc_interfaces( 1005s FlowArn=flow_arn, 1005s VpcInterfaces=[ 1005s { 1005s "Name": "VPCInterface", 1005s "SubnetId": "", 1005s "SecurityGroupIds": [], 1005s "RoleArn": "", 1005s } 1005s ], 1005s ) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:252: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:75: in add_flow_vpc_interfaces 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ______________________ test_add_flow_vpc_interfaces_fails ______________________ 1005s 1005s @mock_aws 1005s def test_add_flow_vpc_interfaces_fails(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s flow_arn = "unknown-flow" 1005s with pytest.raises(ClientError) as err: 1005s > client.add_flow_vpc_interfaces(FlowArn=flow_arn, VpcInterfaces=[]) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:281: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:75: in add_flow_vpc_interfaces 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ___________________ test_remove_flow_vpc_interface_succeeds ____________________ 1005s 1005s @mock_aws 1005s def test_remove_flow_vpc_interface_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s assert create_response["Flow"]["Status"] == "STANDBY" 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s  1005s > client.add_flow_vpc_interfaces( 1005s FlowArn=flow_arn, 1005s VpcInterfaces=[ 1005s { 1005s "Name": "VPCInterface", 1005s "SubnetId": "", 1005s "SecurityGroupIds": [], 1005s "RoleArn": "", 1005s } 1005s ], 1005s ) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:297: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:75: in add_flow_vpc_interfaces 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s _____________________ test_remove_flow_vpc_interface_fails _____________________ 1005s 1005s @mock_aws 1005s def test_remove_flow_vpc_interface_fails(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s flow_arn = "unknown-flow" 1005s with pytest.raises(ClientError) as err: 1005s > client.remove_flow_vpc_interface( 1005s FlowArn=flow_arn, VpcInterfaceName="VPCInterface" 1005s ) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:324: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:85: in remove_flow_vpc_interface 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ________________________ test_add_flow_outputs_succeeds ________________________ 1005s 1005s @mock_aws 1005s def test_add_flow_outputs_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s assert create_response["Flow"]["Status"] == "STANDBY" 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s  1005s > client.add_flow_outputs( 1005s FlowArn=flow_arn, 1005s Outputs=[ 1005s {"Description": "string", "Name": "string", "Port": 123, "Protocol": "rist"} 1005s ], 1005s ) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:342: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:95: in add_flow_outputs 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s _________________________ test_add_flow_outputs_fails __________________________ 1005s 1005s @mock_aws 1005s def test_add_flow_outputs_fails(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s flow_arn = "unknown-flow" 1005s with pytest.raises(ClientError) as err: 1005s > client.add_flow_outputs(FlowArn=flow_arn, Outputs=[]) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:360: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:95: in add_flow_outputs 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s _______________________ test_update_flow_output_succeeds _______________________ 1005s 1005s @mock_aws 1005s def test_update_flow_output_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s assert create_response["Flow"]["Status"] == "STANDBY" 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s output_arn = create_response["Flow"]["Outputs"][0]["OutputArn"] 1005s  1005s > update_response = client.update_flow_output( 1005s FlowArn=flow_arn, OutputArn=output_arn, Description="new description" 1005s ) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:377: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:111: in update_flow_output 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ________________________ test_update_flow_output_fails _________________________ 1005s 1005s @mock_aws 1005s def test_update_flow_output_fails(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s flow_arn = "unknown-flow" 1005s with pytest.raises(ClientError) as err: 1005s > client.update_flow_output( 1005s FlowArn=flow_arn, 1005s OutputArn="some-arn", 1005s Description="new description", 1005s ) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:388: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:111: in update_flow_output 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ________________________ test_remove_flow_output_fails _________________________ 1005s 1005s @mock_aws 1005s def test_remove_flow_output_fails(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s flow_arn = "unknown-flow" 1005s output_arn = "unknown-arn" 1005s with pytest.raises(ClientError) as err: 1005s > client.remove_flow_output(FlowArn=flow_arn, OutputArn=output_arn) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:404: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:103: in remove_flow_output 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s _______________________ test_remove_flow_output_succeeds _______________________ 1005s 1005s @mock_aws 1005s def test_remove_flow_output_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s assert create_response["Flow"]["Status"] == "STANDBY" 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s  1005s > client.add_flow_outputs( 1005s FlowArn=flow_arn, 1005s Outputs=[ 1005s {"Description": "string", "Name": "string", "Port": 123, "Protocol": "rist"} 1005s ], 1005s ) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:420: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:95: in add_flow_outputs 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s _________________________ test_add_flow_sources_fails __________________________ 1005s 1005s @mock_aws 1005s def test_add_flow_sources_fails(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s flow_arn = "unknown-flow" 1005s with pytest.raises(ClientError) as err: 1005s > client.add_flow_sources(FlowArn=flow_arn, Sources=[]) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:442: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:152: in add_flow_sources 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ________________________ test_add_flow_sources_succeeds ________________________ 1005s 1005s @mock_aws 1005s def test_add_flow_sources_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s assert create_response["Flow"]["Status"] == "STANDBY" 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s  1005s > client.add_flow_sources( 1005s FlowArn=flow_arn, 1005s Sources=[ 1005s { 1005s "Description": "string", 1005s "Name": "string", 1005s "Protocol": "rist", 1005s "SenderControlPort": 123, 1005s } 1005s ], 1005s ) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:458: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:152: in add_flow_sources 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ________________________ test_update_flow_source_fails _________________________ 1005s 1005s @mock_aws 1005s def test_update_flow_source_fails(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s flow_arn = "unknown-flow" 1005s source_arn = "unknown-source" 1005s  1005s channel_config = _create_flow_config("test-Flow-1") 1005s client.create_flow(**channel_config) 1005s  1005s with pytest.raises(ClientError) as err: 1005s > client.update_flow_source( 1005s FlowArn=flow_arn, SourceArn=source_arn, Description="new description" 1005s ) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:485: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:160: in update_flow_source 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s _______________________ test_update_flow_source_succeeds _______________________ 1005s 1005s @mock_aws 1005s def test_update_flow_source_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s assert create_response["Flow"]["Status"] == "STANDBY" 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s  1005s > add_response = client.add_flow_sources( 1005s FlowArn=flow_arn, 1005s Sources=[ 1005s { 1005s "Description": "string", 1005s "Name": "string", 1005s "Protocol": "rist", 1005s "SenderControlPort": 123, 1005s } 1005s ], 1005s ) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:503: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:152: in add_flow_sources 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ______________________ test_grant_flow_entitlements_fails ______________________ 1005s 1005s @mock_aws 1005s def test_grant_flow_entitlements_fails(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s flow_arn = "unknown-flow" 1005s  1005s channel_config = _create_flow_config("test-Flow-1") 1005s client.create_flow(**channel_config) 1005s  1005s with pytest.raises(ClientError) as err: 1005s > client.grant_flow_entitlements( 1005s FlowArn=flow_arn, 1005s Entitlements=[ 1005s { 1005s "DataTransferSubscriberFeePercent": 12, 1005s "Description": "A new entitlement", 1005s "Encryption": {"Algorithm": "aes256", "RoleArn": "some:role"}, 1005s "EntitlementStatus": "ENABLED", 1005s "Name": "Entitlement-B", 1005s "Subscribers": [], 1005s } 1005s ], 1005s ) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:536: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:201: in grant_flow_entitlements 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ____________________ test_grant_flow_entitlements_succeeds _____________________ 1005s 1005s @mock_aws 1005s def test_grant_flow_entitlements_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s assert create_response["Flow"]["Status"] == "STANDBY" 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s  1005s > describe_response = client.describe_flow(FlowArn=flow_arn) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:564: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ______________________ test_revoke_flow_entitlement_fails ______________________ 1005s 1005s @mock_aws 1005s def test_revoke_flow_entitlement_fails(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s assert create_response["Flow"]["Status"] == "STANDBY" 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s  1005s > describe_response = client.describe_flow(FlowArn=flow_arn) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:607: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ____________________ test_revoke_flow_entitlement_succeeds _____________________ 1005s 1005s @mock_aws 1005s def test_revoke_flow_entitlement_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s assert create_response["Flow"]["Status"] == "STANDBY" 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s  1005s > describe_response = client.describe_flow(FlowArn=flow_arn) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:630: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ______________________ test_update_flow_entitlement_fails ______________________ 1005s 1005s @mock_aws 1005s def test_update_flow_entitlement_fails(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s assert create_response["Flow"]["Status"] == "STANDBY" 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s  1005s > describe_response = client.describe_flow(FlowArn=flow_arn) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:655: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ____________________ test_update_flow_entitlement_succeeds _____________________ 1005s 1005s @mock_aws 1005s def test_update_flow_entitlement_succeeds(): 1005s client = boto3.client("mediaconnect", region_name=region) 1005s channel_config = _create_flow_config("test-Flow-1") 1005s  1005s create_response = client.create_flow(**channel_config) 1005s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1005s assert create_response["Flow"]["Status"] == "STANDBY" 1005s flow_arn = create_response["Flow"]["FlowArn"] 1005s  1005s > describe_response = client.describe_flow(FlowArn=flow_arn) 1005s 1005s tests/test_mediaconnect/test_mediaconnect.py:680: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1005s http, parsed_response = self._make_request( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1005s return self._endpoint.make_request(operation_model, request_dict) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1005s return self._send_request(request_dict, operation_model) 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1005s while self._needs_retry( 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1005s responses = self._event_emitter.emit( 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1005s if self._checker(**checker_kwargs): 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1005s should_retry = self._should_retry( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1005s return self._checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1005s checker_response = checker( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1005s return self._check_caught_exception( 1005s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1005s raise caught_exception 1005s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1005s responses = self._event_emitter.emit(event_name, request=request) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1005s return self._emitter.emit(aliased_event_name, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1005s return self._emit(event_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1005s response = handler(**kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1005s response = self.process_request(request) 1005s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1005s status, headers, body = method_to_execute( 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1005s return cls()._dispatch(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1005s return self.call_action() 1005s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1005s response = method() 1005s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1005s flow_arn = unquote(self._get_param("flowArn")) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s string = None, encoding = 'utf-8', errors = 'replace' 1005s 1005s def unquote(string, encoding='utf-8', errors='replace'): 1005s  """Replace %xx escapes by their single-character equivalent. The optional 1005s  encoding and errors parameters specify how to decode percent-encoded 1005s  sequences into Unicode characters, as accepted by the bytes.decode() 1005s  method. 1005s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1005s  sequences are replaced by a placeholder character. 1005s  1005s  unquote('abc%20def') -> 'abc def'. 1005s  """ 1005s if isinstance(string, bytes): 1005s return _unquote_impl(string).decode(encoding, errors) 1005s > if '%' not in string: 1005s E TypeError: argument of type 'NoneType' is not a container or iterable 1005s 1005s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1005s ___________________________ test_create_app_response ___________________________ 1005s 1005s @freeze_time("2015-01-01") 1005s @mock_aws 1005s def test_create_app_response(): 1005s > client = boto3.client("opsworks", region_name="us-east-1") 1005s 1005s tests/test_opsworks/test_apps.py:12: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1005s return _get_default_session().client(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1005s return self._session.create_client( 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1005s client = client_creator.create_client( 1005s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1005s service_model = self._load_service_model(service_name, api_version) 1005s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1005s json_model = self._loader.load_service_model( 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1005s data = func(self, *args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s service_name = 'opsworks', type_name = 'service-2', api_version = None 1005s 1005s @instance_cache 1005s def load_service_model(self, service_name, type_name, api_version=None): 1005s  """Load a botocore service model 1005s  1005s  This is the main method for loading botocore models (e.g. a service 1005s  model, pagination configs, waiter configs, etc.). 1005s  1005s  :type service_name: str 1005s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1005s  1005s  :type type_name: str 1005s  :param type_name: The model type. Valid types include, but are not 1005s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1005s  1005s  :type api_version: str 1005s  :param api_version: The API version to load. If this is not 1005s  provided, then the latest API version will be used. 1005s  1005s  :type load_extras: bool 1005s  :param load_extras: Whether or not to load the tool extras which 1005s  contain additional data to be added to the model. 1005s  1005s  :raises: UnknownServiceError if there is no known service with 1005s  the provided service_name. 1005s  1005s  :raises: DataNotFoundError if no data could be found for the 1005s  service_name/type_name/api_version. 1005s  1005s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1005s  """ 1005s # Wrapper around the load_data. This will calculate the path 1005s # to call load_data with. 1005s known_services = self.list_available_services(type_name) 1005s if service_name not in known_services: 1005s > raise UnknownServiceError( 1005s service_name=service_name, 1005s known_service_names=', '.join(sorted(known_services)), 1005s ) 1005s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1005s 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1005s ______________________________ test_describe_apps ______________________________ 1005s 1005s @freeze_time("2015-01-01") 1005s @mock_aws 1005s def test_describe_apps(): 1005s > client = boto3.client("opsworks", region_name="us-east-1") 1005s 1005s tests/test_opsworks/test_apps.py:49: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1005s return _get_default_session().client(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1005s return self._session.create_client( 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1005s client = client_creator.create_client( 1005s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1005s service_model = self._load_service_model(service_name, api_version) 1005s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1005s json_model = self._loader.load_service_model( 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1005s data = func(self, *args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s service_name = 'opsworks', type_name = 'service-2', api_version = None 1005s 1005s @instance_cache 1005s def load_service_model(self, service_name, type_name, api_version=None): 1005s  """Load a botocore service model 1005s  1005s  This is the main method for loading botocore models (e.g. a service 1005s  model, pagination configs, waiter configs, etc.). 1005s  1005s  :type service_name: str 1005s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1005s  1005s  :type type_name: str 1005s  :param type_name: The model type. Valid types include, but are not 1005s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1005s  1005s  :type api_version: str 1005s  :param api_version: The API version to load. If this is not 1005s  provided, then the latest API version will be used. 1005s  1005s  :type load_extras: bool 1005s  :param load_extras: Whether or not to load the tool extras which 1005s  contain additional data to be added to the model. 1005s  1005s  :raises: UnknownServiceError if there is no known service with 1005s  the provided service_name. 1005s  1005s  :raises: DataNotFoundError if no data could be found for the 1005s  service_name/type_name/api_version. 1005s  1005s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1005s  """ 1005s # Wrapper around the load_data. This will calculate the path 1005s # to call load_data with. 1005s known_services = self.list_available_services(type_name) 1005s if service_name not in known_services: 1005s > raise UnknownServiceError( 1005s service_name=service_name, 1005s known_service_names=', '.join(sorted(known_services)), 1005s ) 1005s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1005s 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1005s _____________________________ test_create_instance _____________________________ 1005s 1005s @mock_aws 1005s def test_create_instance(): 1005s > client = boto3.client("opsworks", region_name="us-east-1") 1005s 1005s tests/test_opsworks/test_instances.py:11: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1005s return _get_default_session().client(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1005s return self._session.create_client( 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1005s client = client_creator.create_client( 1005s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1005s service_model = self._load_service_model(service_name, api_version) 1005s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1005s json_model = self._loader.load_service_model( 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1005s data = func(self, *args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s service_name = 'opsworks', type_name = 'service-2', api_version = None 1005s 1005s @instance_cache 1005s def load_service_model(self, service_name, type_name, api_version=None): 1005s  """Load a botocore service model 1005s  1005s  This is the main method for loading botocore models (e.g. a service 1005s  model, pagination configs, waiter configs, etc.). 1005s  1005s  :type service_name: str 1005s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1005s  1005s  :type type_name: str 1005s  :param type_name: The model type. Valid types include, but are not 1005s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1005s  1005s  :type api_version: str 1005s  :param api_version: The API version to load. If this is not 1005s  provided, then the latest API version will be used. 1005s  1005s  :type load_extras: bool 1005s  :param load_extras: Whether or not to load the tool extras which 1005s  contain additional data to be added to the model. 1005s  1005s  :raises: UnknownServiceError if there is no known service with 1005s  the provided service_name. 1005s  1005s  :raises: DataNotFoundError if no data could be found for the 1005s  service_name/type_name/api_version. 1005s  1005s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1005s  """ 1005s # Wrapper around the load_data. This will calculate the path 1005s # to call load_data with. 1005s known_services = self.list_available_services(type_name) 1005s if service_name not in known_services: 1005s > raise UnknownServiceError( 1005s service_name=service_name, 1005s known_service_names=', '.join(sorted(known_services)), 1005s ) 1005s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1005s 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1005s ___________________________ test_describe_instances ____________________________ 1005s 1005s @mock_aws 1005s def test_describe_instances(): 1005s  """ 1005s  create two stacks, with 1 layer and 2 layers (S1L1, S2L1, S2L2) 1005s  1005s  populate S1L1 with 2 instances (S1L1_i1, S1L1_i2) 1005s  populate S2L1 with 1 instance (S2L1_i1) 1005s  populate S2L2 with 3 instances (S2L2_i1..2) 1005s  """ 1005s  1005s > client = boto3.client("opsworks", region_name="us-east-1") 1005s 1005s tests/test_opsworks/test_instances.py:87: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1005s return _get_default_session().client(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1005s return self._session.create_client( 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1005s client = client_creator.create_client( 1005s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1005s service_model = self._load_service_model(service_name, api_version) 1005s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1005s json_model = self._loader.load_service_model( 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1005s data = func(self, *args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s service_name = 'opsworks', type_name = 'service-2', api_version = None 1005s 1005s @instance_cache 1005s def load_service_model(self, service_name, type_name, api_version=None): 1005s  """Load a botocore service model 1005s  1005s  This is the main method for loading botocore models (e.g. a service 1005s  model, pagination configs, waiter configs, etc.). 1005s  1005s  :type service_name: str 1005s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1005s  1005s  :type type_name: str 1005s  :param type_name: The model type. Valid types include, but are not 1005s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1005s  1005s  :type api_version: str 1005s  :param api_version: The API version to load. If this is not 1005s  provided, then the latest API version will be used. 1005s  1005s  :type load_extras: bool 1005s  :param load_extras: Whether or not to load the tool extras which 1005s  contain additional data to be added to the model. 1005s  1005s  :raises: UnknownServiceError if there is no known service with 1005s  the provided service_name. 1005s  1005s  :raises: DataNotFoundError if no data could be found for the 1005s  service_name/type_name/api_version. 1005s  1005s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1005s  """ 1005s # Wrapper around the load_data. This will calculate the path 1005s # to call load_data with. 1005s known_services = self.list_available_services(type_name) 1005s if service_name not in known_services: 1005s > raise UnknownServiceError( 1005s service_name=service_name, 1005s known_service_names=', '.join(sorted(known_services)), 1005s ) 1005s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1005s 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1005s _____________________________ test_ec2_integration _____________________________ 1005s 1005s @mock_aws 1005s def test_ec2_integration(): 1005s  """Verify instances created via OpsWorks are discoverable via ec2.""" 1005s > opsworks = boto3.client("opsworks", region_name="us-east-1") 1005s 1005s tests/test_opsworks/test_instances.py:186: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1005s return _get_default_session().client(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1005s return self._session.create_client( 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1005s client = client_creator.create_client( 1005s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1005s service_model = self._load_service_model(service_name, api_version) 1005s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1005s json_model = self._loader.load_service_model( 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1005s data = func(self, *args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s service_name = 'opsworks', type_name = 'service-2', api_version = None 1005s 1005s @instance_cache 1005s def load_service_model(self, service_name, type_name, api_version=None): 1005s  """Load a botocore service model 1005s  1005s  This is the main method for loading botocore models (e.g. a service 1005s  model, pagination configs, waiter configs, etc.). 1005s  1005s  :type service_name: str 1005s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1005s  1005s  :type type_name: str 1005s  :param type_name: The model type. Valid types include, but are not 1005s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1005s  1005s  :type api_version: str 1005s  :param api_version: The API version to load. If this is not 1005s  provided, then the latest API version will be used. 1005s  1005s  :type load_extras: bool 1005s  :param load_extras: Whether or not to load the tool extras which 1005s  contain additional data to be added to the model. 1005s  1005s  :raises: UnknownServiceError if there is no known service with 1005s  the provided service_name. 1005s  1005s  :raises: DataNotFoundError if no data could be found for the 1005s  service_name/type_name/api_version. 1005s  1005s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1005s  """ 1005s # Wrapper around the load_data. This will calculate the path 1005s # to call load_data with. 1005s known_services = self.list_available_services(type_name) 1005s if service_name not in known_services: 1005s > raise UnknownServiceError( 1005s service_name=service_name, 1005s known_service_names=', '.join(sorted(known_services)), 1005s ) 1005s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1005s 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1005s __________________________ test_create_layer_response __________________________ 1005s 1005s @freeze_time("2015-01-01") 1005s @mock_aws 1005s def test_create_layer_response(): 1005s > client = boto3.client("opsworks", region_name="us-east-1") 1005s 1005s tests/test_opsworks/test_layers.py:12: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1005s return _get_default_session().client(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1005s return self._session.create_client( 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1005s client = client_creator.create_client( 1005s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1005s service_model = self._load_service_model(service_name, api_version) 1005s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1005s json_model = self._loader.load_service_model( 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1005s data = func(self, *args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s service_name = 'opsworks', type_name = 'service-2', api_version = None 1005s 1005s @instance_cache 1005s def load_service_model(self, service_name, type_name, api_version=None): 1005s  """Load a botocore service model 1005s  1005s  This is the main method for loading botocore models (e.g. a service 1005s  model, pagination configs, waiter configs, etc.). 1005s  1005s  :type service_name: str 1005s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1005s  1005s  :type type_name: str 1005s  :param type_name: The model type. Valid types include, but are not 1005s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1005s  1005s  :type api_version: str 1005s  :param api_version: The API version to load. If this is not 1005s  provided, then the latest API version will be used. 1005s  1005s  :type load_extras: bool 1005s  :param load_extras: Whether or not to load the tool extras which 1005s  contain additional data to be added to the model. 1005s  1005s  :raises: UnknownServiceError if there is no known service with 1005s  the provided service_name. 1005s  1005s  :raises: DataNotFoundError if no data could be found for the 1005s  service_name/type_name/api_version. 1005s  1005s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1005s  """ 1005s # Wrapper around the load_data. This will calculate the path 1005s # to call load_data with. 1005s known_services = self.list_available_services(type_name) 1005s if service_name not in known_services: 1005s > raise UnknownServiceError( 1005s service_name=service_name, 1005s known_service_names=', '.join(sorted(known_services)), 1005s ) 1005s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1005s 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1005s _____________________________ test_describe_layers _____________________________ 1005s 1005s @freeze_time("2015-01-01") 1005s @mock_aws 1005s def test_describe_layers(): 1005s > client = boto3.client("opsworks", region_name="us-east-1") 1005s 1005s tests/test_opsworks/test_layers.py:74: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1005s return _get_default_session().client(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1005s return self._session.create_client( 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1005s client = client_creator.create_client( 1005s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1005s service_model = self._load_service_model(service_name, api_version) 1005s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1005s json_model = self._loader.load_service_model( 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1005s data = func(self, *args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s service_name = 'opsworks', type_name = 'service-2', api_version = None 1005s 1005s @instance_cache 1005s def load_service_model(self, service_name, type_name, api_version=None): 1005s  """Load a botocore service model 1005s  1005s  This is the main method for loading botocore models (e.g. a service 1005s  model, pagination configs, waiter configs, etc.). 1005s  1005s  :type service_name: str 1005s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1005s  1005s  :type type_name: str 1005s  :param type_name: The model type. Valid types include, but are not 1005s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1005s  1005s  :type api_version: str 1005s  :param api_version: The API version to load. If this is not 1005s  provided, then the latest API version will be used. 1005s  1005s  :type load_extras: bool 1005s  :param load_extras: Whether or not to load the tool extras which 1005s  contain additional data to be added to the model. 1005s  1005s  :raises: UnknownServiceError if there is no known service with 1005s  the provided service_name. 1005s  1005s  :raises: DataNotFoundError if no data could be found for the 1005s  service_name/type_name/api_version. 1005s  1005s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1005s  """ 1005s # Wrapper around the load_data. This will calculate the path 1005s # to call load_data with. 1005s known_services = self.list_available_services(type_name) 1005s if service_name not in known_services: 1005s > raise UnknownServiceError( 1005s service_name=service_name, 1005s known_service_names=', '.join(sorted(known_services)), 1005s ) 1005s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1005s 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1005s __________________________ test_create_stack_response __________________________ 1005s 1005s @mock_aws 1005s def test_create_stack_response(): 1005s > client = boto3.client("opsworks", region_name="us-east-1") 1005s 1005s tests/test_opsworks/test_stack.py:9: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1005s return _get_default_session().client(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1005s return self._session.create_client( 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1005s client = client_creator.create_client( 1005s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1005s service_model = self._load_service_model(service_name, api_version) 1005s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1005s json_model = self._loader.load_service_model( 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1005s data = func(self, *args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s service_name = 'opsworks', type_name = 'service-2', api_version = None 1005s 1005s @instance_cache 1005s def load_service_model(self, service_name, type_name, api_version=None): 1005s  """Load a botocore service model 1005s  1005s  This is the main method for loading botocore models (e.g. a service 1005s  model, pagination configs, waiter configs, etc.). 1005s  1005s  :type service_name: str 1005s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1005s  1005s  :type type_name: str 1005s  :param type_name: The model type. Valid types include, but are not 1005s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1005s  1005s  :type api_version: str 1005s  :param api_version: The API version to load. If this is not 1005s  provided, then the latest API version will be used. 1005s  1005s  :type load_extras: bool 1005s  :param load_extras: Whether or not to load the tool extras which 1005s  contain additional data to be added to the model. 1005s  1005s  :raises: UnknownServiceError if there is no known service with 1005s  the provided service_name. 1005s  1005s  :raises: DataNotFoundError if no data could be found for the 1005s  service_name/type_name/api_version. 1005s  1005s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1005s  """ 1005s # Wrapper around the load_data. This will calculate the path 1005s # to call load_data with. 1005s known_services = self.list_available_services(type_name) 1005s if service_name not in known_services: 1005s > raise UnknownServiceError( 1005s service_name=service_name, 1005s known_service_names=', '.join(sorted(known_services)), 1005s ) 1005s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1005s 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1005s _____________________________ test_describe_stacks _____________________________ 1005s 1005s @mock_aws 1005s def test_describe_stacks(): 1005s > client = boto3.client("opsworks", region_name="us-east-1") 1005s 1005s tests/test_opsworks/test_stack.py:21: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1005s return _get_default_session().client(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1005s return self._session.create_client( 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1005s client = client_creator.create_client( 1005s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1005s service_model = self._load_service_model(service_name, api_version) 1005s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1005s json_model = self._loader.load_service_model( 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1005s data = func(self, *args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s service_name = 'opsworks', type_name = 'service-2', api_version = None 1005s 1005s @instance_cache 1005s def load_service_model(self, service_name, type_name, api_version=None): 1005s  """Load a botocore service model 1005s  1005s  This is the main method for loading botocore models (e.g. a service 1005s  model, pagination configs, waiter configs, etc.). 1005s  1005s  :type service_name: str 1005s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1005s  1005s  :type type_name: str 1005s  :param type_name: The model type. Valid types include, but are not 1005s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1005s  1005s  :type api_version: str 1005s  :param api_version: The API version to load. If this is not 1005s  provided, then the latest API version will be used. 1005s  1005s  :type load_extras: bool 1005s  :param load_extras: Whether or not to load the tool extras which 1005s  contain additional data to be added to the model. 1005s  1005s  :raises: UnknownServiceError if there is no known service with 1005s  the provided service_name. 1005s  1005s  :raises: DataNotFoundError if no data could be found for the 1005s  service_name/type_name/api_version. 1005s  1005s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1005s  """ 1005s # Wrapper around the load_data. This will calculate the path 1005s # to call load_data with. 1005s known_services = self.list_available_services(type_name) 1005s if service_name not in known_services: 1005s > raise UnknownServiceError( 1005s service_name=service_name, 1005s known_service_names=', '.join(sorted(known_services)), 1005s ) 1005s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1005s 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1005s _____________________________ test_create_db_proxy _____________________________ 1005s 1005s @mock_aws 1005s def test_create_db_proxy(): 1005s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1005s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1005s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1005s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1005s "Subnet" 1005s ]["SubnetId"] 1005s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1005s "Subnet" 1005s ]["SubnetId"] 1005s > resp = rds_client.create_db_proxy( 1005s DBProxyName="testrdsproxy", 1005s EngineFamily="MYSQL", 1005s Auth=[ 1005s { 1005s "Description": "Test Description", 1005s "UserName": "Test Username", 1005s "AuthScheme": "SECRETS", 1005s "SecretArn": "TestSecretARN", 1005s "IAMAuth": "ENABLED", 1005s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1005s }, 1005s ], 1005s RoleArn="TestArn", 1005s VpcSubnetIds=[subnet_id, subnet_id_2], 1005s RequireTLS=True, 1005s Tags=[{"Key": "TestKey", "Value": "TestValue"}], 1005s ) 1005s 1005s tests/test_rds/test_rds_proxy.py:22: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxy', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1005s operation_model = OperationModel(name=CreateDBProxy) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1005s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ___________________________ test_describe_db_proxies ___________________________ 1005s 1005s @mock_aws 1005s def test_describe_db_proxies(): 1005s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1005s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1005s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1005s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1005s "Subnet" 1005s ]["SubnetId"] 1005s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1005s "Subnet" 1005s ]["SubnetId"] 1005s > rds_client.create_db_proxy( 1005s DBProxyName="testrdsproxydescribe", 1005s EngineFamily="MYSQL", 1005s Auth=[ 1005s { 1005s "Description": "Test Description", 1005s "UserName": "Test Username", 1005s "AuthScheme": "SECRETS", 1005s "SecretArn": "TestSecretARN", 1005s "IAMAuth": "ENABLED", 1005s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1005s }, 1005s ], 1005s RoleArn="TestArn", 1005s VpcSubnetIds=[subnet_id, subnet_id_2], 1005s RequireTLS=True, 1005s Tags=[ 1005s {"Key": "TestKey", "Value": "TestValue"}, 1005s {"Key": "aaa", "Value": "bbb"}, 1005s ], 1005s ) 1005s 1005s tests/test_rds/test_rds_proxy.py:76: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxydescribe', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1005s operation_model = OperationModel(name=CreateDBProxy) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1005s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ___________________________ test_list_tags_db_proxy ____________________________ 1005s 1005s @mock_aws 1005s def test_list_tags_db_proxy(): 1005s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1005s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1005s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1005s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1005s "Subnet" 1005s ]["SubnetId"] 1005s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1005s "Subnet" 1005s ]["SubnetId"] 1005s > resp = rds_client.create_db_proxy( 1005s DBProxyName="testrdsproxydescribe", 1005s EngineFamily="MYSQL", 1005s Auth=[ 1005s { 1005s "Description": "Test Description", 1005s "UserName": "Test Username", 1005s "AuthScheme": "SECRETS", 1005s "SecretArn": "TestSecretARN", 1005s "IAMAuth": "ENABLED", 1005s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1005s }, 1005s ], 1005s RoleArn="TestArn", 1005s VpcSubnetIds=[subnet_id, subnet_id_2], 1005s RequireTLS=True, 1005s Tags=[ 1005s {"Key": "TestKey", "Value": "TestValue"}, 1005s {"Key": "aaa", "Value": "bbb"}, 1005s ], 1005s ) 1005s 1005s tests/test_rds/test_rds_proxy.py:134: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxydescribe', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1005s operation_model = OperationModel(name=CreateDBProxy) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1005s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s _____________________ test_create_db_proxy_invalid_subnet ______________________ 1005s 1005s @mock_aws 1005s def test_create_db_proxy_invalid_subnet(): 1005s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1005s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1005s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1005s vpc_id_2 = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1005s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1005s "Subnet" 1005s ]["SubnetId"] 1005s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id_2)[ 1005s "Subnet" 1005s ]["SubnetId"] 1005s with pytest.raises(ClientError) as ex: 1005s > rds_client.create_db_proxy( 1005s DBProxyName="testrdsproxy", 1005s EngineFamily="MYSQL", 1005s Auth=[ 1005s { 1005s "Description": "Test Description", 1005s "UserName": "Test Username", 1005s "AuthScheme": "SECRETS", 1005s "SecretArn": "TestSecretARN", 1005s "IAMAuth": "ENABLED", 1005s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1005s }, 1005s ], 1005s RoleArn="TestArn", 1005s VpcSubnetIds=[subnet_id, subnet_id_2], 1005s RequireTLS=True, 1005s Tags=[{"Key": "TestKey", "Value": "TestValue"}], 1005s ) 1005s 1005s tests/test_rds/test_rds_proxy.py:176: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxy', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1005s operation_model = OperationModel(name=CreateDBProxy) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1005s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s _____________________ test_create_db_proxy_duplicate_name ______________________ 1005s 1005s @mock_aws 1005s def test_create_db_proxy_duplicate_name(): 1005s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1005s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1005s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1005s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1005s "Subnet" 1005s ]["SubnetId"] 1005s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1005s "Subnet" 1005s ]["SubnetId"] 1005s > rds_client.create_db_proxy( 1005s DBProxyName="testrdsproxy", 1005s EngineFamily="MYSQL", 1005s Auth=[ 1005s { 1005s "Description": "Test Description", 1005s "UserName": "Test Username", 1005s "AuthScheme": "SECRETS", 1005s "SecretArn": "TestSecretARN", 1005s "IAMAuth": "ENABLED", 1005s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1005s }, 1005s ], 1005s RoleArn="TestArn", 1005s VpcSubnetIds=[subnet_id, subnet_id_2], 1005s RequireTLS=True, 1005s Tags=[{"Key": "TestKey", "Value": "TestValue"}], 1005s ) 1005s 1005s tests/test_rds/test_rds_proxy.py:209: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxy', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1005s operation_model = OperationModel(name=CreateDBProxy) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1005s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ________________________ test_get_resources_workspaces _________________________ 1005s 1005s @mock_aws 1005s def test_get_resources_workspaces(): 1005s workspaces = boto3.client("workspaces", region_name="eu-central-1") 1005s  1005s # Create two tagged Workspaces 1005s directory_id = create_directory() 1005s > workspaces.register_workspace_directory( 1005s DirectoryId=directory_id, EnableWorkDocs=False 1005s ) 1005s 1005s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py:804: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-1603818045', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ___________________ test_get_resources_workspace_directories ___________________ 1005s 1005s @mock_aws 1005s def test_get_resources_workspace_directories(): 1005s workspaces = boto3.client("workspaces", region_name="eu-central-1") 1005s  1005s # Create two tagged Workspaces Directories 1005s for i in range(1, 3): 1005s i_str = str(i) 1005s directory_id = create_directory() 1005s > workspaces.register_workspace_directory( 1005s DirectoryId=directory_id, 1005s EnableWorkDocs=False, 1005s Tags=[ 1005s {"Key": "Test", "Value": i_str}, 1005s ], 1005s ) 1005s 1005s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py:851: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-216d1a6362', 'EnableWorkDocs': False, 'Tags': [{'Key': 'Test', 'Value': '1'}]} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s _____________________ test_get_resources_workspace_images ______________________ 1005s 1005s @mock_aws 1005s def test_get_resources_workspace_images(): 1005s workspaces = boto3.client("workspaces", region_name="eu-central-1") 1005s  1005s # Create two tagged Workspace Images 1005s directory_id = create_directory() 1005s > workspaces.register_workspace_directory( 1005s DirectoryId=directory_id, EnableWorkDocs=False 1005s ) 1005s 1005s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py:880: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-c43c266519', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ____________________________ test_robot_application ____________________________ 1005s 1005s @mock_aws 1005s def test_robot_application(): 1005s > client = boto3.client("robomaker", region_name="eu-west-1") 1005s 1005s tests/test_robomaker/test_robomaker.py:11: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1005s return _get_default_session().client(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1005s return self._session.create_client( 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1005s client = client_creator.create_client( 1005s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1005s service_model = self._load_service_model(service_name, api_version) 1005s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1005s json_model = self._loader.load_service_model( 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1005s data = func(self, *args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s service_name = 'robomaker', type_name = 'service-2', api_version = None 1005s 1005s @instance_cache 1005s def load_service_model(self, service_name, type_name, api_version=None): 1005s  """Load a botocore service model 1005s  1005s  This is the main method for loading botocore models (e.g. a service 1005s  model, pagination configs, waiter configs, etc.). 1005s  1005s  :type service_name: str 1005s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1005s  1005s  :type type_name: str 1005s  :param type_name: The model type. Valid types include, but are not 1005s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1005s  1005s  :type api_version: str 1005s  :param api_version: The API version to load. If this is not 1005s  provided, then the latest API version will be used. 1005s  1005s  :type load_extras: bool 1005s  :param load_extras: Whether or not to load the tool extras which 1005s  contain additional data to be added to the model. 1005s  1005s  :raises: UnknownServiceError if there is no known service with 1005s  the provided service_name. 1005s  1005s  :raises: DataNotFoundError if no data could be found for the 1005s  service_name/type_name/api_version. 1005s  1005s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1005s  """ 1005s # Wrapper around the load_data. This will calculate the path 1005s # to call load_data with. 1005s known_services = self.list_available_services(type_name) 1005s if service_name not in known_services: 1005s > raise UnknownServiceError( 1005s service_name=service_name, 1005s known_service_names=', '.join(sorted(known_services)), 1005s ) 1005s E botocore.exceptions.UnknownServiceError: Unknown service: 'robomaker'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1005s 1005s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1005s __________________ test_locked_object_governance_mode[bypass] __________________ 1005s 1005s bypass_governance_retention = True 1005s bucket_name = '9c94c3c8-e002-4948-844a-e4d091a05735' 1005s 1005s @s3_aws_verified 1005s @pytest.mark.aws_verified 1005s @pytest.mark.parametrize( 1005s "bypass_governance_retention", 1005s [True, False, None], 1005s ids=["bypass", "no_bypass", "unspecified"], 1005s ) 1005s def test_locked_object_governance_mode(bypass_governance_retention, bucket_name=None): 1005s s3_client = boto3.client("s3", DEFAULT_REGION_NAME) 1005s  1005s key_name = "file.txt" 1005s seconds_lock = 10 1005s  1005s enable_versioning(bucket_name, s3_client) 1005s  1005s s3_client.put_object_lock_configuration( 1005s Bucket=bucket_name, 1005s ObjectLockConfiguration={ 1005s "ObjectLockEnabled": "Enabled", 1005s "Rule": {"DefaultRetention": {"Mode": "GOVERNANCE", "Days": 1}}, 1005s }, 1005s ) 1005s  1005s until = utcnow() + datetime.timedelta(seconds=seconds_lock) 1005s s3_client.put_object( 1005s Bucket=bucket_name, 1005s Body=b"test", 1005s Key=key_name, 1005s ObjectLockMode="GOVERNANCE", 1005s ObjectLockRetainUntilDate=until, 1005s ContentMD5=generate_content_md5(b"test"), 1005s ) 1005s  1005s versions_response = s3_client.list_object_versions(Bucket=bucket_name) 1005s initial_version_id = versions_response["Versions"][0]["VersionId"] 1005s  1005s with pytest.raises(ClientError) as exc: 1005s s3_client.delete_object( 1005s Bucket=bucket_name, Key=key_name, VersionId=initial_version_id 1005s ) 1005s err = exc.value.response["Error"] 1005s assert err["Code"] == "AccessDenied" 1005s  1005s kwargs = {} 1005s if bypass_governance_retention in [True, False]: 1005s kwargs["BypassGovernanceRetention"] = bypass_governance_retention 1005s  1005s # Delete the object without VersionId always succeeds 1005s response = s3_client.delete_objects( 1005s Bucket=bucket_name, 1005s Delete={ 1005s "Objects": [ 1005s {"Key": key_name}, 1005s ], 1005s }, 1005s **kwargs, 1005s ) 1005s assert response["Deleted"][0]["Key"] == key_name 1005s deleted_version_id = response["Deleted"][0]["DeleteMarkerVersionId"] 1005s  1005s # Delete any version id only succeeds if BypassGovernanceRetention=true 1005s response = s3_client.delete_objects( 1005s Bucket=bucket_name, 1005s Delete={ 1005s "Objects": [ 1005s {"Key": key_name, "VersionId": initial_version_id}, 1005s ], 1005s }, 1005s **kwargs, 1005s ) 1005s if bypass_governance_retention: 1005s > assert "Deleted" in response 1005s E AssertionError: assert 'Deleted' in {'Errors': [{'Code': 'AccessDenied', 'Key': 'file.txt', 'Message': 'Access Denied because object protected by object l...KIZ'}, 'HTTPStatusCode': 200, 'RequestId': 'LIrAhzinWsP7FznljrljgvJTDvLfWrlt7rtZ7WxO7IoN8Kcu8KIZ', 'RetryAttempts': 0}} 1005s 1005s tests/test_s3/test_s3_lock.py:130: AssertionError 1005s ________________________________ test_get_table ________________________________ 1005s 1005s @mock_aws 1005s def test_get_table(): 1005s client = boto3.client("s3tables", region_name="us-east-2") 1005s arn = client.create_table_bucket(name="foo")["arn"] 1005s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1005s table_arn = client.create_table( 1005s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1005s )["tableARN"] 1005s  1005s assert ( 1005s > client.get_table(tableBucketARN=arn, namespace="bar", name="baz")["tableARN"] 1005s == table_arn 1005s ) 1005s 1005s tests/test_s3tables/test_s3tables.py:156: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'GetTable' 1005s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s ______________ test_delete_table_deletes_underlying_table_storage ______________ 1005s 1005s @mock_aws 1005s def test_delete_table_deletes_underlying_table_storage(): 1005s client = boto3.client("s3tables", region_name="us-east-2") 1005s s3 = boto3.client("s3", region_name="us-east-2") 1005s arn = client.create_table_bucket(name="foo")["arn"] 1005s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1005s client.create_table( 1005s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1005s ) 1005s > warehouse = client.get_table(tableBucketARN=arn, namespace="bar", name="baz")[ 1005s "warehouseLocation" 1005s ] 1005s 1005s tests/test_s3tables/test_s3tables.py:227: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'GetTable' 1005s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s _____________________ test_update_table_metadata_location ______________________ 1005s 1005s @mock_aws 1005s def test_update_table_metadata_location(): 1005s client = boto3.client("s3tables", region_name="us-east-2") 1005s arn = client.create_table_bucket(name="foo")["arn"] 1005s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1005s resp = client.create_table( 1005s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1005s ) 1005s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1005s 1005s tests/test_s3tables/test_s3tables.py:280: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'GetTable' 1005s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s _________________________ test_write_metadata_to_table _________________________ 1005s 1005s @mock_aws 1005s def test_write_metadata_to_table() -> None: 1005s client = boto3.client("s3tables", region_name="us-east-2") 1005s arn = client.create_table_bucket(name="foo")["arn"] 1005s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1005s resp = client.create_table( 1005s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1005s ) 1005s  1005s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1005s 1005s tests/test_s3tables/test_s3tables.py:324: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'GetTable' 1005s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s _________ test_underlying_table_storage_does_not_support_list_objects __________ 1005s 1005s @mock_aws 1005s def test_underlying_table_storage_does_not_support_list_objects() -> None: 1005s client = boto3.client("s3tables", region_name="us-east-2") 1005s arn = client.create_table_bucket(name="foo")["arn"] 1005s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1005s resp = client.create_table( 1005s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1005s ) 1005s  1005s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1005s 1005s tests/test_s3tables/test_s3tables.py:356: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'GetTable' 1005s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s _________ test_underlying_table_storage_does_not_support_delete_object _________ 1005s 1005s @mock_aws 1005s def test_underlying_table_storage_does_not_support_delete_object() -> None: 1005s client = boto3.client("s3tables", region_name="us-east-2") 1005s arn = client.create_table_bucket(name="foo")["arn"] 1005s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1005s resp = client.create_table( 1005s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1005s ) 1005s  1005s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1005s 1005s tests/test_s3tables/test_s3tables.py:374: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'GetTable' 1005s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s ______________________________ test_rename_table _______________________________ 1005s 1005s @mock_aws 1005s def test_rename_table() -> None: 1005s client = boto3.client("s3tables", region_name="us-east-2") 1005s arn = client.create_table_bucket(name="foo")["arn"] 1005s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1005s resp = client.create_table( 1005s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1005s ) 1005s  1005s client.create_namespace(tableBucketARN=arn, namespace=["bar-two"]) 1005s client.rename_table( 1005s tableBucketARN=arn, 1005s namespace="bar", 1005s name="baz", 1005s newNamespaceName="bar-two", 1005s newName="baz-two", 1005s versionToken=resp["versionToken"], 1005s ) 1005s assert ( 1005s > client.get_table(tableBucketARN=arn, namespace="bar-two", name="baz-two")[ 1005s "name" 1005s ] 1005s == "baz-two" 1005s ) 1005s 1005s tests/test_s3tables/test_s3tables.py:403: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'GetTable' 1005s api_params = {'name': 'baz-two', 'namespace': 'bar-two', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s ___________________________ test_s3tables_get_table ____________________________ 1005s 1005s bucket_name = 'table-buckethwhktfytmx' 1005s 1005s def test_s3tables_get_table(bucket_name: str): 1005s backend = server.create_backend_app("s3tables") 1005s test_client = backend.test_client() 1005s  1005s resp = test_client.put("/buckets", json={"name": bucket_name}) 1005s arn = resp.get_json()["arn"] 1005s  1005s quoted_arn = quote(arn, safe="") 1005s resp = test_client.put(f"/namespaces/{quoted_arn}", json={"namespace": ["bar"]}) 1005s  1005s resp = test_client.put( 1005s f"/tables/{quoted_arn}/bar", json={"name": "baz", "format": "ICEBERG"} 1005s ) 1005s  1005s resp = test_client.get(f"/tables/{quoted_arn}/bar/baz") 1005s > assert resp.status_code == 200 1005s E assert 404 == 200 1005s E + where 404 = .status_code 1005s 1005s tests/test_s3tables/test_server.py:126: AssertionError 1005s ___________________ test_invoke_fake_function_from_sqs_queue ___________________ 1005s 1005s @mock_aws(config={"lambda": {"use_docker": False}}) 1005s def test_invoke_fake_function_from_sqs_queue(): 1005s if not settings.TEST_DECORATOR_MODE: 1005s raise SkipTest("Can only set Config in DecoratorMode") 1005s logs_conn = boto3.client("logs", region_name="us-east-1") 1005s sqs = boto3.resource("sqs", region_name="us-east-1") 1005s queue_name = str(uuid.uuid4())[0:6] 1005s queue = sqs.create_queue(QueueName=queue_name) 1005s  1005s fn_name = str(uuid.uuid4())[0:6] 1005s conn = boto3.client("lambda", region_name="us-east-1") 1005s func = conn.create_function( 1005s FunctionName=fn_name, 1005s Runtime="python3.11", 1005s Role=get_role_name(), 1005s Handler="lambda_function.lambda_handler", 1005s Code={"ZipFile": b"n/a"}, 1005s ) 1005s  1005s > conn.create_event_source_mapping( 1005s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func["FunctionArn"] 1005s ) 1005s 1005s tests/test_sqs/test_sqs_integration.py:94: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s operation_name = 'CreateEventSourceMapping' 1005s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:9d18d7', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:7394a3'} 1005s 1005s @with_current_context() 1005s def _make_api_call(self, operation_name, api_params): 1005s operation_model = self._service_model.operation_model(operation_name) 1005s service_name = self._service_model.service_name 1005s history_recorder.record( 1005s 'API_CALL', 1005s { 1005s 'service': service_name, 1005s 'operation': operation_name, 1005s 'params': api_params, 1005s }, 1005s ) 1005s if operation_model.deprecated: 1005s logger.debug( 1005s 'Warning: %s.%s() is deprecated', service_name, operation_name 1005s ) 1005s request_context = { 1005s 'client_region': self.meta.region_name, 1005s 'client_config': self.meta.config, 1005s 'has_streaming_input': operation_model.has_streaming_input, 1005s 'auth_type': operation_model.resolved_auth_type, 1005s 'unsigned_payload': operation_model.unsigned_payload, 1005s 'auth_options': self._service_model.metadata.get('auth'), 1005s } 1005s  1005s api_params = self._emit_api_params( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s context=request_context, 1005s ) 1005s ( 1005s endpoint_url, 1005s additional_headers, 1005s properties, 1005s ) = self._resolve_endpoint_ruleset( 1005s operation_model, api_params, request_context 1005s ) 1005s if properties: 1005s # Pass arbitrary endpoint info with the Request 1005s # for use during construction. 1005s request_context['endpoint_properties'] = properties 1005s request_dict = self._convert_to_request_dict( 1005s api_params=api_params, 1005s operation_model=operation_model, 1005s endpoint_url=endpoint_url, 1005s context=request_context, 1005s headers=additional_headers, 1005s ) 1005s resolve_checksum_context(request_dict, operation_model, api_params) 1005s  1005s service_id = self._service_model.service_id.hyphenize() 1005s handler, event_response = self.meta.events.emit_until_response( 1005s f'before-call.{service_id}.{operation_name}', 1005s model=operation_model, 1005s params=request_dict, 1005s request_signer=self._request_signer, 1005s context=request_context, 1005s ) 1005s  1005s if event_response is not None: 1005s http, parsed_response = event_response 1005s else: 1005s maybe_compress_request( 1005s self.meta.config, request_dict, operation_model 1005s ) 1005s apply_request_checksum(request_dict) 1005s http, parsed_response = self._make_request( 1005s operation_model, request_dict, request_context 1005s ) 1005s  1005s self.meta.events.emit( 1005s f'after-call.{service_id}.{operation_name}', 1005s http_response=http, 1005s parsed=parsed_response, 1005s model=operation_model, 1005s context=request_context, 1005s ) 1005s  1005s if http.status_code >= 300: 1005s error_info = parsed_response.get("Error", {}) 1005s error_code = request_context.get( 1005s 'error_code_override' 1005s ) or error_info.get("Code") 1005s error_class = self.exceptions.from_code(error_code) 1005s > raise error_class(parsed_response, operation_name) 1005s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1005s 1005s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1005s ____________________________ test_create_workspaces ____________________________ 1005s 1005s @mock_aws 1005s def test_create_workspaces(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:31: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-18bd05c208', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s __________ test_create_workspaces_with_auto_stop_timeout_and_alwayson __________ 1005s 1005s @mock_aws 1005s def test_create_workspaces_with_auto_stop_timeout_and_alwayson(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:111: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-b2f3e2dda5', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ___________ test_create_workspaces_with_auto_stop_timeout_and_manual ___________ 1005s 1005s @mock_aws 1005s def test_create_workspaces_with_auto_stop_timeout_and_manual(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:137: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-1df0352fd2', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ___________________________ test_describe_workspaces ___________________________ 1005s 1005s @mock_aws 1005s def test_describe_workspaces(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:163: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-a8773162c2', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s _____________ test_describe_workspaces_with_directory_and_username _____________ 1005s 1005s @mock_aws 1005s def test_describe_workspaces_with_directory_and_username(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:188: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-718605123d', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s _________________ test_describe_workspaces_invalid_parameters __________________ 1005s 1005s @mock_aws 1005s def test_describe_workspaces_invalid_parameters(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:211: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-fb079ecc35', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s _________________ test_describe_workspaces_only_user_name_used _________________ 1005s 1005s @mock_aws 1005s def test_describe_workspaces_only_user_name_used(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:246: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-8c9fdba7ea', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ______________________ test_register_workspace_directory _______________________ 1005s 1005s @mock_aws 1005s def test_register_workspace_directory(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:268: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-11402c4bc2', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ____________ test_register_workspace_directory_enable_self_service _____________ 1005s 1005s @mock_aws 1005s def test_register_workspace_directory_enable_self_service(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory( 1005s DirectoryId=directory_id, 1005s EnableWorkDocs=True, 1005s EnableSelfService=True, 1005s Tenancy="DEDICATED", 1005s ) 1005s 1005s tests/test_workspaces/test_workspaces.py:281: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-3141e3150d', 'EnableSelfService': True, 'EnableWorkDocs': True, 'Tenancy': 'DEDICATED'} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ________________ test_register_workspace_directory_with_subnets ________________ 1005s 1005s @mock_aws 1005s def test_register_workspace_directory_with_subnets(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:304: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-3db7343730', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s _____________________ test_describe_workspace_directories ______________________ 1005s 1005s @mock_aws 1005s def test_describe_workspace_directories(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s for _ in range(2): 1005s directory_id = create_directory() 1005s > client.register_workspace_directory( 1005s DirectoryId=directory_id, 1005s EnableWorkDocs=True, 1005s ) 1005s 1005s tests/test_workspaces/test_workspaces.py:318: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-816f40c7f9', 'EnableWorkDocs': True} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ____________ test_describe_workspace_directories_with_directory_id _____________ 1005s 1005s @mock_aws 1005s def test_describe_workspace_directories_with_directory_id(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory( 1005s DirectoryId=directory_id, 1005s EnableWorkDocs=True, 1005s ) 1005s 1005s tests/test_workspaces/test_workspaces.py:347: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-3acb2fb2b4', 'EnableWorkDocs': True} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s __________________ test_modify_workspace_creation_properties ___________________ 1005s 1005s @mock_aws 1005s def test_modify_workspace_creation_properties(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s ec2_client = boto3.client("ec2", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s sg = create_security_group(client=ec2_client) 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:372: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-81a09fd34b', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s __________ test_modify_workspace_creation_properties_invalid_request ___________ 1005s 1005s @mock_aws 1005s def test_modify_workspace_creation_properties_invalid_request(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s ec2_client = boto3.client("ec2", region_name="eu-west-1") 1005s sg = create_security_group(client=ec2_client) 1005s with pytest.raises(ClientError) as exc: 1005s > client.modify_workspace_creation_properties( 1005s ResourceId="d-9067f6c44b", # Invalid DirectoryID 1005s WorkspaceCreationProperties={ 1005s "EnableWorkDocs": False, 1005s "CustomSecurityGroupId": sg["GroupId"], 1005s }, 1005s ) 1005s 1005s tests/test_workspaces/test_workspaces.py:394: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'ResourceId': 'd-9067f6c44b', 'WorkspaceCreationProperties': {'CustomSecurityGroupId': 'sg-04ac59e038f531334', 'EnableWorkDocs': False}} 1005s operation_model = OperationModel(name=ModifyWorkspaceCreationProperties) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in WorkspaceCreationProperties: "EnableWorkDocs", must be one of: EnableInternetAccess, DefaultOu, CustomSecurityGroupId, UserEnabledAsLocalAdministrator, EnableMaintenanceMode, InstanceIamRoleArn 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s _______________________________ test_create_tags _______________________________ 1005s 1005s @mock_aws 1005s def test_create_tags(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory( 1005s DirectoryId=directory_id, 1005s EnableWorkDocs=True, 1005s Tags=[ 1005s {"Key": "foo1", "Value": "bar1"}, 1005s ], 1005s ) 1005s 1005s tests/test_workspaces/test_workspaces.py:409: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-e1ee0edb62', 'EnableWorkDocs': True, 'Tags': [{'Key': 'foo1', 'Value': 'bar1'}]} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ______________________________ test_describe_tags ______________________________ 1005s 1005s @mock_aws 1005s def test_describe_tags(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory( 1005s DirectoryId=directory_id, 1005s EnableWorkDocs=True, 1005s Tags=[ 1005s {"Key": "foo", "Value": "bar"}, 1005s ], 1005s ) 1005s 1005s tests/test_workspaces/test_workspaces.py:430: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-fa73b1b62e', 'EnableWorkDocs': True, 'Tags': [{'Key': 'foo', 'Value': 'bar'}]} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s _______________________ test_describe_client_properties ________________________ 1005s 1005s @mock_aws 1005s def test_describe_client_properties(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory( 1005s DirectoryId=directory_id, 1005s EnableWorkDocs=True, 1005s ) 1005s 1005s tests/test_workspaces/test_workspaces.py:445: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-40d9d5f2e0', 'EnableWorkDocs': True} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ________________________ test_modify_client_properties _________________________ 1005s 1005s @mock_aws 1005s def test_modify_client_properties(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory( 1005s DirectoryId=directory_id, 1005s EnableWorkDocs=True, 1005s ) 1005s 1005s tests/test_workspaces/test_workspaces.py:457: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-90fbf43def', 'EnableWorkDocs': True} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s _________________________ test_create_workspace_image __________________________ 1005s 1005s @mock_aws 1005s def test_create_workspace_image(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:478: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-3425b9126d', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s __________________ test_create_workspace_image_already_exists __________________ 1005s 1005s @mock_aws 1005s def test_create_workspace_image_already_exists(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:520: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-f8b7cde199', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ________________________ test_describe_workspace_images ________________________ 1005s 1005s @mock_aws 1005s def test_describe_workspace_images(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:550: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-192067a9d5', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s ____________________ test_update_workspace_image_permission ____________________ 1005s 1005s @mock_aws 1005s def test_update_workspace_image_permission(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:581: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-4d9717b5d4', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s __________________ test_describe_workspace_image_permissions ___________________ 1005s 1005s @mock_aws 1005s def test_describe_workspace_image_permissions(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:614: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-21a6b58dfd', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s _____________________ test_deregister_workspace_directory ______________________ 1005s 1005s @mock_aws 1005s def test_deregister_workspace_directory(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s directory_id = create_directory() 1005s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1005s 1005s tests/test_workspaces/test_workspaces.py:651: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-1ce8bfe409', 'EnableWorkDocs': False} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s _____________________ test_modify_selfservice_permissions ______________________ 1005s 1005s @mock_aws 1005s def test_modify_selfservice_permissions(): 1005s client = boto3.client("workspaces", region_name="eu-west-1") 1005s  1005s directory_id = create_directory() 1005s > client.register_workspace_directory( 1005s DirectoryId=directory_id, 1005s EnableWorkDocs=True, 1005s ) 1005s 1005s tests/test_workspaces/test_workspaces.py:664: 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1005s return self._make_api_call(operation_name, kwargs) 1005s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1005s return func(*args, **kwargs) 1005s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1005s request_dict = self._convert_to_request_dict( 1005s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1005s request_dict = self._serializer.serialize_to_request( 1005s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1005s 1005s self = 1005s parameters = {'DirectoryId': 'd-099bb63c4c', 'EnableWorkDocs': True} 1005s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1005s 1005s def serialize_to_request(self, parameters, operation_model): 1005s input_shape = operation_model.input_shape 1005s if input_shape is not None: 1005s report = self._param_validator.validate( 1005s parameters, operation_model.input_shape 1005s ) 1005s if report.has_errors(): 1005s > raise ParamValidationError(report=report.generate_report()) 1005s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1005s 1005s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1005s =============================== warnings summary =============================== 1005s tests/test_core/test_docker.py:11 1005s /tmp/autopkgtest.Oozpkm/autopkgtest_tmp/build/tests/test_core/test_docker.py:11: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 1005s @pytest.mark.order(0) 1005s 1005s tests/test_core/test_docker.py:24 1005s /tmp/autopkgtest.Oozpkm/autopkgtest_tmp/build/tests/test_core/test_docker.py:24: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 1005s @pytest.mark.order(0) 1005s 1005s ../../../../usr/lib/python3/dist-packages/aws_xray_sdk/core/sampling/default_sampler.py:5 1005s /usr/lib/python3/dist-packages/aws_xray_sdk/core/sampling/default_sampler.py:5: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html 1005s from pkg_resources import resource_filename 1005s 1005s tests/test_cognitoidp/test_cognitoidp.py: 36 warnings 1005s /usr/lib/python3/dist-packages/pycognito/aws_srp.py:310: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 1005s timestamp = self.get_cognito_formatted_timestamp(datetime.datetime.utcnow()) 1005s 1005s tests/test_ec2/test_key_pairs.py::test_key_pairs_invalid_boto3 1005s /usr/lib/python3/dist-packages/moto/ec2/utils.py:759: CryptographyDeprecationWarning: SSH DSA keys are deprecated and will be removed in a future release. 1005s public_key = serialization.load_ssh_public_key(key_material) 1005s 1005s tests/test_glue/test_datacatalog.py::test_create_database 1005s /usr/lib/python3/dist-packages/pyparsing/core.py:5637: SyntaxWarning: 'return' in a 'finally' block 1005s return f"{type(self).__name__}: {retString}" 1005s 1005s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1005s =========================== short test summary info ============================ 1005s FAILED tests/test_awslambda/test_awslambda_cloudformation.py::test_event_source_mapping_create_from_cloudformation_json - botocore.exceptions.ClientError: An error occurred (404) when calling the L... 1005s FAILED tests/test_awslambda/test_awslambda_cloudformation.py::test_event_source_mapping_delete_stack - botocore.exceptions.ClientError: An error occurred (404) when calling the L... 1005s FAILED tests/test_awslambda/test_awslambda_cloudformation.py::test_event_source_mapping_update_from_cloudformation_json - botocore.exceptions.ClientError: An error occurred (404) when calling the L... 1005s FAILED tests/test_awslambda/test_awslambda_cloudformation.py::test_event_source_mapping_delete_from_cloudformation_json - botocore.exceptions.ClientError: An error occurred (404) when calling the L... 1005s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_create_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1005s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_list_event_source_mappings - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1005s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_get_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1005s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_update_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1005s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_delete_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_describe_flow_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_delete_flow_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_start_stop_flow_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_unknown_flow - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_tag_resource_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_vpc_interfaces_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_vpc_interfaces_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_vpc_interface_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_vpc_interface_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_outputs_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_outputs_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_output_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_output_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_output_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_output_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_sources_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_sources_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_source_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_source_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_grant_flow_entitlements_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_grant_flow_entitlements_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_revoke_flow_entitlement_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_revoke_flow_entitlement_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_entitlement_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_entitlement_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1005s FAILED tests/test_opsworks/test_apps.py::test_create_app_response - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1005s FAILED tests/test_opsworks/test_apps.py::test_describe_apps - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1005s FAILED tests/test_opsworks/test_instances.py::test_create_instance - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1005s FAILED tests/test_opsworks/test_instances.py::test_describe_instances - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1005s FAILED tests/test_opsworks/test_instances.py::test_ec2_integration - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1005s FAILED tests/test_opsworks/test_layers.py::test_create_layer_response - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1005s FAILED tests/test_opsworks/test_layers.py::test_describe_layers - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1005s FAILED tests/test_opsworks/test_stack.py::test_create_stack_response - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1005s FAILED tests/test_opsworks/test_stack.py::test_describe_stacks - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1005s FAILED tests/test_rds/test_rds_proxy.py::test_create_db_proxy - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_rds/test_rds_proxy.py::test_describe_db_proxies - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_rds/test_rds_proxy.py::test_list_tags_db_proxy - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_rds/test_rds_proxy.py::test_create_db_proxy_invalid_subnet - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_rds/test_rds_proxy.py::test_create_db_proxy_duplicate_name - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py::test_get_resources_workspaces - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py::test_get_resources_workspace_directories - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py::test_get_resources_workspace_images - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_robomaker/test_robomaker.py::test_robot_application - botocore.exceptions.UnknownServiceError: Unknown service: 'robomaker'. Vali... 1005s FAILED tests/test_s3/test_s3_lock.py::test_locked_object_governance_mode[bypass] - AssertionError: assert 'Deleted' in {'Errors': [{'Code': 'AccessDenied', 'K... 1005s FAILED tests/test_s3tables/test_s3tables.py::test_get_table - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1005s FAILED tests/test_s3tables/test_s3tables.py::test_delete_table_deletes_underlying_table_storage - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1005s FAILED tests/test_s3tables/test_s3tables.py::test_update_table_metadata_location - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1005s FAILED tests/test_s3tables/test_s3tables.py::test_write_metadata_to_table - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1005s FAILED tests/test_s3tables/test_s3tables.py::test_underlying_table_storage_does_not_support_list_objects - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1005s FAILED tests/test_s3tables/test_s3tables.py::test_underlying_table_storage_does_not_support_delete_object - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1005s FAILED tests/test_s3tables/test_s3tables.py::test_rename_table - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1005s FAILED tests/test_s3tables/test_server.py::test_s3tables_get_table - assert 404 == 200 1005s FAILED tests/test_sqs/test_sqs_integration.py::test_invoke_fake_function_from_sqs_queue - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1005s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspaces - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspaces_with_auto_stop_timeout_and_alwayson - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspaces_with_auto_stop_timeout_and_manual - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces_with_directory_and_username - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces_invalid_parameters - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces_only_user_name_used - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_register_workspace_directory - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_register_workspace_directory_enable_self_service - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_register_workspace_directory_with_subnets - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_directories - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_directories_with_directory_id - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_modify_workspace_creation_properties - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_modify_workspace_creation_properties_invalid_request - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_create_tags - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_describe_tags - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_describe_client_properties - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_modify_client_properties - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspace_image - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspace_image_already_exists - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_images - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_update_workspace_image_permission - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_image_permissions - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_deregister_workspace_directory - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s FAILED tests/test_workspaces/test_workspaces.py::test_modify_selfservice_permissions - botocore.exceptions.ParamValidationError: Parameter validation failed: 1005s ERROR tests/test_qldb/test_qldb.py::test_create_describe_update_and_delete_ledger - botocore.exceptions.UnknownServiceError: Unknown service: 'qldb'. Valid ser... 1005s ERROR tests/test_qldb/test_qldb.py::test_tag_resource_and_list_tags_for_resource - botocore.exceptions.UnknownServiceError: Unknown service: 'qldb'. Valid ser... 1005s = 87 failed, 9715 passed, 16 skipped, 140 deselected, 41 warnings, 2 errors in 673.84s (0:11:13) = 1009s E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.Oozpkm/autopkgtest_tmp/build; python3.14 -m pytest -m 'not network and not requires_docker' tests --deselect tests/test_cloudformation/test_validate.py --deselect tests/test_dynamodb/test_dynamodb_import_table.py --deselect tests/test_dynamodb/test_dynamodb_statements.py --deselect tests/test_s3/test_s3_select.py --deselect tests/test_stepfunctions/parser/ --deselect 'tests/test_stepfunctions/test_stepfunctions_versions.py::test_describe_state_machine_using_version_arn[use_parser]' --deselect tests/test_dynamodb/test_dynamodb_account_mode.py::test_dynamodb_with_account_id_routing --deselect tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_entire_service --deselect tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_specific_url --deselect tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_wildcard_urls --deselect tests/test_firehose/test_firehose_put.py::test_put_record_http_destination --deselect tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination --deselect tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header --deselect tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins 1009s I: pybuild base:311: cd /tmp/autopkgtest.Oozpkm/autopkgtest_tmp/build; python3.13 -m pytest -m 'not network and not requires_docker' tests --deselect tests/test_cloudformation/test_validate.py --deselect tests/test_dynamodb/test_dynamodb_import_table.py --deselect tests/test_dynamodb/test_dynamodb_statements.py --deselect tests/test_s3/test_s3_select.py --deselect tests/test_stepfunctions/parser/ --deselect 'tests/test_stepfunctions/test_stepfunctions_versions.py::test_describe_state_machine_using_version_arn[use_parser]' --deselect tests/test_dynamodb/test_dynamodb_account_mode.py::test_dynamodb_with_account_id_routing --deselect tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_entire_service --deselect tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_specific_url --deselect tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_wildcard_urls --deselect tests/test_firehose/test_firehose_put.py::test_put_record_http_destination --deselect tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination --deselect tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header --deselect tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins 1039s ============================= test session starts ============================== 1039s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 1039s rootdir: /tmp/autopkgtest.Oozpkm/autopkgtest_tmp/build 1039s configfile: pyproject.toml 1039s plugins: typeguard-4.4.2 1039s collected 9960 items / 140 deselected / 9820 selected 1039s 1045s tests/test_acm/test_acm.py ................................ [ 0%] 1048s tests/test_acmpca/test_acmpca.py ................... [ 0%] 1048s tests/test_amp/test_amp_logging_config.py .... [ 0%] 1049s tests/test_amp/test_amp_rulegroupnamespaces.py ....... [ 0%] 1049s tests/test_amp/test_amp_workspaces.py ........ [ 0%] 1050s tests/test_apigateway/test_apigateway.py ............................... [ 1%] 1051s .......................................... [ 1%] 1051s tests/test_apigateway/test_apigateway_cloudformation.py .. [ 1%] 1051s tests/test_apigateway/test_apigateway_custom_ids.py ... [ 1%] 1052s tests/test_apigateway/test_apigateway_deployments.py .......... [ 1%] 1052s tests/test_apigateway/test_apigateway_export.py ... [ 1%] 1052s tests/test_apigateway/test_apigateway_gatewayresponses.py ........ [ 1%] 1052s tests/test_apigateway/test_apigateway_importrestapi.py .... [ 1%] 1052s tests/test_apigateway/test_apigateway_integration.py ..... [ 1%] 1053s tests/test_apigateway/test_apigateway_putrestapi.py ........ [ 1%] 1053s tests/test_apigateway/test_apigateway_stage.py ................ [ 2%] 1053s tests/test_apigateway/test_apigateway_validators.py ..... [ 2%] 1053s tests/test_apigateway/test_apigateway_vpclink.py ...... [ 2%] 1054s tests/test_apigateway/test_server.py ..... [ 2%] 1054s tests/test_apigatewaymanagementapi/test_apigatewaymanagementapi.py .... [ 2%] 1054s tests/test_apigatewayv2/test_apigatewayv2.py ............ [ 2%] 1054s tests/test_apigatewayv2/test_apigatewayv2_authorizers.py ........ [ 2%] 1054s tests/test_apigatewayv2/test_apigatewayv2_domains.py ..... [ 2%] 1054s tests/test_apigatewayv2/test_apigatewayv2_integrationresponses.py ...... [ 2%] 1054s . [ 2%] 1055s tests/test_apigatewayv2/test_apigatewayv2_integrations.py ........... [ 2%] 1055s tests/test_apigatewayv2/test_apigatewayv2_mappings.py ....... [ 2%] 1055s tests/test_apigatewayv2/test_apigatewayv2_models.py ...... [ 2%] 1055s tests/test_apigatewayv2/test_apigatewayv2_reimport.py .... [ 2%] 1055s tests/test_apigatewayv2/test_apigatewayv2_routes.py ............... [ 3%] 1055s tests/test_apigatewayv2/test_apigatewayv2_stages.py ... [ 3%] 1055s tests/test_apigatewayv2/test_apigatewayv2_tags.py .... [ 3%] 1055s tests/test_apigatewayv2/test_apigatewayv2_vpclinks.py ........ [ 3%] 1055s tests/test_apigatewayv2/test_server.py . [ 3%] 1055s tests/test_appconfig/test_appconfig_applications.py .. [ 3%] 1056s tests/test_appconfig/test_appconfig_config_profiles.py .. [ 3%] 1056s tests/test_appconfig/test_appconfig_hosted_config_versions.py ... [ 3%] 1056s tests/test_applicationautoscaling/test_applicationautoscaling.py ....... [ 3%] 1056s ...... [ 3%] 1056s tests/test_applicationautoscaling/test_applicationautoscaling_policies.py . [ 3%] 1057s ... [ 3%] 1057s tests/test_applicationautoscaling/test_validation.py ....... [ 3%] 1057s tests/test_appmesh/test_appmesh.py ......... [ 3%] 1057s tests/test_appsync/test_appsync.py ................. [ 3%] 1057s tests/test_appsync/test_appsync_apikeys.py ....... [ 3%] 1058s tests/test_appsync/test_appsync_schema.py ........... [ 3%] 1058s tests/test_appsync/test_appsync_tags.py ...... [ 4%] 1058s tests/test_appsync/test_server.py . [ 4%] 1058s tests/test_athena/test_athena.py ....................... [ 4%] 1058s tests/test_athena/test_athena_integration.py . [ 4%] 1058s tests/test_athena/test_athena_server_api.py .s.. [ 4%] 1061s tests/test_autoscaling/test_autoscaling.py ............................. [ 4%] 1062s ........... [ 4%] 1062s tests/test_autoscaling/test_autoscaling_cloudformation.py ..... [ 4%] 1062s tests/test_autoscaling/test_autoscaling_group_filters.py .... [ 4%] 1064s tests/test_autoscaling/test_autoscaling_groups.py ............ [ 4%] 1064s tests/test_autoscaling/test_autoscaling_metrics.py . [ 4%] 1064s tests/test_autoscaling/test_autoscaling_scheduledactions.py .......... [ 5%] 1065s tests/test_autoscaling/test_autoscaling_tags.py ........ [ 5%] 1065s tests/test_autoscaling/test_autoscaling_warm_pools.py .... [ 5%] 1067s tests/test_autoscaling/test_elb.py .................. [ 5%] 1067s tests/test_autoscaling/test_elbv2.py .. [ 5%] 1069s tests/test_autoscaling/test_launch_configurations.py ............. [ 5%] 1070s tests/test_autoscaling/test_policies.py .......... [ 5%] 1070s tests/test_autoscaling/test_server.py . [ 5%] 1070s tests/test_awslambda/test_awslambda_cloudformation.py ...FFFF [ 5%] 1072s tests/test_awslambda/test_lambda.py .................................... [ 6%] 1074s ................................ [ 6%] 1075s tests/test_awslambda/test_lambda_alias.py ............... [ 6%] 1075s tests/test_awslambda/test_lambda_concurrency.py ...... [ 6%] 1076s tests/test_awslambda/test_lambda_eventsourcemapping.py FFFFF [ 6%] 1076s tests/test_awslambda/test_lambda_function_urls.py ...... [ 6%] 1076s tests/test_awslambda/test_lambda_invoke.py s. [ 6%] 1076s tests/test_awslambda/test_lambda_layers.py ........ [ 6%] 1077s tests/test_awslambda/test_lambda_policy.py ............. [ 6%] 1077s tests/test_awslambda/test_lambda_tags.py ... [ 6%] 1077s tests/test_awslambda/test_policy.py . [ 6%] 1077s tests/test_awslambda_simple/test_lambda_simple.py ... [ 7%] 1077s tests/test_backup/test_backup.py .................. [ 7%] 1077s tests/test_batch/test_batch.py .. [ 7%] 1078s tests/test_batch/test_batch_cloudformation.py ... [ 7%] 1079s tests/test_batch/test_batch_compute_envs.py ............ [ 7%] 1079s tests/test_batch/test_batch_job_queue.py ........ [ 7%] 1080s tests/test_batch/test_batch_jobs.py ......... [ 7%] 1080s tests/test_batch/test_batch_scheduling_policy.py ..... [ 7%] 1080s tests/test_batch/test_batch_tags_job_definition.py ... [ 7%] 1080s tests/test_batch/test_batch_tags_job_queue.py .... [ 7%] 1080s tests/test_batch/test_batch_tags_scheduling_policy.py . [ 7%] 1081s tests/test_batch/test_batch_task_definition.py .................. [ 7%] 1081s tests/test_batch/test_server.py . [ 7%] 1081s tests/test_batch/test_utils.py .................. [ 8%] 1081s tests/test_batch_simple/test_batch_cloudformation.py ... [ 8%] 1082s tests/test_batch_simple/test_batch_compute_envs.py .. [ 8%] 1083s tests/test_batch_simple/test_batch_jobs.py ...... [ 8%] 1084s tests/test_bedrock/test_bedrock.py ..................................... [ 8%] 1085s ........... [ 8%] 1085s tests/test_bedrockagent/test_bedrockagent.py ........................... [ 8%] 1085s  [ 8%] 1085s tests/test_budgets/test_budgets.py ........ [ 9%] 1085s tests/test_budgets/test_notifications.py ..... [ 9%] 1085s tests/test_budgets/test_server.py . [ 9%] 1086s tests/test_ce/test_ce.py ....... [ 9%] 1086s tests/test_ce/test_ce_cost_and_usage.py .. [ 9%] 1086s tests/test_ce/test_ce_tags.py .. [ 9%] 1091s tests/test_cloudformation/test_cloudformation_custom_resources.py s.. [ 9%] 1091s tests/test_cloudformation/test_cloudformation_depends_on.py ... [ 9%] 1091s tests/test_cloudformation/test_cloudformation_multi_accounts.py ........ [ 9%] 1091s . [ 9%] 1091s tests/test_cloudformation/test_cloudformation_nested_stacks.py .... [ 9%] 1091s tests/test_cloudformation/test_cloudformation_stack_crud_boto3.py ...... [ 9%] 1094s ........................................................................ [ 10%] 1096s ................................ [ 10%] 1096s tests/test_cloudformation/test_cloudformation_stack_integration.py ..... [ 10%] 1097s ............................. [ 10%] 1097s tests/test_cloudformation/test_cloudformation_stack_policies.py ........ [ 10%] 1097s  [ 10%] 1098s tests/test_cloudformation/test_conditions.py ... [ 10%] 1098s tests/test_cloudformation/test_import_value.py .. [ 10%] 1098s tests/test_cloudformation/test_server.py . [ 10%] 1098s tests/test_cloudformation/test_stack_parsing.py ........................ [ 11%] 1098s . [ 11%] 1098s tests/test_cloudformation/test_utilities.py .... [ 11%] 1098s tests/test_cloudfront/test_cloudfront.py ..... [ 11%] 1098s tests/test_cloudfront/test_cloudfront_dist_tags.py .. [ 11%] 1099s tests/test_cloudfront/test_cloudfront_distributions.py ................. [ 11%] 1100s .......................................... [ 11%] 1100s tests/test_cloudfront/test_cloudfront_invalidation.py ....... [ 12%] 1100s tests/test_cloudfront/test_cloudfront_keys.py .... [ 12%] 1100s tests/test_cloudfront/test_cloudfront_oac.py .. [ 12%] 1100s tests/test_cloudfront/test_server.py . [ 12%] 1100s tests/test_cloudhsmv2/test_cloudhsmv2.py ............. [ 12%] 1101s tests/test_cloudtrail/test_cloudtrail.py ............................. [ 12%] 1101s tests/test_cloudtrail/test_cloudtrail_eventselectors.py ........ [ 12%] 1101s tests/test_cloudtrail/test_cloudtrail_tags.py .... [ 12%] 1101s tests/test_cloudtrail/test_server.py . [ 12%] 1102s tests/test_cloudwatch/test_cloudwatch_alarms.py ....... [ 12%] 1104s tests/test_cloudwatch/test_cloudwatch_boto3.py ......................... [ 12%] 1104s ................ [ 13%] 1104s tests/test_cloudwatch/test_cloudwatch_dashboards.py ....... [ 13%] 1104s tests/test_cloudwatch/test_cloudwatch_expression_parser.py ... [ 13%] 1104s tests/test_cloudwatch/test_cloudwatch_expressions.py ... [ 13%] 1104s tests/test_cloudwatch/test_cloudwatch_tags.py ....... [ 13%] 1105s tests/test_codebuild/test_codebuild.py ................... [ 13%] 1105s tests/test_codecommit/test_codecommit.py ........ [ 13%] 1106s tests/test_codepipeline/test_codepipeline.py ................ [ 13%] 1106s tests/test_cognitoidentity/test_cognitoidentity.py ..................... [ 13%] 1106s .. [ 14%] 1106s tests/test_cognitoidentity/test_server.py ... [ 14%] 1112s tests/test_cognitoidp/test_cognitoidp.py ............................... [ 14%] 1126s ........................................................................ [ 15%] 1141s ........................................................................ [ 15%] 1149s ................................... [ 16%] 1150s tests/test_cognitoidp/test_cognitoidp_exceptions.py ... [ 16%] 1150s tests/test_cognitoidp/test_cognitoidp_replay.py .. [ 16%] 1151s tests/test_cognitoidp/test_server.py ... [ 16%] 1151s tests/test_comprehend/test_comprehend.py .................. [ 16%] 1154s tests/test_config/test_config.py .................................. [ 16%] 1155s tests/test_config/test_config_rules.py ........ [ 16%] 1155s tests/test_config/test_config_rules_integration.py ... [ 16%] 1155s tests/test_config/test_config_tags.py ... [ 16%] 1156s tests/test_core/test_account_id_resolution.py . [ 16%] 1157s tests/test_core/test_auth.py .......................... [ 17%] 1157s tests/test_core/test_backenddict.py ............. [ 17%] 1157s tests/test_core/test_backends.py . [ 17%] 1157s tests/test_core/test_botocore_stubber.py . [ 17%] 1157s tests/test_core/test_config.py .. [ 17%] 1158s tests/test_core/test_decorator_calls.py ............................ [ 17%] 1158s tests/test_core/test_ec2_vpc_endpoint_services.py ... [ 17%] 1158s tests/test_core/test_environ_patching.py ... [ 17%] 1158s tests/test_core/test_importorder.py ....... [ 17%] 1158s tests/test_core/test_instance_metadata.py .... [ 17%] 1158s tests/test_core/test_mock_regions.py ..... [ 17%] 1159s tests/test_core/test_moto_api.py ...... [ 17%] 1159s tests/test_core/test_mypy.py ... [ 17%] 1159s tests/test_core/test_nested.py .. [ 18%] 1159s tests/test_core/test_proxy.py sssss [ 18%] 1159s tests/test_core/test_request_mocking.py ... [ 18%] 1159s tests/test_core/test_request_passthrough.py . [ 18%] 1159s tests/test_core/test_responses.py ......... [ 18%] 1160s tests/test_core/test_responses_module.py ..... [ 18%] 1160s tests/test_core/test_server.py .... [ 18%] 1160s tests/test_core/test_settings.py ......... [ 18%] 1161s tests/test_core/test_url_base_regex.py ................................. [ 18%] 1162s ........................................................................ [ 19%] 1162s ..................................................... [ 19%] 1162s tests/test_core/test_url_mapping.py .. [ 20%] 1162s tests/test_core/test_utils.py ............ [ 20%] 1163s tests/test_databrew/test_databrew_datasets.py ............ [ 20%] 1163s tests/test_databrew/test_databrew_jobs.py .......................... [ 20%] 1164s tests/test_databrew/test_databrew_recipes.py ........................... [ 20%] 1164s ......... [ 20%] 1164s tests/test_databrew/test_databrew_rulesets.py .......... [ 20%] 1164s tests/test_datapipeline/test_datapipeline.py ........ [ 21%] 1164s tests/test_datapipeline/test_datapipeline_cloudformation.py . [ 21%] 1164s tests/test_datapipeline/test_server.py . [ 21%] 1165s tests/test_datasync/test_datasync.py ................... [ 21%] 1165s tests/test_dax/test_dax.py ............................... [ 21%] 1165s tests/test_dax/test_server.py . [ 21%] 1166s tests/test_directconnect/test_directconnect.py .......... [ 21%] 1166s tests/test_dms/test_dms.py ......... [ 21%] 1167s tests/test_ds/test_ds.py ........... [ 21%] 1168s tests/test_ds/test_ds_ad_connect.py ........ [ 21%] 1168s tests/test_ds/test_ds_microsoft_ad.py ......... [ 22%] 1169s tests/test_ds/test_ds_simple_ad_directory.py .... [ 22%] 1169s tests/test_ds/test_ds_tags.py ... [ 22%] 1169s tests/test_dsql/test_dsql.py .... [ 22%] 1169s tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py ............. [ 22%] 1170s .............................................. [ 22%] 1170s tests/test_dynamodb/exceptions/test_dynamodb_transactions.py ........ [ 22%] 1171s tests/test_dynamodb/exceptions/test_key_length_exceptions.py ........ [ 22%] 1171s tests/test_dynamodb/models/test_item.py ............. [ 23%] 1171s tests/test_dynamodb/models/test_key_condition_expression_parser.py ..... [ 23%] 1171s .......................... [ 23%] 1171s tests/test_dynamodb/models/test_utilities.py ............ [ 23%] 1171s tests/test_dynamodb/test_dynamodb.py ................................... [ 23%] 1179s ........................................................................ [ 24%] 1180s .................................. [ 24%] 1181s tests/test_dynamodb/test_dynamodb_batch_get_item.py ....... [ 25%] 1181s tests/test_dynamodb/test_dynamodb_batch_write.py ... [ 25%] 1181s tests/test_dynamodb/test_dynamodb_cloudformation.py ... [ 25%] 1181s tests/test_dynamodb/test_dynamodb_condition_expressions.py .......... [ 25%] 1181s tests/test_dynamodb/test_dynamodb_consumedcapacity.py ...... [ 25%] 1181s tests/test_dynamodb/test_dynamodb_create_table.py .............. [ 25%] 1181s tests/test_dynamodb/test_dynamodb_executor.py ....................... [ 25%] 1183s tests/test_dynamodb/test_dynamodb_export_table.py ....... [ 25%] 1183s tests/test_dynamodb/test_dynamodb_expression_tokenizer.py .............. [ 25%] 1183s ....... [ 25%] 1183s tests/test_dynamodb/test_dynamodb_expressions.py ....................... [ 26%] 1183s ................. [ 26%] 1183s tests/test_dynamodb/test_dynamodb_query.py ................... [ 26%] 1184s tests/test_dynamodb/test_dynamodb_resource_policy.py .............. [ 26%] 1185s tests/test_dynamodb/test_dynamodb_scan.py .......................... [ 26%] 1186s tests/test_dynamodb/test_dynamodb_table_with_range_key.py .............. [ 27%] 1186s ........... [ 27%] 1186s tests/test_dynamodb/test_dynamodb_table_without_range_key.py ........... [ 27%] 1186s ............... [ 27%] 1187s tests/test_dynamodb/test_dynamodb_transact.py .................. [ 27%] 1187s tests/test_dynamodb/test_dynamodb_update_expressions.py ........ [ 27%] 1187s tests/test_dynamodb/test_dynamodb_update_table.py ..... [ 27%] 1187s tests/test_dynamodb/test_dynamodb_validation.py ..................... [ 27%] 1187s tests/test_dynamodb/test_server.py . [ 27%] 1187s tests/test_dynamodb_v20111205/test_server.py ........................... [ 28%] 1187s .............. [ 28%] 1187s tests/test_dynamodb_v20111205/test_servermode.py ss [ 28%] 1188s tests/test_dynamodbstreams/test_dynamodbstreams.py .......... [ 28%] 1188s tests/test_ebs/test_ebs.py ........ [ 28%] 1188s tests/test_ec2/test_account_attributes.py . [ 28%] 1194s tests/test_ec2/test_amis.py ............................................ [ 29%] 1194s . [ 29%] 1195s tests/test_ec2/test_availability_zones_and_regions.py .............. [ 29%] 1195s tests/test_ec2/test_carrier_gateways.py ...... [ 29%] 1196s tests/test_ec2/test_customer_gateways.py ...... [ 29%] 1197s tests/test_ec2/test_dhcp_options.py .................. [ 29%] 1198s tests/test_ec2/test_ec2_cloudformation.py ...................... [ 29%] 1198s tests/test_ec2/test_ec2_integration.py . [ 29%] 1199s tests/test_ec2/test_egress_only_igw.py ..... [ 29%] 1201s tests/test_ec2/test_elastic_block_store.py ............................. [ 30%] 1202s ............ [ 30%] 1204s tests/test_ec2/test_elastic_ip_addresses.py ...................... [ 30%] 1206s tests/test_ec2/test_elastic_network_interfaces.py ...................... [ 30%] 1206s ......... [ 30%] 1208s tests/test_ec2/test_fleets.py .................... [ 30%] 1209s tests/test_ec2/test_flow_logs.py .............. [ 31%] 1209s tests/test_ec2/test_flow_logs_cloudformation.py .. [ 31%] 1209s tests/test_ec2/test_general.py .. [ 31%] 1210s tests/test_ec2/test_hosts.py ........ [ 31%] 1210s tests/test_ec2/test_iam_integration.py ....... [ 31%] 1210s tests/test_ec2/test_instance_type_offerings.py .... [ 31%] 1212s tests/test_ec2/test_instance_types.py ........... [ 31%] 1215s tests/test_ec2/test_instances.py ....................................... [ 31%] 1219s .......................................................... [ 32%] 1220s tests/test_ec2/test_internet_gateways.py ................. [ 32%] 1222s tests/test_ec2/test_key_pairs.py ................... [ 32%] 1223s tests/test_ec2/test_launch_templates.py ...................... [ 33%] 1223s tests/test_ec2/test_launch_templates_cloudformation.py .... [ 33%] 1223s tests/test_ec2/test_nat_gateway.py ........ [ 33%] 1224s tests/test_ec2/test_network_acls.py ............... [ 33%] 1225s tests/test_ec2/test_prefix_lists.py ............. [ 33%] 1226s tests/test_ec2/test_regions.py ........ [ 33%] 1228s tests/test_ec2/test_route_tables.py ............................. [ 33%] 1231s tests/test_ec2/test_security_groups.py ................................. [ 34%] 1231s ................... [ 34%] 1232s tests/test_ec2/test_security_groups_cloudformation.py .... [ 34%] 1232s tests/test_ec2/test_server.py ... [ 34%] 1232s tests/test_ec2/test_settings.py .... [ 34%] 1235s tests/test_ec2/test_spot_fleet.py ................. [ 34%] 1236s tests/test_ec2/test_spot_instances.py ............ [ 34%] 1238s tests/test_ec2/test_subnets.py ............................. [ 35%] 1239s tests/test_ec2/test_tags.py ................... [ 35%] 1242s tests/test_ec2/test_transit_gateway.py ............................... [ 35%] 1242s tests/test_ec2/test_transit_gateway_cloudformation.py .. [ 35%] 1243s tests/test_ec2/test_transit_gateway_peering_attachments.py ........ [ 35%] 1243s tests/test_ec2/test_utils.py ....... [ 35%] 1244s tests/test_ec2/test_virtual_private_gateways.py ................ [ 35%] 1244s tests/test_ec2/test_vpc_endpoint_services_integration.py . [ 35%] 1247s tests/test_ec2/test_vpc_peering.py ........................... [ 36%] 1248s tests/test_ec2/test_vpc_service_configuration_integration.py ........... [ 36%] 1248s .... [ 36%] 1251s tests/test_ec2/test_vpcs.py ............................................ [ 36%] 1251s ........ [ 36%] 1251s tests/test_ec2/test_vpn_connections.py ...... [ 36%] 1251s tests/test_ec2/test_windows.py . [ 36%] 1251s tests/test_ec2instanceconnect/test_ec2instanceconnect_boto3.py . [ 36%] 1252s tests/test_ecr/test_ecr_boto3.py ....................................... [ 37%] 1253s ............................................................ [ 37%] 1253s tests/test_ecr/test_ecr_cloudformation.py ... [ 37%] 1253s tests/test_ecr/test_ecr_policy_validation.py ...................... [ 38%] 1253s tests/test_ecr/test_ecr_scanning_config.py ... [ 38%] 1253s tests/test_ecs/test_ecs_account_settings.py ............. [ 38%] 1254s tests/test_ecs/test_ecs_boto3.py ....................................... [ 38%] 1257s ............................................................ [ 39%] 1257s tests/test_ecs/test_ecs_capacity_provider.py ....... [ 39%] 1258s tests/test_ecs/test_ecs_cloudformation.py .......... [ 39%] 1258s tests/test_ecs/test_ecs_efs.py . [ 39%] 1258s tests/test_ecs/test_ecs_task_def_tags.py . [ 39%] 1258s tests/test_ecs/test_ecs_task_tags.py .. [ 39%] 1258s tests/test_ecs/test_ecs_tasksets.py ......... [ 39%] 1258s tests/test_efs/test_access_point_tagging.py .... [ 39%] 1258s tests/test_efs/test_access_points.py ....... [ 39%] 1258s tests/test_efs/test_efs_cloudformation.py .. [ 39%] 1258s tests/test_efs/test_file_system.py ................. [ 39%] 1258s tests/test_efs/test_filesystem_policy.py .. [ 40%] 1259s tests/test_efs/test_filesystem_tagging.py .... [ 40%] 1259s tests/test_efs/test_lifecycle_config.py ... [ 40%] 1259s tests/test_efs/test_mount_target.py ................... [ 40%] 1260s tests/test_efs/test_mount_target_security_groups.py .... [ 40%] 1260s tests/test_efs/test_server.py ....... [ 40%] 1305s tests/test_eks/test_eks.py ............................................. [ 40%] 1309s ............................................ [ 41%] 1310s tests/test_eks/test_eks_ec2.py ... [ 41%] 1311s tests/test_eks/test_server.py .................. [ 41%] 1312s tests/test_elasticache/test_elasticache.py ............................. [ 41%] 1312s .... [ 41%] 1312s tests/test_elasticache/test_server.py . [ 41%] 1312s tests/test_elasticbeanstalk/test_elasticbeanstalk.py .......... [ 41%] 1312s tests/test_elasticbeanstalk/test_server.py . [ 41%] 1312s tests/test_elastictranscoder/test_elastictranscoder.py ................ [ 42%] 1312s tests/test_elastictranscoder/test_server.py . [ 42%] 1314s tests/test_elb/test_elb.py ......................................... [ 42%] 1314s tests/test_elb/test_elb_availabilityzones.py . [ 42%] 1314s tests/test_elb/test_elb_cloudformation.py ... [ 42%] 1314s tests/test_elb/test_elb_policies.py .......... [ 42%] 1314s tests/test_elb/test_elb_subnets.py .. [ 42%] 1314s tests/test_elb/test_server.py . [ 42%] 1319s tests/test_elbv2/test_elbv2.py ......................................... [ 43%] 1322s ................ [ 43%] 1323s tests/test_elbv2/test_elbv2_cloudformation.py ..... [ 43%] 1323s tests/test_elbv2/test_elbv2_integration.py . [ 43%] 1323s tests/test_elbv2/test_elbv2_listener_attributes.py . [ 43%] 1323s tests/test_elbv2/test_elbv2_listener_rule_tags.py ... [ 43%] 1327s tests/test_elbv2/test_elbv2_listener_rules.py .......................... [ 43%] 1330s ............ [ 43%] 1330s tests/test_elbv2/test_elbv2_listener_tags.py ... [ 43%] 1330s tests/test_elbv2/test_elbv2_set_subnets.py .. [ 43%] 1332s tests/test_elbv2/test_elbv2_target_groups.py ........................... [ 44%] 1335s ............................................. [ 44%] 1336s tests/test_elbv2/test_elbv2_target_health.py .. [ 44%] 1336s tests/test_elbv2/test_server.py . [ 44%] 1336s tests/test_emr/test_emr.py . [ 44%] 1341s tests/test_emr/test_emr_boto3.py ............................ [ 44%] 1342s tests/test_emr/test_emr_cloudformation.py ....... [ 44%] 1342s tests/test_emr/test_emr_integration.py ...... [ 45%] 1342s tests/test_emr/test_server.py . [ 45%] 1342s tests/test_emr/test_utils.py .. [ 45%] 1343s tests/test_emrcontainers/test_emrcontainers.py ......................... [ 45%] 1344s ................................ [ 45%] 1344s tests/test_emrcontainers/test_server.py . [ 45%] 1345s tests/test_emrserverless/test_emrserverless.py ......................... [ 45%] 1347s .................................... [ 46%] 1347s tests/test_emrserverless/test_server.py . [ 46%] 1347s tests/test_es/test_domain_tags.py ..... [ 46%] 1347s tests/test_es/test_es.py ................... [ 46%] 1347s tests/test_es/test_server.py . [ 46%] 1347s tests/test_events/test_event_pattern.py ............ [ 46%] 1348s tests/test_events/test_events.py ....................................... [ 47%] 1350s ........................................................................ [ 47%] 1350s ... [ 47%] 1350s tests/test_events/test_events_cloudformation.py ...... [ 47%] 1351s tests/test_events/test_events_http_integration.py . [ 47%] 1353s tests/test_events/test_events_integration.py ...... [ 47%] 1368s tests/test_events/test_events_lambdatriggers_integration.py .... [ 48%] 1369s tests/test_events/test_events_partners_integration.py ... [ 48%] 1369s tests/test_firehose/test_firehose.py ....... [ 48%] 1369s tests/test_firehose/test_firehose_destination_types.py ..... [ 48%] 1369s tests/test_firehose/test_firehose_encryption.py .... [ 48%] 1369s tests/test_firehose/test_firehose_put.py ..... [ 48%] 1369s tests/test_firehose/test_firehose_tags.py ... [ 48%] 1369s tests/test_firehose/test_http_destinations.py .. [ 48%] 1369s tests/test_forecast/test_forecast.py ..................... [ 48%] 1371s tests/test_fsx/test_fsx.py ...... [ 48%] 1372s tests/test_glacier/test_glacier_archives.py ... [ 48%] 1377s tests/test_glacier/test_glacier_jobs.py .... [ 48%] 1377s tests/test_glacier/test_glacier_vaults.py .... [ 48%] 1377s tests/test_glacier/test_server.py . [ 48%] 1378s tests/test_glue/test_datacatalog.py .................................... [ 49%] 1378s ................. [ 49%] 1379s tests/test_glue/test_glue.py ........................................... [ 49%] 1380s ............... [ 49%] 1380s tests/test_glue/test_glue_job_runs.py ...... [ 49%] 1380s tests/test_glue/test_partition_filter.py ....... [ 49%] 1381s tests/test_glue/test_schema_registry.py ................................ [ 50%] 1382s ..................................... [ 50%] 1382s tests/test_greengrass/test_greengrass_core.py ............. [ 50%] 1383s tests/test_greengrass/test_greengrass_deployment.py ............... [ 50%] 1383s tests/test_greengrass/test_greengrass_device.py ............... [ 51%] 1383s tests/test_greengrass/test_greengrass_functions.py ................ [ 51%] 1384s tests/test_greengrass/test_greengrass_groups.py ........................ [ 51%] 1384s ....... [ 51%] 1384s tests/test_greengrass/test_greengrass_resource.py .................... [ 51%] 1385s tests/test_greengrass/test_greengrass_subscriptions.py ................. [ 51%] 1385s ...... [ 52%] 1385s tests/test_guardduty/test_guardduty.py ........... [ 52%] 1385s tests/test_guardduty/test_guardduty_filters.py ..... [ 52%] 1385s tests/test_guardduty/test_guardduty_organization.py .. [ 52%] 1385s tests/test_guardduty/test_server.py . [ 52%] 1388s tests/test_iam/test_iam.py ............................................. [ 52%] 1393s ........................................................................ [ 53%] 1396s ...................................... [ 53%] 1396s tests/test_iam/test_iam_access_integration.py ... [ 53%] 1396s tests/test_iam/test_iam_account_aliases.py . [ 53%] 1397s tests/test_iam/test_iam_cloudformation.py .............................. [ 54%] 1397s  [ 54%] 1398s tests/test_iam/test_iam_groups.py ....................... [ 54%] 1399s tests/test_iam/test_iam_oidc.py .................. [ 54%] 1399s tests/test_iam/test_iam_password_last_used.py . [ 54%] 1399s tests/test_iam/test_iam_policies.py .................................... [ 54%] 1400s ........................................................................ [ 55%] 1400s ..................... [ 55%] 1402s tests/test_iam/test_iam_resets.py .. [ 55%] 1402s tests/test_iam/test_iam_server_certificates.py ..... [ 55%] 1404s tests/test_iam/test_iam_signing_certificates.py ...... [ 56%] 1404s tests/test_iam/test_server.py . [ 56%] 1405s tests/test_identitystore/test_identitystore.py ......................... [ 56%] 1405s .. [ 56%] 1405s tests/test_inspector2/test_inspector2.py .. [ 56%] 1405s tests/test_inspector2/test_inspector2_admin_accounts.py . [ 56%] 1405s tests/test_inspector2/test_inspector2_enable.py . [ 56%] 1405s tests/test_inspector2/test_inspector2_findings.py . [ 56%] 1405s tests/test_inspector2/test_inspector2_members.py . [ 56%] 1405s tests/test_inspector2/test_inspector2_organization.py . [ 56%] 1405s tests/test_inspector2/test_inspector2_tags.py .. [ 56%] 1405s tests/test_iot/test_iot.py .... [ 56%] 1406s tests/test_iot/test_iot_ca_certificates.py .......... [ 56%] 1407s tests/test_iot/test_iot_certificates.py .............. [ 56%] 1407s tests/test_iot/test_iot_cloudformation.py ................. [ 56%] 1408s tests/test_iot/test_iot_deprecate_thing_type.py .... [ 56%] 1408s tests/test_iot/test_iot_domain_configuration.py ............ [ 57%] 1408s tests/test_iot/test_iot_indexing_configuration.py .. [ 57%] 1408s tests/test_iot/test_iot_integration.py . [ 57%] 1408s tests/test_iot/test_iot_job_executions.py ...... [ 57%] 1409s tests/test_iot/test_iot_job_templates.py ......... [ 57%] 1409s tests/test_iot/test_iot_jobs.py ........ [ 57%] 1410s tests/test_iot/test_iot_policies.py ................. [ 57%] 1410s tests/test_iot/test_iot_rolealias.py ....... [ 57%] 1410s tests/test_iot/test_iot_search.py ............. [ 57%] 1411s tests/test_iot/test_iot_thing_groups.py ................. [ 57%] 1411s tests/test_iot/test_iot_thing_types.py ..... [ 57%] 1411s tests/test_iot/test_iot_things.py ....... [ 57%] 1412s tests/test_iot/test_iot_topic_rules.py .......... [ 58%] 1412s tests/test_iot/test_server.py ... [ 58%] 1412s tests/test_iotdata/test_iotdata.py ................... [ 58%] 1413s tests/test_iotdata/test_server.py ... [ 58%] 1413s tests/test_ivs/test_ivs.py ................. [ 58%] 1413s tests/test_kafka/test_kafka.py ..... [ 58%] 1417s tests/test_kinesis/test_kinesis.py .................................. [ 58%] 1417s tests/test_kinesis/test_kinesis_boto3.py ................ [ 59%] 1417s tests/test_kinesis/test_kinesis_cloudformation.py .... [ 59%] 1417s tests/test_kinesis/test_kinesis_encryption.py ... [ 59%] 1418s tests/test_kinesis/test_kinesis_monitoring.py ..... [ 59%] 1418s tests/test_kinesis/test_kinesis_resource_policy.py ..... [ 59%] 1418s tests/test_kinesis/test_kinesis_stream_consumers.py ....... [ 59%] 1418s tests/test_kinesis/test_kinesis_stream_limits.py ....... [ 59%] 1418s tests/test_kinesis/test_server.py . [ 59%] 1418s tests/test_kinesisvideo/test_kinesisvideo.py ........ [ 59%] 1418s tests/test_kinesisvideo/test_server.py . [ 59%] 1418s tests/test_kinesisvideoarchivedmedia/test_kinesisvideoarchivedmedia.py . [ 59%] 1418s .. [ 59%] 1418s tests/test_kinesisvideoarchivedmedia/test_server.py . [ 59%] 1420s tests/test_kms/test_kms_boto3.py ....................................... [ 59%] 1424s ........................................................................ [ 60%] 1433s .......................................... [ 61%] 1436s tests/test_kms/test_kms_encrypt.py ................... [ 61%] 1436s tests/test_kms/test_kms_grants.py ....... [ 61%] 1436s tests/test_kms/test_kms_key_rotation.py ....... [ 61%] 1437s tests/test_kms/test_kms_mac.py ...... [ 61%] 1437s tests/test_kms/test_kms_policy_enforcement.py ........................ [ 61%] 1437s tests/test_kms/test_model.py .... [ 61%] 1437s tests/test_kms/test_server.py . [ 61%] 1437s tests/test_kms/test_utils.py ..................... [ 61%] 1438s tests/test_lakeformation/test_lakeformation.py ................... [ 62%] 1438s tests/test_lakeformation/test_permission.py .. [ 62%] 1438s tests/test_lakeformation/test_resource_tags_integration.py ..... [ 62%] 1438s tests/test_lexv2models/test_lexv2models.py ....... [ 62%] 1439s tests/test_logs/test_export_tasks.py ......... [ 62%] 1439s tests/test_logs/test_integration.py ..... [ 62%] 1440s tests/test_logs/test_logs.py ........................................... [ 62%] 1440s .................. [ 63%] 1440s tests/test_logs/test_logs_cloudformation.py . [ 63%] 1440s tests/test_logs/test_logs_filter_log_events.py ........ [ 63%] 1441s tests/test_logs/test_logs_metric_filters.py ............ [ 63%] 1441s tests/test_logs/test_logs_query/test_boto3.py .... [ 63%] 1441s tests/test_logs/test_logs_query/test_query.py .. [ 63%] 1441s tests/test_logs/test_logs_query/test_query_parser.py ........... [ 63%] 1441s tests/test_logs/test_logs_tags.py .. [ 63%] 1441s tests/test_logs/test_models.py . [ 63%] 1441s tests/test_managedblockchain/test_managedblockchain_invitations.py ... [ 63%] 1441s tests/test_managedblockchain/test_managedblockchain_members.py ......... [ 63%] 1441s ...... [ 63%] 1441s tests/test_managedblockchain/test_managedblockchain_networks.py ...... [ 63%] 1442s tests/test_managedblockchain/test_managedblockchain_nodes.py ........... [ 63%] 1442s ...... [ 63%] 1442s tests/test_managedblockchain/test_managedblockchain_proposals.py ....... [ 63%] 1442s .. [ 63%] 1442s tests/test_managedblockchain/test_managedblockchain_proposalvotes.py ... [ 64%] 1442s .......... [ 64%] 1447s tests/test_mediaconnect/test_mediaconnect.py ...FFFFFFFFFFFFFFFFFFFFFFFF [ 64%] 1447s F [ 64%] 1447s tests/test_mediaconnect/test_server.py . [ 64%] 1448s tests/test_medialive/test_medialive.py ............ [ 64%] 1448s tests/test_medialive/test_server.py .. [ 64%] 1448s tests/test_mediapackage/test_mediapackage.py .............. [ 64%] 1448s tests/test_mediapackage/test_server.py .. [ 64%] 1448s tests/test_mediastore/test_mediastore.py ..................... [ 64%] 1448s tests/test_mediastore/test_server.py . [ 64%] 1448s tests/test_mediastoredata/test_mediastoredata.py ...... [ 65%] 1449s tests/test_mediastoredata/test_server.py . [ 65%] 1449s tests/test_memorydb/test_memorydb.py ................................... [ 65%] 1450s .............. [ 65%] 1450s tests/test_meteringmarketplace/test_meteringmarketplace.py . [ 65%] 1450s tests/test_moto_api/mock_random/test_mock_random.py ... [ 65%] 1451s tests/test_moto_api/recorder/test_recorder.py ........ [ 65%] 1451s tests/test_moto_api/seeder/test_seeder.py ... [ 65%] 1451s tests/test_moto_api/state_manager/servermode/test_inmemory_server.py ... [ 65%] 1451s  [ 65%] 1451s tests/test_moto_api/state_manager/servermode/test_state_manager.py sss [ 65%] 1451s tests/test_moto_api/state_manager/test_batch_integration.py . [ 65%] 1453s tests/test_moto_api/state_manager/test_managed_state_model.py ....... [ 65%] 1453s tests/test_moto_api/state_manager/test_state_manager.py ....... [ 65%] 1453s tests/test_mq/test_mq.py ................ [ 66%] 1453s tests/test_mq/test_mq_configuration.py ......... [ 66%] 1453s tests/test_mq/test_mq_tags.py ..... [ 66%] 1454s tests/test_mq/test_mq_users.py ....... [ 66%] 1454s tests/test_mq/test_server.py . [ 66%] 1454s tests/test_neptune/test_cluster_options.py . [ 66%] 1454s tests/test_neptune/test_cluster_tags.py . [ 66%] 1454s tests/test_neptune/test_clusters.py ....... [ 66%] 1454s tests/test_neptune/test_global_clusters.py .... [ 66%] 1455s tests/test_networkmanager/test_networkmanager.py ..................... [ 66%] 1455s tests/test_networkmanager/test_server.py ... [ 66%] 1455s tests/test_opensearch/test_domain_tags.py .. [ 66%] 1455s tests/test_opensearch/test_opensearch.py .............. [ 66%] 1455s tests/test_opensearchserverless/test_opensearchserverless.py ........... [ 66%] 1455s ............ [ 67%] 1456s tests/test_opsworks/test_apps.py FF [ 67%] 1456s tests/test_opsworks/test_instances.py FFF [ 67%] 1456s tests/test_opsworks/test_layers.py FF [ 67%] 1456s tests/test_opsworks/test_stack.py FF [ 67%] 1456s tests/test_organizations/test_organizations_boto3.py ................... [ 67%] 1458s ........................................................................ [ 68%] 1458s ................. [ 68%] 1459s tests/test_osis/test_osis.py ................ [ 68%] 1459s tests/test_osis/test_server.py . [ 68%] 1459s tests/test_panorama/test_application_instance.py ...... [ 68%] 1459s tests/test_panorama/test_nodes.py ... [ 68%] 1459s tests/test_panorama/test_panorama_device.py ............... [ 68%] 1459s tests/test_panorama/test_server.py . [ 68%] 1460s tests/test_personalize/test_personalize_schema.py ........ [ 68%] 1460s tests/test_pinpoint/test_pinpoint.py ....... [ 68%] 1460s tests/test_pinpoint/test_pinpoint_application_tags.py .... [ 68%] 1460s tests/test_pinpoint/test_pinpoint_event_stream.py ... [ 68%] 1460s tests/test_polly/test_polly.py .............. [ 69%] 1460s tests/test_polly/test_server.py . [ 69%] 1460s tests/test_qldb/test_qldb.py EE [ 69%] 1461s tests/test_quicksight/test_quicksight_datasets.py .. [ 69%] 1461s tests/test_quicksight/test_quicksight_groups.py ............... [ 69%] 1463s tests/test_quicksight/test_quicksight_users.py ....................... [ 69%] 1463s tests/test_ram/test_ram.py ............ [ 69%] 1463s tests/test_rds/test_db_cluster_param_group.py . [ 69%] 1463s tests/test_rds/test_db_cluster_params.py . [ 69%] 1464s tests/test_rds/test_filters.py .............................. [ 69%] 1464s tests/test_rds/test_global_clusters.py ........ [ 69%] 1467s tests/test_rds/test_rds.py ............................................. [ 70%] 1470s ........................................................................ [ 71%] 1472s ........................................................................ [ 71%] 1473s .......... [ 72%] 1473s tests/test_rds/test_rds_cloudformation.py ....... [ 72%] 1475s tests/test_rds/test_rds_clusters.py .................................... [ 72%] 1476s ........................................ [ 72%] 1476s tests/test_rds/test_rds_clusters_with_instances.py ..... [ 72%] 1476s tests/test_rds/test_rds_event_subscriptions.py ...... [ 72%] 1477s tests/test_rds/test_rds_export_tasks.py ........ [ 73%] 1477s tests/test_rds/test_rds_proxy.py FFFFF. [ 73%] 1478s tests/test_rds/test_rds_proxy_target_groups.py ... [ 73%] 1478s tests/test_rds/test_server.py .. [ 73%] 1478s tests/test_rds/test_utils.py ................ [ 73%] 1478s tests/test_rdsdata/test_rdsdata.py .. [ 73%] 1479s tests/test_redshift/test_redshift.py ................................... [ 73%] 1480s ............................... [ 74%] 1480s tests/test_redshift/test_redshift_cloudformation.py . [ 74%] 1480s tests/test_redshift/test_server.py .............. [ 74%] 1480s tests/test_redshiftdata/test_redshiftdata.py ......... [ 74%] 1480s tests/test_redshiftdata/test_server.py ........ [ 74%] 1480s tests/test_rekognition/test_rekognition.py ........ [ 74%] 1480s tests/test_resiliencehub/test_resiliencehub.py ........... [ 74%] 1480s tests/test_resiliencehub/test_resiliencyhub_resources.py ..... [ 74%] 1480s tests/test_resiliencehub/test_resiliencyhub_tagging.py .. [ 74%] 1481s tests/test_resourcegroups/test_resourcegroups.py ............ [ 74%] 1481s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_dynamodb.py . [ 74%] 1481s . [ 74%] 1481s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_glue.py . [ 74%] 1481s  [ 74%] 1481s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_logs.py . [ 74%] 1481s . [ 74%] 1481s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_rds.py .. [ 74%] 1481s  [ 74%] 1481s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py ... [ 74%] 1483s .............FFF............ [ 75%] 1483s tests/test_resourcegroupstaggingapi/test_server.py . [ 75%] 1483s tests/test_robomaker/test_robomaker.py F [ 75%] 1483s tests/test_route53/test_change_set_model.py ... [ 75%] 1487s tests/test_route53/test_route53.py ..................................... [ 75%] 1487s .............. [ 75%] 1488s tests/test_route53/test_route53_cloudformation.py ...... [ 75%] 1488s tests/test_route53/test_route53_delegationsets.py ........ [ 75%] 1488s tests/test_route53/test_route53_healthchecks.py .......... [ 75%] 1488s tests/test_route53/test_route53_query_logging_config.py ...... [ 75%] 1489s tests/test_route53/test_route53_vpcs.py ....... [ 76%] 1489s tests/test_route53/test_server.py . [ 76%] 1489s tests/test_route53domains/test_route53domains_domain.py ................ [ 76%] 1489s ................ [ 76%] 1491s tests/test_route53resolver/test_route53resolver_endpoint.py ............ [ 76%] 1491s .......... [ 76%] 1493s tests/test_route53resolver/test_route53resolver_rule.py ........... [ 76%] 1493s tests/test_route53resolver/test_route53resolver_rule_associations.py ... [ 76%] 1493s ........ [ 76%] 1494s tests/test_route53resolver/test_route53resolver_tags.py .... [ 76%] 1495s tests/test_s3/test_s3.py ............................................... [ 77%] 1499s ........................................................................ [ 78%] 1500s ....................................... [ 78%] 1501s tests/test_s3/test_s3_acl.py .......................... [ 78%] 1501s tests/test_s3/test_s3_auth.py .... [ 78%] 1503s tests/test_s3/test_s3_bucket_policy.py ........... [ 78%] 1503s tests/test_s3/test_s3_classdecorator.py . [ 78%] 1503s tests/test_s3/test_s3_cloudformation.py ..... [ 78%] 1503s tests/test_s3/test_s3_config.py ...... [ 79%] 1506s tests/test_s3/test_s3_copyobject.py .................................... [ 79%] 1506s  [ 79%] 1506s tests/test_s3/test_s3_cross_account.py . [ 79%] 1506s tests/test_s3/test_s3_custom_endpoint.py .......... [ 79%] 1506s tests/test_s3/test_s3_encryption.py ...... [ 79%] 1507s tests/test_s3/test_s3_eventbridge_integration.py .......... [ 79%] 1519s tests/test_s3/test_s3_file_handles.py ........................ [ 79%] 1520s tests/test_s3/test_s3_lambda_integration.py ...... [ 79%] 1520s tests/test_s3/test_s3_lifecycle.py .......... [ 80%] 1522s tests/test_s3/test_s3_list_object_versions.py ............ [ 80%] 1522s tests/test_s3/test_s3_list_objects.py .. [ 80%] 1523s tests/test_s3/test_s3_locales.py . [ 80%] 1534s tests/test_s3/test_s3_lock.py ..F........... [ 80%] 1535s tests/test_s3/test_s3_logging.py ........... [ 80%] 1535s tests/test_s3/test_s3_metadata.py . [ 80%] 1536s tests/test_s3/test_s3_multipart.py ..................................... [ 80%] 1536s  [ 80%] 1536s tests/test_s3/test_s3_notifications.py ............ [ 81%] 1537s tests/test_s3/test_s3_object_attributes.py ........ [ 81%] 1537s tests/test_s3/test_s3_ownership.py ... [ 81%] 1537s tests/test_s3/test_s3_replication.py ....... [ 81%] 1537s tests/test_s3/test_s3_storageclass.py ............ [ 81%] 1538s tests/test_s3/test_s3_tagging.py ............ [ 81%] 1538s tests/test_s3/test_s3_utils.py ........... [ 81%] 1538s tests/test_s3/test_server.py ............. [ 81%] 1538s tests/test_s3bucket_path/test_s3bucket_path_utils.py ... [ 81%] 1538s tests/test_s3bucket_path/test_server.py ..... [ 81%] 1539s tests/test_s3control/test_s3control.py . [ 81%] 1539s tests/test_s3control/test_s3control_access_points.py .... [ 81%] 1539s tests/test_s3control/test_s3control_accesspoint_policy.py ..... [ 81%] 1543s tests/test_s3control/test_s3control_config_integration.py .. [ 81%] 1543s tests/test_s3control/test_s3control_s3.py ... [ 81%] 1544s tests/test_s3tables/test_s3tables.py ............F...F..F.FFFF.. [ 82%] 1544s tests/test_s3tables/test_server.py .......F. [ 82%] 1544s tests/test_sagemaker/test_sagemaker_automljobs.py ....... [ 82%] 1544s tests/test_sagemaker/test_sagemaker_cloudformation.py .................. [ 82%] 1544s .. [ 82%] 1545s tests/test_sagemaker/test_sagemaker_cluster.py .......... [ 82%] 1545s tests/test_sagemaker/test_sagemaker_compilation_jobs.py ........ [ 82%] 1546s tests/test_sagemaker/test_sagemaker_data_quality_jobs_definitions.py ... [ 82%] 1546s . [ 82%] 1546s tests/test_sagemaker/test_sagemaker_domains.py ...... [ 82%] 1546s tests/test_sagemaker/test_sagemaker_endpoint.py ................... [ 83%] 1546s tests/test_sagemaker/test_sagemaker_experiment.py ..... [ 83%] 1547s tests/test_sagemaker/test_sagemaker_feature_groups.py .. [ 83%] 1547s tests/test_sagemaker/test_sagemaker_hyper_parameter_tuning_job.py ...... [ 83%] 1547s . [ 83%] 1547s tests/test_sagemaker/test_sagemaker_model_bias_job_definitions.py .... [ 83%] 1549s tests/test_sagemaker/test_sagemaker_model_cards.py ......... [ 83%] 1549s tests/test_sagemaker/test_sagemaker_model_expainability.py ....... [ 83%] 1550s tests/test_sagemaker/test_sagemaker_model_package_groups.py ............ [ 83%] 1550s  [ 83%] 1550s tests/test_sagemaker/test_sagemaker_model_packages.py .................. [ 83%] 1550s ....... [ 83%] 1550s tests/test_sagemaker/test_sagemaker_model_quality.py ....... [ 83%] 1551s tests/test_sagemaker/test_sagemaker_models.py .......... [ 83%] 1551s tests/test_sagemaker/test_sagemaker_notebooks.py ......... [ 84%] 1554s tests/test_sagemaker/test_sagemaker_pipeline.py ........................ [ 84%] 1555s .................. [ 84%] 1555s tests/test_sagemaker/test_sagemaker_processing.py .......... [ 84%] 1555s tests/test_sagemaker/test_sagemaker_search.py ..... [ 84%] 1556s tests/test_sagemaker/test_sagemaker_training.py ............ [ 84%] 1557s tests/test_sagemaker/test_sagemaker_transform.py ............ [ 84%] 1557s tests/test_sagemaker/test_sagemaker_trial.py ....... [ 84%] 1557s tests/test_sagemaker/test_sagemaker_trial_component.py ........... [ 85%] 1557s tests/test_sagemakermetrics/test_sagemakermetrics.py .. [ 85%] 1557s tests/test_sagemakermetrics/test_server.py . [ 85%] 1558s tests/test_sagemakerruntime/test_sagemakerruntime.py .... [ 85%] 1558s tests/test_scheduler/test_schedule_groups.py ... [ 85%] 1558s tests/test_scheduler/test_scheduler.py .................. [ 85%] 1558s tests/test_scheduler/test_scheduler_tags.py .. [ 85%] 1558s tests/test_scheduler/test_server.py . [ 85%] 1558s tests/test_sdb/test_sdb_attributes.py ......... [ 85%] 1558s tests/test_sdb/test_sdb_domains.py ................. [ 85%] 1558s tests/test_sdb/test_server.py . [ 85%] 1559s tests/test_secretsmanager/test_list_secrets.py ......................... [ 85%] 1559s . [ 85%] 1559s tests/test_secretsmanager/test_policy.py .... [ 85%] 1559s tests/test_secretsmanager/test_rotate_simple_lambda.py .. [ 85%] 1559s tests/test_secretsmanager/test_secrets_duplication.py .......... [ 86%] 1559s tests/test_secretsmanager/test_secretsmanager.py ....................... [ 86%] 1561s ......................................s............ss................... [ 87%] 1561s .............. [ 87%] 1562s tests/test_secretsmanager/test_server.py ............................. [ 87%] 1562s tests/test_securityhub/test_securityhub.py ..... [ 87%] 1562s tests/test_servicediscovery/test_server.py . [ 87%] 1562s tests/test_servicediscovery/test_servicediscovery_httpnamespaces.py .... [ 87%] 1562s .......... [ 87%] 1562s tests/test_servicediscovery/test_servicediscovery_instance.py .......... [ 87%] 1562s ... [ 87%] 1562s tests/test_servicediscovery/test_servicediscovery_operations.py ....... [ 87%] 1563s tests/test_servicediscovery/test_servicediscovery_service.py ....... [ 87%] 1563s tests/test_servicediscovery/test_servicediscovery_tags.py ...... [ 87%] 1563s tests/test_servicequotas/test_servicequotas.py .... [ 88%] 1563s tests/test_ses/test_server.py .. [ 88%] 1564s tests/test_ses/test_ses_boto3.py ....................................... [ 88%] 1564s  [ 88%] 1564s tests/test_ses/test_ses_sns_boto3.py ........ [ 88%] 1564s tests/test_ses/test_ses_utils.py . [ 88%] 1564s tests/test_ses/test_templating.py ......... [ 88%] 1564s tests/test_sesv2/test_server.py . [ 88%] 1565s tests/test_sesv2/test_sesv2.py .......................... [ 88%] 1565s tests/test_shield/test_shield.py ...................... [ 89%] 1565s tests/test_signer/test_signing_platforms.py . [ 89%] 1565s tests/test_signer/test_signing_profiles.py .... [ 89%] 1566s tests/test_sns/test_application_boto3.py ..................... [ 89%] 1566s tests/test_sns/test_http_message_verification.py . [ 89%] 1567s tests/test_sns/test_publish_batch.py ........ [ 89%] 1570s tests/test_sns/test_publishing_boto3.py ................................ [ 89%] 1577s ........................................................................ [ 90%] 1577s ... [ 90%] 1577s tests/test_sns/test_server.py . [ 90%] 1577s tests/test_sns/test_sns_cloudformation.py ...... [ 90%] 1582s tests/test_sns/test_subscriptions_boto3.py ................... [ 90%] 1583s tests/test_sns/test_topics_boto3.py ......................... [ 91%] 1583s tests/test_sns/test_utils.py ... [ 91%] 1583s tests/test_special_cases/test_custom_amis.py . [ 91%] 1590s tests/test_sqs/test_server.py ... [ 91%] 1601s tests/test_sqs/test_sqs.py ............................................. [ 91%] 1626s ........................................................................ [ 92%] 1643s ........................ [ 92%] 1643s tests/test_sqs/test_sqs_cloudformation.py ....... [ 92%] 1643s tests/test_sqs/test_sqs_integration.py F [ 92%] 1643s tests/test_sqs/test_sqs_multiaccount.py . [ 92%] 1644s tests/test_ssm/test_ssm_boto3.py ....................................... [ 93%] 1646s ................................................. [ 93%] 1646s tests/test_ssm/test_ssm_cloudformation.py . [ 93%] 1646s tests/test_ssm/test_ssm_default_amis.py .. [ 93%] 1647s tests/test_ssm/test_ssm_defaults.py ... [ 93%] 1648s tests/test_ssm/test_ssm_doc_permissions.py ...................... [ 93%] 1648s tests/test_ssm/test_ssm_docs.py ........ [ 93%] 1648s tests/test_ssm/test_ssm_ec2_integration.py . [ 93%] 1649s tests/test_ssm/test_ssm_ecs_images.py . [ 93%] 1649s tests/test_ssm/test_ssm_maintenance_windows.py ............ [ 94%] 1649s tests/test_ssm/test_ssm_parameterstore.py ......... [ 94%] 1649s tests/test_ssm/test_ssm_patch_baseline.py .. [ 94%] 1650s tests/test_ssm/test_ssm_secretsmanager.py ...... [ 94%] 1650s tests/test_ssm/test_ssm_utils.py ... [ 94%] 1650s tests/test_ssoadmin/test_server.py . [ 94%] 1650s tests/test_ssoadmin/test_ssoadmin.py .................. [ 94%] 1651s tests/test_ssoadmin/test_ssoadmin_instances.py .. [ 94%] 1651s tests/test_ssoadmin/test_ssoadmin_permission_sets.py .. [ 94%] 1651s tests/test_ssoadmin/test_ssoadmin_policies.py ........... [ 94%] 1652s tests/test_stepfunctions/test_stepfunctions.py ......................... [ 94%] 1652s ....................... [ 95%] 1652s tests/test_stepfunctions/test_stepfunctions_cloudformation.py ... [ 95%] 1653s tests/test_stepfunctions/test_stepfunctions_versions.py ... [ 95%] 1653s tests/test_sts/test_server.py .... [ 95%] 1653s tests/test_sts/test_sts.py ...................... [ 95%] 1653s tests/test_sts/test_sts_integration.py ... [ 95%] 1653s tests/test_support/test_server.py .... [ 95%] 1654s tests/test_support/test_support.py ..................................... [ 95%] 1654s .... [ 95%] 1654s tests/test_swf/models/test_activity_task.py ....... [ 96%] 1654s tests/test_swf/models/test_decision_task.py ..... [ 96%] 1654s tests/test_swf/models/test_domain.py ........ [ 96%] 1654s tests/test_swf/models/test_generic_type.py .... [ 96%] 1654s tests/test_swf/models/test_history_event.py ... [ 96%] 1654s tests/test_swf/models/test_timeout.py . [ 96%] 1654s tests/test_swf/models/test_timer.py .... [ 96%] 1654s tests/test_swf/models/test_workflow_execution.py ....................... [ 96%] 1655s ............ [ 96%] 1658s tests/test_swf/responses/test_activity_tasks.py ............. [ 96%] 1658s tests/test_swf/responses/test_activity_types.py ............. [ 96%] 1663s tests/test_swf/responses/test_decision_tasks.py ....................... [ 97%] 1664s tests/test_swf/responses/test_domains.py ............. [ 97%] 1664s tests/test_swf/responses/test_timeouts.py ... [ 97%] 1664s tests/test_swf/responses/test_workflow_executions.py .............. [ 97%] 1664s tests/test_swf/responses/test_workflow_types.py ............. [ 97%] 1664s tests/test_swf/test_exceptions.py ............ [ 97%] 1664s tests/test_swf/test_utils.py . [ 97%] 1665s tests/test_textract/test_server.py ..... [ 97%] 1665s tests/test_textract/test_textract.py .... [ 97%] 1665s tests/test_timestreaminfluxdb/test_timestreaminfluxdb.py ........... [ 97%] 1665s tests/test_timestreaminfluxdb/test_timestreaminfluxdb_tagging.py ... [ 97%] 1665s tests/test_timestreamquery/test_timestreamquery.py ..... [ 97%] 1665s tests/test_timestreamwrite/test_server.py . [ 98%] 1666s tests/test_timestreamwrite/test_timestreamwrite_database.py ....... [ 98%] 1666s tests/test_timestreamwrite/test_timestreamwrite_table.py .......... [ 98%] 1666s tests/test_timestreamwrite/test_timestreamwrite_tagging.py ..... [ 98%] 1667s tests/test_transcribe/test_transcribe_boto3.py ....................... [ 98%] 1667s tests/test_transfer/test_transfer.py ... [ 98%] 1667s tests/test_utilities/test_docker_utilities.py ....... [ 98%] 1667s tests/test_utilities/test_id_generator.py .......... [ 98%] 1667s tests/test_utilities/test_paginator.py .................... [ 98%] 1667s tests/test_utilities/test_tagging_service.py ........... [ 98%] 1670s tests/test_utilities/test_threaded_server.py ..... [ 99%] 1670s tests/test_utilities/test_utils.py .. [ 99%] 1670s tests/test_wafv2/test_server.py .. [ 99%] 1670s tests/test_wafv2/test_utils.py . [ 99%] 1670s tests/test_wafv2/test_wafv2.py .......... [ 99%] 1670s tests/test_wafv2/test_wafv2_integration.py .... [ 99%] 1670s tests/test_wafv2/test_wafv2_logging_configuration.py .. [ 99%] 1670s tests/test_wafv2/test_wafv2_rules.py ..... [ 99%] 1670s tests/test_wafv2/test_wafv2_tags.py .... [ 99%] 1673s tests/test_workspaces/test_workspaces.py F..FFFFFFFFFFF.FFFFFFF.FFFF.FF [ 99%] 1674s tests/test_workspacesweb/test_workspacesweb.py ......................... [ 99%] 1674s  [ 99%] 1674s tests/test_xray/test_xray_boto3.py ...... [ 99%] 1674s tests/test_xray/test_xray_client.py .... [100%] 1674s 1674s ==================================== ERRORS ==================================== 1674s _______ ERROR at setup of test_create_describe_update_and_delete_ledger ________ 1674s 1674s @pytest.fixture(name="client") 1674s def fixture_qldb_client(): 1674s with mock_aws(): 1674s > yield boto3.client("qldb", region_name="us-east-1") 1674s 1674s tests/test_qldb/test_qldb.py:18: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1674s return _get_default_session().client(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1674s return self._session.create_client( 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1674s client = client_creator.create_client( 1674s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1674s service_model = self._load_service_model(service_name, api_version) 1674s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1674s json_model = self._loader.load_service_model( 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1674s data = func(self, *args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = , service_name = 'qldb' 1674s type_name = 'service-2', api_version = None 1674s 1674s @instance_cache 1674s def load_service_model(self, service_name, type_name, api_version=None): 1674s  """Load a botocore service model 1674s  1674s  This is the main method for loading botocore models (e.g. a service 1674s  model, pagination configs, waiter configs, etc.). 1674s  1674s  :type service_name: str 1674s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1674s  1674s  :type type_name: str 1674s  :param type_name: The model type. Valid types include, but are not 1674s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1674s  1674s  :type api_version: str 1674s  :param api_version: The API version to load. If this is not 1674s  provided, then the latest API version will be used. 1674s  1674s  :type load_extras: bool 1674s  :param load_extras: Whether or not to load the tool extras which 1674s  contain additional data to be added to the model. 1674s  1674s  :raises: UnknownServiceError if there is no known service with 1674s  the provided service_name. 1674s  1674s  :raises: DataNotFoundError if no data could be found for the 1674s  service_name/type_name/api_version. 1674s  1674s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1674s  """ 1674s # Wrapper around the load_data. This will calculate the path 1674s # to call load_data with. 1674s known_services = self.list_available_services(type_name) 1674s if service_name not in known_services: 1674s > raise UnknownServiceError( 1674s service_name=service_name, 1674s known_service_names=', '.join(sorted(known_services)), 1674s ) 1674s E botocore.exceptions.UnknownServiceError: Unknown service: 'qldb'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1674s 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1674s ________ ERROR at setup of test_tag_resource_and_list_tags_for_resource ________ 1674s 1674s @pytest.fixture(name="client") 1674s def fixture_qldb_client(): 1674s with mock_aws(): 1674s > yield boto3.client("qldb", region_name="us-east-1") 1674s 1674s tests/test_qldb/test_qldb.py:18: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1674s return _get_default_session().client(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1674s return self._session.create_client( 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1674s client = client_creator.create_client( 1674s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1674s service_model = self._load_service_model(service_name, api_version) 1674s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1674s json_model = self._loader.load_service_model( 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1674s data = func(self, *args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = , service_name = 'qldb' 1674s type_name = 'service-2', api_version = None 1674s 1674s @instance_cache 1674s def load_service_model(self, service_name, type_name, api_version=None): 1674s  """Load a botocore service model 1674s  1674s  This is the main method for loading botocore models (e.g. a service 1674s  model, pagination configs, waiter configs, etc.). 1674s  1674s  :type service_name: str 1674s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1674s  1674s  :type type_name: str 1674s  :param type_name: The model type. Valid types include, but are not 1674s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1674s  1674s  :type api_version: str 1674s  :param api_version: The API version to load. If this is not 1674s  provided, then the latest API version will be used. 1674s  1674s  :type load_extras: bool 1674s  :param load_extras: Whether or not to load the tool extras which 1674s  contain additional data to be added to the model. 1674s  1674s  :raises: UnknownServiceError if there is no known service with 1674s  the provided service_name. 1674s  1674s  :raises: DataNotFoundError if no data could be found for the 1674s  service_name/type_name/api_version. 1674s  1674s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1674s  """ 1674s # Wrapper around the load_data. This will calculate the path 1674s # to call load_data with. 1674s known_services = self.list_available_services(type_name) 1674s if service_name not in known_services: 1674s > raise UnknownServiceError( 1674s service_name=service_name, 1674s known_service_names=', '.join(sorted(known_services)), 1674s ) 1674s E botocore.exceptions.UnknownServiceError: Unknown service: 'qldb'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1674s 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1674s =================================== FAILURES =================================== 1674s __________ test_event_source_mapping_create_from_cloudformation_json ___________ 1674s 1674s @mock_aws 1674s def test_event_source_mapping_create_from_cloudformation_json(): 1674s sqs = boto3.resource("sqs", region_name="us-east-1") 1674s s3 = boto3.client("s3", "us-east-1") 1674s cf = boto3.client("cloudformation", region_name="us-east-1") 1674s lmbda = boto3.client("lambda", region_name="us-east-1") 1674s  1674s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1674s  1674s # Creates lambda 1674s _, lambda_stack = create_stack(cf, s3) 1674s created_fn_name = get_created_function_name(cf, lambda_stack) 1674s created_fn_arn = lmbda.get_function(FunctionName=created_fn_name)["Configuration"][ 1674s "FunctionArn" 1674s ] 1674s  1674s esm_template = event_source_mapping_template.substitute( 1674s { 1674s "resource_name": "Foo", 1674s "batch_size": 1, 1674s "event_source_arn": queue.attributes["QueueArn"], 1674s "function_name": created_fn_name, 1674s "enabled": True, 1674s } 1674s ) 1674s  1674s cf.create_stack(StackName=random_stack_name(), TemplateBody=esm_template) 1674s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1674s 1674s tests/test_awslambda/test_awslambda_cloudformation.py:184: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s operation_name = 'ListEventSourceMappings' 1674s api_params = {'FunctionName': '78f41a-LF3ABOV-TTS099QH085B'} 1674s 1674s @with_current_context() 1674s def _make_api_call(self, operation_name, api_params): 1674s operation_model = self._service_model.operation_model(operation_name) 1674s service_name = self._service_model.service_name 1674s history_recorder.record( 1674s 'API_CALL', 1674s { 1674s 'service': service_name, 1674s 'operation': operation_name, 1674s 'params': api_params, 1674s }, 1674s ) 1674s if operation_model.deprecated: 1674s logger.debug( 1674s 'Warning: %s.%s() is deprecated', service_name, operation_name 1674s ) 1674s request_context = { 1674s 'client_region': self.meta.region_name, 1674s 'client_config': self.meta.config, 1674s 'has_streaming_input': operation_model.has_streaming_input, 1674s 'auth_type': operation_model.resolved_auth_type, 1674s 'unsigned_payload': operation_model.unsigned_payload, 1674s 'auth_options': self._service_model.metadata.get('auth'), 1674s } 1674s  1674s api_params = self._emit_api_params( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s context=request_context, 1674s ) 1674s ( 1674s endpoint_url, 1674s additional_headers, 1674s properties, 1674s ) = self._resolve_endpoint_ruleset( 1674s operation_model, api_params, request_context 1674s ) 1674s if properties: 1674s # Pass arbitrary endpoint info with the Request 1674s # for use during construction. 1674s request_context['endpoint_properties'] = properties 1674s request_dict = self._convert_to_request_dict( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s endpoint_url=endpoint_url, 1674s context=request_context, 1674s headers=additional_headers, 1674s ) 1674s resolve_checksum_context(request_dict, operation_model, api_params) 1674s  1674s service_id = self._service_model.service_id.hyphenize() 1674s handler, event_response = self.meta.events.emit_until_response( 1674s f'before-call.{service_id}.{operation_name}', 1674s model=operation_model, 1674s params=request_dict, 1674s request_signer=self._request_signer, 1674s context=request_context, 1674s ) 1674s  1674s if event_response is not None: 1674s http, parsed_response = event_response 1674s else: 1674s maybe_compress_request( 1674s self.meta.config, request_dict, operation_model 1674s ) 1674s apply_request_checksum(request_dict) 1674s http, parsed_response = self._make_request( 1674s operation_model, request_dict, request_context 1674s ) 1674s  1674s self.meta.events.emit( 1674s f'after-call.{service_id}.{operation_name}', 1674s http_response=http, 1674s parsed=parsed_response, 1674s model=operation_model, 1674s context=request_context, 1674s ) 1674s  1674s if http.status_code >= 300: 1674s error_info = parsed_response.get("Error", {}) 1674s error_code = request_context.get( 1674s 'error_code_override' 1674s ) or error_info.get("Code") 1674s error_class = self.exceptions.from_code(error_code) 1674s > raise error_class(parsed_response, operation_name) 1674s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1674s 1674s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1674s ____________________ test_event_source_mapping_delete_stack ____________________ 1674s 1674s @mock_aws 1674s def test_event_source_mapping_delete_stack(): 1674s sqs = boto3.resource("sqs", region_name="us-east-1") 1674s s3 = boto3.client("s3", "us-east-1") 1674s cf = boto3.client("cloudformation", region_name="us-east-1") 1674s lmbda = boto3.client("lambda", region_name="us-east-1") 1674s  1674s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1674s  1674s # Creates lambda 1674s _, lambda_stack = create_stack(cf, s3) 1674s created_fn_name = get_created_function_name(cf, lambda_stack) 1674s  1674s esm_template = event_source_mapping_template.substitute( 1674s { 1674s "resource_name": "Foo", 1674s "batch_size": 1, 1674s "event_source_arn": queue.attributes["QueueArn"], 1674s "function_name": created_fn_name, 1674s "enabled": True, 1674s } 1674s ) 1674s  1674s esm_stack = cf.create_stack( 1674s StackName=random_stack_name(), TemplateBody=esm_template 1674s ) 1674s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1674s 1674s tests/test_awslambda/test_awslambda_cloudformation.py:218: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s operation_name = 'ListEventSourceMappings' 1674s api_params = {'FunctionName': 'ea92da-LF3ABOV-XJPXGQ5C98XX'} 1674s 1674s @with_current_context() 1674s def _make_api_call(self, operation_name, api_params): 1674s operation_model = self._service_model.operation_model(operation_name) 1674s service_name = self._service_model.service_name 1674s history_recorder.record( 1674s 'API_CALL', 1674s { 1674s 'service': service_name, 1674s 'operation': operation_name, 1674s 'params': api_params, 1674s }, 1674s ) 1674s if operation_model.deprecated: 1674s logger.debug( 1674s 'Warning: %s.%s() is deprecated', service_name, operation_name 1674s ) 1674s request_context = { 1674s 'client_region': self.meta.region_name, 1674s 'client_config': self.meta.config, 1674s 'has_streaming_input': operation_model.has_streaming_input, 1674s 'auth_type': operation_model.resolved_auth_type, 1674s 'unsigned_payload': operation_model.unsigned_payload, 1674s 'auth_options': self._service_model.metadata.get('auth'), 1674s } 1674s  1674s api_params = self._emit_api_params( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s context=request_context, 1674s ) 1674s ( 1674s endpoint_url, 1674s additional_headers, 1674s properties, 1674s ) = self._resolve_endpoint_ruleset( 1674s operation_model, api_params, request_context 1674s ) 1674s if properties: 1674s # Pass arbitrary endpoint info with the Request 1674s # for use during construction. 1674s request_context['endpoint_properties'] = properties 1674s request_dict = self._convert_to_request_dict( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s endpoint_url=endpoint_url, 1674s context=request_context, 1674s headers=additional_headers, 1674s ) 1674s resolve_checksum_context(request_dict, operation_model, api_params) 1674s  1674s service_id = self._service_model.service_id.hyphenize() 1674s handler, event_response = self.meta.events.emit_until_response( 1674s f'before-call.{service_id}.{operation_name}', 1674s model=operation_model, 1674s params=request_dict, 1674s request_signer=self._request_signer, 1674s context=request_context, 1674s ) 1674s  1674s if event_response is not None: 1674s http, parsed_response = event_response 1674s else: 1674s maybe_compress_request( 1674s self.meta.config, request_dict, operation_model 1674s ) 1674s apply_request_checksum(request_dict) 1674s http, parsed_response = self._make_request( 1674s operation_model, request_dict, request_context 1674s ) 1674s  1674s self.meta.events.emit( 1674s f'after-call.{service_id}.{operation_name}', 1674s http_response=http, 1674s parsed=parsed_response, 1674s model=operation_model, 1674s context=request_context, 1674s ) 1674s  1674s if http.status_code >= 300: 1674s error_info = parsed_response.get("Error", {}) 1674s error_code = request_context.get( 1674s 'error_code_override' 1674s ) or error_info.get("Code") 1674s error_class = self.exceptions.from_code(error_code) 1674s > raise error_class(parsed_response, operation_name) 1674s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1674s 1674s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1674s __________ test_event_source_mapping_update_from_cloudformation_json ___________ 1674s 1674s @mock_aws 1674s def test_event_source_mapping_update_from_cloudformation_json(): 1674s sqs = boto3.resource("sqs", region_name="us-east-1") 1674s s3 = boto3.client("s3", "us-east-1") 1674s cf = boto3.client("cloudformation", region_name="us-east-1") 1674s lmbda = boto3.client("lambda", region_name="us-east-1") 1674s  1674s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1674s  1674s # Creates lambda 1674s _, lambda_stack = create_stack(cf, s3) 1674s created_fn_name = get_created_function_name(cf, lambda_stack) 1674s  1674s original_template = event_source_mapping_template.substitute( 1674s { 1674s "resource_name": "Foo", 1674s "batch_size": 1, 1674s "event_source_arn": queue.attributes["QueueArn"], 1674s "function_name": created_fn_name, 1674s "enabled": True, 1674s } 1674s ) 1674s  1674s stack_name = random_stack_name() 1674s cf.create_stack(StackName=stack_name, TemplateBody=original_template) 1674s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1674s 1674s tests/test_awslambda/test_awslambda_cloudformation.py:253: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s operation_name = 'ListEventSourceMappings' 1674s api_params = {'FunctionName': '2b2042-LF3ABOV-TUM2CZLRJL6J'} 1674s 1674s @with_current_context() 1674s def _make_api_call(self, operation_name, api_params): 1674s operation_model = self._service_model.operation_model(operation_name) 1674s service_name = self._service_model.service_name 1674s history_recorder.record( 1674s 'API_CALL', 1674s { 1674s 'service': service_name, 1674s 'operation': operation_name, 1674s 'params': api_params, 1674s }, 1674s ) 1674s if operation_model.deprecated: 1674s logger.debug( 1674s 'Warning: %s.%s() is deprecated', service_name, operation_name 1674s ) 1674s request_context = { 1674s 'client_region': self.meta.region_name, 1674s 'client_config': self.meta.config, 1674s 'has_streaming_input': operation_model.has_streaming_input, 1674s 'auth_type': operation_model.resolved_auth_type, 1674s 'unsigned_payload': operation_model.unsigned_payload, 1674s 'auth_options': self._service_model.metadata.get('auth'), 1674s } 1674s  1674s api_params = self._emit_api_params( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s context=request_context, 1674s ) 1674s ( 1674s endpoint_url, 1674s additional_headers, 1674s properties, 1674s ) = self._resolve_endpoint_ruleset( 1674s operation_model, api_params, request_context 1674s ) 1674s if properties: 1674s # Pass arbitrary endpoint info with the Request 1674s # for use during construction. 1674s request_context['endpoint_properties'] = properties 1674s request_dict = self._convert_to_request_dict( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s endpoint_url=endpoint_url, 1674s context=request_context, 1674s headers=additional_headers, 1674s ) 1674s resolve_checksum_context(request_dict, operation_model, api_params) 1674s  1674s service_id = self._service_model.service_id.hyphenize() 1674s handler, event_response = self.meta.events.emit_until_response( 1674s f'before-call.{service_id}.{operation_name}', 1674s model=operation_model, 1674s params=request_dict, 1674s request_signer=self._request_signer, 1674s context=request_context, 1674s ) 1674s  1674s if event_response is not None: 1674s http, parsed_response = event_response 1674s else: 1674s maybe_compress_request( 1674s self.meta.config, request_dict, operation_model 1674s ) 1674s apply_request_checksum(request_dict) 1674s http, parsed_response = self._make_request( 1674s operation_model, request_dict, request_context 1674s ) 1674s  1674s self.meta.events.emit( 1674s f'after-call.{service_id}.{operation_name}', 1674s http_response=http, 1674s parsed=parsed_response, 1674s model=operation_model, 1674s context=request_context, 1674s ) 1674s  1674s if http.status_code >= 300: 1674s error_info = parsed_response.get("Error", {}) 1674s error_code = request_context.get( 1674s 'error_code_override' 1674s ) or error_info.get("Code") 1674s error_class = self.exceptions.from_code(error_code) 1674s > raise error_class(parsed_response, operation_name) 1674s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1674s 1674s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1674s __________ test_event_source_mapping_delete_from_cloudformation_json ___________ 1674s 1674s @mock_aws 1674s def test_event_source_mapping_delete_from_cloudformation_json(): 1674s sqs = boto3.resource("sqs", region_name="us-east-1") 1674s s3 = boto3.client("s3", "us-east-1") 1674s cf = boto3.client("cloudformation", region_name="us-east-1") 1674s lmbda = boto3.client("lambda", region_name="us-east-1") 1674s  1674s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1674s  1674s # Creates lambda 1674s _, lambda_stack = create_stack(cf, s3) 1674s created_fn_name = get_created_function_name(cf, lambda_stack) 1674s  1674s original_template = event_source_mapping_template.substitute( 1674s { 1674s "resource_name": "Foo", 1674s "batch_size": 1, 1674s "event_source_arn": queue.attributes["QueueArn"], 1674s "function_name": created_fn_name, 1674s "enabled": True, 1674s } 1674s ) 1674s  1674s stack_name = random_stack_name() 1674s cf.create_stack(StackName=stack_name, TemplateBody=original_template) 1674s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1674s 1674s tests/test_awslambda/test_awslambda_cloudformation.py:303: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s operation_name = 'ListEventSourceMappings' 1674s api_params = {'FunctionName': '8285d3-LF3ABOV-X7OPP394REDB'} 1674s 1674s @with_current_context() 1674s def _make_api_call(self, operation_name, api_params): 1674s operation_model = self._service_model.operation_model(operation_name) 1674s service_name = self._service_model.service_name 1674s history_recorder.record( 1674s 'API_CALL', 1674s { 1674s 'service': service_name, 1674s 'operation': operation_name, 1674s 'params': api_params, 1674s }, 1674s ) 1674s if operation_model.deprecated: 1674s logger.debug( 1674s 'Warning: %s.%s() is deprecated', service_name, operation_name 1674s ) 1674s request_context = { 1674s 'client_region': self.meta.region_name, 1674s 'client_config': self.meta.config, 1674s 'has_streaming_input': operation_model.has_streaming_input, 1674s 'auth_type': operation_model.resolved_auth_type, 1674s 'unsigned_payload': operation_model.unsigned_payload, 1674s 'auth_options': self._service_model.metadata.get('auth'), 1674s } 1674s  1674s api_params = self._emit_api_params( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s context=request_context, 1674s ) 1674s ( 1674s endpoint_url, 1674s additional_headers, 1674s properties, 1674s ) = self._resolve_endpoint_ruleset( 1674s operation_model, api_params, request_context 1674s ) 1674s if properties: 1674s # Pass arbitrary endpoint info with the Request 1674s # for use during construction. 1674s request_context['endpoint_properties'] = properties 1674s request_dict = self._convert_to_request_dict( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s endpoint_url=endpoint_url, 1674s context=request_context, 1674s headers=additional_headers, 1674s ) 1674s resolve_checksum_context(request_dict, operation_model, api_params) 1674s  1674s service_id = self._service_model.service_id.hyphenize() 1674s handler, event_response = self.meta.events.emit_until_response( 1674s f'before-call.{service_id}.{operation_name}', 1674s model=operation_model, 1674s params=request_dict, 1674s request_signer=self._request_signer, 1674s context=request_context, 1674s ) 1674s  1674s if event_response is not None: 1674s http, parsed_response = event_response 1674s else: 1674s maybe_compress_request( 1674s self.meta.config, request_dict, operation_model 1674s ) 1674s apply_request_checksum(request_dict) 1674s http, parsed_response = self._make_request( 1674s operation_model, request_dict, request_context 1674s ) 1674s  1674s self.meta.events.emit( 1674s f'after-call.{service_id}.{operation_name}', 1674s http_response=http, 1674s parsed=parsed_response, 1674s model=operation_model, 1674s context=request_context, 1674s ) 1674s  1674s if http.status_code >= 300: 1674s error_info = parsed_response.get("Error", {}) 1674s error_code = request_context.get( 1674s 'error_code_override' 1674s ) or error_info.get("Code") 1674s error_class = self.exceptions.from_code(error_code) 1674s > raise error_class(parsed_response, operation_name) 1674s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1674s 1674s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1674s _______________________ test_create_event_source_mapping _______________________ 1674s 1674s @mock_aws 1674s def test_create_event_source_mapping(): 1674s function_name = str(uuid.uuid4())[0:6] 1674s sqs = boto3.resource("sqs", region_name="us-east-1") 1674s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1674s  1674s conn = boto3.client("lambda", region_name="us-east-1") 1674s func = conn.create_function( 1674s FunctionName=function_name, 1674s Runtime=PYTHON_VERSION, 1674s Role=get_role_name(), 1674s Handler="lambda_function.lambda_handler", 1674s Code={"ZipFile": get_test_zip_file3()}, 1674s Description="test lambda function", 1674s Timeout=3, 1674s MemorySize=128, 1674s Publish=True, 1674s ) 1674s  1674s destination_config = { 1674s "OnSuccess": {"Destination": "s3"}, 1674s "OnFailure": {"Destination": "s4"}, 1674s } 1674s doc_db_config = { 1674s "DatabaseName": "db", 1674s "CollectionName": "cn", 1674s "FullDocument": "UpdateLookup", 1674s } 1674s > response = conn.create_event_source_mapping( 1674s EventSourceArn=queue.attributes["QueueArn"], 1674s FunctionName=func["FunctionArn"], 1674s BatchSize=1, 1674s FilterCriteria={ 1674s "Filters": [{"Pattern": r"asdf"}], 1674s }, 1674s MaximumBatchingWindowInSeconds=5, 1674s ParallelizationFactor=4, 1674s StartingPosition="AT_TIMESTAMP", 1674s DestinationConfig=destination_config, 1674s MaximumRecordAgeInSeconds=59, 1674s BisectBatchOnFunctionError=True, 1674s MaximumRetryAttempts=9000, 1674s Tags={"k1": "v1"}, 1674s TumblingWindowInSeconds=100, 1674s Topics=["t1", "T2"], 1674s Queues=["q1", "q2"], 1674s SourceAccessConfigurations=[ 1674s {"Type": "BASIC_AUTH", "URI": "http://auth.endpoint"}, 1674s ], 1674s SelfManagedEventSource={ 1674s "Endpoints": { 1674s "key": ["v1"], 1674s }, 1674s }, 1674s FunctionResponseTypes=["ReportBatchItemFailures"], 1674s AmazonManagedKafkaEventSourceConfig={"ConsumerGroupId": "cgid"}, 1674s SelfManagedKafkaEventSourceConfig={"ConsumerGroupId": "cgid2"}, 1674s ScalingConfig={"MaximumConcurrency": 100}, 1674s DocumentDBEventSourceConfig=doc_db_config, 1674s KMSKeyArn="arn:kms:key", 1674s MetricsConfig={"Metrics": ["EventCount"]}, 1674s ProvisionedPollerConfig={"MinimumPollers": 12, "MaximumPollers": 13}, 1674s ) 1674s 1674s tests/test_awslambda/test_lambda_eventsourcemapping.py:51: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s operation_name = 'CreateEventSourceMapping' 1674s api_params = {'AmazonManagedKafkaEventSourceConfig': {'ConsumerGroupId': 'cgid'}, 'BatchSize': 1, 'BisectBatchOnFunctionError': True, 'DestinationConfig': {'OnFailure': {'Destination': 's4'}, 'OnSuccess': {'Destination': 's3'}}, ...} 1674s 1674s @with_current_context() 1674s def _make_api_call(self, operation_name, api_params): 1674s operation_model = self._service_model.operation_model(operation_name) 1674s service_name = self._service_model.service_name 1674s history_recorder.record( 1674s 'API_CALL', 1674s { 1674s 'service': service_name, 1674s 'operation': operation_name, 1674s 'params': api_params, 1674s }, 1674s ) 1674s if operation_model.deprecated: 1674s logger.debug( 1674s 'Warning: %s.%s() is deprecated', service_name, operation_name 1674s ) 1674s request_context = { 1674s 'client_region': self.meta.region_name, 1674s 'client_config': self.meta.config, 1674s 'has_streaming_input': operation_model.has_streaming_input, 1674s 'auth_type': operation_model.resolved_auth_type, 1674s 'unsigned_payload': operation_model.unsigned_payload, 1674s 'auth_options': self._service_model.metadata.get('auth'), 1674s } 1674s  1674s api_params = self._emit_api_params( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s context=request_context, 1674s ) 1674s ( 1674s endpoint_url, 1674s additional_headers, 1674s properties, 1674s ) = self._resolve_endpoint_ruleset( 1674s operation_model, api_params, request_context 1674s ) 1674s if properties: 1674s # Pass arbitrary endpoint info with the Request 1674s # for use during construction. 1674s request_context['endpoint_properties'] = properties 1674s request_dict = self._convert_to_request_dict( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s endpoint_url=endpoint_url, 1674s context=request_context, 1674s headers=additional_headers, 1674s ) 1674s resolve_checksum_context(request_dict, operation_model, api_params) 1674s  1674s service_id = self._service_model.service_id.hyphenize() 1674s handler, event_response = self.meta.events.emit_until_response( 1674s f'before-call.{service_id}.{operation_name}', 1674s model=operation_model, 1674s params=request_dict, 1674s request_signer=self._request_signer, 1674s context=request_context, 1674s ) 1674s  1674s if event_response is not None: 1674s http, parsed_response = event_response 1674s else: 1674s maybe_compress_request( 1674s self.meta.config, request_dict, operation_model 1674s ) 1674s apply_request_checksum(request_dict) 1674s http, parsed_response = self._make_request( 1674s operation_model, request_dict, request_context 1674s ) 1674s  1674s self.meta.events.emit( 1674s f'after-call.{service_id}.{operation_name}', 1674s http_response=http, 1674s parsed=parsed_response, 1674s model=operation_model, 1674s context=request_context, 1674s ) 1674s  1674s if http.status_code >= 300: 1674s error_info = parsed_response.get("Error", {}) 1674s error_code = request_context.get( 1674s 'error_code_override' 1674s ) or error_info.get("Code") 1674s error_class = self.exceptions.from_code(error_code) 1674s > raise error_class(parsed_response, operation_name) 1674s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1674s 1674s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1674s _______________________ test_list_event_source_mappings ________________________ 1674s 1674s @mock_aws 1674s def test_list_event_source_mappings(): 1674s function_name = str(uuid.uuid4())[0:6] 1674s sqs = boto3.resource("sqs", region_name="us-east-1") 1674s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1674s  1674s conn = boto3.client("lambda", region_name="us-east-1") 1674s func = conn.create_function( 1674s FunctionName=function_name, 1674s Runtime=PYTHON_VERSION, 1674s Role=get_role_name(), 1674s Handler="lambda_function.lambda_handler", 1674s Code={"ZipFile": get_test_zip_file3()}, 1674s Description="test lambda function", 1674s Timeout=3, 1674s MemorySize=128, 1674s Publish=True, 1674s ) 1674s > response = conn.create_event_source_mapping( 1674s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func["FunctionArn"] 1674s ) 1674s 1674s tests/test_awslambda/test_lambda_eventsourcemapping.py:473: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s operation_name = 'CreateEventSourceMapping' 1674s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:240807_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:240807'} 1674s 1674s @with_current_context() 1674s def _make_api_call(self, operation_name, api_params): 1674s operation_model = self._service_model.operation_model(operation_name) 1674s service_name = self._service_model.service_name 1674s history_recorder.record( 1674s 'API_CALL', 1674s { 1674s 'service': service_name, 1674s 'operation': operation_name, 1674s 'params': api_params, 1674s }, 1674s ) 1674s if operation_model.deprecated: 1674s logger.debug( 1674s 'Warning: %s.%s() is deprecated', service_name, operation_name 1674s ) 1674s request_context = { 1674s 'client_region': self.meta.region_name, 1674s 'client_config': self.meta.config, 1674s 'has_streaming_input': operation_model.has_streaming_input, 1674s 'auth_type': operation_model.resolved_auth_type, 1674s 'unsigned_payload': operation_model.unsigned_payload, 1674s 'auth_options': self._service_model.metadata.get('auth'), 1674s } 1674s  1674s api_params = self._emit_api_params( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s context=request_context, 1674s ) 1674s ( 1674s endpoint_url, 1674s additional_headers, 1674s properties, 1674s ) = self._resolve_endpoint_ruleset( 1674s operation_model, api_params, request_context 1674s ) 1674s if properties: 1674s # Pass arbitrary endpoint info with the Request 1674s # for use during construction. 1674s request_context['endpoint_properties'] = properties 1674s request_dict = self._convert_to_request_dict( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s endpoint_url=endpoint_url, 1674s context=request_context, 1674s headers=additional_headers, 1674s ) 1674s resolve_checksum_context(request_dict, operation_model, api_params) 1674s  1674s service_id = self._service_model.service_id.hyphenize() 1674s handler, event_response = self.meta.events.emit_until_response( 1674s f'before-call.{service_id}.{operation_name}', 1674s model=operation_model, 1674s params=request_dict, 1674s request_signer=self._request_signer, 1674s context=request_context, 1674s ) 1674s  1674s if event_response is not None: 1674s http, parsed_response = event_response 1674s else: 1674s maybe_compress_request( 1674s self.meta.config, request_dict, operation_model 1674s ) 1674s apply_request_checksum(request_dict) 1674s http, parsed_response = self._make_request( 1674s operation_model, request_dict, request_context 1674s ) 1674s  1674s self.meta.events.emit( 1674s f'after-call.{service_id}.{operation_name}', 1674s http_response=http, 1674s parsed=parsed_response, 1674s model=operation_model, 1674s context=request_context, 1674s ) 1674s  1674s if http.status_code >= 300: 1674s error_info = parsed_response.get("Error", {}) 1674s error_code = request_context.get( 1674s 'error_code_override' 1674s ) or error_info.get("Code") 1674s error_class = self.exceptions.from_code(error_code) 1674s > raise error_class(parsed_response, operation_name) 1674s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1674s 1674s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1674s ________________________ test_get_event_source_mapping _________________________ 1674s 1674s @mock_aws 1674s def test_get_event_source_mapping(): 1674s function_name = str(uuid.uuid4())[0:6] 1674s sqs = boto3.resource("sqs", region_name="us-east-1") 1674s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1674s  1674s conn = boto3.client("lambda", region_name="us-east-1") 1674s func = conn.create_function( 1674s FunctionName=function_name, 1674s Runtime=PYTHON_VERSION, 1674s Role=get_role_name(), 1674s Handler="lambda_function.lambda_handler", 1674s Code={"ZipFile": get_test_zip_file3()}, 1674s Description="test lambda function", 1674s Timeout=3, 1674s MemorySize=128, 1674s Publish=True, 1674s ) 1674s > response = conn.create_event_source_mapping( 1674s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func["FunctionArn"] 1674s ) 1674s 1674s tests/test_awslambda/test_lambda_eventsourcemapping.py:505: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s operation_name = 'CreateEventSourceMapping' 1674s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:4b1921_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:4b1921'} 1674s 1674s @with_current_context() 1674s def _make_api_call(self, operation_name, api_params): 1674s operation_model = self._service_model.operation_model(operation_name) 1674s service_name = self._service_model.service_name 1674s history_recorder.record( 1674s 'API_CALL', 1674s { 1674s 'service': service_name, 1674s 'operation': operation_name, 1674s 'params': api_params, 1674s }, 1674s ) 1674s if operation_model.deprecated: 1674s logger.debug( 1674s 'Warning: %s.%s() is deprecated', service_name, operation_name 1674s ) 1674s request_context = { 1674s 'client_region': self.meta.region_name, 1674s 'client_config': self.meta.config, 1674s 'has_streaming_input': operation_model.has_streaming_input, 1674s 'auth_type': operation_model.resolved_auth_type, 1674s 'unsigned_payload': operation_model.unsigned_payload, 1674s 'auth_options': self._service_model.metadata.get('auth'), 1674s } 1674s  1674s api_params = self._emit_api_params( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s context=request_context, 1674s ) 1674s ( 1674s endpoint_url, 1674s additional_headers, 1674s properties, 1674s ) = self._resolve_endpoint_ruleset( 1674s operation_model, api_params, request_context 1674s ) 1674s if properties: 1674s # Pass arbitrary endpoint info with the Request 1674s # for use during construction. 1674s request_context['endpoint_properties'] = properties 1674s request_dict = self._convert_to_request_dict( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s endpoint_url=endpoint_url, 1674s context=request_context, 1674s headers=additional_headers, 1674s ) 1674s resolve_checksum_context(request_dict, operation_model, api_params) 1674s  1674s service_id = self._service_model.service_id.hyphenize() 1674s handler, event_response = self.meta.events.emit_until_response( 1674s f'before-call.{service_id}.{operation_name}', 1674s model=operation_model, 1674s params=request_dict, 1674s request_signer=self._request_signer, 1674s context=request_context, 1674s ) 1674s  1674s if event_response is not None: 1674s http, parsed_response = event_response 1674s else: 1674s maybe_compress_request( 1674s self.meta.config, request_dict, operation_model 1674s ) 1674s apply_request_checksum(request_dict) 1674s http, parsed_response = self._make_request( 1674s operation_model, request_dict, request_context 1674s ) 1674s  1674s self.meta.events.emit( 1674s f'after-call.{service_id}.{operation_name}', 1674s http_response=http, 1674s parsed=parsed_response, 1674s model=operation_model, 1674s context=request_context, 1674s ) 1674s  1674s if http.status_code >= 300: 1674s error_info = parsed_response.get("Error", {}) 1674s error_code = request_context.get( 1674s 'error_code_override' 1674s ) or error_info.get("Code") 1674s error_class = self.exceptions.from_code(error_code) 1674s > raise error_class(parsed_response, operation_name) 1674s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1674s 1674s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1674s _______________________ test_update_event_source_mapping _______________________ 1674s 1674s @mock_aws 1674s def test_update_event_source_mapping(): 1674s function_name = str(uuid.uuid4())[0:6] 1674s sqs = boto3.resource("sqs", region_name="us-east-1") 1674s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1674s  1674s conn = boto3.client("lambda", region_name="us-east-1") 1674s func1 = conn.create_function( 1674s FunctionName=function_name, 1674s Runtime=PYTHON_VERSION, 1674s Role=get_role_name(), 1674s Handler="lambda_function.lambda_handler", 1674s Code={"ZipFile": get_test_zip_file3()}, 1674s Description="test lambda function", 1674s Timeout=3, 1674s MemorySize=128, 1674s Publish=True, 1674s ) 1674s func2 = conn.create_function( 1674s FunctionName="testFunction2", 1674s Runtime=PYTHON_VERSION, 1674s Role=get_role_name(), 1674s Handler="lambda_function.lambda_handler", 1674s Code={"ZipFile": get_test_zip_file3()}, 1674s Description="test lambda function", 1674s Timeout=3, 1674s MemorySize=128, 1674s Publish=True, 1674s ) 1674s > response = conn.create_event_source_mapping( 1674s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func1["FunctionArn"] 1674s ) 1674s 1674s tests/test_awslambda/test_lambda_eventsourcemapping.py:548: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s operation_name = 'CreateEventSourceMapping' 1674s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:eca633_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:eca633'} 1674s 1674s @with_current_context() 1674s def _make_api_call(self, operation_name, api_params): 1674s operation_model = self._service_model.operation_model(operation_name) 1674s service_name = self._service_model.service_name 1674s history_recorder.record( 1674s 'API_CALL', 1674s { 1674s 'service': service_name, 1674s 'operation': operation_name, 1674s 'params': api_params, 1674s }, 1674s ) 1674s if operation_model.deprecated: 1674s logger.debug( 1674s 'Warning: %s.%s() is deprecated', service_name, operation_name 1674s ) 1674s request_context = { 1674s 'client_region': self.meta.region_name, 1674s 'client_config': self.meta.config, 1674s 'has_streaming_input': operation_model.has_streaming_input, 1674s 'auth_type': operation_model.resolved_auth_type, 1674s 'unsigned_payload': operation_model.unsigned_payload, 1674s 'auth_options': self._service_model.metadata.get('auth'), 1674s } 1674s  1674s api_params = self._emit_api_params( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s context=request_context, 1674s ) 1674s ( 1674s endpoint_url, 1674s additional_headers, 1674s properties, 1674s ) = self._resolve_endpoint_ruleset( 1674s operation_model, api_params, request_context 1674s ) 1674s if properties: 1674s # Pass arbitrary endpoint info with the Request 1674s # for use during construction. 1674s request_context['endpoint_properties'] = properties 1674s request_dict = self._convert_to_request_dict( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s endpoint_url=endpoint_url, 1674s context=request_context, 1674s headers=additional_headers, 1674s ) 1674s resolve_checksum_context(request_dict, operation_model, api_params) 1674s  1674s service_id = self._service_model.service_id.hyphenize() 1674s handler, event_response = self.meta.events.emit_until_response( 1674s f'before-call.{service_id}.{operation_name}', 1674s model=operation_model, 1674s params=request_dict, 1674s request_signer=self._request_signer, 1674s context=request_context, 1674s ) 1674s  1674s if event_response is not None: 1674s http, parsed_response = event_response 1674s else: 1674s maybe_compress_request( 1674s self.meta.config, request_dict, operation_model 1674s ) 1674s apply_request_checksum(request_dict) 1674s http, parsed_response = self._make_request( 1674s operation_model, request_dict, request_context 1674s ) 1674s  1674s self.meta.events.emit( 1674s f'after-call.{service_id}.{operation_name}', 1674s http_response=http, 1674s parsed=parsed_response, 1674s model=operation_model, 1674s context=request_context, 1674s ) 1674s  1674s if http.status_code >= 300: 1674s error_info = parsed_response.get("Error", {}) 1674s error_code = request_context.get( 1674s 'error_code_override' 1674s ) or error_info.get("Code") 1674s error_class = self.exceptions.from_code(error_code) 1674s > raise error_class(parsed_response, operation_name) 1674s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1674s 1674s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1674s _______________________ test_delete_event_source_mapping _______________________ 1674s 1674s @mock_aws 1674s def test_delete_event_source_mapping(): 1674s function_name = str(uuid.uuid4())[0:6] 1674s sqs = boto3.resource("sqs", region_name="us-east-1") 1674s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1674s  1674s conn = boto3.client("lambda", region_name="us-east-1") 1674s func1 = conn.create_function( 1674s FunctionName=function_name, 1674s Runtime=PYTHON_VERSION, 1674s Role=get_role_name(), 1674s Handler="lambda_function.lambda_handler", 1674s Code={"ZipFile": get_test_zip_file3()}, 1674s Description="test lambda function", 1674s Timeout=3, 1674s MemorySize=128, 1674s Publish=True, 1674s ) 1674s > response = conn.create_event_source_mapping( 1674s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func1["FunctionArn"] 1674s ) 1674s 1674s tests/test_awslambda/test_lambda_eventsourcemapping.py:635: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s operation_name = 'CreateEventSourceMapping' 1674s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:75ca4c_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:75ca4c'} 1674s 1674s @with_current_context() 1674s def _make_api_call(self, operation_name, api_params): 1674s operation_model = self._service_model.operation_model(operation_name) 1674s service_name = self._service_model.service_name 1674s history_recorder.record( 1674s 'API_CALL', 1674s { 1674s 'service': service_name, 1674s 'operation': operation_name, 1674s 'params': api_params, 1674s }, 1674s ) 1674s if operation_model.deprecated: 1674s logger.debug( 1674s 'Warning: %s.%s() is deprecated', service_name, operation_name 1674s ) 1674s request_context = { 1674s 'client_region': self.meta.region_name, 1674s 'client_config': self.meta.config, 1674s 'has_streaming_input': operation_model.has_streaming_input, 1674s 'auth_type': operation_model.resolved_auth_type, 1674s 'unsigned_payload': operation_model.unsigned_payload, 1674s 'auth_options': self._service_model.metadata.get('auth'), 1674s } 1674s  1674s api_params = self._emit_api_params( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s context=request_context, 1674s ) 1674s ( 1674s endpoint_url, 1674s additional_headers, 1674s properties, 1674s ) = self._resolve_endpoint_ruleset( 1674s operation_model, api_params, request_context 1674s ) 1674s if properties: 1674s # Pass arbitrary endpoint info with the Request 1674s # for use during construction. 1674s request_context['endpoint_properties'] = properties 1674s request_dict = self._convert_to_request_dict( 1674s api_params=api_params, 1674s operation_model=operation_model, 1674s endpoint_url=endpoint_url, 1674s context=request_context, 1674s headers=additional_headers, 1674s ) 1674s resolve_checksum_context(request_dict, operation_model, api_params) 1674s  1674s service_id = self._service_model.service_id.hyphenize() 1674s handler, event_response = self.meta.events.emit_until_response( 1674s f'before-call.{service_id}.{operation_name}', 1674s model=operation_model, 1674s params=request_dict, 1674s request_signer=self._request_signer, 1674s context=request_context, 1674s ) 1674s  1674s if event_response is not None: 1674s http, parsed_response = event_response 1674s else: 1674s maybe_compress_request( 1674s self.meta.config, request_dict, operation_model 1674s ) 1674s apply_request_checksum(request_dict) 1674s http, parsed_response = self._make_request( 1674s operation_model, request_dict, request_context 1674s ) 1674s  1674s self.meta.events.emit( 1674s f'after-call.{service_id}.{operation_name}', 1674s http_response=http, 1674s parsed=parsed_response, 1674s model=operation_model, 1674s context=request_context, 1674s ) 1674s  1674s if http.status_code >= 300: 1674s error_info = parsed_response.get("Error", {}) 1674s error_code = request_context.get( 1674s 'error_code_override' 1674s ) or error_info.get("Code") 1674s error_class = self.exceptions.from_code(error_code) 1674s > raise error_class(parsed_response, operation_name) 1674s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1674s 1674s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1674s _________________________ test_describe_flow_succeeds __________________________ 1674s 1674s @mock_aws 1674s def test_describe_flow_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s > describe_response = client.describe_flow(FlowArn=flow_arn) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:157: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s __________________________ test_delete_flow_succeeds ___________________________ 1674s 1674s @mock_aws 1674s def test_delete_flow_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s > delete_response = client.delete_flow(FlowArn=flow_arn) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:170: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:49: in delete_flow 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ________________________ test_start_stop_flow_succeeds _________________________ 1674s 1674s @mock_aws 1674s def test_start_stop_flow_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s assert create_response["Flow"]["Status"] == "STANDBY" 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s  1674s > start_response = client.start_flow(FlowArn=flow_arn) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:186: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:54: in start_flow 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ______________________________ test_unknown_flow _______________________________ 1674s 1674s @mock_aws 1674s def test_unknown_flow(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s  1674s with pytest.raises(ClientError) as exc: 1674s > client.describe_flow(FlowArn="unknown") 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:210: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s __________________________ test_tag_resource_succeeds __________________________ 1674s 1674s @mock_aws 1674s def test_tag_resource_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s  1674s > tag_response = client.tag_resource(ResourceArn="some-arn", Tags={"Tag1": "Value1"}) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:234: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:64: in tag_resource 1674s resource_arn = unquote(self._get_param("resourceArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ____________________ test_add_flow_vpc_interfaces_succeeds _____________________ 1674s 1674s @mock_aws 1674s def test_add_flow_vpc_interfaces_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s assert create_response["Flow"]["Status"] == "STANDBY" 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s  1674s > client.add_flow_vpc_interfaces( 1674s FlowArn=flow_arn, 1674s VpcInterfaces=[ 1674s { 1674s "Name": "VPCInterface", 1674s "SubnetId": "", 1674s "SecurityGroupIds": [], 1674s "RoleArn": "", 1674s } 1674s ], 1674s ) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:252: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:75: in add_flow_vpc_interfaces 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ______________________ test_add_flow_vpc_interfaces_fails ______________________ 1674s 1674s @mock_aws 1674s def test_add_flow_vpc_interfaces_fails(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s flow_arn = "unknown-flow" 1674s with pytest.raises(ClientError) as err: 1674s > client.add_flow_vpc_interfaces(FlowArn=flow_arn, VpcInterfaces=[]) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:281: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:75: in add_flow_vpc_interfaces 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ___________________ test_remove_flow_vpc_interface_succeeds ____________________ 1674s 1674s @mock_aws 1674s def test_remove_flow_vpc_interface_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s assert create_response["Flow"]["Status"] == "STANDBY" 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s  1674s > client.add_flow_vpc_interfaces( 1674s FlowArn=flow_arn, 1674s VpcInterfaces=[ 1674s { 1674s "Name": "VPCInterface", 1674s "SubnetId": "", 1674s "SecurityGroupIds": [], 1674s "RoleArn": "", 1674s } 1674s ], 1674s ) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:297: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:75: in add_flow_vpc_interfaces 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s _____________________ test_remove_flow_vpc_interface_fails _____________________ 1674s 1674s @mock_aws 1674s def test_remove_flow_vpc_interface_fails(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s flow_arn = "unknown-flow" 1674s with pytest.raises(ClientError) as err: 1674s > client.remove_flow_vpc_interface( 1674s FlowArn=flow_arn, VpcInterfaceName="VPCInterface" 1674s ) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:324: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:85: in remove_flow_vpc_interface 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ________________________ test_add_flow_outputs_succeeds ________________________ 1674s 1674s @mock_aws 1674s def test_add_flow_outputs_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s assert create_response["Flow"]["Status"] == "STANDBY" 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s  1674s > client.add_flow_outputs( 1674s FlowArn=flow_arn, 1674s Outputs=[ 1674s {"Description": "string", "Name": "string", "Port": 123, "Protocol": "rist"} 1674s ], 1674s ) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:342: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:95: in add_flow_outputs 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s _________________________ test_add_flow_outputs_fails __________________________ 1674s 1674s @mock_aws 1674s def test_add_flow_outputs_fails(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s flow_arn = "unknown-flow" 1674s with pytest.raises(ClientError) as err: 1674s > client.add_flow_outputs(FlowArn=flow_arn, Outputs=[]) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:360: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:95: in add_flow_outputs 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s _______________________ test_update_flow_output_succeeds _______________________ 1674s 1674s @mock_aws 1674s def test_update_flow_output_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s assert create_response["Flow"]["Status"] == "STANDBY" 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s output_arn = create_response["Flow"]["Outputs"][0]["OutputArn"] 1674s  1674s > update_response = client.update_flow_output( 1674s FlowArn=flow_arn, OutputArn=output_arn, Description="new description" 1674s ) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:377: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:111: in update_flow_output 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ________________________ test_update_flow_output_fails _________________________ 1674s 1674s @mock_aws 1674s def test_update_flow_output_fails(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s flow_arn = "unknown-flow" 1674s with pytest.raises(ClientError) as err: 1674s > client.update_flow_output( 1674s FlowArn=flow_arn, 1674s OutputArn="some-arn", 1674s Description="new description", 1674s ) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:388: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:111: in update_flow_output 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ________________________ test_remove_flow_output_fails _________________________ 1674s 1674s @mock_aws 1674s def test_remove_flow_output_fails(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s flow_arn = "unknown-flow" 1674s output_arn = "unknown-arn" 1674s with pytest.raises(ClientError) as err: 1674s > client.remove_flow_output(FlowArn=flow_arn, OutputArn=output_arn) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:404: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:103: in remove_flow_output 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s _______________________ test_remove_flow_output_succeeds _______________________ 1674s 1674s @mock_aws 1674s def test_remove_flow_output_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s assert create_response["Flow"]["Status"] == "STANDBY" 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s  1674s > client.add_flow_outputs( 1674s FlowArn=flow_arn, 1674s Outputs=[ 1674s {"Description": "string", "Name": "string", "Port": 123, "Protocol": "rist"} 1674s ], 1674s ) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:420: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:95: in add_flow_outputs 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s _________________________ test_add_flow_sources_fails __________________________ 1674s 1674s @mock_aws 1674s def test_add_flow_sources_fails(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s flow_arn = "unknown-flow" 1674s with pytest.raises(ClientError) as err: 1674s > client.add_flow_sources(FlowArn=flow_arn, Sources=[]) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:442: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:152: in add_flow_sources 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ________________________ test_add_flow_sources_succeeds ________________________ 1674s 1674s @mock_aws 1674s def test_add_flow_sources_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s assert create_response["Flow"]["Status"] == "STANDBY" 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s  1674s > client.add_flow_sources( 1674s FlowArn=flow_arn, 1674s Sources=[ 1674s { 1674s "Description": "string", 1674s "Name": "string", 1674s "Protocol": "rist", 1674s "SenderControlPort": 123, 1674s } 1674s ], 1674s ) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:458: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:152: in add_flow_sources 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ________________________ test_update_flow_source_fails _________________________ 1674s 1674s @mock_aws 1674s def test_update_flow_source_fails(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s flow_arn = "unknown-flow" 1674s source_arn = "unknown-source" 1674s  1674s channel_config = _create_flow_config("test-Flow-1") 1674s client.create_flow(**channel_config) 1674s  1674s with pytest.raises(ClientError) as err: 1674s > client.update_flow_source( 1674s FlowArn=flow_arn, SourceArn=source_arn, Description="new description" 1674s ) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:485: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:160: in update_flow_source 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s _______________________ test_update_flow_source_succeeds _______________________ 1674s 1674s @mock_aws 1674s def test_update_flow_source_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s assert create_response["Flow"]["Status"] == "STANDBY" 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s  1674s > add_response = client.add_flow_sources( 1674s FlowArn=flow_arn, 1674s Sources=[ 1674s { 1674s "Description": "string", 1674s "Name": "string", 1674s "Protocol": "rist", 1674s "SenderControlPort": 123, 1674s } 1674s ], 1674s ) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:503: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:152: in add_flow_sources 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ______________________ test_grant_flow_entitlements_fails ______________________ 1674s 1674s @mock_aws 1674s def test_grant_flow_entitlements_fails(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s flow_arn = "unknown-flow" 1674s  1674s channel_config = _create_flow_config("test-Flow-1") 1674s client.create_flow(**channel_config) 1674s  1674s with pytest.raises(ClientError) as err: 1674s > client.grant_flow_entitlements( 1674s FlowArn=flow_arn, 1674s Entitlements=[ 1674s { 1674s "DataTransferSubscriberFeePercent": 12, 1674s "Description": "A new entitlement", 1674s "Encryption": {"Algorithm": "aes256", "RoleArn": "some:role"}, 1674s "EntitlementStatus": "ENABLED", 1674s "Name": "Entitlement-B", 1674s "Subscribers": [], 1674s } 1674s ], 1674s ) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:536: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:201: in grant_flow_entitlements 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ____________________ test_grant_flow_entitlements_succeeds _____________________ 1674s 1674s @mock_aws 1674s def test_grant_flow_entitlements_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s assert create_response["Flow"]["Status"] == "STANDBY" 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s  1674s > describe_response = client.describe_flow(FlowArn=flow_arn) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:564: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ______________________ test_revoke_flow_entitlement_fails ______________________ 1674s 1674s @mock_aws 1674s def test_revoke_flow_entitlement_fails(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s assert create_response["Flow"]["Status"] == "STANDBY" 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s  1674s > describe_response = client.describe_flow(FlowArn=flow_arn) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:607: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ____________________ test_revoke_flow_entitlement_succeeds _____________________ 1674s 1674s @mock_aws 1674s def test_revoke_flow_entitlement_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s assert create_response["Flow"]["Status"] == "STANDBY" 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s  1674s > describe_response = client.describe_flow(FlowArn=flow_arn) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:630: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ______________________ test_update_flow_entitlement_fails ______________________ 1674s 1674s @mock_aws 1674s def test_update_flow_entitlement_fails(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s assert create_response["Flow"]["Status"] == "STANDBY" 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s  1674s > describe_response = client.describe_flow(FlowArn=flow_arn) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:655: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ____________________ test_update_flow_entitlement_succeeds _____________________ 1674s 1674s @mock_aws 1674s def test_update_flow_entitlement_succeeds(): 1674s client = boto3.client("mediaconnect", region_name=region) 1674s channel_config = _create_flow_config("test-Flow-1") 1674s  1674s create_response = client.create_flow(**channel_config) 1674s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1674s assert create_response["Flow"]["Status"] == "STANDBY" 1674s flow_arn = create_response["Flow"]["FlowArn"] 1674s  1674s > describe_response = client.describe_flow(FlowArn=flow_arn) 1674s 1674s tests/test_mediaconnect/test_mediaconnect.py:680: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1674s http, parsed_response = self._make_request( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1674s return self._endpoint.make_request(operation_model, request_dict) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1674s return self._send_request(request_dict, operation_model) 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1674s while self._needs_retry( 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1674s responses = self._event_emitter.emit( 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1674s if self._checker(**checker_kwargs): 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1674s should_retry = self._should_retry( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1674s return self._checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1674s checker_response = checker( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1674s return self._check_caught_exception( 1674s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1674s raise caught_exception 1674s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1674s responses = self._event_emitter.emit(event_name, request=request) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1674s return self._emitter.emit(aliased_event_name, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1674s return self._emit(event_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1674s response = handler(**kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1674s response = self.process_request(request) 1674s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1674s status, headers, body = method_to_execute( 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1674s return cls()._dispatch(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1674s return self.call_action() 1674s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1674s response = method() 1674s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1674s flow_arn = unquote(self._get_param("flowArn")) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s string = None, encoding = 'utf-8', errors = 'replace' 1674s 1674s def unquote(string, encoding='utf-8', errors='replace'): 1674s  """Replace %xx escapes by their single-character equivalent. The optional 1674s  encoding and errors parameters specify how to decode percent-encoded 1674s  sequences into Unicode characters, as accepted by the bytes.decode() 1674s  method. 1674s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1674s  sequences are replaced by a placeholder character. 1674s  1674s  unquote('abc%20def') -> 'abc def'. 1674s  """ 1674s if isinstance(string, bytes): 1674s return _unquote_impl(string).decode(encoding, errors) 1674s > if '%' not in string: 1674s E TypeError: argument of type 'NoneType' is not iterable 1674s 1674s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1674s ___________________________ test_create_app_response ___________________________ 1674s 1674s @freeze_time("2015-01-01") 1674s @mock_aws 1674s def test_create_app_response(): 1674s > client = boto3.client("opsworks", region_name="us-east-1") 1674s 1674s tests/test_opsworks/test_apps.py:12: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1674s return _get_default_session().client(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1674s return self._session.create_client( 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1674s client = client_creator.create_client( 1674s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1674s service_model = self._load_service_model(service_name, api_version) 1674s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1674s json_model = self._loader.load_service_model( 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1674s data = func(self, *args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s service_name = 'opsworks', type_name = 'service-2', api_version = None 1674s 1674s @instance_cache 1674s def load_service_model(self, service_name, type_name, api_version=None): 1674s  """Load a botocore service model 1674s  1674s  This is the main method for loading botocore models (e.g. a service 1674s  model, pagination configs, waiter configs, etc.). 1674s  1674s  :type service_name: str 1674s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1674s  1674s  :type type_name: str 1674s  :param type_name: The model type. Valid types include, but are not 1674s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1674s  1674s  :type api_version: str 1674s  :param api_version: The API version to load. If this is not 1674s  provided, then the latest API version will be used. 1674s  1674s  :type load_extras: bool 1674s  :param load_extras: Whether or not to load the tool extras which 1674s  contain additional data to be added to the model. 1674s  1674s  :raises: UnknownServiceError if there is no known service with 1674s  the provided service_name. 1674s  1674s  :raises: DataNotFoundError if no data could be found for the 1674s  service_name/type_name/api_version. 1674s  1674s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1674s  """ 1674s # Wrapper around the load_data. This will calculate the path 1674s # to call load_data with. 1674s known_services = self.list_available_services(type_name) 1674s if service_name not in known_services: 1674s > raise UnknownServiceError( 1674s service_name=service_name, 1674s known_service_names=', '.join(sorted(known_services)), 1674s ) 1674s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1674s 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1674s ______________________________ test_describe_apps ______________________________ 1674s 1674s @freeze_time("2015-01-01") 1674s @mock_aws 1674s def test_describe_apps(): 1674s > client = boto3.client("opsworks", region_name="us-east-1") 1674s 1674s tests/test_opsworks/test_apps.py:49: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1674s return _get_default_session().client(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1674s return self._session.create_client( 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1674s client = client_creator.create_client( 1674s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1674s service_model = self._load_service_model(service_name, api_version) 1674s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1674s json_model = self._loader.load_service_model( 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1674s data = func(self, *args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s service_name = 'opsworks', type_name = 'service-2', api_version = None 1674s 1674s @instance_cache 1674s def load_service_model(self, service_name, type_name, api_version=None): 1674s  """Load a botocore service model 1674s  1674s  This is the main method for loading botocore models (e.g. a service 1674s  model, pagination configs, waiter configs, etc.). 1674s  1674s  :type service_name: str 1674s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1674s  1674s  :type type_name: str 1674s  :param type_name: The model type. Valid types include, but are not 1674s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1674s  1674s  :type api_version: str 1674s  :param api_version: The API version to load. If this is not 1674s  provided, then the latest API version will be used. 1674s  1674s  :type load_extras: bool 1674s  :param load_extras: Whether or not to load the tool extras which 1674s  contain additional data to be added to the model. 1674s  1674s  :raises: UnknownServiceError if there is no known service with 1674s  the provided service_name. 1674s  1674s  :raises: DataNotFoundError if no data could be found for the 1674s  service_name/type_name/api_version. 1674s  1674s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1674s  """ 1674s # Wrapper around the load_data. This will calculate the path 1674s # to call load_data with. 1674s known_services = self.list_available_services(type_name) 1674s if service_name not in known_services: 1674s > raise UnknownServiceError( 1674s service_name=service_name, 1674s known_service_names=', '.join(sorted(known_services)), 1674s ) 1674s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1674s 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1674s _____________________________ test_create_instance _____________________________ 1674s 1674s @mock_aws 1674s def test_create_instance(): 1674s > client = boto3.client("opsworks", region_name="us-east-1") 1674s 1674s tests/test_opsworks/test_instances.py:11: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1674s return _get_default_session().client(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1674s return self._session.create_client( 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1674s client = client_creator.create_client( 1674s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1674s service_model = self._load_service_model(service_name, api_version) 1674s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1674s json_model = self._loader.load_service_model( 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1674s data = func(self, *args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s service_name = 'opsworks', type_name = 'service-2', api_version = None 1674s 1674s @instance_cache 1674s def load_service_model(self, service_name, type_name, api_version=None): 1674s  """Load a botocore service model 1674s  1674s  This is the main method for loading botocore models (e.g. a service 1674s  model, pagination configs, waiter configs, etc.). 1674s  1674s  :type service_name: str 1674s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1674s  1674s  :type type_name: str 1674s  :param type_name: The model type. Valid types include, but are not 1674s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1674s  1674s  :type api_version: str 1674s  :param api_version: The API version to load. If this is not 1674s  provided, then the latest API version will be used. 1674s  1674s  :type load_extras: bool 1674s  :param load_extras: Whether or not to load the tool extras which 1674s  contain additional data to be added to the model. 1674s  1674s  :raises: UnknownServiceError if there is no known service with 1674s  the provided service_name. 1674s  1674s  :raises: DataNotFoundError if no data could be found for the 1674s  service_name/type_name/api_version. 1674s  1674s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1674s  """ 1674s # Wrapper around the load_data. This will calculate the path 1674s # to call load_data with. 1674s known_services = self.list_available_services(type_name) 1674s if service_name not in known_services: 1674s > raise UnknownServiceError( 1674s service_name=service_name, 1674s known_service_names=', '.join(sorted(known_services)), 1674s ) 1674s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1674s 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1674s ___________________________ test_describe_instances ____________________________ 1674s 1674s @mock_aws 1674s def test_describe_instances(): 1674s  """ 1674s  create two stacks, with 1 layer and 2 layers (S1L1, S2L1, S2L2) 1674s  1674s  populate S1L1 with 2 instances (S1L1_i1, S1L1_i2) 1674s  populate S2L1 with 1 instance (S2L1_i1) 1674s  populate S2L2 with 3 instances (S2L2_i1..2) 1674s  """ 1674s  1674s > client = boto3.client("opsworks", region_name="us-east-1") 1674s 1674s tests/test_opsworks/test_instances.py:87: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1674s return _get_default_session().client(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1674s return self._session.create_client( 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1674s client = client_creator.create_client( 1674s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1674s service_model = self._load_service_model(service_name, api_version) 1674s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1674s json_model = self._loader.load_service_model( 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1674s data = func(self, *args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s service_name = 'opsworks', type_name = 'service-2', api_version = None 1674s 1674s @instance_cache 1674s def load_service_model(self, service_name, type_name, api_version=None): 1674s  """Load a botocore service model 1674s  1674s  This is the main method for loading botocore models (e.g. a service 1674s  model, pagination configs, waiter configs, etc.). 1674s  1674s  :type service_name: str 1674s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1674s  1674s  :type type_name: str 1674s  :param type_name: The model type. Valid types include, but are not 1674s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1674s  1674s  :type api_version: str 1674s  :param api_version: The API version to load. If this is not 1674s  provided, then the latest API version will be used. 1674s  1674s  :type load_extras: bool 1674s  :param load_extras: Whether or not to load the tool extras which 1674s  contain additional data to be added to the model. 1674s  1674s  :raises: UnknownServiceError if there is no known service with 1674s  the provided service_name. 1674s  1674s  :raises: DataNotFoundError if no data could be found for the 1674s  service_name/type_name/api_version. 1674s  1674s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1674s  """ 1674s # Wrapper around the load_data. This will calculate the path 1674s # to call load_data with. 1674s known_services = self.list_available_services(type_name) 1674s if service_name not in known_services: 1674s > raise UnknownServiceError( 1674s service_name=service_name, 1674s known_service_names=', '.join(sorted(known_services)), 1674s ) 1674s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1674s 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1674s _____________________________ test_ec2_integration _____________________________ 1674s 1674s @mock_aws 1674s def test_ec2_integration(): 1674s  """Verify instances created via OpsWorks are discoverable via ec2.""" 1674s > opsworks = boto3.client("opsworks", region_name="us-east-1") 1674s 1674s tests/test_opsworks/test_instances.py:186: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1674s return _get_default_session().client(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1674s return self._session.create_client( 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1674s client = client_creator.create_client( 1674s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1674s service_model = self._load_service_model(service_name, api_version) 1674s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1674s json_model = self._loader.load_service_model( 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1674s data = func(self, *args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s service_name = 'opsworks', type_name = 'service-2', api_version = None 1674s 1674s @instance_cache 1674s def load_service_model(self, service_name, type_name, api_version=None): 1674s  """Load a botocore service model 1674s  1674s  This is the main method for loading botocore models (e.g. a service 1674s  model, pagination configs, waiter configs, etc.). 1674s  1674s  :type service_name: str 1674s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1674s  1674s  :type type_name: str 1674s  :param type_name: The model type. Valid types include, but are not 1674s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1674s  1674s  :type api_version: str 1674s  :param api_version: The API version to load. If this is not 1674s  provided, then the latest API version will be used. 1674s  1674s  :type load_extras: bool 1674s  :param load_extras: Whether or not to load the tool extras which 1674s  contain additional data to be added to the model. 1674s  1674s  :raises: UnknownServiceError if there is no known service with 1674s  the provided service_name. 1674s  1674s  :raises: DataNotFoundError if no data could be found for the 1674s  service_name/type_name/api_version. 1674s  1674s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1674s  """ 1674s # Wrapper around the load_data. This will calculate the path 1674s # to call load_data with. 1674s known_services = self.list_available_services(type_name) 1674s if service_name not in known_services: 1674s > raise UnknownServiceError( 1674s service_name=service_name, 1674s known_service_names=', '.join(sorted(known_services)), 1674s ) 1674s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1674s 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1674s __________________________ test_create_layer_response __________________________ 1674s 1674s @freeze_time("2015-01-01") 1674s @mock_aws 1674s def test_create_layer_response(): 1674s > client = boto3.client("opsworks", region_name="us-east-1") 1674s 1674s tests/test_opsworks/test_layers.py:12: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1674s return _get_default_session().client(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1674s return self._session.create_client( 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1674s client = client_creator.create_client( 1674s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1674s service_model = self._load_service_model(service_name, api_version) 1674s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1674s json_model = self._loader.load_service_model( 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1674s data = func(self, *args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s service_name = 'opsworks', type_name = 'service-2', api_version = None 1674s 1674s @instance_cache 1674s def load_service_model(self, service_name, type_name, api_version=None): 1674s  """Load a botocore service model 1674s  1674s  This is the main method for loading botocore models (e.g. a service 1674s  model, pagination configs, waiter configs, etc.). 1674s  1674s  :type service_name: str 1674s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1674s  1674s  :type type_name: str 1674s  :param type_name: The model type. Valid types include, but are not 1674s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1674s  1674s  :type api_version: str 1674s  :param api_version: The API version to load. If this is not 1674s  provided, then the latest API version will be used. 1674s  1674s  :type load_extras: bool 1674s  :param load_extras: Whether or not to load the tool extras which 1674s  contain additional data to be added to the model. 1674s  1674s  :raises: UnknownServiceError if there is no known service with 1674s  the provided service_name. 1674s  1674s  :raises: DataNotFoundError if no data could be found for the 1674s  service_name/type_name/api_version. 1674s  1674s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1674s  """ 1674s # Wrapper around the load_data. This will calculate the path 1674s # to call load_data with. 1674s known_services = self.list_available_services(type_name) 1674s if service_name not in known_services: 1674s > raise UnknownServiceError( 1674s service_name=service_name, 1674s known_service_names=', '.join(sorted(known_services)), 1674s ) 1674s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1674s 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1674s _____________________________ test_describe_layers _____________________________ 1674s 1674s @freeze_time("2015-01-01") 1674s @mock_aws 1674s def test_describe_layers(): 1674s > client = boto3.client("opsworks", region_name="us-east-1") 1674s 1674s tests/test_opsworks/test_layers.py:74: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1674s return _get_default_session().client(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1674s return self._session.create_client( 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1674s client = client_creator.create_client( 1674s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1674s service_model = self._load_service_model(service_name, api_version) 1674s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1674s json_model = self._loader.load_service_model( 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1674s data = func(self, *args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s service_name = 'opsworks', type_name = 'service-2', api_version = None 1674s 1674s @instance_cache 1674s def load_service_model(self, service_name, type_name, api_version=None): 1674s  """Load a botocore service model 1674s  1674s  This is the main method for loading botocore models (e.g. a service 1674s  model, pagination configs, waiter configs, etc.). 1674s  1674s  :type service_name: str 1674s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1674s  1674s  :type type_name: str 1674s  :param type_name: The model type. Valid types include, but are not 1674s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1674s  1674s  :type api_version: str 1674s  :param api_version: The API version to load. If this is not 1674s  provided, then the latest API version will be used. 1674s  1674s  :type load_extras: bool 1674s  :param load_extras: Whether or not to load the tool extras which 1674s  contain additional data to be added to the model. 1674s  1674s  :raises: UnknownServiceError if there is no known service with 1674s  the provided service_name. 1674s  1674s  :raises: DataNotFoundError if no data could be found for the 1674s  service_name/type_name/api_version. 1674s  1674s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1674s  """ 1674s # Wrapper around the load_data. This will calculate the path 1674s # to call load_data with. 1674s known_services = self.list_available_services(type_name) 1674s if service_name not in known_services: 1674s > raise UnknownServiceError( 1674s service_name=service_name, 1674s known_service_names=', '.join(sorted(known_services)), 1674s ) 1674s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1674s 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1674s __________________________ test_create_stack_response __________________________ 1674s 1674s @mock_aws 1674s def test_create_stack_response(): 1674s > client = boto3.client("opsworks", region_name="us-east-1") 1674s 1674s tests/test_opsworks/test_stack.py:9: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1674s return _get_default_session().client(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1674s return self._session.create_client( 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1674s client = client_creator.create_client( 1674s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1674s service_model = self._load_service_model(service_name, api_version) 1674s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1674s json_model = self._loader.load_service_model( 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1674s data = func(self, *args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s service_name = 'opsworks', type_name = 'service-2', api_version = None 1674s 1674s @instance_cache 1674s def load_service_model(self, service_name, type_name, api_version=None): 1674s  """Load a botocore service model 1674s  1674s  This is the main method for loading botocore models (e.g. a service 1674s  model, pagination configs, waiter configs, etc.). 1674s  1674s  :type service_name: str 1674s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1674s  1674s  :type type_name: str 1674s  :param type_name: The model type. Valid types include, but are not 1674s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1674s  1674s  :type api_version: str 1674s  :param api_version: The API version to load. If this is not 1674s  provided, then the latest API version will be used. 1674s  1674s  :type load_extras: bool 1674s  :param load_extras: Whether or not to load the tool extras which 1674s  contain additional data to be added to the model. 1674s  1674s  :raises: UnknownServiceError if there is no known service with 1674s  the provided service_name. 1674s  1674s  :raises: DataNotFoundError if no data could be found for the 1674s  service_name/type_name/api_version. 1674s  1674s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1674s  """ 1674s # Wrapper around the load_data. This will calculate the path 1674s # to call load_data with. 1674s known_services = self.list_available_services(type_name) 1674s if service_name not in known_services: 1674s > raise UnknownServiceError( 1674s service_name=service_name, 1674s known_service_names=', '.join(sorted(known_services)), 1674s ) 1674s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1674s 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1674s _____________________________ test_describe_stacks _____________________________ 1674s 1674s @mock_aws 1674s def test_describe_stacks(): 1674s > client = boto3.client("opsworks", region_name="us-east-1") 1674s 1674s tests/test_opsworks/test_stack.py:21: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1674s return _get_default_session().client(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1674s return self._session.create_client( 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1674s client = client_creator.create_client( 1674s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1674s service_model = self._load_service_model(service_name, api_version) 1674s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1674s json_model = self._loader.load_service_model( 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1674s data = func(self, *args, **kwargs) 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s service_name = 'opsworks', type_name = 'service-2', api_version = None 1674s 1674s @instance_cache 1674s def load_service_model(self, service_name, type_name, api_version=None): 1674s  """Load a botocore service model 1674s  1674s  This is the main method for loading botocore models (e.g. a service 1674s  model, pagination configs, waiter configs, etc.). 1674s  1674s  :type service_name: str 1674s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1674s  1674s  :type type_name: str 1674s  :param type_name: The model type. Valid types include, but are not 1674s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1674s  1674s  :type api_version: str 1674s  :param api_version: The API version to load. If this is not 1674s  provided, then the latest API version will be used. 1674s  1674s  :type load_extras: bool 1674s  :param load_extras: Whether or not to load the tool extras which 1674s  contain additional data to be added to the model. 1674s  1674s  :raises: UnknownServiceError if there is no known service with 1674s  the provided service_name. 1674s  1674s  :raises: DataNotFoundError if no data could be found for the 1674s  service_name/type_name/api_version. 1674s  1674s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1674s  """ 1674s # Wrapper around the load_data. This will calculate the path 1674s # to call load_data with. 1674s known_services = self.list_available_services(type_name) 1674s if service_name not in known_services: 1674s > raise UnknownServiceError( 1674s service_name=service_name, 1674s known_service_names=', '.join(sorted(known_services)), 1674s ) 1674s E botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1674s 1674s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1674s _____________________________ test_create_db_proxy _____________________________ 1674s 1674s @mock_aws 1674s def test_create_db_proxy(): 1674s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1674s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1674s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1674s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1674s "Subnet" 1674s ]["SubnetId"] 1674s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1674s "Subnet" 1674s ]["SubnetId"] 1674s > resp = rds_client.create_db_proxy( 1674s DBProxyName="testrdsproxy", 1674s EngineFamily="MYSQL", 1674s Auth=[ 1674s { 1674s "Description": "Test Description", 1674s "UserName": "Test Username", 1674s "AuthScheme": "SECRETS", 1674s "SecretArn": "TestSecretARN", 1674s "IAMAuth": "ENABLED", 1674s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1674s }, 1674s ], 1674s RoleArn="TestArn", 1674s VpcSubnetIds=[subnet_id, subnet_id_2], 1674s RequireTLS=True, 1674s Tags=[{"Key": "TestKey", "Value": "TestValue"}], 1674s ) 1674s 1674s tests/test_rds/test_rds_proxy.py:22: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1674s request_dict = self._convert_to_request_dict( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1674s request_dict = self._serializer.serialize_to_request( 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxy', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1674s operation_model = OperationModel(name=CreateDBProxy) 1674s 1674s def serialize_to_request(self, parameters, operation_model): 1674s input_shape = operation_model.input_shape 1674s if input_shape is not None: 1674s report = self._param_validator.validate( 1674s parameters, operation_model.input_shape 1674s ) 1674s if report.has_errors(): 1674s > raise ParamValidationError(report=report.generate_report()) 1674s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1674s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1674s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1674s 1674s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1674s ___________________________ test_describe_db_proxies ___________________________ 1674s 1674s @mock_aws 1674s def test_describe_db_proxies(): 1674s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1674s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1674s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1674s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1674s "Subnet" 1674s ]["SubnetId"] 1674s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1674s "Subnet" 1674s ]["SubnetId"] 1674s > rds_client.create_db_proxy( 1674s DBProxyName="testrdsproxydescribe", 1674s EngineFamily="MYSQL", 1674s Auth=[ 1674s { 1674s "Description": "Test Description", 1674s "UserName": "Test Username", 1674s "AuthScheme": "SECRETS", 1674s "SecretArn": "TestSecretARN", 1674s "IAMAuth": "ENABLED", 1674s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1674s }, 1674s ], 1674s RoleArn="TestArn", 1674s VpcSubnetIds=[subnet_id, subnet_id_2], 1674s RequireTLS=True, 1674s Tags=[ 1674s {"Key": "TestKey", "Value": "TestValue"}, 1674s {"Key": "aaa", "Value": "bbb"}, 1674s ], 1674s ) 1674s 1674s tests/test_rds/test_rds_proxy.py:76: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1674s request_dict = self._convert_to_request_dict( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1674s request_dict = self._serializer.serialize_to_request( 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1674s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxydescribe', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1674s operation_model = OperationModel(name=CreateDBProxy) 1674s 1674s def serialize_to_request(self, parameters, operation_model): 1674s input_shape = operation_model.input_shape 1674s if input_shape is not None: 1674s report = self._param_validator.validate( 1674s parameters, operation_model.input_shape 1674s ) 1674s if report.has_errors(): 1674s > raise ParamValidationError(report=report.generate_report()) 1674s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1674s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1674s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1674s 1674s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1674s ___________________________ test_list_tags_db_proxy ____________________________ 1674s 1674s @mock_aws 1674s def test_list_tags_db_proxy(): 1674s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1674s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1674s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1674s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1674s "Subnet" 1674s ]["SubnetId"] 1674s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1674s "Subnet" 1674s ]["SubnetId"] 1674s > resp = rds_client.create_db_proxy( 1674s DBProxyName="testrdsproxydescribe", 1674s EngineFamily="MYSQL", 1674s Auth=[ 1674s { 1674s "Description": "Test Description", 1674s "UserName": "Test Username", 1674s "AuthScheme": "SECRETS", 1674s "SecretArn": "TestSecretARN", 1674s "IAMAuth": "ENABLED", 1674s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1674s }, 1674s ], 1674s RoleArn="TestArn", 1674s VpcSubnetIds=[subnet_id, subnet_id_2], 1674s RequireTLS=True, 1674s Tags=[ 1674s {"Key": "TestKey", "Value": "TestValue"}, 1674s {"Key": "aaa", "Value": "bbb"}, 1674s ], 1674s ) 1674s 1674s tests/test_rds/test_rds_proxy.py:134: 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1674s return self._make_api_call(operation_name, kwargs) 1674s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1674s return func(*args, **kwargs) 1674s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1674s request_dict = self._convert_to_request_dict( 1674s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1674s request_dict = self._serializer.serialize_to_request( 1674s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1674s 1674s self = 1675s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxydescribe', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1675s operation_model = OperationModel(name=CreateDBProxy) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1675s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s _____________________ test_create_db_proxy_invalid_subnet ______________________ 1675s 1675s @mock_aws 1675s def test_create_db_proxy_invalid_subnet(): 1675s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1675s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1675s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1675s vpc_id_2 = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1675s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1675s "Subnet" 1675s ]["SubnetId"] 1675s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id_2)[ 1675s "Subnet" 1675s ]["SubnetId"] 1675s with pytest.raises(ClientError) as ex: 1675s > rds_client.create_db_proxy( 1675s DBProxyName="testrdsproxy", 1675s EngineFamily="MYSQL", 1675s Auth=[ 1675s { 1675s "Description": "Test Description", 1675s "UserName": "Test Username", 1675s "AuthScheme": "SECRETS", 1675s "SecretArn": "TestSecretARN", 1675s "IAMAuth": "ENABLED", 1675s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1675s }, 1675s ], 1675s RoleArn="TestArn", 1675s VpcSubnetIds=[subnet_id, subnet_id_2], 1675s RequireTLS=True, 1675s Tags=[{"Key": "TestKey", "Value": "TestValue"}], 1675s ) 1675s 1675s tests/test_rds/test_rds_proxy.py:176: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxy', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1675s operation_model = OperationModel(name=CreateDBProxy) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1675s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s _____________________ test_create_db_proxy_duplicate_name ______________________ 1675s 1675s @mock_aws 1675s def test_create_db_proxy_duplicate_name(): 1675s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1675s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1675s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1675s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1675s "Subnet" 1675s ]["SubnetId"] 1675s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1675s "Subnet" 1675s ]["SubnetId"] 1675s > rds_client.create_db_proxy( 1675s DBProxyName="testrdsproxy", 1675s EngineFamily="MYSQL", 1675s Auth=[ 1675s { 1675s "Description": "Test Description", 1675s "UserName": "Test Username", 1675s "AuthScheme": "SECRETS", 1675s "SecretArn": "TestSecretARN", 1675s "IAMAuth": "ENABLED", 1675s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1675s }, 1675s ], 1675s RoleArn="TestArn", 1675s VpcSubnetIds=[subnet_id, subnet_id_2], 1675s RequireTLS=True, 1675s Tags=[{"Key": "TestKey", "Value": "TestValue"}], 1675s ) 1675s 1675s tests/test_rds/test_rds_proxy.py:209: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxy', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1675s operation_model = OperationModel(name=CreateDBProxy) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1675s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s ________________________ test_get_resources_workspaces _________________________ 1675s 1675s @mock_aws 1675s def test_get_resources_workspaces(): 1675s workspaces = boto3.client("workspaces", region_name="eu-central-1") 1675s  1675s # Create two tagged Workspaces 1675s directory_id = create_directory() 1675s > workspaces.register_workspace_directory( 1675s DirectoryId=directory_id, EnableWorkDocs=False 1675s ) 1675s 1675s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py:804: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-1603818045', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s ___________________ test_get_resources_workspace_directories ___________________ 1675s 1675s @mock_aws 1675s def test_get_resources_workspace_directories(): 1675s workspaces = boto3.client("workspaces", region_name="eu-central-1") 1675s  1675s # Create two tagged Workspaces Directories 1675s for i in range(1, 3): 1675s i_str = str(i) 1675s directory_id = create_directory() 1675s > workspaces.register_workspace_directory( 1675s DirectoryId=directory_id, 1675s EnableWorkDocs=False, 1675s Tags=[ 1675s {"Key": "Test", "Value": i_str}, 1675s ], 1675s ) 1675s 1675s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py:851: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-216d1a6362', 'EnableWorkDocs': False, 'Tags': [{'Key': 'Test', 'Value': '1'}]} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s _____________________ test_get_resources_workspace_images ______________________ 1675s 1675s @mock_aws 1675s def test_get_resources_workspace_images(): 1675s workspaces = boto3.client("workspaces", region_name="eu-central-1") 1675s  1675s # Create two tagged Workspace Images 1675s directory_id = create_directory() 1675s > workspaces.register_workspace_directory( 1675s DirectoryId=directory_id, EnableWorkDocs=False 1675s ) 1675s 1675s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py:880: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-c43c266519', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s ____________________________ test_robot_application ____________________________ 1675s 1675s @mock_aws 1675s def test_robot_application(): 1675s > client = boto3.client("robomaker", region_name="eu-west-1") 1675s 1675s tests/test_robomaker/test_robomaker.py:11: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1675s return _get_default_session().client(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1675s return self._session.create_client( 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1675s client = client_creator.create_client( 1675s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1675s service_model = self._load_service_model(service_name, api_version) 1675s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1675s json_model = self._loader.load_service_model( 1675s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1675s data = func(self, *args, **kwargs) 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s service_name = 'robomaker', type_name = 'service-2', api_version = None 1675s 1675s @instance_cache 1675s def load_service_model(self, service_name, type_name, api_version=None): 1675s  """Load a botocore service model 1675s  1675s  This is the main method for loading botocore models (e.g. a service 1675s  model, pagination configs, waiter configs, etc.). 1675s  1675s  :type service_name: str 1675s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1675s  1675s  :type type_name: str 1675s  :param type_name: The model type. Valid types include, but are not 1675s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1675s  1675s  :type api_version: str 1675s  :param api_version: The API version to load. If this is not 1675s  provided, then the latest API version will be used. 1675s  1675s  :type load_extras: bool 1675s  :param load_extras: Whether or not to load the tool extras which 1675s  contain additional data to be added to the model. 1675s  1675s  :raises: UnknownServiceError if there is no known service with 1675s  the provided service_name. 1675s  1675s  :raises: DataNotFoundError if no data could be found for the 1675s  service_name/type_name/api_version. 1675s  1675s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1675s  """ 1675s # Wrapper around the load_data. This will calculate the path 1675s # to call load_data with. 1675s known_services = self.list_available_services(type_name) 1675s if service_name not in known_services: 1675s > raise UnknownServiceError( 1675s service_name=service_name, 1675s known_service_names=', '.join(sorted(known_services)), 1675s ) 1675s E botocore.exceptions.UnknownServiceError: Unknown service: 'robomaker'. Valid service names are: accessanalyzer, account, acm, acm-pca, aiops, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appfabric, appflow, appintegrations, application-autoscaling, application-insights, application-signals, applicationcostprofiler, appmesh, apprunner, appstream, appsync, arc-region-switch, arc-zonal-shift, artifact, athena, auditmanager, autoscaling, autoscaling-plans, b2bi, backup, backup-gateway, backupsearch, batch, bcm-dashboards, bcm-data-exports, bcm-pricing-calculator, bcm-recommended-actions, bedrock, bedrock-agent, bedrock-agent-runtime, bedrock-agentcore, bedrock-agentcore-control, bedrock-data-automation, bedrock-data-automation-runtime, bedrock-runtime, billing, billingconductor, braket, budgets, ce, chatbot, chime, chime-sdk-identity, chime-sdk-media-pipelines, chime-sdk-meetings, chime-sdk-messaging, chime-sdk-voice, cleanrooms, cleanroomsml, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudfront-keyvaluestore, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudtrail-data, cloudwatch, codeartifact, codebuild, codecatalyst, codecommit, codeconnections, codedeploy, codeguru-reviewer, codeguru-security, codeguruprofiler, codepipeline, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectcampaigns, connectcampaignsv2, connectcases, connectparticipant, controlcatalog, controltower, cost-optimization-hub, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, datazone, dax, deadline, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, docdb-elastic, drs, ds, ds-data, dsql, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, eks-auth, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, emr-serverless, entityresolution, es, events, evidently, evs, finspace, finspace-data, firehose, fis, fms, forecast, forecastquery, frauddetector, freetier, fsx, gamelift, gameliftstreams, geo-maps, geo-places, geo-routes, glacier, globalaccelerator, glue, grafana, greengrass, greengrassv2, groundstation, guardduty, health, healthlake, iam, identitystore, imagebuilder, importexport, inspector, inspector-scan, inspector2, internetmonitor, invoicing, iot, iot-data, iot-jobs-data, iot-managed-integrations, iotanalytics, iotdeviceadvisor, iotevents, iotevents-data, iotfleetwise, iotsecuretunneling, iotsitewise, iotthingsgraph, iottwinmaker, iotwireless, ivs, ivs-realtime, ivschat, kafka, kafkaconnect, kendra, kendra-ranking, keyspaces, keyspacesstreams, kinesis, kinesis-video-archived-media, kinesis-video-media, kinesis-video-signaling, kinesis-video-webrtc-storage, kinesisanalytics, kinesisanalyticsv2, kinesisvideo, kms, lakeformation, lambda, launch-wizard, lex-models, lex-runtime, lexv2-models, lexv2-runtime, license-manager, license-manager-linux-subscriptions, license-manager-user-subscriptions, lightsail, location, logs, lookoutequipment, m2, machinelearning, macie2, mailmanager, managedblockchain, managedblockchain-query, marketplace-agreement, marketplace-catalog, marketplace-deployment, marketplace-entitlement, marketplace-reporting, marketplacecommerceanalytics, mediaconnect, mediaconvert, medialive, mediapackage, mediapackage-vod, mediapackagev2, mediastore, mediastore-data, mediatailor, medical-imaging, memorydb, meteringmarketplace, mgh, mgn, migration-hub-refactor-spaces, migrationhub-config, migrationhuborchestrator, migrationhubstrategy, mpa, mq, mturk, mwaa, neptune, neptune-graph, neptunedata, network-firewall, networkflowmonitor, networkmanager, networkmonitor, notifications, notificationscontacts, oam, observabilityadmin, odb, omics, opensearch, opensearchserverless, organizations, osis, outposts, panorama, partnercentral-selling, payment-cryptography, payment-cryptography-data, pca-connector-ad, pca-connector-scep, pcs, personalize, personalize-events, personalize-runtime, pi, pinpoint, pinpoint-email, pinpoint-sms-voice, pinpoint-sms-voice-v2, pipes, polly, pricing, proton, qapps, qbusiness, qconnect, quicksight, ram, rbin, rds, rds-data, redshift, redshift-data, redshift-serverless, rekognition, repostspace, resiliencehub, resource-explorer-2, resource-groups, resourcegroupstaggingapi, rolesanywhere, route53, route53-recovery-cluster, route53-recovery-control-config, route53-recovery-readiness, route53domains, route53profiles, route53resolver, rtbfabric, rum, s3, s3control, s3outposts, s3tables, s3vectors, sagemaker, sagemaker-a2i-runtime, sagemaker-edge, sagemaker-featurestore-runtime, sagemaker-geospatial, sagemaker-metrics, sagemaker-runtime, savingsplans, scheduler, schemas, sdb, secretsmanager, security-ir, securityhub, securitylake, serverlessrepo, service-quotas, servicecatalog, servicecatalog-appregistry, servicediscovery, ses, sesv2, shield, signer, simspaceweaver, sms-voice, snow-device-management, snowball, sns, socialmessaging, sqs, ssm, ssm-contacts, ssm-guiconnect, ssm-incidents, ssm-quicksetup, ssm-sap, sso, sso-admin, sso-oidc, stepfunctions, storagegateway, sts, supplychain, support, support-app, swf, synthetics, taxsettings, textract, timestream-influxdb, timestream-query, timestream-write, tnb, transcribe, transfer, translate, trustedadvisor, verifiedpermissions, voice-id, vpc-lattice, waf, waf-regional, wafv2, wellarchitected, wisdom, workdocs, workmail, workmailmessageflow, workspaces, workspaces-instances, workspaces-thin-client, workspaces-web, xray 1675s 1675s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1675s __________________ test_locked_object_governance_mode[bypass] __________________ 1675s 1675s bypass_governance_retention = True 1675s bucket_name = '6496f34d-953b-4b5f-aa62-686c5adbf2c5' 1675s 1675s @s3_aws_verified 1675s @pytest.mark.aws_verified 1675s @pytest.mark.parametrize( 1675s "bypass_governance_retention", 1675s [True, False, None], 1675s ids=["bypass", "no_bypass", "unspecified"], 1675s ) 1675s def test_locked_object_governance_mode(bypass_governance_retention, bucket_name=None): 1675s s3_client = boto3.client("s3", DEFAULT_REGION_NAME) 1675s  1675s key_name = "file.txt" 1675s seconds_lock = 10 1675s  1675s enable_versioning(bucket_name, s3_client) 1675s  1675s s3_client.put_object_lock_configuration( 1675s Bucket=bucket_name, 1675s ObjectLockConfiguration={ 1675s "ObjectLockEnabled": "Enabled", 1675s "Rule": {"DefaultRetention": {"Mode": "GOVERNANCE", "Days": 1}}, 1675s }, 1675s ) 1675s  1675s until = utcnow() + datetime.timedelta(seconds=seconds_lock) 1675s s3_client.put_object( 1675s Bucket=bucket_name, 1675s Body=b"test", 1675s Key=key_name, 1675s ObjectLockMode="GOVERNANCE", 1675s ObjectLockRetainUntilDate=until, 1675s ContentMD5=generate_content_md5(b"test"), 1675s ) 1675s  1675s versions_response = s3_client.list_object_versions(Bucket=bucket_name) 1675s initial_version_id = versions_response["Versions"][0]["VersionId"] 1675s  1675s with pytest.raises(ClientError) as exc: 1675s s3_client.delete_object( 1675s Bucket=bucket_name, Key=key_name, VersionId=initial_version_id 1675s ) 1675s err = exc.value.response["Error"] 1675s assert err["Code"] == "AccessDenied" 1675s  1675s kwargs = {} 1675s if bypass_governance_retention in [True, False]: 1675s kwargs["BypassGovernanceRetention"] = bypass_governance_retention 1675s  1675s # Delete the object without VersionId always succeeds 1675s response = s3_client.delete_objects( 1675s Bucket=bucket_name, 1675s Delete={ 1675s "Objects": [ 1675s {"Key": key_name}, 1675s ], 1675s }, 1675s **kwargs, 1675s ) 1675s assert response["Deleted"][0]["Key"] == key_name 1675s deleted_version_id = response["Deleted"][0]["DeleteMarkerVersionId"] 1675s  1675s # Delete any version id only succeeds if BypassGovernanceRetention=true 1675s response = s3_client.delete_objects( 1675s Bucket=bucket_name, 1675s Delete={ 1675s "Objects": [ 1675s {"Key": key_name, "VersionId": initial_version_id}, 1675s ], 1675s }, 1675s **kwargs, 1675s ) 1675s if bypass_governance_retention: 1675s > assert "Deleted" in response 1675s E AssertionError: assert 'Deleted' in {'Errors': [{'Code': 'AccessDenied', 'Key': 'file.txt', 'Message': 'Access Denied because object protected by object l...KIZ'}, 'HTTPStatusCode': 200, 'RequestId': 'LIrAhzinWsP7FznljrljgvJTDvLfWrlt7rtZ7WxO7IoN8Kcu8KIZ', 'RetryAttempts': 0}} 1675s 1675s tests/test_s3/test_s3_lock.py:130: AssertionError 1675s ________________________________ test_get_table ________________________________ 1675s 1675s @mock_aws 1675s def test_get_table(): 1675s client = boto3.client("s3tables", region_name="us-east-2") 1675s arn = client.create_table_bucket(name="foo")["arn"] 1675s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1675s table_arn = client.create_table( 1675s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1675s )["tableARN"] 1675s  1675s assert ( 1675s > client.get_table(tableBucketARN=arn, namespace="bar", name="baz")["tableARN"] 1675s == table_arn 1675s ) 1675s 1675s tests/test_s3tables/test_s3tables.py:156: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s operation_name = 'GetTable' 1675s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1675s 1675s @with_current_context() 1675s def _make_api_call(self, operation_name, api_params): 1675s operation_model = self._service_model.operation_model(operation_name) 1675s service_name = self._service_model.service_name 1675s history_recorder.record( 1675s 'API_CALL', 1675s { 1675s 'service': service_name, 1675s 'operation': operation_name, 1675s 'params': api_params, 1675s }, 1675s ) 1675s if operation_model.deprecated: 1675s logger.debug( 1675s 'Warning: %s.%s() is deprecated', service_name, operation_name 1675s ) 1675s request_context = { 1675s 'client_region': self.meta.region_name, 1675s 'client_config': self.meta.config, 1675s 'has_streaming_input': operation_model.has_streaming_input, 1675s 'auth_type': operation_model.resolved_auth_type, 1675s 'unsigned_payload': operation_model.unsigned_payload, 1675s 'auth_options': self._service_model.metadata.get('auth'), 1675s } 1675s  1675s api_params = self._emit_api_params( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s context=request_context, 1675s ) 1675s ( 1675s endpoint_url, 1675s additional_headers, 1675s properties, 1675s ) = self._resolve_endpoint_ruleset( 1675s operation_model, api_params, request_context 1675s ) 1675s if properties: 1675s # Pass arbitrary endpoint info with the Request 1675s # for use during construction. 1675s request_context['endpoint_properties'] = properties 1675s request_dict = self._convert_to_request_dict( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s endpoint_url=endpoint_url, 1675s context=request_context, 1675s headers=additional_headers, 1675s ) 1675s resolve_checksum_context(request_dict, operation_model, api_params) 1675s  1675s service_id = self._service_model.service_id.hyphenize() 1675s handler, event_response = self.meta.events.emit_until_response( 1675s f'before-call.{service_id}.{operation_name}', 1675s model=operation_model, 1675s params=request_dict, 1675s request_signer=self._request_signer, 1675s context=request_context, 1675s ) 1675s  1675s if event_response is not None: 1675s http, parsed_response = event_response 1675s else: 1675s maybe_compress_request( 1675s self.meta.config, request_dict, operation_model 1675s ) 1675s apply_request_checksum(request_dict) 1675s http, parsed_response = self._make_request( 1675s operation_model, request_dict, request_context 1675s ) 1675s  1675s self.meta.events.emit( 1675s f'after-call.{service_id}.{operation_name}', 1675s http_response=http, 1675s parsed=parsed_response, 1675s model=operation_model, 1675s context=request_context, 1675s ) 1675s  1675s if http.status_code >= 300: 1675s error_info = parsed_response.get("Error", {}) 1675s error_code = request_context.get( 1675s 'error_code_override' 1675s ) or error_info.get("Code") 1675s error_class = self.exceptions.from_code(error_code) 1675s > raise error_class(parsed_response, operation_name) 1675s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1675s 1675s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1675s ______________ test_delete_table_deletes_underlying_table_storage ______________ 1675s 1675s @mock_aws 1675s def test_delete_table_deletes_underlying_table_storage(): 1675s client = boto3.client("s3tables", region_name="us-east-2") 1675s s3 = boto3.client("s3", region_name="us-east-2") 1675s arn = client.create_table_bucket(name="foo")["arn"] 1675s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1675s client.create_table( 1675s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1675s ) 1675s > warehouse = client.get_table(tableBucketARN=arn, namespace="bar", name="baz")[ 1675s "warehouseLocation" 1675s ] 1675s 1675s tests/test_s3tables/test_s3tables.py:227: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s operation_name = 'GetTable' 1675s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1675s 1675s @with_current_context() 1675s def _make_api_call(self, operation_name, api_params): 1675s operation_model = self._service_model.operation_model(operation_name) 1675s service_name = self._service_model.service_name 1675s history_recorder.record( 1675s 'API_CALL', 1675s { 1675s 'service': service_name, 1675s 'operation': operation_name, 1675s 'params': api_params, 1675s }, 1675s ) 1675s if operation_model.deprecated: 1675s logger.debug( 1675s 'Warning: %s.%s() is deprecated', service_name, operation_name 1675s ) 1675s request_context = { 1675s 'client_region': self.meta.region_name, 1675s 'client_config': self.meta.config, 1675s 'has_streaming_input': operation_model.has_streaming_input, 1675s 'auth_type': operation_model.resolved_auth_type, 1675s 'unsigned_payload': operation_model.unsigned_payload, 1675s 'auth_options': self._service_model.metadata.get('auth'), 1675s } 1675s  1675s api_params = self._emit_api_params( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s context=request_context, 1675s ) 1675s ( 1675s endpoint_url, 1675s additional_headers, 1675s properties, 1675s ) = self._resolve_endpoint_ruleset( 1675s operation_model, api_params, request_context 1675s ) 1675s if properties: 1675s # Pass arbitrary endpoint info with the Request 1675s # for use during construction. 1675s request_context['endpoint_properties'] = properties 1675s request_dict = self._convert_to_request_dict( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s endpoint_url=endpoint_url, 1675s context=request_context, 1675s headers=additional_headers, 1675s ) 1675s resolve_checksum_context(request_dict, operation_model, api_params) 1675s  1675s service_id = self._service_model.service_id.hyphenize() 1675s handler, event_response = self.meta.events.emit_until_response( 1675s f'before-call.{service_id}.{operation_name}', 1675s model=operation_model, 1675s params=request_dict, 1675s request_signer=self._request_signer, 1675s context=request_context, 1675s ) 1675s  1675s if event_response is not None: 1675s http, parsed_response = event_response 1675s else: 1675s maybe_compress_request( 1675s self.meta.config, request_dict, operation_model 1675s ) 1675s apply_request_checksum(request_dict) 1675s http, parsed_response = self._make_request( 1675s operation_model, request_dict, request_context 1675s ) 1675s  1675s self.meta.events.emit( 1675s f'after-call.{service_id}.{operation_name}', 1675s http_response=http, 1675s parsed=parsed_response, 1675s model=operation_model, 1675s context=request_context, 1675s ) 1675s  1675s if http.status_code >= 300: 1675s error_info = parsed_response.get("Error", {}) 1675s error_code = request_context.get( 1675s 'error_code_override' 1675s ) or error_info.get("Code") 1675s error_class = self.exceptions.from_code(error_code) 1675s > raise error_class(parsed_response, operation_name) 1675s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1675s 1675s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1675s _____________________ test_update_table_metadata_location ______________________ 1675s 1675s @mock_aws 1675s def test_update_table_metadata_location(): 1675s client = boto3.client("s3tables", region_name="us-east-2") 1675s arn = client.create_table_bucket(name="foo")["arn"] 1675s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1675s resp = client.create_table( 1675s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1675s ) 1675s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1675s 1675s tests/test_s3tables/test_s3tables.py:280: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s operation_name = 'GetTable' 1675s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1675s 1675s @with_current_context() 1675s def _make_api_call(self, operation_name, api_params): 1675s operation_model = self._service_model.operation_model(operation_name) 1675s service_name = self._service_model.service_name 1675s history_recorder.record( 1675s 'API_CALL', 1675s { 1675s 'service': service_name, 1675s 'operation': operation_name, 1675s 'params': api_params, 1675s }, 1675s ) 1675s if operation_model.deprecated: 1675s logger.debug( 1675s 'Warning: %s.%s() is deprecated', service_name, operation_name 1675s ) 1675s request_context = { 1675s 'client_region': self.meta.region_name, 1675s 'client_config': self.meta.config, 1675s 'has_streaming_input': operation_model.has_streaming_input, 1675s 'auth_type': operation_model.resolved_auth_type, 1675s 'unsigned_payload': operation_model.unsigned_payload, 1675s 'auth_options': self._service_model.metadata.get('auth'), 1675s } 1675s  1675s api_params = self._emit_api_params( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s context=request_context, 1675s ) 1675s ( 1675s endpoint_url, 1675s additional_headers, 1675s properties, 1675s ) = self._resolve_endpoint_ruleset( 1675s operation_model, api_params, request_context 1675s ) 1675s if properties: 1675s # Pass arbitrary endpoint info with the Request 1675s # for use during construction. 1675s request_context['endpoint_properties'] = properties 1675s request_dict = self._convert_to_request_dict( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s endpoint_url=endpoint_url, 1675s context=request_context, 1675s headers=additional_headers, 1675s ) 1675s resolve_checksum_context(request_dict, operation_model, api_params) 1675s  1675s service_id = self._service_model.service_id.hyphenize() 1675s handler, event_response = self.meta.events.emit_until_response( 1675s f'before-call.{service_id}.{operation_name}', 1675s model=operation_model, 1675s params=request_dict, 1675s request_signer=self._request_signer, 1675s context=request_context, 1675s ) 1675s  1675s if event_response is not None: 1675s http, parsed_response = event_response 1675s else: 1675s maybe_compress_request( 1675s self.meta.config, request_dict, operation_model 1675s ) 1675s apply_request_checksum(request_dict) 1675s http, parsed_response = self._make_request( 1675s operation_model, request_dict, request_context 1675s ) 1675s  1675s self.meta.events.emit( 1675s f'after-call.{service_id}.{operation_name}', 1675s http_response=http, 1675s parsed=parsed_response, 1675s model=operation_model, 1675s context=request_context, 1675s ) 1675s  1675s if http.status_code >= 300: 1675s error_info = parsed_response.get("Error", {}) 1675s error_code = request_context.get( 1675s 'error_code_override' 1675s ) or error_info.get("Code") 1675s error_class = self.exceptions.from_code(error_code) 1675s > raise error_class(parsed_response, operation_name) 1675s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1675s 1675s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1675s _________________________ test_write_metadata_to_table _________________________ 1675s 1675s @mock_aws 1675s def test_write_metadata_to_table() -> None: 1675s client = boto3.client("s3tables", region_name="us-east-2") 1675s arn = client.create_table_bucket(name="foo")["arn"] 1675s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1675s resp = client.create_table( 1675s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1675s ) 1675s  1675s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1675s 1675s tests/test_s3tables/test_s3tables.py:324: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s operation_name = 'GetTable' 1675s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1675s 1675s @with_current_context() 1675s def _make_api_call(self, operation_name, api_params): 1675s operation_model = self._service_model.operation_model(operation_name) 1675s service_name = self._service_model.service_name 1675s history_recorder.record( 1675s 'API_CALL', 1675s { 1675s 'service': service_name, 1675s 'operation': operation_name, 1675s 'params': api_params, 1675s }, 1675s ) 1675s if operation_model.deprecated: 1675s logger.debug( 1675s 'Warning: %s.%s() is deprecated', service_name, operation_name 1675s ) 1675s request_context = { 1675s 'client_region': self.meta.region_name, 1675s 'client_config': self.meta.config, 1675s 'has_streaming_input': operation_model.has_streaming_input, 1675s 'auth_type': operation_model.resolved_auth_type, 1675s 'unsigned_payload': operation_model.unsigned_payload, 1675s 'auth_options': self._service_model.metadata.get('auth'), 1675s } 1675s  1675s api_params = self._emit_api_params( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s context=request_context, 1675s ) 1675s ( 1675s endpoint_url, 1675s additional_headers, 1675s properties, 1675s ) = self._resolve_endpoint_ruleset( 1675s operation_model, api_params, request_context 1675s ) 1675s if properties: 1675s # Pass arbitrary endpoint info with the Request 1675s # for use during construction. 1675s request_context['endpoint_properties'] = properties 1675s request_dict = self._convert_to_request_dict( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s endpoint_url=endpoint_url, 1675s context=request_context, 1675s headers=additional_headers, 1675s ) 1675s resolve_checksum_context(request_dict, operation_model, api_params) 1675s  1675s service_id = self._service_model.service_id.hyphenize() 1675s handler, event_response = self.meta.events.emit_until_response( 1675s f'before-call.{service_id}.{operation_name}', 1675s model=operation_model, 1675s params=request_dict, 1675s request_signer=self._request_signer, 1675s context=request_context, 1675s ) 1675s  1675s if event_response is not None: 1675s http, parsed_response = event_response 1675s else: 1675s maybe_compress_request( 1675s self.meta.config, request_dict, operation_model 1675s ) 1675s apply_request_checksum(request_dict) 1675s http, parsed_response = self._make_request( 1675s operation_model, request_dict, request_context 1675s ) 1675s  1675s self.meta.events.emit( 1675s f'after-call.{service_id}.{operation_name}', 1675s http_response=http, 1675s parsed=parsed_response, 1675s model=operation_model, 1675s context=request_context, 1675s ) 1675s  1675s if http.status_code >= 300: 1675s error_info = parsed_response.get("Error", {}) 1675s error_code = request_context.get( 1675s 'error_code_override' 1675s ) or error_info.get("Code") 1675s error_class = self.exceptions.from_code(error_code) 1675s > raise error_class(parsed_response, operation_name) 1675s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1675s 1675s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1675s _________ test_underlying_table_storage_does_not_support_list_objects __________ 1675s 1675s @mock_aws 1675s def test_underlying_table_storage_does_not_support_list_objects() -> None: 1675s client = boto3.client("s3tables", region_name="us-east-2") 1675s arn = client.create_table_bucket(name="foo")["arn"] 1675s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1675s resp = client.create_table( 1675s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1675s ) 1675s  1675s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1675s 1675s tests/test_s3tables/test_s3tables.py:356: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s operation_name = 'GetTable' 1675s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1675s 1675s @with_current_context() 1675s def _make_api_call(self, operation_name, api_params): 1675s operation_model = self._service_model.operation_model(operation_name) 1675s service_name = self._service_model.service_name 1675s history_recorder.record( 1675s 'API_CALL', 1675s { 1675s 'service': service_name, 1675s 'operation': operation_name, 1675s 'params': api_params, 1675s }, 1675s ) 1675s if operation_model.deprecated: 1675s logger.debug( 1675s 'Warning: %s.%s() is deprecated', service_name, operation_name 1675s ) 1675s request_context = { 1675s 'client_region': self.meta.region_name, 1675s 'client_config': self.meta.config, 1675s 'has_streaming_input': operation_model.has_streaming_input, 1675s 'auth_type': operation_model.resolved_auth_type, 1675s 'unsigned_payload': operation_model.unsigned_payload, 1675s 'auth_options': self._service_model.metadata.get('auth'), 1675s } 1675s  1675s api_params = self._emit_api_params( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s context=request_context, 1675s ) 1675s ( 1675s endpoint_url, 1675s additional_headers, 1675s properties, 1675s ) = self._resolve_endpoint_ruleset( 1675s operation_model, api_params, request_context 1675s ) 1675s if properties: 1675s # Pass arbitrary endpoint info with the Request 1675s # for use during construction. 1675s request_context['endpoint_properties'] = properties 1675s request_dict = self._convert_to_request_dict( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s endpoint_url=endpoint_url, 1675s context=request_context, 1675s headers=additional_headers, 1675s ) 1675s resolve_checksum_context(request_dict, operation_model, api_params) 1675s  1675s service_id = self._service_model.service_id.hyphenize() 1675s handler, event_response = self.meta.events.emit_until_response( 1675s f'before-call.{service_id}.{operation_name}', 1675s model=operation_model, 1675s params=request_dict, 1675s request_signer=self._request_signer, 1675s context=request_context, 1675s ) 1675s  1675s if event_response is not None: 1675s http, parsed_response = event_response 1675s else: 1675s maybe_compress_request( 1675s self.meta.config, request_dict, operation_model 1675s ) 1675s apply_request_checksum(request_dict) 1675s http, parsed_response = self._make_request( 1675s operation_model, request_dict, request_context 1675s ) 1675s  1675s self.meta.events.emit( 1675s f'after-call.{service_id}.{operation_name}', 1675s http_response=http, 1675s parsed=parsed_response, 1675s model=operation_model, 1675s context=request_context, 1675s ) 1675s  1675s if http.status_code >= 300: 1675s error_info = parsed_response.get("Error", {}) 1675s error_code = request_context.get( 1675s 'error_code_override' 1675s ) or error_info.get("Code") 1675s error_class = self.exceptions.from_code(error_code) 1675s > raise error_class(parsed_response, operation_name) 1675s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1675s 1675s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1675s _________ test_underlying_table_storage_does_not_support_delete_object _________ 1675s 1675s @mock_aws 1675s def test_underlying_table_storage_does_not_support_delete_object() -> None: 1675s client = boto3.client("s3tables", region_name="us-east-2") 1675s arn = client.create_table_bucket(name="foo")["arn"] 1675s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1675s resp = client.create_table( 1675s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1675s ) 1675s  1675s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1675s 1675s tests/test_s3tables/test_s3tables.py:374: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s operation_name = 'GetTable' 1675s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1675s 1675s @with_current_context() 1675s def _make_api_call(self, operation_name, api_params): 1675s operation_model = self._service_model.operation_model(operation_name) 1675s service_name = self._service_model.service_name 1675s history_recorder.record( 1675s 'API_CALL', 1675s { 1675s 'service': service_name, 1675s 'operation': operation_name, 1675s 'params': api_params, 1675s }, 1675s ) 1675s if operation_model.deprecated: 1675s logger.debug( 1675s 'Warning: %s.%s() is deprecated', service_name, operation_name 1675s ) 1675s request_context = { 1675s 'client_region': self.meta.region_name, 1675s 'client_config': self.meta.config, 1675s 'has_streaming_input': operation_model.has_streaming_input, 1675s 'auth_type': operation_model.resolved_auth_type, 1675s 'unsigned_payload': operation_model.unsigned_payload, 1675s 'auth_options': self._service_model.metadata.get('auth'), 1675s } 1675s  1675s api_params = self._emit_api_params( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s context=request_context, 1675s ) 1675s ( 1675s endpoint_url, 1675s additional_headers, 1675s properties, 1675s ) = self._resolve_endpoint_ruleset( 1675s operation_model, api_params, request_context 1675s ) 1675s if properties: 1675s # Pass arbitrary endpoint info with the Request 1675s # for use during construction. 1675s request_context['endpoint_properties'] = properties 1675s request_dict = self._convert_to_request_dict( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s endpoint_url=endpoint_url, 1675s context=request_context, 1675s headers=additional_headers, 1675s ) 1675s resolve_checksum_context(request_dict, operation_model, api_params) 1675s  1675s service_id = self._service_model.service_id.hyphenize() 1675s handler, event_response = self.meta.events.emit_until_response( 1675s f'before-call.{service_id}.{operation_name}', 1675s model=operation_model, 1675s params=request_dict, 1675s request_signer=self._request_signer, 1675s context=request_context, 1675s ) 1675s  1675s if event_response is not None: 1675s http, parsed_response = event_response 1675s else: 1675s maybe_compress_request( 1675s self.meta.config, request_dict, operation_model 1675s ) 1675s apply_request_checksum(request_dict) 1675s http, parsed_response = self._make_request( 1675s operation_model, request_dict, request_context 1675s ) 1675s  1675s self.meta.events.emit( 1675s f'after-call.{service_id}.{operation_name}', 1675s http_response=http, 1675s parsed=parsed_response, 1675s model=operation_model, 1675s context=request_context, 1675s ) 1675s  1675s if http.status_code >= 300: 1675s error_info = parsed_response.get("Error", {}) 1675s error_code = request_context.get( 1675s 'error_code_override' 1675s ) or error_info.get("Code") 1675s error_class = self.exceptions.from_code(error_code) 1675s > raise error_class(parsed_response, operation_name) 1675s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1675s 1675s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1675s ______________________________ test_rename_table _______________________________ 1675s 1675s @mock_aws 1675s def test_rename_table() -> None: 1675s client = boto3.client("s3tables", region_name="us-east-2") 1675s arn = client.create_table_bucket(name="foo")["arn"] 1675s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1675s resp = client.create_table( 1675s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1675s ) 1675s  1675s client.create_namespace(tableBucketARN=arn, namespace=["bar-two"]) 1675s client.rename_table( 1675s tableBucketARN=arn, 1675s namespace="bar", 1675s name="baz", 1675s newNamespaceName="bar-two", 1675s newName="baz-two", 1675s versionToken=resp["versionToken"], 1675s ) 1675s assert ( 1675s > client.get_table(tableBucketARN=arn, namespace="bar-two", name="baz-two")[ 1675s "name" 1675s ] 1675s == "baz-two" 1675s ) 1675s 1675s tests/test_s3tables/test_s3tables.py:403: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s operation_name = 'GetTable' 1675s api_params = {'name': 'baz-two', 'namespace': 'bar-two', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1675s 1675s @with_current_context() 1675s def _make_api_call(self, operation_name, api_params): 1675s operation_model = self._service_model.operation_model(operation_name) 1675s service_name = self._service_model.service_name 1675s history_recorder.record( 1675s 'API_CALL', 1675s { 1675s 'service': service_name, 1675s 'operation': operation_name, 1675s 'params': api_params, 1675s }, 1675s ) 1675s if operation_model.deprecated: 1675s logger.debug( 1675s 'Warning: %s.%s() is deprecated', service_name, operation_name 1675s ) 1675s request_context = { 1675s 'client_region': self.meta.region_name, 1675s 'client_config': self.meta.config, 1675s 'has_streaming_input': operation_model.has_streaming_input, 1675s 'auth_type': operation_model.resolved_auth_type, 1675s 'unsigned_payload': operation_model.unsigned_payload, 1675s 'auth_options': self._service_model.metadata.get('auth'), 1675s } 1675s  1675s api_params = self._emit_api_params( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s context=request_context, 1675s ) 1675s ( 1675s endpoint_url, 1675s additional_headers, 1675s properties, 1675s ) = self._resolve_endpoint_ruleset( 1675s operation_model, api_params, request_context 1675s ) 1675s if properties: 1675s # Pass arbitrary endpoint info with the Request 1675s # for use during construction. 1675s request_context['endpoint_properties'] = properties 1675s request_dict = self._convert_to_request_dict( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s endpoint_url=endpoint_url, 1675s context=request_context, 1675s headers=additional_headers, 1675s ) 1675s resolve_checksum_context(request_dict, operation_model, api_params) 1675s  1675s service_id = self._service_model.service_id.hyphenize() 1675s handler, event_response = self.meta.events.emit_until_response( 1675s f'before-call.{service_id}.{operation_name}', 1675s model=operation_model, 1675s params=request_dict, 1675s request_signer=self._request_signer, 1675s context=request_context, 1675s ) 1675s  1675s if event_response is not None: 1675s http, parsed_response = event_response 1675s else: 1675s maybe_compress_request( 1675s self.meta.config, request_dict, operation_model 1675s ) 1675s apply_request_checksum(request_dict) 1675s http, parsed_response = self._make_request( 1675s operation_model, request_dict, request_context 1675s ) 1675s  1675s self.meta.events.emit( 1675s f'after-call.{service_id}.{operation_name}', 1675s http_response=http, 1675s parsed=parsed_response, 1675s model=operation_model, 1675s context=request_context, 1675s ) 1675s  1675s if http.status_code >= 300: 1675s error_info = parsed_response.get("Error", {}) 1675s error_code = request_context.get( 1675s 'error_code_override' 1675s ) or error_info.get("Code") 1675s error_class = self.exceptions.from_code(error_code) 1675s > raise error_class(parsed_response, operation_name) 1675s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1675s 1675s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1675s ___________________________ test_s3tables_get_table ____________________________ 1675s 1675s bucket_name = 'table-bucketqcylrojwje' 1675s 1675s def test_s3tables_get_table(bucket_name: str): 1675s backend = server.create_backend_app("s3tables") 1675s test_client = backend.test_client() 1675s  1675s resp = test_client.put("/buckets", json={"name": bucket_name}) 1675s arn = resp.get_json()["arn"] 1675s  1675s quoted_arn = quote(arn, safe="") 1675s resp = test_client.put(f"/namespaces/{quoted_arn}", json={"namespace": ["bar"]}) 1675s  1675s resp = test_client.put( 1675s f"/tables/{quoted_arn}/bar", json={"name": "baz", "format": "ICEBERG"} 1675s ) 1675s  1675s resp = test_client.get(f"/tables/{quoted_arn}/bar/baz") 1675s > assert resp.status_code == 200 1675s E assert 404 == 200 1675s E + where 404 = .status_code 1675s 1675s tests/test_s3tables/test_server.py:126: AssertionError 1675s ___________________ test_invoke_fake_function_from_sqs_queue ___________________ 1675s 1675s @mock_aws(config={"lambda": {"use_docker": False}}) 1675s def test_invoke_fake_function_from_sqs_queue(): 1675s if not settings.TEST_DECORATOR_MODE: 1675s raise SkipTest("Can only set Config in DecoratorMode") 1675s logs_conn = boto3.client("logs", region_name="us-east-1") 1675s sqs = boto3.resource("sqs", region_name="us-east-1") 1675s queue_name = str(uuid.uuid4())[0:6] 1675s queue = sqs.create_queue(QueueName=queue_name) 1675s  1675s fn_name = str(uuid.uuid4())[0:6] 1675s conn = boto3.client("lambda", region_name="us-east-1") 1675s func = conn.create_function( 1675s FunctionName=fn_name, 1675s Runtime="python3.11", 1675s Role=get_role_name(), 1675s Handler="lambda_function.lambda_handler", 1675s Code={"ZipFile": b"n/a"}, 1675s ) 1675s  1675s > conn.create_event_source_mapping( 1675s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func["FunctionArn"] 1675s ) 1675s 1675s tests/test_sqs/test_sqs_integration.py:94: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s operation_name = 'CreateEventSourceMapping' 1675s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:0be402', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:4265fa'} 1675s 1675s @with_current_context() 1675s def _make_api_call(self, operation_name, api_params): 1675s operation_model = self._service_model.operation_model(operation_name) 1675s service_name = self._service_model.service_name 1675s history_recorder.record( 1675s 'API_CALL', 1675s { 1675s 'service': service_name, 1675s 'operation': operation_name, 1675s 'params': api_params, 1675s }, 1675s ) 1675s if operation_model.deprecated: 1675s logger.debug( 1675s 'Warning: %s.%s() is deprecated', service_name, operation_name 1675s ) 1675s request_context = { 1675s 'client_region': self.meta.region_name, 1675s 'client_config': self.meta.config, 1675s 'has_streaming_input': operation_model.has_streaming_input, 1675s 'auth_type': operation_model.resolved_auth_type, 1675s 'unsigned_payload': operation_model.unsigned_payload, 1675s 'auth_options': self._service_model.metadata.get('auth'), 1675s } 1675s  1675s api_params = self._emit_api_params( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s context=request_context, 1675s ) 1675s ( 1675s endpoint_url, 1675s additional_headers, 1675s properties, 1675s ) = self._resolve_endpoint_ruleset( 1675s operation_model, api_params, request_context 1675s ) 1675s if properties: 1675s # Pass arbitrary endpoint info with the Request 1675s # for use during construction. 1675s request_context['endpoint_properties'] = properties 1675s request_dict = self._convert_to_request_dict( 1675s api_params=api_params, 1675s operation_model=operation_model, 1675s endpoint_url=endpoint_url, 1675s context=request_context, 1675s headers=additional_headers, 1675s ) 1675s resolve_checksum_context(request_dict, operation_model, api_params) 1675s  1675s service_id = self._service_model.service_id.hyphenize() 1675s handler, event_response = self.meta.events.emit_until_response( 1675s f'before-call.{service_id}.{operation_name}', 1675s model=operation_model, 1675s params=request_dict, 1675s request_signer=self._request_signer, 1675s context=request_context, 1675s ) 1675s  1675s if event_response is not None: 1675s http, parsed_response = event_response 1675s else: 1675s maybe_compress_request( 1675s self.meta.config, request_dict, operation_model 1675s ) 1675s apply_request_checksum(request_dict) 1675s http, parsed_response = self._make_request( 1675s operation_model, request_dict, request_context 1675s ) 1675s  1675s self.meta.events.emit( 1675s f'after-call.{service_id}.{operation_name}', 1675s http_response=http, 1675s parsed=parsed_response, 1675s model=operation_model, 1675s context=request_context, 1675s ) 1675s  1675s if http.status_code >= 300: 1675s error_info = parsed_response.get("Error", {}) 1675s error_code = request_context.get( 1675s 'error_code_override' 1675s ) or error_info.get("Code") 1675s error_class = self.exceptions.from_code(error_code) 1675s > raise error_class(parsed_response, operation_name) 1675s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1675s 1675s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1675s ____________________________ test_create_workspaces ____________________________ 1675s 1675s @mock_aws 1675s def test_create_workspaces(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:31: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-18bd05c208', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s __________ test_create_workspaces_with_auto_stop_timeout_and_alwayson __________ 1675s 1675s @mock_aws 1675s def test_create_workspaces_with_auto_stop_timeout_and_alwayson(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:111: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-b2f3e2dda5', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s ___________ test_create_workspaces_with_auto_stop_timeout_and_manual ___________ 1675s 1675s @mock_aws 1675s def test_create_workspaces_with_auto_stop_timeout_and_manual(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:137: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-1df0352fd2', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s ___________________________ test_describe_workspaces ___________________________ 1675s 1675s @mock_aws 1675s def test_describe_workspaces(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:163: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-a8773162c2', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s _____________ test_describe_workspaces_with_directory_and_username _____________ 1675s 1675s @mock_aws 1675s def test_describe_workspaces_with_directory_and_username(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:188: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-718605123d', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s _________________ test_describe_workspaces_invalid_parameters __________________ 1675s 1675s @mock_aws 1675s def test_describe_workspaces_invalid_parameters(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:211: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-fb079ecc35', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s _________________ test_describe_workspaces_only_user_name_used _________________ 1675s 1675s @mock_aws 1675s def test_describe_workspaces_only_user_name_used(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:246: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-8c9fdba7ea', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s ______________________ test_register_workspace_directory _______________________ 1675s 1675s @mock_aws 1675s def test_register_workspace_directory(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:268: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-11402c4bc2', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s ____________ test_register_workspace_directory_enable_self_service _____________ 1675s 1675s @mock_aws 1675s def test_register_workspace_directory_enable_self_service(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory( 1675s DirectoryId=directory_id, 1675s EnableWorkDocs=True, 1675s EnableSelfService=True, 1675s Tenancy="DEDICATED", 1675s ) 1675s 1675s tests/test_workspaces/test_workspaces.py:281: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-3141e3150d', 'EnableSelfService': True, 'EnableWorkDocs': True, 'Tenancy': 'DEDICATED'} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s ________________ test_register_workspace_directory_with_subnets ________________ 1675s 1675s @mock_aws 1675s def test_register_workspace_directory_with_subnets(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:304: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-3db7343730', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s _____________________ test_describe_workspace_directories ______________________ 1675s 1675s @mock_aws 1675s def test_describe_workspace_directories(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s for _ in range(2): 1675s directory_id = create_directory() 1675s > client.register_workspace_directory( 1675s DirectoryId=directory_id, 1675s EnableWorkDocs=True, 1675s ) 1675s 1675s tests/test_workspaces/test_workspaces.py:318: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-816f40c7f9', 'EnableWorkDocs': True} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s ____________ test_describe_workspace_directories_with_directory_id _____________ 1675s 1675s @mock_aws 1675s def test_describe_workspace_directories_with_directory_id(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory( 1675s DirectoryId=directory_id, 1675s EnableWorkDocs=True, 1675s ) 1675s 1675s tests/test_workspaces/test_workspaces.py:347: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-3acb2fb2b4', 'EnableWorkDocs': True} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s __________________ test_modify_workspace_creation_properties ___________________ 1675s 1675s @mock_aws 1675s def test_modify_workspace_creation_properties(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s ec2_client = boto3.client("ec2", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s sg = create_security_group(client=ec2_client) 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:372: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-81a09fd34b', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s __________ test_modify_workspace_creation_properties_invalid_request ___________ 1675s 1675s @mock_aws 1675s def test_modify_workspace_creation_properties_invalid_request(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s ec2_client = boto3.client("ec2", region_name="eu-west-1") 1675s sg = create_security_group(client=ec2_client) 1675s with pytest.raises(ClientError) as exc: 1675s > client.modify_workspace_creation_properties( 1675s ResourceId="d-9067f6c44b", # Invalid DirectoryID 1675s WorkspaceCreationProperties={ 1675s "EnableWorkDocs": False, 1675s "CustomSecurityGroupId": sg["GroupId"], 1675s }, 1675s ) 1675s 1675s tests/test_workspaces/test_workspaces.py:394: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'ResourceId': 'd-9067f6c44b', 'WorkspaceCreationProperties': {'CustomSecurityGroupId': 'sg-04ac59e038f531334', 'EnableWorkDocs': False}} 1675s operation_model = OperationModel(name=ModifyWorkspaceCreationProperties) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in WorkspaceCreationProperties: "EnableWorkDocs", must be one of: EnableInternetAccess, DefaultOu, CustomSecurityGroupId, UserEnabledAsLocalAdministrator, EnableMaintenanceMode, InstanceIamRoleArn 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s _______________________________ test_create_tags _______________________________ 1675s 1675s @mock_aws 1675s def test_create_tags(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory( 1675s DirectoryId=directory_id, 1675s EnableWorkDocs=True, 1675s Tags=[ 1675s {"Key": "foo1", "Value": "bar1"}, 1675s ], 1675s ) 1675s 1675s tests/test_workspaces/test_workspaces.py:409: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-e1ee0edb62', 'EnableWorkDocs': True, 'Tags': [{'Key': 'foo1', 'Value': 'bar1'}]} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s ______________________________ test_describe_tags ______________________________ 1675s 1675s @mock_aws 1675s def test_describe_tags(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory( 1675s DirectoryId=directory_id, 1675s EnableWorkDocs=True, 1675s Tags=[ 1675s {"Key": "foo", "Value": "bar"}, 1675s ], 1675s ) 1675s 1675s tests/test_workspaces/test_workspaces.py:430: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-fa73b1b62e', 'EnableWorkDocs': True, 'Tags': [{'Key': 'foo', 'Value': 'bar'}]} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s _______________________ test_describe_client_properties ________________________ 1675s 1675s @mock_aws 1675s def test_describe_client_properties(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory( 1675s DirectoryId=directory_id, 1675s EnableWorkDocs=True, 1675s ) 1675s 1675s tests/test_workspaces/test_workspaces.py:445: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-40d9d5f2e0', 'EnableWorkDocs': True} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s ________________________ test_modify_client_properties _________________________ 1675s 1675s @mock_aws 1675s def test_modify_client_properties(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory( 1675s DirectoryId=directory_id, 1675s EnableWorkDocs=True, 1675s ) 1675s 1675s tests/test_workspaces/test_workspaces.py:457: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-90fbf43def', 'EnableWorkDocs': True} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s _________________________ test_create_workspace_image __________________________ 1675s 1675s @mock_aws 1675s def test_create_workspace_image(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:478: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-3425b9126d', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s __________________ test_create_workspace_image_already_exists __________________ 1675s 1675s @mock_aws 1675s def test_create_workspace_image_already_exists(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:520: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-f8b7cde199', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s ________________________ test_describe_workspace_images ________________________ 1675s 1675s @mock_aws 1675s def test_describe_workspace_images(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:550: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-192067a9d5', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s ____________________ test_update_workspace_image_permission ____________________ 1675s 1675s @mock_aws 1675s def test_update_workspace_image_permission(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:581: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-4d9717b5d4', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s __________________ test_describe_workspace_image_permissions ___________________ 1675s 1675s @mock_aws 1675s def test_describe_workspace_image_permissions(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:614: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-21a6b58dfd', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s _____________________ test_deregister_workspace_directory ______________________ 1675s 1675s @mock_aws 1675s def test_deregister_workspace_directory(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s directory_id = create_directory() 1675s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1675s 1675s tests/test_workspaces/test_workspaces.py:651: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-1ce8bfe409', 'EnableWorkDocs': False} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s _____________________ test_modify_selfservice_permissions ______________________ 1675s 1675s @mock_aws 1675s def test_modify_selfservice_permissions(): 1675s client = boto3.client("workspaces", region_name="eu-west-1") 1675s  1675s directory_id = create_directory() 1675s > client.register_workspace_directory( 1675s DirectoryId=directory_id, 1675s EnableWorkDocs=True, 1675s ) 1675s 1675s tests/test_workspaces/test_workspaces.py:664: 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1675s return self._make_api_call(operation_name, kwargs) 1675s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1675s return func(*args, **kwargs) 1675s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1675s request_dict = self._convert_to_request_dict( 1675s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1675s request_dict = self._serializer.serialize_to_request( 1675s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1675s 1675s self = 1675s parameters = {'DirectoryId': 'd-099bb63c4c', 'EnableWorkDocs': True} 1675s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1675s 1675s def serialize_to_request(self, parameters, operation_model): 1675s input_shape = operation_model.input_shape 1675s if input_shape is not None: 1675s report = self._param_validator.validate( 1675s parameters, operation_model.input_shape 1675s ) 1675s if report.has_errors(): 1675s > raise ParamValidationError(report=report.generate_report()) 1675s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1675s 1675s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1675s =============================== warnings summary =============================== 1675s tests/test_core/test_docker.py:11 1675s /tmp/autopkgtest.Oozpkm/autopkgtest_tmp/build/tests/test_core/test_docker.py:11: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 1675s @pytest.mark.order(0) 1675s 1675s tests/test_core/test_docker.py:24 1675s /tmp/autopkgtest.Oozpkm/autopkgtest_tmp/build/tests/test_core/test_docker.py:24: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 1675s @pytest.mark.order(0) 1675s 1675s ../../../../usr/lib/python3/dist-packages/aws_xray_sdk/core/sampling/default_sampler.py:5 1675s /usr/lib/python3/dist-packages/aws_xray_sdk/core/sampling/default_sampler.py:5: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html 1675s from pkg_resources import resource_filename 1675s 1675s tests/test_cognitoidp/test_cognitoidp.py: 36 warnings 1675s /usr/lib/python3/dist-packages/pycognito/aws_srp.py:310: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 1675s timestamp = self.get_cognito_formatted_timestamp(datetime.datetime.utcnow()) 1675s 1675s tests/test_ec2/test_key_pairs.py::test_key_pairs_invalid_boto3 1675s /usr/lib/python3/dist-packages/moto/ec2/utils.py:759: CryptographyDeprecationWarning: SSH DSA keys are deprecated and will be removed in a future release. 1675s public_key = serialization.load_ssh_public_key(key_material) 1675s 1675s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1675s =========================== short test summary info ============================ 1675s FAILED tests/test_awslambda/test_awslambda_cloudformation.py::test_event_source_mapping_create_from_cloudformation_json - botocore.exceptions.ClientError: An error occurred (404) when calling the L... 1675s FAILED tests/test_awslambda/test_awslambda_cloudformation.py::test_event_source_mapping_delete_stack - botocore.exceptions.ClientError: An error occurred (404) when calling the L... 1675s FAILED tests/test_awslambda/test_awslambda_cloudformation.py::test_event_source_mapping_update_from_cloudformation_json - botocore.exceptions.ClientError: An error occurred (404) when calling the L... 1675s FAILED tests/test_awslambda/test_awslambda_cloudformation.py::test_event_source_mapping_delete_from_cloudformation_json - botocore.exceptions.ClientError: An error occurred (404) when calling the L... 1675s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_create_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1675s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_list_event_source_mappings - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1675s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_get_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1675s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_update_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1675s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_delete_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_describe_flow_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_delete_flow_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_start_stop_flow_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_unknown_flow - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_tag_resource_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_vpc_interfaces_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_vpc_interfaces_fails - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_vpc_interface_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_vpc_interface_fails - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_outputs_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_outputs_fails - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_output_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_output_fails - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_output_fails - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_output_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_sources_fails - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_sources_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_source_fails - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_source_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_grant_flow_entitlements_fails - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_grant_flow_entitlements_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_revoke_flow_entitlement_fails - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_revoke_flow_entitlement_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_entitlement_fails - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_entitlement_succeeds - TypeError: argument of type 'NoneType' is not iterable 1675s FAILED tests/test_opsworks/test_apps.py::test_create_app_response - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1675s FAILED tests/test_opsworks/test_apps.py::test_describe_apps - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1675s FAILED tests/test_opsworks/test_instances.py::test_create_instance - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1675s FAILED tests/test_opsworks/test_instances.py::test_describe_instances - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1675s FAILED tests/test_opsworks/test_instances.py::test_ec2_integration - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1675s FAILED tests/test_opsworks/test_layers.py::test_create_layer_response - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1675s FAILED tests/test_opsworks/test_layers.py::test_describe_layers - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1675s FAILED tests/test_opsworks/test_stack.py::test_create_stack_response - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1675s FAILED tests/test_opsworks/test_stack.py::test_describe_stacks - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1675s FAILED tests/test_rds/test_rds_proxy.py::test_create_db_proxy - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_rds/test_rds_proxy.py::test_describe_db_proxies - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_rds/test_rds_proxy.py::test_list_tags_db_proxy - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_rds/test_rds_proxy.py::test_create_db_proxy_invalid_subnet - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_rds/test_rds_proxy.py::test_create_db_proxy_duplicate_name - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py::test_get_resources_workspaces - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py::test_get_resources_workspace_directories - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py::test_get_resources_workspace_images - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_robomaker/test_robomaker.py::test_robot_application - botocore.exceptions.UnknownServiceError: Unknown service: 'robomaker'. Vali... 1675s FAILED tests/test_s3/test_s3_lock.py::test_locked_object_governance_mode[bypass] - AssertionError: assert 'Deleted' in {'Errors': [{'Code': 'AccessDenied', 'K... 1675s FAILED tests/test_s3tables/test_s3tables.py::test_get_table - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1675s FAILED tests/test_s3tables/test_s3tables.py::test_delete_table_deletes_underlying_table_storage - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1675s FAILED tests/test_s3tables/test_s3tables.py::test_update_table_metadata_location - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1675s FAILED tests/test_s3tables/test_s3tables.py::test_write_metadata_to_table - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1675s FAILED tests/test_s3tables/test_s3tables.py::test_underlying_table_storage_does_not_support_list_objects - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1675s FAILED tests/test_s3tables/test_s3tables.py::test_underlying_table_storage_does_not_support_delete_object - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1675s FAILED tests/test_s3tables/test_s3tables.py::test_rename_table - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1675s FAILED tests/test_s3tables/test_server.py::test_s3tables_get_table - assert 404 == 200 1675s FAILED tests/test_sqs/test_sqs_integration.py::test_invoke_fake_function_from_sqs_queue - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1675s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspaces - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspaces_with_auto_stop_timeout_and_alwayson - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspaces_with_auto_stop_timeout_and_manual - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces_with_directory_and_username - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces_invalid_parameters - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces_only_user_name_used - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_register_workspace_directory - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_register_workspace_directory_enable_self_service - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_register_workspace_directory_with_subnets - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_directories - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_directories_with_directory_id - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_modify_workspace_creation_properties - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_modify_workspace_creation_properties_invalid_request - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_create_tags - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_describe_tags - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_describe_client_properties - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_modify_client_properties - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspace_image - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspace_image_already_exists - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_images - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_update_workspace_image_permission - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_image_permissions - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_deregister_workspace_directory - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s FAILED tests/test_workspaces/test_workspaces.py::test_modify_selfservice_permissions - botocore.exceptions.ParamValidationError: Parameter validation failed: 1675s ERROR tests/test_qldb/test_qldb.py::test_create_describe_update_and_delete_ledger - botocore.exceptions.UnknownServiceError: Unknown service: 'qldb'. Valid ser... 1675s ERROR tests/test_qldb/test_qldb.py::test_tag_resource_and_list_tags_for_resource - botocore.exceptions.UnknownServiceError: Unknown service: 'qldb'. Valid ser... 1675s = 87 failed, 9715 passed, 16 skipped, 140 deselected, 40 warnings, 2 errors in 664.45s (0:11:04) = 1678s E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.Oozpkm/autopkgtest_tmp/build; python3.13 -m pytest -m 'not network and not requires_docker' tests --deselect tests/test_cloudformation/test_validate.py --deselect tests/test_dynamodb/test_dynamodb_import_table.py --deselect tests/test_dynamodb/test_dynamodb_statements.py --deselect tests/test_s3/test_s3_select.py --deselect tests/test_stepfunctions/parser/ --deselect 'tests/test_stepfunctions/test_stepfunctions_versions.py::test_describe_state_machine_using_version_arn[use_parser]' --deselect tests/test_dynamodb/test_dynamodb_account_mode.py::test_dynamodb_with_account_id_routing --deselect tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_entire_service --deselect tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_specific_url --deselect tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_wildcard_urls --deselect tests/test_firehose/test_firehose_put.py::test_put_record_http_destination --deselect tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination --deselect tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header --deselect tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins 1678s pybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p "3.14 3.13" returned exit code 13 1678s make: *** [/tmp/9q1xWJkPYX/run:4: pybuild-autopkgtest] Error 25 1678s pybuild-autopkgtest: error: /tmp/9q1xWJkPYX/run pybuild-autopkgtest returned exit code 2 1678s autopkgtest [11:23:33]: test pybuild-autopkgtest: -----------------------] 1680s pybuild-autopkgtest FAIL non-zero exit status 25 1680s autopkgtest [11:23:35]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 1680s autopkgtest [11:23:35]: @@@@@@@@@@@@@@@@@@@@ summary 1680s pybuild-autopkgtest FAIL non-zero exit status 25