0s autopkgtest [10:30:57]: starting date and time: 2025-11-17 10:30:57+0000 0s autopkgtest [10:30:57]: git checkout: 508d4a25 a-v-ssh wait_for_ssh: demote "ssh connection failed" to a debug message 0s autopkgtest [10:30:57]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.iysu81ta/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:python-botocore,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 python3-defaults/3.13.7-2' -- lxd -r lxd-armhf-10.145.243.232 lxd-armhf-10.145.243.232:autopkgtest/ubuntu/resolute/armhf 21s autopkgtest [10:31:18]: testbed dpkg architecture: armhf 23s autopkgtest [10:31:20]: testbed apt version: 3.1.11 27s autopkgtest [10:31:24]: @@@@@@@@@@@@@@@@@@@@ test bed setup 29s autopkgtest [10:31:26]: testbed release detected to be: None 36s autopkgtest [10:31:33]: updating testbed package index (apt update) 38s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 39s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [87.8 kB] 39s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 39s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 39s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [22.9 kB] 39s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [881 kB] 39s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [80.3 kB] 40s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [9848 B] 40s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [138 kB] 40s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted armhf Packages [940 B] 40s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [541 kB] 40s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [9684 B] 40s Get:13 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 43s Get:14 http://ftpmaster.internal/ubuntu resolute/main Sources [1416 kB] 44s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1369 kB] 44s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [15.0 MB] 48s Fetched 40.9 MB in 9s (4473 kB/s) 49s Reading package lists... 55s autopkgtest [10:31:52]: upgrading testbed (apt dist-upgrade and autopurge) 56s Reading package lists... 57s Building dependency tree... 57s Reading state information... 58s Calculating upgrade... 58s The following packages will be upgraded: 58s libpython3-stdlib python3 python3-botocore python3-minimal usbutils 59s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 59s Need to get 7521 kB of archives. 59s After this operation, 5336 kB of additional disk space will be used. 59s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-botocore all 1.40.68+repack-1 [7381 kB] 60s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-minimal armhf 3.13.7-2 [27.8 kB] 60s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3 armhf 3.13.7-2 [23.9 kB] 60s Get:4 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf libpython3-stdlib armhf 3.13.7-2 [10.6 kB] 60s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf usbutils armhf 1:019-1 [77.7 kB] 60s Fetched 7521 kB in 1s (5369 kB/s) 61s (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 ... 65904 files and directories currently installed.) 61s Preparing to unpack .../python3-botocore_1.40.68+repack-1_all.deb ... 61s Unpacking python3-botocore (1.40.68+repack-1) over (1.37.9+repack-1) ... 62s Preparing to unpack .../python3-minimal_3.13.7-2_armhf.deb ... 62s Unpacking python3-minimal (3.13.7-2) over (3.13.7-1) ... 62s Setting up python3-minimal (3.13.7-2) ... 62s (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 ... 65948 files and directories currently installed.) 62s Preparing to unpack .../python3_3.13.7-2_armhf.deb ... 62s Unpacking python3 (3.13.7-2) over (3.13.7-1) ... 62s Preparing to unpack .../libpython3-stdlib_3.13.7-2_armhf.deb ... 62s Unpacking libpython3-stdlib:armhf (3.13.7-2) over (3.13.7-1) ... 62s Preparing to unpack .../usbutils_1%3a019-1_armhf.deb ... 62s Unpacking usbutils (1:019-1) over (1:018-2) ... 62s Setting up usbutils (1:019-1) ... 62s Setting up libpython3-stdlib:armhf (3.13.7-2) ... 62s Setting up python3 (3.13.7-2) ... 62s Setting up python3-botocore (1.40.68+repack-1) ... 63s Processing triggers for man-db (2.13.1-1) ... 66s Reading package lists... 66s Building dependency tree... 66s Reading state information... 66s Solving dependencies... 67s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 69s autopkgtest [10:32:06]: rebooting testbed after setup commands that affected boot 109s autopkgtest [10:32:46]: testbed running kernel: Linux 6.8.0-86-generic #87~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 29 09:26:46 UTC 2 134s autopkgtest [10:33:11]: @@@@@@@@@@@@@@@@@@@@ apt-source python-moto 146s Get:1 http://ftpmaster.internal/ubuntu resolute/universe python-moto 5.1.1-4 (dsc) [2721 B] 146s Get:2 http://ftpmaster.internal/ubuntu resolute/universe python-moto 5.1.1-4 (tar) [6647 kB] 146s Get:3 http://ftpmaster.internal/ubuntu resolute/universe python-moto 5.1.1-4 (diff) [3856 B] 146s gpgv: Signature made Fri Mar 21 15:43:48 2025 UTC 146s gpgv: using RSA key A0B1A9F3508956130E7A425CD416AD15AC6B43FE 146s gpgv: Can't check signature: No public key 146s dpkg-source: warning: cannot verify inline signature for ./python-moto_5.1.1-4.dsc: no acceptable signature found 148s autopkgtest [10:33:25]: testing package python-moto version 5.1.1-4 149s autopkgtest [10:33:26]: build not needed 155s autopkgtest [10:33:32]: test pybuild-autopkgtest: preparing testbed 157s Reading package lists... 157s Building dependency tree... 157s Reading state information... 157s Solving dependencies... 158s The following NEW packages will be installed: 158s autoconf automake autopoint autotools-dev build-essential cpp cpp-15 158s cpp-15-arm-linux-gnueabihf cpp-arm-linux-gnueabihf debhelper debugedit 158s dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-15 158s g++-15-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc gcc-15 158s gcc-15-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gettext intltool-debian 158s libarchive-zip-perl libasan8 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev 158s libdebhelper-perl libdw1t64 libfile-stripnondeterminism-perl libgcc-15-dev 158s libgomp1 libisl23 libmpc3 libpython3.14-minimal libpython3.14-stdlib 158s libstdc++-15-dev libtool libubsan1 libxslt1.1 linux-libc-dev m4 158s openstack-pkg-tools po-debconf pybuild-plugin-autopkgtest 158s pybuild-plugin-pyproject python3-all python3-antlr4 python3-aws-xray-sdk 158s python3-build python3-click python3-docker python3-envs python3-flask 158s python3-flask-cors python3-freezegun python3-graphql-core python3-inflection 158s python3-iniconfig python3-installer python3-itsdangerous python3-joserfc 158s python3-jsondiff python3-jsonpath-ng python3-jsonpickle 158s python3-jsonschema-path python3-lazy-object-proxy python3-lxml python3-moto 158s python3-multipart python3-mypy python3-mypy-extensions 158s python3-openapi-schema-validator python3-openapi-spec-validator 158s python3-pathable python3-pip python3-pluggy python3-ply 158s python3-prompt-toolkit python3-psutil python3-pycognito python3-pyotp 158s python3-pyproject-hooks python3-pytest python3-responses 158s python3-rfc3339-validator python3-terminaltables3 python3-wcwidth 158s python3-werkzeug python3-wheel python3-wrapt python3-xmltodict python3.14 158s python3.14-minimal rpcsvc-proto 158s 0 upgraded, 99 newly installed, 0 to remove and 0 not upgraded. 158s Need to get 83.8 MB of archives. 158s After this operation, 286 MB of additional disk space will be used. 158s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-minimal armhf 3.14.0-4 [892 kB] 159s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14-minimal armhf 3.14.0-4 [2146 kB] 159s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf m4 armhf 1.4.20-2 [212 kB] 159s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf autoconf all 2.72-3.1ubuntu1 [384 kB] 159s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf autotools-dev all 20240727.1 [43.4 kB] 159s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf automake all 1:1.18.1-2 [581 kB] 159s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf autopoint all 0.23.2-1 [620 kB] 160s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf libc-dev-bin armhf 2.42-2ubuntu2 [21.8 kB] 160s Get:9 http://ftpmaster.internal/ubuntu resolute/main armhf linux-libc-dev armhf 6.17.0-5.5 [1771 kB] 160s Get:10 http://ftpmaster.internal/ubuntu resolute/main armhf libcrypt-dev armhf 1:4.4.38-1build1 [120 kB] 160s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf rpcsvc-proto armhf 1.4.3-1 [62.3 kB] 160s Get:12 http://ftpmaster.internal/ubuntu resolute/main armhf libc6-dev armhf 2.42-2ubuntu2 [1416 kB] 160s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf libisl23 armhf 0.27-1 [546 kB] 160s Get:14 http://ftpmaster.internal/ubuntu resolute/main armhf libmpc3 armhf 1.3.1-2 [47.0 kB] 160s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15-arm-linux-gnueabihf armhf 15.2.0-7ubuntu1 [10.1 MB] 161s Get:16 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15 armhf 15.2.0-7ubuntu1 [1030 B] 161s Get:17 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [5756 B] 161s Get:18 http://ftpmaster.internal/ubuntu resolute/main armhf cpp armhf 4:15.2.0-4ubuntu1 [22.4 kB] 161s Get:19 http://ftpmaster.internal/ubuntu resolute/main armhf libcc1-0 armhf 15.2.0-7ubuntu1 [43.5 kB] 161s Get:20 http://ftpmaster.internal/ubuntu resolute/main armhf libgomp1 armhf 15.2.0-7ubuntu1 [129 kB] 161s Get:21 http://ftpmaster.internal/ubuntu resolute/main armhf libasan8 armhf 15.2.0-7ubuntu1 [2950 kB] 161s Get:22 http://ftpmaster.internal/ubuntu resolute/main armhf libubsan1 armhf 15.2.0-7ubuntu1 [1187 kB] 161s Get:23 http://ftpmaster.internal/ubuntu resolute/main armhf libgcc-15-dev armhf 15.2.0-7ubuntu1 [898 kB] 161s Get:24 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15-arm-linux-gnueabihf armhf 15.2.0-7ubuntu1 [19.5 MB] 162s Get:25 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15 armhf 15.2.0-7ubuntu1 [493 kB] 162s Get:26 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [1220 B] 162s Get:27 http://ftpmaster.internal/ubuntu resolute/main armhf gcc armhf 4:15.2.0-4ubuntu1 [5022 B] 162s Get:28 http://ftpmaster.internal/ubuntu resolute/main armhf libstdc++-15-dev armhf 15.2.0-7ubuntu1 [2637 kB] 162s Get:29 http://ftpmaster.internal/ubuntu resolute/main armhf g++-15-arm-linux-gnueabihf armhf 15.2.0-7ubuntu1 [11.4 MB] 163s Get:30 http://ftpmaster.internal/ubuntu resolute/main armhf g++-15 armhf 15.2.0-7ubuntu1 [23.7 kB] 163s Get:31 http://ftpmaster.internal/ubuntu resolute/main armhf g++-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [968 B] 163s Get:32 http://ftpmaster.internal/ubuntu resolute/main armhf g++ armhf 4:15.2.0-4ubuntu1 [1086 B] 163s Get:33 http://ftpmaster.internal/ubuntu resolute/main armhf build-essential armhf 12.12ubuntu1 [5088 B] 163s Get:34 http://ftpmaster.internal/ubuntu resolute/main armhf libdebhelper-perl all 13.24.2ubuntu1 [95.7 kB] 163s Get:35 http://ftpmaster.internal/ubuntu resolute/main armhf libtool all 2.5.4-7 [169 kB] 163s Get:36 http://ftpmaster.internal/ubuntu resolute/main armhf dh-autoreconf all 21 [12.5 kB] 163s Get:37 http://ftpmaster.internal/ubuntu resolute/main armhf libarchive-zip-perl all 1.68-1 [90.2 kB] 163s Get:38 http://ftpmaster.internal/ubuntu resolute/main armhf libfile-stripnondeterminism-perl all 1.15.0-1 [20.5 kB] 163s Get:39 http://ftpmaster.internal/ubuntu resolute/main armhf dh-strip-nondeterminism all 1.15.0-1 [5090 B] 163s Get:40 http://ftpmaster.internal/ubuntu resolute/main armhf libdw1t64 armhf 0.194-1 [254 kB] 163s Get:41 http://ftpmaster.internal/ubuntu resolute/main armhf debugedit armhf 1:5.2-3 [48.9 kB] 163s Get:42 http://ftpmaster.internal/ubuntu resolute/main armhf dwz armhf 0.16-2 [114 kB] 163s Get:43 http://ftpmaster.internal/ubuntu resolute/main armhf gettext armhf 0.23.2-1 [1059 kB] 163s Get:44 http://ftpmaster.internal/ubuntu resolute/main armhf intltool-debian all 0.35.0+20060710.6 [23.2 kB] 163s Get:45 http://ftpmaster.internal/ubuntu resolute/main armhf po-debconf all 1.0.21+nmu1 [233 kB] 163s Get:46 http://ftpmaster.internal/ubuntu resolute/main armhf debhelper all 13.24.2ubuntu1 [896 kB] 163s Get:47 http://ftpmaster.internal/ubuntu resolute/universe armhf dh-python all 6.20250414 [119 kB] 163s Get:48 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-stdlib armhf 3.14.0-4 [2270 kB] 163s Get:49 http://ftpmaster.internal/ubuntu resolute/main armhf libxslt1.1 armhf 1.1.43-0.3 [146 kB] 163s Get:50 http://ftpmaster.internal/ubuntu resolute/universe armhf pybuild-plugin-autopkgtest all 6.20250414 [1746 B] 163s Get:51 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 163s Get:52 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-wheel all 0.46.1-2 [22.1 kB] 163s Get:53 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-build all 1.2.2-4 [31.0 kB] 163s Get:54 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 163s Get:55 http://ftpmaster.internal/ubuntu resolute/universe armhf pybuild-plugin-pyproject all 6.20250414 [1728 B] 163s Get:56 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14 armhf 3.14.0-4 [805 kB] 163s Get:57 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-all armhf 3.13.7-2 [890 B] 163s Get:58 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-antlr4 all 4.9.2-1 [99.0 kB] 163s Get:59 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-jsonpickle all 4.0.2+dfsg-2 [40.1 kB] 163s Get:60 http://ftpmaster.internal/ubuntu resolute/main armhf python3-wrapt armhf 1.17.3-2 [38.0 kB] 163s Get:61 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-aws-xray-sdk all 0.95-4 [30.3 kB] 163s Get:62 http://ftpmaster.internal/ubuntu resolute/main armhf python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 163s Get:63 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-docker all 7.1.0-2ubuntu1 [91.0 kB] 163s Get:64 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-terminaltables3 all 4.0.0-4 [14.6 kB] 163s Get:65 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-envs all 1.2.6-4 [6902 B] 163s Get:66 http://ftpmaster.internal/ubuntu resolute/main armhf python3-itsdangerous all 2.2.0-2 [15.3 kB] 163s Get:67 http://ftpmaster.internal/ubuntu resolute/main armhf python3-werkzeug all 3.1.3-2 [169 kB] 163s Get:68 http://ftpmaster.internal/ubuntu resolute/main armhf python3-flask all 3.1.2-1ubuntu1 [84.7 kB] 163s Get:69 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-flask-cors all 6.0.1-1 [512 kB] 163s Get:70 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-freezegun all 1.5.1-1.2 [15.9 kB] 163s Get:71 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-graphql-core all 3.2.7-1 [125 kB] 163s Get:72 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-inflection all 0.3.1-3 [7326 B] 163s Get:73 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-iniconfig all 2.1.0-1 [6840 B] 163s Get:74 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-joserfc all 1.4.1-1 [41.8 kB] 163s Get:75 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-jsondiff all 2.1.2-1 [14.2 kB] 163s Get:76 http://ftpmaster.internal/ubuntu resolute/main armhf python3-ply all 3.11-9 [45.8 kB] 163s Get:77 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-jsonpath-ng all 1.7.0-3 [32.9 kB] 163s Get:78 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pathable all 0.4.4-1 [5604 B] 163s Get:79 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-jsonschema-path all 0.3.4-1 [8042 B] 163s Get:80 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-lazy-object-proxy armhf 1.12.0-1 [24.4 kB] 163s Get:81 http://ftpmaster.internal/ubuntu resolute/main armhf python3-lxml armhf 6.0.2-1 [2260 kB] 164s Get:82 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-responses all 0.25.8-1 [40.6 kB] 164s Get:83 http://ftpmaster.internal/ubuntu resolute/main armhf python3-xmltodict all 0.13.0-1ubuntu1 [14.3 kB] 164s Get:84 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-moto all 5.1.1-4 [3531 kB] 164s Get:85 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-multipart all 1.3.0-3 [15.5 kB] 164s Get:86 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-mypy-extensions all 1.1.0-1 [6716 B] 164s Get:87 http://ftpmaster.internal/ubuntu resolute/main armhf python3-psutil armhf 7.1.0-1ubuntu1 [189 kB] 164s Get:88 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-mypy armhf 1.15.0-5 [9395 kB] 164s Get:89 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-rfc3339-validator all 0.1.4-2 [3930 B] 164s Get:90 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-openapi-schema-validator all 0.6.3-1 [8164 B] 164s Get:91 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-openapi-spec-validator all 0.7.1-3 [27.5 kB] 164s Get:92 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pip all 25.1.1+dfsg-1ubuntu2 [1416 kB] 164s Get:93 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pluggy all 1.6.0-1 [21.0 kB] 164s Get:94 http://ftpmaster.internal/ubuntu resolute/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 164s Get:95 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-prompt-toolkit all 3.0.52-1 [258 kB] 164s Get:96 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pycognito all 2024.5.1-2 [27.0 kB] 164s Get:97 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pyotp all 2.9.0-2 [17.3 kB] 164s Get:98 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytest all 8.3.5-2 [252 kB] 164s Get:99 http://ftpmaster.internal/ubuntu resolute/universe armhf openstack-pkg-tools all 135ubuntu1 [99.5 kB] 165s Fetched 83.8 MB in 6s (14.2 MB/s) 165s Selecting previously unselected package libpython3.14-minimal:armhf. 165s (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 ... 65948 files and directories currently installed.) 165s Preparing to unpack .../00-libpython3.14-minimal_3.14.0-4_armhf.deb ... 165s Unpacking libpython3.14-minimal:armhf (3.14.0-4) ... 165s Selecting previously unselected package python3.14-minimal. 165s Preparing to unpack .../01-python3.14-minimal_3.14.0-4_armhf.deb ... 165s Unpacking python3.14-minimal (3.14.0-4) ... 165s Selecting previously unselected package m4. 165s Preparing to unpack .../02-m4_1.4.20-2_armhf.deb ... 165s Unpacking m4 (1.4.20-2) ... 165s Selecting previously unselected package autoconf. 165s Preparing to unpack .../03-autoconf_2.72-3.1ubuntu1_all.deb ... 165s Unpacking autoconf (2.72-3.1ubuntu1) ... 165s Selecting previously unselected package autotools-dev. 165s Preparing to unpack .../04-autotools-dev_20240727.1_all.deb ... 165s Unpacking autotools-dev (20240727.1) ... 165s Selecting previously unselected package automake. 165s Preparing to unpack .../05-automake_1%3a1.18.1-2_all.deb ... 165s Unpacking automake (1:1.18.1-2) ... 165s Selecting previously unselected package autopoint. 165s Preparing to unpack .../06-autopoint_0.23.2-1_all.deb ... 165s Unpacking autopoint (0.23.2-1) ... 166s Selecting previously unselected package libc-dev-bin. 166s Preparing to unpack .../07-libc-dev-bin_2.42-2ubuntu2_armhf.deb ... 166s Unpacking libc-dev-bin (2.42-2ubuntu2) ... 166s Selecting previously unselected package linux-libc-dev:armhf. 166s Preparing to unpack .../08-linux-libc-dev_6.17.0-5.5_armhf.deb ... 166s Unpacking linux-libc-dev:armhf (6.17.0-5.5) ... 166s Selecting previously unselected package libcrypt-dev:armhf. 166s Preparing to unpack .../09-libcrypt-dev_1%3a4.4.38-1build1_armhf.deb ... 166s Unpacking libcrypt-dev:armhf (1:4.4.38-1build1) ... 166s Selecting previously unselected package rpcsvc-proto. 166s Preparing to unpack .../10-rpcsvc-proto_1.4.3-1_armhf.deb ... 166s Unpacking rpcsvc-proto (1.4.3-1) ... 166s Selecting previously unselected package libc6-dev:armhf. 166s Preparing to unpack .../11-libc6-dev_2.42-2ubuntu2_armhf.deb ... 166s Unpacking libc6-dev:armhf (2.42-2ubuntu2) ... 166s Selecting previously unselected package libisl23:armhf. 166s Preparing to unpack .../12-libisl23_0.27-1_armhf.deb ... 166s Unpacking libisl23:armhf (0.27-1) ... 166s Selecting previously unselected package libmpc3:armhf. 166s Preparing to unpack .../13-libmpc3_1.3.1-2_armhf.deb ... 166s Unpacking libmpc3:armhf (1.3.1-2) ... 166s Selecting previously unselected package cpp-15-arm-linux-gnueabihf. 166s Preparing to unpack .../14-cpp-15-arm-linux-gnueabihf_15.2.0-7ubuntu1_armhf.deb ... 166s Unpacking cpp-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 166s Selecting previously unselected package cpp-15. 166s Preparing to unpack .../15-cpp-15_15.2.0-7ubuntu1_armhf.deb ... 166s Unpacking cpp-15 (15.2.0-7ubuntu1) ... 166s Selecting previously unselected package cpp-arm-linux-gnueabihf. 167s Preparing to unpack .../16-cpp-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 167s Unpacking cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 167s Selecting previously unselected package cpp. 167s Preparing to unpack .../17-cpp_4%3a15.2.0-4ubuntu1_armhf.deb ... 167s Unpacking cpp (4:15.2.0-4ubuntu1) ... 167s Selecting previously unselected package libcc1-0:armhf. 167s Preparing to unpack .../18-libcc1-0_15.2.0-7ubuntu1_armhf.deb ... 167s Unpacking libcc1-0:armhf (15.2.0-7ubuntu1) ... 167s Selecting previously unselected package libgomp1:armhf. 167s Preparing to unpack .../19-libgomp1_15.2.0-7ubuntu1_armhf.deb ... 167s Unpacking libgomp1:armhf (15.2.0-7ubuntu1) ... 167s Selecting previously unselected package libasan8:armhf. 167s Preparing to unpack .../20-libasan8_15.2.0-7ubuntu1_armhf.deb ... 167s Unpacking libasan8:armhf (15.2.0-7ubuntu1) ... 167s Selecting previously unselected package libubsan1:armhf. 167s Preparing to unpack .../21-libubsan1_15.2.0-7ubuntu1_armhf.deb ... 167s Unpacking libubsan1:armhf (15.2.0-7ubuntu1) ... 167s Selecting previously unselected package libgcc-15-dev:armhf. 167s Preparing to unpack .../22-libgcc-15-dev_15.2.0-7ubuntu1_armhf.deb ... 167s Unpacking libgcc-15-dev:armhf (15.2.0-7ubuntu1) ... 167s Selecting previously unselected package gcc-15-arm-linux-gnueabihf. 167s Preparing to unpack .../23-gcc-15-arm-linux-gnueabihf_15.2.0-7ubuntu1_armhf.deb ... 167s Unpacking gcc-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 168s Selecting previously unselected package gcc-15. 168s Preparing to unpack .../24-gcc-15_15.2.0-7ubuntu1_armhf.deb ... 168s Unpacking gcc-15 (15.2.0-7ubuntu1) ... 168s Selecting previously unselected package gcc-arm-linux-gnueabihf. 168s Preparing to unpack .../25-gcc-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 168s Unpacking gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 168s Selecting previously unselected package gcc. 168s Preparing to unpack .../26-gcc_4%3a15.2.0-4ubuntu1_armhf.deb ... 168s Unpacking gcc (4:15.2.0-4ubuntu1) ... 168s Selecting previously unselected package libstdc++-15-dev:armhf. 168s Preparing to unpack .../27-libstdc++-15-dev_15.2.0-7ubuntu1_armhf.deb ... 168s Unpacking libstdc++-15-dev:armhf (15.2.0-7ubuntu1) ... 168s Selecting previously unselected package g++-15-arm-linux-gnueabihf. 168s Preparing to unpack .../28-g++-15-arm-linux-gnueabihf_15.2.0-7ubuntu1_armhf.deb ... 168s Unpacking g++-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 168s Selecting previously unselected package g++-15. 168s Preparing to unpack .../29-g++-15_15.2.0-7ubuntu1_armhf.deb ... 168s Unpacking g++-15 (15.2.0-7ubuntu1) ... 168s Selecting previously unselected package g++-arm-linux-gnueabihf. 168s Preparing to unpack .../30-g++-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 168s Unpacking g++-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 168s Selecting previously unselected package g++. 168s Preparing to unpack .../31-g++_4%3a15.2.0-4ubuntu1_armhf.deb ... 168s Unpacking g++ (4:15.2.0-4ubuntu1) ... 169s Selecting previously unselected package build-essential. 169s Preparing to unpack .../32-build-essential_12.12ubuntu1_armhf.deb ... 169s Unpacking build-essential (12.12ubuntu1) ... 169s Selecting previously unselected package libdebhelper-perl. 169s Preparing to unpack .../33-libdebhelper-perl_13.24.2ubuntu1_all.deb ... 169s Unpacking libdebhelper-perl (13.24.2ubuntu1) ... 169s Selecting previously unselected package libtool. 169s Preparing to unpack .../34-libtool_2.5.4-7_all.deb ... 169s Unpacking libtool (2.5.4-7) ... 169s Selecting previously unselected package dh-autoreconf. 169s Preparing to unpack .../35-dh-autoreconf_21_all.deb ... 169s Unpacking dh-autoreconf (21) ... 169s Selecting previously unselected package libarchive-zip-perl. 169s Preparing to unpack .../36-libarchive-zip-perl_1.68-1_all.deb ... 169s Unpacking libarchive-zip-perl (1.68-1) ... 169s Selecting previously unselected package libfile-stripnondeterminism-perl. 169s Preparing to unpack .../37-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... 169s Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... 169s Selecting previously unselected package dh-strip-nondeterminism. 169s Preparing to unpack .../38-dh-strip-nondeterminism_1.15.0-1_all.deb ... 169s Unpacking dh-strip-nondeterminism (1.15.0-1) ... 169s Selecting previously unselected package libdw1t64:armhf. 169s Preparing to unpack .../39-libdw1t64_0.194-1_armhf.deb ... 169s Unpacking libdw1t64:armhf (0.194-1) ... 169s Selecting previously unselected package debugedit. 169s Preparing to unpack .../40-debugedit_1%3a5.2-3_armhf.deb ... 169s Unpacking debugedit (1:5.2-3) ... 169s Selecting previously unselected package dwz. 169s Preparing to unpack .../41-dwz_0.16-2_armhf.deb ... 169s Unpacking dwz (0.16-2) ... 169s Selecting previously unselected package gettext. 169s Preparing to unpack .../42-gettext_0.23.2-1_armhf.deb ... 169s Unpacking gettext (0.23.2-1) ... 169s Selecting previously unselected package intltool-debian. 169s Preparing to unpack .../43-intltool-debian_0.35.0+20060710.6_all.deb ... 169s Unpacking intltool-debian (0.35.0+20060710.6) ... 169s Selecting previously unselected package po-debconf. 169s Preparing to unpack .../44-po-debconf_1.0.21+nmu1_all.deb ... 169s Unpacking po-debconf (1.0.21+nmu1) ... 169s Selecting previously unselected package debhelper. 169s Preparing to unpack .../45-debhelper_13.24.2ubuntu1_all.deb ... 169s Unpacking debhelper (13.24.2ubuntu1) ... 169s Selecting previously unselected package dh-python. 169s Preparing to unpack .../46-dh-python_6.20250414_all.deb ... 169s Unpacking dh-python (6.20250414) ... 169s Selecting previously unselected package libpython3.14-stdlib:armhf. 169s Preparing to unpack .../47-libpython3.14-stdlib_3.14.0-4_armhf.deb ... 169s Unpacking libpython3.14-stdlib:armhf (3.14.0-4) ... 170s Selecting previously unselected package libxslt1.1:armhf. 170s Preparing to unpack .../48-libxslt1.1_1.1.43-0.3_armhf.deb ... 170s Unpacking libxslt1.1:armhf (1.1.43-0.3) ... 170s Selecting previously unselected package pybuild-plugin-autopkgtest. 170s Preparing to unpack .../49-pybuild-plugin-autopkgtest_6.20250414_all.deb ... 170s Unpacking pybuild-plugin-autopkgtest (6.20250414) ... 170s Selecting previously unselected package python3-pyproject-hooks. 170s Preparing to unpack .../50-python3-pyproject-hooks_1.2.0-1_all.deb ... 170s Unpacking python3-pyproject-hooks (1.2.0-1) ... 170s Selecting previously unselected package python3-wheel. 170s Preparing to unpack .../51-python3-wheel_0.46.1-2_all.deb ... 170s Unpacking python3-wheel (0.46.1-2) ... 170s Selecting previously unselected package python3-build. 170s Preparing to unpack .../52-python3-build_1.2.2-4_all.deb ... 170s Unpacking python3-build (1.2.2-4) ... 170s Selecting previously unselected package python3-installer. 170s Preparing to unpack .../53-python3-installer_0.7.0+dfsg1-3_all.deb ... 170s Unpacking python3-installer (0.7.0+dfsg1-3) ... 170s Selecting previously unselected package pybuild-plugin-pyproject. 170s Preparing to unpack .../54-pybuild-plugin-pyproject_6.20250414_all.deb ... 170s Unpacking pybuild-plugin-pyproject (6.20250414) ... 170s Selecting previously unselected package python3.14. 170s Preparing to unpack .../55-python3.14_3.14.0-4_armhf.deb ... 170s Unpacking python3.14 (3.14.0-4) ... 170s Selecting previously unselected package python3-all. 170s Preparing to unpack .../56-python3-all_3.13.7-2_armhf.deb ... 170s Unpacking python3-all (3.13.7-2) ... 170s Selecting previously unselected package python3-antlr4. 170s Preparing to unpack .../57-python3-antlr4_4.9.2-1_all.deb ... 170s Unpacking python3-antlr4 (4.9.2-1) ... 170s Selecting previously unselected package python3-jsonpickle. 170s Preparing to unpack .../58-python3-jsonpickle_4.0.2+dfsg-2_all.deb ... 170s Unpacking python3-jsonpickle (4.0.2+dfsg-2) ... 170s Selecting previously unselected package python3-wrapt. 170s Preparing to unpack .../59-python3-wrapt_1.17.3-2_armhf.deb ... 170s Unpacking python3-wrapt (1.17.3-2) ... 170s Selecting previously unselected package python3-aws-xray-sdk. 170s Preparing to unpack .../60-python3-aws-xray-sdk_0.95-4_all.deb ... 170s Unpacking python3-aws-xray-sdk (0.95-4) ... 170s Selecting previously unselected package python3-click. 170s Preparing to unpack .../61-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 170s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 170s Selecting previously unselected package python3-docker. 170s Preparing to unpack .../62-python3-docker_7.1.0-2ubuntu1_all.deb ... 170s Unpacking python3-docker (7.1.0-2ubuntu1) ... 170s Selecting previously unselected package python3-terminaltables3. 170s Preparing to unpack .../63-python3-terminaltables3_4.0.0-4_all.deb ... 170s Unpacking python3-terminaltables3 (4.0.0-4) ... 171s Selecting previously unselected package python3-envs. 171s Preparing to unpack .../64-python3-envs_1.2.6-4_all.deb ... 171s Unpacking python3-envs (1.2.6-4) ... 171s Selecting previously unselected package python3-itsdangerous. 171s Preparing to unpack .../65-python3-itsdangerous_2.2.0-2_all.deb ... 171s Unpacking python3-itsdangerous (2.2.0-2) ... 171s Selecting previously unselected package python3-werkzeug. 171s Preparing to unpack .../66-python3-werkzeug_3.1.3-2_all.deb ... 171s Unpacking python3-werkzeug (3.1.3-2) ... 171s Selecting previously unselected package python3-flask. 171s Preparing to unpack .../67-python3-flask_3.1.2-1ubuntu1_all.deb ... 171s Unpacking python3-flask (3.1.2-1ubuntu1) ... 171s Selecting previously unselected package python3-flask-cors. 171s Preparing to unpack .../68-python3-flask-cors_6.0.1-1_all.deb ... 171s Unpacking python3-flask-cors (6.0.1-1) ... 171s Selecting previously unselected package python3-freezegun. 171s Preparing to unpack .../69-python3-freezegun_1.5.1-1.2_all.deb ... 171s Unpacking python3-freezegun (1.5.1-1.2) ... 171s Selecting previously unselected package python3-graphql-core. 171s Preparing to unpack .../70-python3-graphql-core_3.2.7-1_all.deb ... 171s Unpacking python3-graphql-core (3.2.7-1) ... 171s Selecting previously unselected package python3-inflection. 171s Preparing to unpack .../71-python3-inflection_0.3.1-3_all.deb ... 171s Unpacking python3-inflection (0.3.1-3) ... 171s Selecting previously unselected package python3-iniconfig. 171s Preparing to unpack .../72-python3-iniconfig_2.1.0-1_all.deb ... 171s Unpacking python3-iniconfig (2.1.0-1) ... 171s Selecting previously unselected package python3-joserfc. 171s Preparing to unpack .../73-python3-joserfc_1.4.1-1_all.deb ... 171s Unpacking python3-joserfc (1.4.1-1) ... 171s Selecting previously unselected package python3-jsondiff. 171s Preparing to unpack .../74-python3-jsondiff_2.1.2-1_all.deb ... 171s Unpacking python3-jsondiff (2.1.2-1) ... 171s Selecting previously unselected package python3-ply. 171s Preparing to unpack .../75-python3-ply_3.11-9_all.deb ... 171s Unpacking python3-ply (3.11-9) ... 171s Selecting previously unselected package python3-jsonpath-ng. 171s Preparing to unpack .../76-python3-jsonpath-ng_1.7.0-3_all.deb ... 171s Unpacking python3-jsonpath-ng (1.7.0-3) ... 171s Selecting previously unselected package python3-pathable. 171s Preparing to unpack .../77-python3-pathable_0.4.4-1_all.deb ... 171s Unpacking python3-pathable (0.4.4-1) ... 171s Selecting previously unselected package python3-jsonschema-path. 171s Preparing to unpack .../78-python3-jsonschema-path_0.3.4-1_all.deb ... 171s Unpacking python3-jsonschema-path (0.3.4-1) ... 171s Selecting previously unselected package python3-lazy-object-proxy. 171s Preparing to unpack .../79-python3-lazy-object-proxy_1.12.0-1_armhf.deb ... 171s Unpacking python3-lazy-object-proxy (1.12.0-1) ... 171s Selecting previously unselected package python3-lxml:armhf. 171s Preparing to unpack .../80-python3-lxml_6.0.2-1_armhf.deb ... 171s Unpacking python3-lxml:armhf (6.0.2-1) ... 172s Selecting previously unselected package python3-responses. 172s Preparing to unpack .../81-python3-responses_0.25.8-1_all.deb ... 172s Unpacking python3-responses (0.25.8-1) ... 172s Selecting previously unselected package python3-xmltodict. 172s Preparing to unpack .../82-python3-xmltodict_0.13.0-1ubuntu1_all.deb ... 172s Unpacking python3-xmltodict (0.13.0-1ubuntu1) ... 172s Selecting previously unselected package python3-moto. 172s Preparing to unpack .../83-python3-moto_5.1.1-4_all.deb ... 172s Unpacking python3-moto (5.1.1-4) ... 172s Selecting previously unselected package python3-multipart. 172s Preparing to unpack .../84-python3-multipart_1.3.0-3_all.deb ... 172s Unpacking python3-multipart (1.3.0-3) ... 172s Selecting previously unselected package python3-mypy-extensions. 172s Preparing to unpack .../85-python3-mypy-extensions_1.1.0-1_all.deb ... 172s Unpacking python3-mypy-extensions (1.1.0-1) ... 172s Selecting previously unselected package python3-psutil. 172s Preparing to unpack .../86-python3-psutil_7.1.0-1ubuntu1_armhf.deb ... 172s Unpacking python3-psutil (7.1.0-1ubuntu1) ... 172s Selecting previously unselected package python3-mypy. 172s Preparing to unpack .../87-python3-mypy_1.15.0-5_armhf.deb ... 172s Unpacking python3-mypy (1.15.0-5) ... 173s Selecting previously unselected package python3-rfc3339-validator. 173s Preparing to unpack .../88-python3-rfc3339-validator_0.1.4-2_all.deb ... 173s Unpacking python3-rfc3339-validator (0.1.4-2) ... 173s Selecting previously unselected package python3-openapi-schema-validator. 173s Preparing to unpack .../89-python3-openapi-schema-validator_0.6.3-1_all.deb ... 173s Unpacking python3-openapi-schema-validator (0.6.3-1) ... 173s Selecting previously unselected package python3-openapi-spec-validator. 173s Preparing to unpack .../90-python3-openapi-spec-validator_0.7.1-3_all.deb ... 173s Unpacking python3-openapi-spec-validator (0.7.1-3) ... 173s Selecting previously unselected package python3-pip. 173s Preparing to unpack .../91-python3-pip_25.1.1+dfsg-1ubuntu2_all.deb ... 173s Unpacking python3-pip (25.1.1+dfsg-1ubuntu2) ... 173s Selecting previously unselected package python3-pluggy. 173s Preparing to unpack .../92-python3-pluggy_1.6.0-1_all.deb ... 173s Unpacking python3-pluggy (1.6.0-1) ... 173s Selecting previously unselected package python3-wcwidth. 173s Preparing to unpack .../93-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 173s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 173s Selecting previously unselected package python3-prompt-toolkit. 173s Preparing to unpack .../94-python3-prompt-toolkit_3.0.52-1_all.deb ... 173s Unpacking python3-prompt-toolkit (3.0.52-1) ... 173s Selecting previously unselected package python3-pycognito. 173s Preparing to unpack .../95-python3-pycognito_2024.5.1-2_all.deb ... 173s Unpacking python3-pycognito (2024.5.1-2) ... 174s Selecting previously unselected package python3-pyotp. 174s Preparing to unpack .../96-python3-pyotp_2.9.0-2_all.deb ... 174s Unpacking python3-pyotp (2.9.0-2) ... 174s Selecting previously unselected package python3-pytest. 174s Preparing to unpack .../97-python3-pytest_8.3.5-2_all.deb ... 174s Unpacking python3-pytest (8.3.5-2) ... 174s Selecting previously unselected package openstack-pkg-tools. 174s Preparing to unpack .../98-openstack-pkg-tools_135ubuntu1_all.deb ... 174s Unpacking openstack-pkg-tools (135ubuntu1) ... 174s Setting up dh-python (6.20250414) ... 174s Setting up python3-iniconfig (2.1.0-1) ... 174s Setting up python3-antlr4 (4.9.2-1) ... 175s Setting up python3-jsonpickle (4.0.2+dfsg-2) ... 175s Setting up libarchive-zip-perl (1.68-1) ... 175s Setting up python3-pathable (0.4.4-1) ... 175s Setting up python3-mypy-extensions (1.1.0-1) ... 176s Setting up libdebhelper-perl (13.24.2ubuntu1) ... 176s Setting up python3-ply (3.11-9) ... 176s Setting up libpython3.14-minimal:armhf (3.14.0-4) ... 176s Setting up python3-docker (7.1.0-2ubuntu1) ... 177s Setting up python3-rfc3339-validator (0.1.4-2) ... 177s Setting up linux-libc-dev:armhf (6.17.0-5.5) ... 177s Setting up m4 (1.4.20-2) ... 177s Setting up python3-itsdangerous (2.2.0-2) ... 177s Setting up python3-inflection (0.3.1-3) ... 177s Setting up libgomp1:armhf (15.2.0-7ubuntu1) ... 177s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 178s Setting up python3-wheel (0.46.1-2) ... 178s Setting up python3-terminaltables3 (4.0.0-4) ... 178s Setting up python3-psutil (7.1.0-1ubuntu1) ... 179s Setting up libdw1t64:armhf (0.194-1) ... 179s Setting up python3-joserfc (1.4.1-1) ... 179s Setting up python3-responses (0.25.8-1) ... 180s Setting up python3-xmltodict (0.13.0-1ubuntu1) ... 180s Setting up autotools-dev (20240727.1) ... 180s Setting up python3-pyotp (2.9.0-2) ... 180s Setting up rpcsvc-proto (1.4.3-1) ... 180s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 181s Setting up python3-pyproject-hooks (1.2.0-1) ... 181s Setting up python3-werkzeug (3.1.3-2) ... 182s Setting up libmpc3:armhf (1.3.1-2) ... 182s Setting up python3-wrapt (1.17.3-2) ... 182s Setting up python3-mypy (1.15.0-5) ... 185s Setting up autopoint (0.23.2-1) ... 185s Setting up python3-graphql-core (3.2.7-1) ... 186s Setting up python3-pip (25.1.1+dfsg-1ubuntu2) ... 189s Setting up python3-openapi-schema-validator (0.6.3-1) ... 189s Setting up python3-installer (0.7.0+dfsg1-3) ... 189s Setting up autoconf (2.72-3.1ubuntu1) ... 189s Setting up python3-pluggy (1.6.0-1) ... 189s Setting up libubsan1:armhf (15.2.0-7ubuntu1) ... 189s Setting up dwz (0.16-2) ... 189s Setting up libcrypt-dev:armhf (1:4.4.38-1build1) ... 189s Setting up libasan8:armhf (15.2.0-7ubuntu1) ... 189s Setting up libxslt1.1:armhf (1.1.43-0.3) ... 189s Setting up debugedit (1:5.2-3) ... 189s Setting up python3-jsondiff (2.1.2-1) ... 190s Setting up python3-lazy-object-proxy (1.12.0-1) ... 190s Setting up python3-jsonpath-ng (1.7.0-3) ... 190s Setting up python3-aws-xray-sdk (0.95-4) ... 191s Setting up libisl23:armhf (0.27-1) ... 191s Setting up python3-build (1.2.2-4) ... 191s Setting up libc-dev-bin (2.42-2ubuntu2) ... 191s Setting up cpp-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 191s Setting up python3-multipart (1.3.0-3) ... 191s Setting up python3.14-minimal (3.14.0-4) ... 192s Setting up libcc1-0:armhf (15.2.0-7ubuntu1) ... 192s Setting up python3-freezegun (1.5.1-1.2) ... 193s Setting up cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 193s Setting up automake (1:1.18.1-2) ... 193s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 193s Setting up python3-prompt-toolkit (3.0.52-1) ... 194s Setting up python3-jsonschema-path (0.3.4-1) ... 194s Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... 194s Setting up gettext (0.23.2-1) ... 194s Setting up python3-openapi-spec-validator (0.7.1-3) ... 194s Setting up libgcc-15-dev:armhf (15.2.0-7ubuntu1) ... 194s Setting up gcc-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 194s Setting up libpython3.14-stdlib:armhf (3.14.0-4) ... 194s Setting up pybuild-plugin-pyproject (6.20250414) ... 194s Setting up python3-pytest (8.3.5-2) ... 195s Setting up python3-flask (3.1.2-1ubuntu1) ... 195s Setting up python3-envs (1.2.6-4) ... 196s Setting up intltool-debian (0.35.0+20060710.6) ... 196s Setting up python3-flask-cors (6.0.1-1) ... 196s Setting up python3-moto (5.1.1-4) ... 203s Setting up dh-strip-nondeterminism (1.15.0-1) ... 203s Setting up cpp-15 (15.2.0-7ubuntu1) ... 203s Setting up python3-lxml:armhf (6.0.2-1) ... 203s Setting up cpp (4:15.2.0-4ubuntu1) ... 203s Setting up libc6-dev:armhf (2.42-2ubuntu2) ... 203s Setting up python3.14 (3.14.0-4) ... 204s Setting up gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 204s Setting up python3-pycognito (2024.5.1-2) ... 205s Setting up po-debconf (1.0.21+nmu1) ... 205s Setting up python3-all (3.13.7-2) ... 205s Setting up openstack-pkg-tools (135ubuntu1) ... 205s Setting up gcc-15 (15.2.0-7ubuntu1) ... 205s Setting up libstdc++-15-dev:armhf (15.2.0-7ubuntu1) ... 205s Setting up libtool (2.5.4-7) ... 205s Setting up g++-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 205s Setting up gcc (4:15.2.0-4ubuntu1) ... 205s Setting up dh-autoreconf (21) ... 205s Setting up g++-15 (15.2.0-7ubuntu1) ... 205s Setting up g++-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 205s Setting up debhelper (13.24.2ubuntu1) ... 205s Setting up g++ (4:15.2.0-4ubuntu1) ... 205s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 205s Setting up build-essential (12.12ubuntu1) ... 205s Setting up pybuild-plugin-autopkgtest (6.20250414) ... 205s Processing triggers for man-db (2.13.1-1) ... 206s Processing triggers for install-info (7.2-5) ... 206s Processing triggers for libc-bin (2.42-2ubuntu2) ... 207s Processing triggers for systemd (257.9-0ubuntu2) ... 214s autopkgtest [10:34:31]: test pybuild-autopkgtest: pybuild-autopkgtest 214s autopkgtest [10:34:31]: test pybuild-autopkgtest: [----------------------- 218s make: pyversions: No such file or directory 218s py3versions: no X-Python3-Version in control file, using supported versions 218s pybuild-autopkgtest 219s I: pybuild base:311: cd /tmp/autopkgtest.k9BufF/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 252s ============================= test session starts ============================== 252s platform linux -- Python 3.14.0, pytest-8.3.5, pluggy-1.6.0 252s rootdir: /tmp/autopkgtest.k9BufF/autopkgtest_tmp/build 252s configfile: pyproject.toml 252s plugins: typeguard-4.4.2 252s collected 9960 items / 140 deselected / 9820 selected 252s 267s tests/test_acm/test_acm.py ................................ [ 0%] 279s tests/test_acmpca/test_acmpca.py ................... [ 0%] 279s tests/test_amp/test_amp_logging_config.py .... [ 0%] 279s tests/test_amp/test_amp_rulegroupnamespaces.py ....... [ 0%] 280s tests/test_amp/test_amp_workspaces.py ........ [ 0%] 282s tests/test_apigateway/test_apigateway.py ............................... [ 1%] 283s .......................................... [ 1%] 283s tests/test_apigateway/test_apigateway_cloudformation.py .. [ 1%] 283s tests/test_apigateway/test_apigateway_custom_ids.py ... [ 1%] 284s tests/test_apigateway/test_apigateway_deployments.py .......... [ 1%] 284s tests/test_apigateway/test_apigateway_export.py ... [ 1%] 284s tests/test_apigateway/test_apigateway_gatewayresponses.py ........ [ 1%] 284s tests/test_apigateway/test_apigateway_importrestapi.py .... [ 1%] 285s tests/test_apigateway/test_apigateway_integration.py ..... [ 1%] 285s tests/test_apigateway/test_apigateway_putrestapi.py ........ [ 1%] 285s tests/test_apigateway/test_apigateway_stage.py ................ [ 2%] 286s tests/test_apigateway/test_apigateway_validators.py ..... [ 2%] 286s tests/test_apigateway/test_apigateway_vpclink.py ...... [ 2%] 286s tests/test_apigateway/test_server.py ..... [ 2%] 286s tests/test_apigatewaymanagementapi/test_apigatewaymanagementapi.py .... [ 2%] 286s tests/test_apigatewayv2/test_apigatewayv2.py ............ [ 2%] 287s tests/test_apigatewayv2/test_apigatewayv2_authorizers.py ........ [ 2%] 287s tests/test_apigatewayv2/test_apigatewayv2_domains.py ..... [ 2%] 287s tests/test_apigatewayv2/test_apigatewayv2_integrationresponses.py ...... [ 2%] 287s . [ 2%] 287s tests/test_apigatewayv2/test_apigatewayv2_integrations.py ........... [ 2%] 288s tests/test_apigatewayv2/test_apigatewayv2_mappings.py ....... [ 2%] 288s tests/test_apigatewayv2/test_apigatewayv2_models.py ...... [ 2%] 288s tests/test_apigatewayv2/test_apigatewayv2_reimport.py .... [ 2%] 288s tests/test_apigatewayv2/test_apigatewayv2_routes.py ............... [ 3%] 288s tests/test_apigatewayv2/test_apigatewayv2_stages.py ... [ 3%] 289s tests/test_apigatewayv2/test_apigatewayv2_tags.py .... [ 3%] 289s tests/test_apigatewayv2/test_apigatewayv2_vpclinks.py ........ [ 3%] 289s tests/test_apigatewayv2/test_server.py . [ 3%] 289s tests/test_appconfig/test_appconfig_applications.py .. [ 3%] 289s tests/test_appconfig/test_appconfig_config_profiles.py .. [ 3%] 289s tests/test_appconfig/test_appconfig_hosted_config_versions.py ... [ 3%] 290s tests/test_applicationautoscaling/test_applicationautoscaling.py ....... [ 3%] 290s ...... [ 3%] 290s tests/test_applicationautoscaling/test_applicationautoscaling_policies.py . [ 3%] 290s ... [ 3%] 290s tests/test_applicationautoscaling/test_validation.py ....... [ 3%] 291s tests/test_appmesh/test_appmesh.py ......... [ 3%] 291s tests/test_appsync/test_appsync.py ................. [ 3%] 291s tests/test_appsync/test_appsync_apikeys.py ....... [ 3%] 292s tests/test_appsync/test_appsync_schema.py ........... [ 3%] 292s tests/test_appsync/test_appsync_tags.py ...... [ 4%] 292s tests/test_appsync/test_server.py . [ 4%] 293s tests/test_athena/test_athena.py ....................... [ 4%] 293s tests/test_athena/test_athena_integration.py . [ 4%] 293s tests/test_athena/test_athena_server_api.py .s.. [ 4%] 296s tests/test_autoscaling/test_autoscaling.py ............................. [ 4%] 297s ........... [ 4%] 298s tests/test_autoscaling/test_autoscaling_cloudformation.py ..... [ 4%] 298s tests/test_autoscaling/test_autoscaling_group_filters.py .... [ 4%] 300s tests/test_autoscaling/test_autoscaling_groups.py ............ [ 4%] 300s tests/test_autoscaling/test_autoscaling_metrics.py . [ 4%] 301s tests/test_autoscaling/test_autoscaling_scheduledactions.py .......... [ 5%] 301s tests/test_autoscaling/test_autoscaling_tags.py ........ [ 5%] 302s tests/test_autoscaling/test_autoscaling_warm_pools.py .... [ 5%] 304s tests/test_autoscaling/test_elb.py .................. [ 5%] 305s tests/test_autoscaling/test_elbv2.py .. [ 5%] 306s tests/test_autoscaling/test_launch_configurations.py ............. [ 5%] 307s tests/test_autoscaling/test_policies.py .......... [ 5%] 307s tests/test_autoscaling/test_server.py . [ 5%] 308s tests/test_awslambda/test_awslambda_cloudformation.py ...FFFF [ 5%] 311s tests/test_awslambda/test_lambda.py .................................... [ 6%] 314s ................................ [ 6%] 314s tests/test_awslambda/test_lambda_alias.py ............... [ 6%] 315s tests/test_awslambda/test_lambda_concurrency.py ...... [ 6%] 316s tests/test_awslambda/test_lambda_eventsourcemapping.py FFFFF [ 6%] 316s tests/test_awslambda/test_lambda_function_urls.py ...... [ 6%] 316s tests/test_awslambda/test_lambda_invoke.py s. [ 6%] 316s tests/test_awslambda/test_lambda_layers.py ........ [ 6%] 317s tests/test_awslambda/test_lambda_policy.py ............. [ 6%] 317s tests/test_awslambda/test_lambda_tags.py ... [ 6%] 317s tests/test_awslambda/test_policy.py . [ 6%] 317s tests/test_awslambda_simple/test_lambda_simple.py ... [ 7%] 318s tests/test_backup/test_backup.py .................. [ 7%] 318s tests/test_batch/test_batch.py .. [ 7%] 319s tests/test_batch/test_batch_cloudformation.py ... [ 7%] 320s tests/test_batch/test_batch_compute_envs.py ............ [ 7%] 320s tests/test_batch/test_batch_job_queue.py ........ [ 7%] 321s tests/test_batch/test_batch_jobs.py ......... [ 7%] 321s tests/test_batch/test_batch_scheduling_policy.py ..... [ 7%] 322s tests/test_batch/test_batch_tags_job_definition.py ... [ 7%] 322s tests/test_batch/test_batch_tags_job_queue.py .... [ 7%] 322s tests/test_batch/test_batch_tags_scheduling_policy.py . [ 7%] 324s tests/test_batch/test_batch_task_definition.py .................. [ 7%] 324s tests/test_batch/test_server.py . [ 7%] 324s tests/test_batch/test_utils.py .................. [ 8%] 324s tests/test_batch_simple/test_batch_cloudformation.py ... [ 8%] 324s tests/test_batch_simple/test_batch_compute_envs.py .. [ 8%] 326s tests/test_batch_simple/test_batch_jobs.py ...... [ 8%] 328s tests/test_bedrock/test_bedrock.py ..................................... [ 8%] 328s ........... [ 8%] 329s tests/test_bedrockagent/test_bedrockagent.py ........................... [ 8%] 329s  [ 8%] 329s tests/test_budgets/test_budgets.py ........ [ 9%] 329s tests/test_budgets/test_notifications.py ..... [ 9%] 329s tests/test_budgets/test_server.py . [ 9%] 329s tests/test_ce/test_ce.py ....... [ 9%] 329s tests/test_ce/test_ce_cost_and_usage.py .. [ 9%] 330s tests/test_ce/test_ce_tags.py .. [ 9%] 335s tests/test_cloudformation/test_cloudformation_custom_resources.py s.. [ 9%] 335s tests/test_cloudformation/test_cloudformation_depends_on.py ... [ 9%] 336s tests/test_cloudformation/test_cloudformation_multi_accounts.py ........ [ 9%] 336s . [ 9%] 336s tests/test_cloudformation/test_cloudformation_nested_stacks.py .... [ 9%] 336s tests/test_cloudformation/test_cloudformation_stack_crud_boto3.py ...... [ 9%] 340s ........................................................................ [ 10%] 342s ................................ [ 10%] 342s tests/test_cloudformation/test_cloudformation_stack_integration.py ..... [ 10%] 345s ............................. [ 10%] 345s tests/test_cloudformation/test_cloudformation_stack_policies.py ........ [ 10%] 345s  [ 10%] 345s tests/test_cloudformation/test_conditions.py ... [ 10%] 345s tests/test_cloudformation/test_import_value.py .. [ 10%] 345s tests/test_cloudformation/test_server.py . [ 10%] 345s tests/test_cloudformation/test_stack_parsing.py ........................ [ 11%] 345s . [ 11%] 345s tests/test_cloudformation/test_utilities.py .... [ 11%] 346s tests/test_cloudfront/test_cloudfront.py ..... [ 11%] 346s tests/test_cloudfront/test_cloudfront_dist_tags.py .. [ 11%] 346s tests/test_cloudfront/test_cloudfront_distributions.py ................. [ 11%] 348s .......................................... [ 11%] 348s tests/test_cloudfront/test_cloudfront_invalidation.py ....... [ 12%] 348s tests/test_cloudfront/test_cloudfront_keys.py .... [ 12%] 349s tests/test_cloudfront/test_cloudfront_oac.py .. [ 12%] 349s tests/test_cloudfront/test_server.py . [ 12%] 349s tests/test_cloudhsmv2/test_cloudhsmv2.py ............. [ 12%] 350s tests/test_cloudtrail/test_cloudtrail.py ............................. [ 12%] 351s tests/test_cloudtrail/test_cloudtrail_eventselectors.py ........ [ 12%] 351s tests/test_cloudtrail/test_cloudtrail_tags.py .... [ 12%] 351s tests/test_cloudtrail/test_server.py . [ 12%] 351s tests/test_cloudwatch/test_cloudwatch_alarms.py ....... [ 12%] 354s tests/test_cloudwatch/test_cloudwatch_boto3.py ......................... [ 12%] 354s ................ [ 13%] 355s tests/test_cloudwatch/test_cloudwatch_dashboards.py ....... [ 13%] 355s tests/test_cloudwatch/test_cloudwatch_expression_parser.py ... [ 13%] 355s tests/test_cloudwatch/test_cloudwatch_expressions.py ... [ 13%] 355s tests/test_cloudwatch/test_cloudwatch_tags.py ....... [ 13%] 356s tests/test_codebuild/test_codebuild.py ................... [ 13%] 356s tests/test_codecommit/test_codecommit.py ........ [ 13%] 357s tests/test_codepipeline/test_codepipeline.py ................ [ 13%] 357s tests/test_cognitoidentity/test_cognitoidentity.py ..................... [ 13%] 357s .. [ 14%] 357s tests/test_cognitoidentity/test_server.py ... [ 14%] 370s tests/test_cognitoidp/test_cognitoidp.py ............................... [ 14%] 398s ........................................................................ [ 15%] 426s ........................................................................ [ 15%] 440s ................................... [ 16%] 441s tests/test_cognitoidp/test_cognitoidp_exceptions.py ... [ 16%] 443s tests/test_cognitoidp/test_cognitoidp_replay.py .. [ 16%] 443s tests/test_cognitoidp/test_server.py ... [ 16%] 444s tests/test_comprehend/test_comprehend.py .................. [ 16%] 448s tests/test_config/test_config.py .................................. [ 16%] 449s tests/test_config/test_config_rules.py ........ [ 16%] 449s tests/test_config/test_config_rules_integration.py ... [ 16%] 449s tests/test_config/test_config_tags.py ... [ 16%] 450s tests/test_core/test_account_id_resolution.py . [ 16%] 451s tests/test_core/test_auth.py .......................... [ 17%] 451s tests/test_core/test_backenddict.py ............. [ 17%] 451s tests/test_core/test_backends.py . [ 17%] 451s tests/test_core/test_botocore_stubber.py . [ 17%] 452s tests/test_core/test_config.py .. [ 17%] 453s tests/test_core/test_decorator_calls.py ............................ [ 17%] 453s tests/test_core/test_ec2_vpc_endpoint_services.py ... [ 17%] 453s tests/test_core/test_environ_patching.py ... [ 17%] 454s tests/test_core/test_importorder.py ....... [ 17%] 454s tests/test_core/test_instance_metadata.py .... [ 17%] 454s tests/test_core/test_mock_regions.py ..... [ 17%] 454s tests/test_core/test_moto_api.py ...... [ 17%] 454s tests/test_core/test_mypy.py ... [ 17%] 454s tests/test_core/test_nested.py .. [ 18%] 454s tests/test_core/test_proxy.py sssss [ 18%] 454s tests/test_core/test_request_mocking.py ... [ 18%] 454s tests/test_core/test_request_passthrough.py . [ 18%] 454s tests/test_core/test_responses.py ......... [ 18%] 455s tests/test_core/test_responses_module.py ..... [ 18%] 456s tests/test_core/test_server.py .... [ 18%] 456s tests/test_core/test_settings.py ......... [ 18%] 457s tests/test_core/test_url_base_regex.py ................................. [ 18%] 459s ........................................................................ [ 19%] 461s ..................................................... [ 19%] 461s tests/test_core/test_url_mapping.py .. [ 20%] 461s tests/test_core/test_utils.py ............ [ 20%] 461s tests/test_databrew/test_databrew_datasets.py ............ [ 20%] 462s tests/test_databrew/test_databrew_jobs.py .......................... [ 20%] 462s tests/test_databrew/test_databrew_recipes.py ........................... [ 20%] 463s ......... [ 20%] 463s tests/test_databrew/test_databrew_rulesets.py .......... [ 20%] 464s tests/test_datapipeline/test_datapipeline.py ........ [ 21%] 464s tests/test_datapipeline/test_datapipeline_cloudformation.py . [ 21%] 464s tests/test_datapipeline/test_server.py . [ 21%] 464s tests/test_datasync/test_datasync.py ................... [ 21%] 465s tests/test_dax/test_dax.py ............................... [ 21%] 465s tests/test_dax/test_server.py . [ 21%] 466s tests/test_directconnect/test_directconnect.py .......... [ 21%] 466s tests/test_dms/test_dms.py ......... [ 21%] 468s tests/test_ds/test_ds.py ........... [ 21%] 468s tests/test_ds/test_ds_ad_connect.py ........ [ 21%] 470s tests/test_ds/test_ds_microsoft_ad.py ......... [ 22%] 470s tests/test_ds/test_ds_simple_ad_directory.py .... [ 22%] 470s tests/test_ds/test_ds_tags.py ... [ 22%] 470s tests/test_dsql/test_dsql.py .... [ 22%] 471s tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py ............. [ 22%] 473s .............................................. [ 22%] 473s tests/test_dynamodb/exceptions/test_dynamodb_transactions.py ........ [ 22%] 473s tests/test_dynamodb/exceptions/test_key_length_exceptions.py ........ [ 22%] 473s tests/test_dynamodb/models/test_item.py ............. [ 23%] 473s tests/test_dynamodb/models/test_key_condition_expression_parser.py ..... [ 23%] 473s .......................... [ 23%] 473s tests/test_dynamodb/models/test_utilities.py ............ [ 23%] 475s tests/test_dynamodb/test_dynamodb.py ................................... [ 23%] 483s ........................................................................ [ 24%] 484s .................................. [ 24%] 485s tests/test_dynamodb/test_dynamodb_batch_get_item.py ....... [ 25%] 486s tests/test_dynamodb/test_dynamodb_batch_write.py ... [ 25%] 486s tests/test_dynamodb/test_dynamodb_cloudformation.py ... [ 25%] 486s tests/test_dynamodb/test_dynamodb_condition_expressions.py .......... [ 25%] 486s tests/test_dynamodb/test_dynamodb_consumedcapacity.py ...... [ 25%] 487s tests/test_dynamodb/test_dynamodb_create_table.py .............. [ 25%] 487s tests/test_dynamodb/test_dynamodb_executor.py ....................... [ 25%] 489s tests/test_dynamodb/test_dynamodb_export_table.py ....... [ 25%] 489s tests/test_dynamodb/test_dynamodb_expression_tokenizer.py .............. [ 25%] 489s ....... [ 25%] 489s tests/test_dynamodb/test_dynamodb_expressions.py ....................... [ 26%] 489s ................. [ 26%] 490s tests/test_dynamodb/test_dynamodb_query.py ................... [ 26%] 491s tests/test_dynamodb/test_dynamodb_resource_policy.py .............. [ 26%] 493s tests/test_dynamodb/test_dynamodb_scan.py .......................... [ 26%] 493s tests/test_dynamodb/test_dynamodb_table_with_range_key.py .............. [ 27%] 494s ........... [ 27%] 494s tests/test_dynamodb/test_dynamodb_table_without_range_key.py ........... [ 27%] 495s ............... [ 27%] 495s tests/test_dynamodb/test_dynamodb_transact.py .................. [ 27%] 496s tests/test_dynamodb/test_dynamodb_update_expressions.py ........ [ 27%] 496s tests/test_dynamodb/test_dynamodb_update_table.py ..... [ 27%] 496s tests/test_dynamodb/test_dynamodb_validation.py ..................... [ 27%] 496s tests/test_dynamodb/test_server.py . [ 27%] 497s tests/test_dynamodb_v20111205/test_server.py ........................... [ 28%] 497s .............. [ 28%] 497s tests/test_dynamodb_v20111205/test_servermode.py ss [ 28%] 497s tests/test_dynamodbstreams/test_dynamodbstreams.py .......... [ 28%] 497s tests/test_ebs/test_ebs.py ........ [ 28%] 497s tests/test_ec2/test_account_attributes.py . [ 28%] 504s tests/test_ec2/test_amis.py ............................................ [ 29%] 504s . [ 29%] 506s tests/test_ec2/test_availability_zones_and_regions.py .............. [ 29%] 507s tests/test_ec2/test_carrier_gateways.py ...... [ 29%] 507s tests/test_ec2/test_customer_gateways.py ...... [ 29%] 509s tests/test_ec2/test_dhcp_options.py .................. [ 29%] 511s tests/test_ec2/test_ec2_cloudformation.py ...................... [ 29%] 512s tests/test_ec2/test_ec2_integration.py . [ 29%] 512s tests/test_ec2/test_egress_only_igw.py ..... [ 29%] 517s tests/test_ec2/test_elastic_block_store.py ............................. [ 30%] 519s ............ [ 30%] 522s tests/test_ec2/test_elastic_ip_addresses.py ...................... [ 30%] 525s tests/test_ec2/test_elastic_network_interfaces.py ...................... [ 30%] 526s ......... [ 30%] 528s tests/test_ec2/test_fleets.py .................... [ 30%] 530s tests/test_ec2/test_flow_logs.py .............. [ 31%] 530s tests/test_ec2/test_flow_logs_cloudformation.py .. [ 31%] 530s tests/test_ec2/test_general.py .. [ 31%] 531s tests/test_ec2/test_hosts.py ........ [ 31%] 531s tests/test_ec2/test_iam_integration.py ....... [ 31%] 532s tests/test_ec2/test_instance_type_offerings.py .... [ 31%] 534s tests/test_ec2/test_instance_types.py ........... [ 31%] 539s tests/test_ec2/test_instances.py ....................................... [ 31%] 545s .......................................................... [ 32%] 547s tests/test_ec2/test_internet_gateways.py ................. [ 32%] 553s tests/test_ec2/test_key_pairs.py ................... [ 32%] 554s tests/test_ec2/test_launch_templates.py ...................... [ 33%] 555s tests/test_ec2/test_launch_templates_cloudformation.py .... [ 33%] 555s tests/test_ec2/test_nat_gateway.py ........ [ 33%] 557s tests/test_ec2/test_network_acls.py ............... [ 33%] 558s tests/test_ec2/test_prefix_lists.py ............. [ 33%] 559s tests/test_ec2/test_regions.py ........ [ 33%] 563s tests/test_ec2/test_route_tables.py ............................. [ 33%] 566s tests/test_ec2/test_security_groups.py ................................. [ 34%] 569s ................... [ 34%] 569s tests/test_ec2/test_security_groups_cloudformation.py .... [ 34%] 569s tests/test_ec2/test_server.py ... [ 34%] 569s tests/test_ec2/test_settings.py .... [ 34%] 572s tests/test_ec2/test_spot_fleet.py ................. [ 34%] 573s tests/test_ec2/test_spot_instances.py ............ [ 34%] 576s tests/test_ec2/test_subnets.py ............................. [ 35%] 578s tests/test_ec2/test_tags.py ................... [ 35%] 582s tests/test_ec2/test_transit_gateway.py ............................... [ 35%] 582s tests/test_ec2/test_transit_gateway_cloudformation.py .. [ 35%] 583s tests/test_ec2/test_transit_gateway_peering_attachments.py ........ [ 35%] 584s tests/test_ec2/test_utils.py ....... [ 35%] 585s tests/test_ec2/test_virtual_private_gateways.py ................ [ 35%] 585s tests/test_ec2/test_vpc_endpoint_services_integration.py . [ 35%] 589s tests/test_ec2/test_vpc_peering.py ........................... [ 36%] 591s tests/test_ec2/test_vpc_service_configuration_integration.py ........... [ 36%] 591s .... [ 36%] 595s tests/test_ec2/test_vpcs.py ............................................ [ 36%] 596s ........ [ 36%] 597s tests/test_ec2/test_vpn_connections.py ...... [ 36%] 597s tests/test_ec2/test_windows.py . [ 36%] 597s tests/test_ec2instanceconnect/test_ec2instanceconnect_boto3.py . [ 36%] 598s tests/test_ecr/test_ecr_boto3.py ....................................... [ 37%] 600s ............................................................ [ 37%] 600s tests/test_ecr/test_ecr_cloudformation.py ... [ 37%] 600s tests/test_ecr/test_ecr_policy_validation.py ...................... [ 38%] 600s tests/test_ecr/test_ecr_scanning_config.py ... [ 38%] 601s tests/test_ecs/test_ecs_account_settings.py ............. [ 38%] 602s tests/test_ecs/test_ecs_boto3.py ....................................... [ 38%] 606s ............................................................ [ 39%] 607s tests/test_ecs/test_ecs_capacity_provider.py ....... [ 39%] 607s tests/test_ecs/test_ecs_cloudformation.py .......... [ 39%] 607s tests/test_ecs/test_ecs_efs.py . [ 39%] 607s tests/test_ecs/test_ecs_task_def_tags.py . [ 39%] 607s tests/test_ecs/test_ecs_task_tags.py .. [ 39%] 608s tests/test_ecs/test_ecs_tasksets.py ......... [ 39%] 608s tests/test_efs/test_access_point_tagging.py .... [ 39%] 608s tests/test_efs/test_access_points.py ....... [ 39%] 609s tests/test_efs/test_efs_cloudformation.py .. [ 39%] 609s tests/test_efs/test_file_system.py ................. [ 39%] 609s tests/test_efs/test_filesystem_policy.py .. [ 40%] 609s tests/test_efs/test_filesystem_tagging.py .... [ 40%] 609s tests/test_efs/test_lifecycle_config.py ... [ 40%] 610s tests/test_efs/test_mount_target.py ................... [ 40%] 611s tests/test_efs/test_mount_target_security_groups.py .... [ 40%] 611s tests/test_efs/test_server.py ....... [ 40%] 659s tests/test_eks/test_eks.py ............................................. [ 40%] 663s ............................................ [ 41%] 663s tests/test_eks/test_eks_ec2.py ... [ 41%] 665s tests/test_eks/test_server.py .................. [ 41%] 666s tests/test_elasticache/test_elasticache.py ............................. [ 41%] 666s .... [ 41%] 666s tests/test_elasticache/test_server.py . [ 41%] 666s tests/test_elasticbeanstalk/test_elasticbeanstalk.py .......... [ 41%] 666s tests/test_elasticbeanstalk/test_server.py . [ 41%] 667s tests/test_elastictranscoder/test_elastictranscoder.py ................ [ 42%] 667s tests/test_elastictranscoder/test_server.py . [ 42%] 670s tests/test_elb/test_elb.py ......................................... [ 42%] 670s tests/test_elb/test_elb_availabilityzones.py . [ 42%] 670s tests/test_elb/test_elb_cloudformation.py ... [ 42%] 670s tests/test_elb/test_elb_policies.py .......... [ 42%] 670s tests/test_elb/test_elb_subnets.py .. [ 42%] 670s tests/test_elb/test_server.py . [ 42%] 674s tests/test_elbv2/test_elbv2.py ......................................... [ 43%] 679s ................ [ 43%] 679s tests/test_elbv2/test_elbv2_cloudformation.py ..... [ 43%] 680s tests/test_elbv2/test_elbv2_integration.py . [ 43%] 680s tests/test_elbv2/test_elbv2_listener_attributes.py . [ 43%] 680s tests/test_elbv2/test_elbv2_listener_rule_tags.py ... [ 43%] 684s tests/test_elbv2/test_elbv2_listener_rules.py .......................... [ 43%] 685s ............ [ 43%] 685s tests/test_elbv2/test_elbv2_listener_tags.py ... [ 43%] 686s tests/test_elbv2/test_elbv2_set_subnets.py .. [ 43%] 688s tests/test_elbv2/test_elbv2_target_groups.py ........................... [ 44%] 691s ............................................. [ 44%] 692s tests/test_elbv2/test_elbv2_target_health.py .. [ 44%] 692s tests/test_elbv2/test_server.py . [ 44%] 692s tests/test_emr/test_emr.py . [ 44%] 697s tests/test_emr/test_emr_boto3.py ............................ [ 44%] 698s tests/test_emr/test_emr_cloudformation.py ....... [ 44%] 698s tests/test_emr/test_emr_integration.py ...... [ 45%] 698s tests/test_emr/test_server.py . [ 45%] 698s tests/test_emr/test_utils.py .. [ 45%] 699s tests/test_emrcontainers/test_emrcontainers.py ......................... [ 45%] 700s ................................ [ 45%] 700s tests/test_emrcontainers/test_server.py . [ 45%] 701s tests/test_emrserverless/test_emrserverless.py ......................... [ 45%] 704s .................................... [ 46%] 704s tests/test_emrserverless/test_server.py . [ 46%] 704s tests/test_es/test_domain_tags.py ..... [ 46%] 704s tests/test_es/test_es.py ................... [ 46%] 704s tests/test_es/test_server.py . [ 46%] 704s tests/test_events/test_event_pattern.py ............ [ 46%] 705s tests/test_events/test_events.py ....................................... [ 47%] 707s ........................................................................ [ 47%] 707s ... [ 47%] 708s tests/test_events/test_events_cloudformation.py ...... [ 47%] 708s tests/test_events/test_events_http_integration.py . [ 47%] 710s tests/test_events/test_events_integration.py ...... [ 47%] 725s tests/test_events/test_events_lambdatriggers_integration.py .... [ 48%] 725s tests/test_events/test_events_partners_integration.py ... [ 48%] 726s tests/test_firehose/test_firehose.py ....... [ 48%] 726s tests/test_firehose/test_firehose_destination_types.py ..... [ 48%] 726s tests/test_firehose/test_firehose_encryption.py .... [ 48%] 726s tests/test_firehose/test_firehose_put.py ..... [ 48%] 726s tests/test_firehose/test_firehose_tags.py ... [ 48%] 726s tests/test_firehose/test_http_destinations.py .. [ 48%] 726s tests/test_forecast/test_forecast.py ..................... [ 48%] 729s tests/test_fsx/test_fsx.py ...... [ 48%] 729s tests/test_glacier/test_glacier_archives.py ... [ 48%] 734s tests/test_glacier/test_glacier_jobs.py .... [ 48%] 734s tests/test_glacier/test_glacier_vaults.py .... [ 48%] 734s tests/test_glacier/test_server.py . [ 48%] 735s tests/test_glue/test_datacatalog.py .................................... [ 49%] 736s ................. [ 49%] 737s tests/test_glue/test_glue.py ........................................... [ 49%] 738s ............... [ 49%] 738s tests/test_glue/test_glue_job_runs.py ...... [ 49%] 738s tests/test_glue/test_partition_filter.py ....... [ 49%] 739s tests/test_glue/test_schema_registry.py ................................ [ 50%] 740s ..................................... [ 50%] 741s tests/test_greengrass/test_greengrass_core.py ............. [ 50%] 741s tests/test_greengrass/test_greengrass_deployment.py ............... [ 50%] 742s tests/test_greengrass/test_greengrass_device.py ............... [ 51%] 742s tests/test_greengrass/test_greengrass_functions.py ................ [ 51%] 743s tests/test_greengrass/test_greengrass_groups.py ........................ [ 51%] 743s ....... [ 51%] 744s tests/test_greengrass/test_greengrass_resource.py .................... [ 51%] 744s tests/test_greengrass/test_greengrass_subscriptions.py ................. [ 51%] 744s ...... [ 52%] 744s tests/test_guardduty/test_guardduty.py ........... [ 52%] 744s tests/test_guardduty/test_guardduty_filters.py ..... [ 52%] 744s tests/test_guardduty/test_guardduty_organization.py .. [ 52%] 745s tests/test_guardduty/test_server.py . [ 52%] 748s tests/test_iam/test_iam.py ............................................. [ 52%] 752s ........................................................................ [ 53%] 755s ...................................... [ 53%] 755s tests/test_iam/test_iam_access_integration.py ... [ 53%] 755s tests/test_iam/test_iam_account_aliases.py . [ 53%] 756s tests/test_iam/test_iam_cloudformation.py .............................. [ 54%] 756s  [ 54%] 758s tests/test_iam/test_iam_groups.py ....................... [ 54%] 758s tests/test_iam/test_iam_oidc.py .................. [ 54%] 758s tests/test_iam/test_iam_password_last_used.py . [ 54%] 759s tests/test_iam/test_iam_policies.py .................................... [ 54%] 761s ........................................................................ [ 55%] 761s ..................... [ 55%] 763s tests/test_iam/test_iam_resets.py .. [ 55%] 763s tests/test_iam/test_iam_server_certificates.py ..... [ 55%] 765s tests/test_iam/test_iam_signing_certificates.py ...... [ 56%] 765s tests/test_iam/test_server.py . [ 56%] 766s tests/test_identitystore/test_identitystore.py ......................... [ 56%] 766s .. [ 56%] 766s tests/test_inspector2/test_inspector2.py .. [ 56%] 766s tests/test_inspector2/test_inspector2_admin_accounts.py . [ 56%] 766s tests/test_inspector2/test_inspector2_enable.py . [ 56%] 766s tests/test_inspector2/test_inspector2_findings.py . [ 56%] 766s tests/test_inspector2/test_inspector2_members.py . [ 56%] 766s tests/test_inspector2/test_inspector2_organization.py . [ 56%] 766s tests/test_inspector2/test_inspector2_tags.py .. [ 56%] 767s tests/test_iot/test_iot.py .... [ 56%] 768s tests/test_iot/test_iot_ca_certificates.py .......... [ 56%] 774s tests/test_iot/test_iot_certificates.py .............. [ 56%] 775s tests/test_iot/test_iot_cloudformation.py ................. [ 56%] 775s tests/test_iot/test_iot_deprecate_thing_type.py .... [ 56%] 775s tests/test_iot/test_iot_domain_configuration.py ............ [ 57%] 775s tests/test_iot/test_iot_indexing_configuration.py .. [ 57%] 775s tests/test_iot/test_iot_integration.py . [ 57%] 776s tests/test_iot/test_iot_job_executions.py ...... [ 57%] 776s tests/test_iot/test_iot_job_templates.py ......... [ 57%] 776s tests/test_iot/test_iot_jobs.py ........ [ 57%] 778s tests/test_iot/test_iot_policies.py ................. [ 57%] 778s tests/test_iot/test_iot_rolealias.py ....... [ 57%] 778s tests/test_iot/test_iot_search.py ............. [ 57%] 779s tests/test_iot/test_iot_thing_groups.py ................. [ 57%] 779s tests/test_iot/test_iot_thing_types.py ..... [ 57%] 780s tests/test_iot/test_iot_things.py ....... [ 57%] 780s tests/test_iot/test_iot_topic_rules.py .......... [ 58%] 781s tests/test_iot/test_server.py ... [ 58%] 781s tests/test_iotdata/test_iotdata.py ................... [ 58%] 781s tests/test_iotdata/test_server.py ... [ 58%] 782s tests/test_ivs/test_ivs.py ................. [ 58%] 782s tests/test_kafka/test_kafka.py ..... [ 58%] 786s tests/test_kinesis/test_kinesis.py .................................. [ 58%] 786s tests/test_kinesis/test_kinesis_boto3.py ................ [ 59%] 786s tests/test_kinesis/test_kinesis_cloudformation.py .... [ 59%] 786s tests/test_kinesis/test_kinesis_encryption.py ... [ 59%] 787s tests/test_kinesis/test_kinesis_monitoring.py ..... [ 59%] 787s tests/test_kinesis/test_kinesis_resource_policy.py ..... [ 59%] 787s tests/test_kinesis/test_kinesis_stream_consumers.py ....... [ 59%] 788s tests/test_kinesis/test_kinesis_stream_limits.py ....... [ 59%] 788s tests/test_kinesis/test_server.py . [ 59%] 788s tests/test_kinesisvideo/test_kinesisvideo.py ........ [ 59%] 788s tests/test_kinesisvideo/test_server.py . [ 59%] 788s tests/test_kinesisvideoarchivedmedia/test_kinesisvideoarchivedmedia.py . [ 59%] 788s .. [ 59%] 788s tests/test_kinesisvideoarchivedmedia/test_server.py . [ 59%] 794s tests/test_kms/test_kms_boto3.py ....................................... [ 59%] 801s ........................................................................ [ 60%] 826s .......................................... [ 61%] 834s tests/test_kms/test_kms_encrypt.py ................... [ 61%] 834s tests/test_kms/test_kms_grants.py ....... [ 61%] 836s tests/test_kms/test_kms_key_rotation.py ....... [ 61%] 837s tests/test_kms/test_kms_mac.py ...... [ 61%] 838s tests/test_kms/test_kms_policy_enforcement.py ........................ [ 61%] 839s tests/test_kms/test_model.py .... [ 61%] 839s tests/test_kms/test_server.py . [ 61%] 841s tests/test_kms/test_utils.py ..................... [ 61%] 841s tests/test_lakeformation/test_lakeformation.py ................... [ 62%] 841s tests/test_lakeformation/test_permission.py .. [ 62%] 842s tests/test_lakeformation/test_resource_tags_integration.py ..... [ 62%] 842s tests/test_lexv2models/test_lexv2models.py ....... [ 62%] 842s tests/test_logs/test_export_tasks.py ......... [ 62%] 843s tests/test_logs/test_integration.py ..... [ 62%] 844s tests/test_logs/test_logs.py ........................................... [ 62%] 844s .................. [ 63%] 844s tests/test_logs/test_logs_cloudformation.py . [ 63%] 845s tests/test_logs/test_logs_filter_log_events.py ........ [ 63%] 845s tests/test_logs/test_logs_metric_filters.py ............ [ 63%] 845s tests/test_logs/test_logs_query/test_boto3.py .... [ 63%] 845s tests/test_logs/test_logs_query/test_query.py .. [ 63%] 845s tests/test_logs/test_logs_query/test_query_parser.py ........... [ 63%] 845s tests/test_logs/test_logs_tags.py .. [ 63%] 845s tests/test_logs/test_models.py . [ 63%] 845s tests/test_managedblockchain/test_managedblockchain_invitations.py ... [ 63%] 846s tests/test_managedblockchain/test_managedblockchain_members.py ......... [ 63%] 846s ...... [ 63%] 846s tests/test_managedblockchain/test_managedblockchain_networks.py ...... [ 63%] 846s tests/test_managedblockchain/test_managedblockchain_nodes.py ........... [ 63%] 846s ...... [ 63%] 846s tests/test_managedblockchain/test_managedblockchain_proposals.py ....... [ 63%] 846s .. [ 63%] 846s tests/test_managedblockchain/test_managedblockchain_proposalvotes.py ... [ 64%] 847s .......... [ 64%] 851s tests/test_mediaconnect/test_mediaconnect.py ...FFFFFFFFFFFFFFFFFFFFFFFF [ 64%] 851s F [ 64%] 851s tests/test_mediaconnect/test_server.py . [ 64%] 852s tests/test_medialive/test_medialive.py ............ [ 64%] 852s tests/test_medialive/test_server.py .. [ 64%] 852s tests/test_mediapackage/test_mediapackage.py .............. [ 64%] 852s tests/test_mediapackage/test_server.py .. [ 64%] 852s tests/test_mediastore/test_mediastore.py ..................... [ 64%] 852s tests/test_mediastore/test_server.py . [ 64%] 852s tests/test_mediastoredata/test_mediastoredata.py ...... [ 65%] 853s tests/test_mediastoredata/test_server.py . [ 65%] 854s tests/test_memorydb/test_memorydb.py ................................... [ 65%] 854s .............. [ 65%] 854s tests/test_meteringmarketplace/test_meteringmarketplace.py . [ 65%] 854s tests/test_moto_api/mock_random/test_mock_random.py ... [ 65%] 856s tests/test_moto_api/recorder/test_recorder.py ........ [ 65%] 856s tests/test_moto_api/seeder/test_seeder.py ... [ 65%] 856s tests/test_moto_api/state_manager/servermode/test_inmemory_server.py ... [ 65%] 856s  [ 65%] 856s tests/test_moto_api/state_manager/servermode/test_state_manager.py sss [ 65%] 856s tests/test_moto_api/state_manager/test_batch_integration.py . [ 65%] 858s tests/test_moto_api/state_manager/test_managed_state_model.py ....... [ 65%] 858s tests/test_moto_api/state_manager/test_state_manager.py ....... [ 65%] 858s tests/test_mq/test_mq.py ................ [ 66%] 859s tests/test_mq/test_mq_configuration.py ......... [ 66%] 859s tests/test_mq/test_mq_tags.py ..... [ 66%] 859s tests/test_mq/test_mq_users.py ....... [ 66%] 859s tests/test_mq/test_server.py . [ 66%] 859s tests/test_neptune/test_cluster_options.py . [ 66%] 859s tests/test_neptune/test_cluster_tags.py . [ 66%] 859s tests/test_neptune/test_clusters.py ....... [ 66%] 859s tests/test_neptune/test_global_clusters.py .... [ 66%] 860s tests/test_networkmanager/test_networkmanager.py ..................... [ 66%] 860s tests/test_networkmanager/test_server.py ... [ 66%] 860s tests/test_opensearch/test_domain_tags.py .. [ 66%] 860s tests/test_opensearch/test_opensearch.py .............. [ 66%] 860s tests/test_opensearchserverless/test_opensearchserverless.py ........... [ 66%] 861s ............ [ 67%] 861s tests/test_opsworks/test_apps.py FF [ 67%] 861s tests/test_opsworks/test_instances.py FFF [ 67%] 861s tests/test_opsworks/test_layers.py FF [ 67%] 862s tests/test_opsworks/test_stack.py FF [ 67%] 862s tests/test_organizations/test_organizations_boto3.py ................... [ 67%] 864s ........................................................................ [ 68%] 864s ................. [ 68%] 865s tests/test_osis/test_osis.py ................ [ 68%] 865s tests/test_osis/test_server.py . [ 68%] 865s tests/test_panorama/test_application_instance.py ...... [ 68%] 865s tests/test_panorama/test_nodes.py ... [ 68%] 866s tests/test_panorama/test_panorama_device.py ............... [ 68%] 866s tests/test_panorama/test_server.py . [ 68%] 866s tests/test_personalize/test_personalize_schema.py ........ [ 68%] 866s tests/test_pinpoint/test_pinpoint.py ....... [ 68%] 866s tests/test_pinpoint/test_pinpoint_application_tags.py .... [ 68%] 866s tests/test_pinpoint/test_pinpoint_event_stream.py ... [ 68%] 867s tests/test_polly/test_polly.py .............. [ 69%] 867s tests/test_polly/test_server.py . [ 69%] 867s tests/test_qldb/test_qldb.py EE [ 69%] 867s tests/test_quicksight/test_quicksight_datasets.py .. [ 69%] 867s tests/test_quicksight/test_quicksight_groups.py ............... [ 69%] 869s tests/test_quicksight/test_quicksight_users.py ....................... [ 69%] 869s tests/test_ram/test_ram.py ............ [ 69%] 869s tests/test_rds/test_db_cluster_param_group.py . [ 69%] 869s tests/test_rds/test_db_cluster_params.py . [ 69%] 870s tests/test_rds/test_filters.py .............................. [ 69%] 870s tests/test_rds/test_global_clusters.py ........ [ 69%] 873s tests/test_rds/test_rds.py ............................................. [ 70%] 877s ........................................................................ [ 71%] 881s ........................................................................ [ 71%] 883s .......... [ 72%] 883s tests/test_rds/test_rds_cloudformation.py ....... [ 72%] 885s tests/test_rds/test_rds_clusters.py .................................... [ 72%] 887s ........................................ [ 72%] 888s tests/test_rds/test_rds_clusters_with_instances.py ..... [ 72%] 888s tests/test_rds/test_rds_event_subscriptions.py ...... [ 72%] 888s tests/test_rds/test_rds_export_tasks.py ........ [ 73%] 889s tests/test_rds/test_rds_proxy.py FFFFF. [ 73%] 889s tests/test_rds/test_rds_proxy_target_groups.py ... [ 73%] 889s tests/test_rds/test_server.py .. [ 73%] 889s tests/test_rds/test_utils.py ................ [ 73%] 889s tests/test_rdsdata/test_rdsdata.py .. [ 73%] 890s tests/test_redshift/test_redshift.py ................................... [ 73%] 891s ............................... [ 74%] 891s tests/test_redshift/test_redshift_cloudformation.py . [ 74%] 892s tests/test_redshift/test_server.py .............. [ 74%] 892s tests/test_redshiftdata/test_redshiftdata.py ......... [ 74%] 892s tests/test_redshiftdata/test_server.py ........ [ 74%] 892s tests/test_rekognition/test_rekognition.py ........ [ 74%] 893s tests/test_resiliencehub/test_resiliencehub.py ........... [ 74%] 893s tests/test_resiliencehub/test_resiliencyhub_resources.py ..... [ 74%] 893s tests/test_resiliencehub/test_resiliencyhub_tagging.py .. [ 74%] 893s tests/test_resourcegroups/test_resourcegroups.py ............ [ 74%] 893s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_dynamodb.py . [ 74%] 893s . [ 74%] 893s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_glue.py . [ 74%] 893s  [ 74%] 893s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_logs.py . [ 74%] 893s . [ 74%] 894s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_rds.py .. [ 74%] 894s  [ 74%] 895s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py ... [ 74%] 897s .............FFF............ [ 75%] 897s tests/test_resourcegroupstaggingapi/test_server.py . [ 75%] 897s tests/test_robomaker/test_robomaker.py F [ 75%] 897s tests/test_route53/test_change_set_model.py ... [ 75%] 900s tests/test_route53/test_route53.py ..................................... [ 75%] 901s .............. [ 75%] 901s tests/test_route53/test_route53_cloudformation.py ...... [ 75%] 901s tests/test_route53/test_route53_delegationsets.py ........ [ 75%] 902s tests/test_route53/test_route53_healthchecks.py .......... [ 75%] 902s tests/test_route53/test_route53_query_logging_config.py ...... [ 75%] 902s tests/test_route53/test_route53_vpcs.py ....... [ 76%] 902s tests/test_route53/test_server.py . [ 76%] 903s tests/test_route53domains/test_route53domains_domain.py ................ [ 76%] 903s ................ [ 76%] 904s tests/test_route53resolver/test_route53resolver_endpoint.py ............ [ 76%] 905s .......... [ 76%] 907s tests/test_route53resolver/test_route53resolver_rule.py ........... [ 76%] 907s tests/test_route53resolver/test_route53resolver_rule_associations.py ... [ 76%] 908s ........ [ 76%] 908s tests/test_route53resolver/test_route53resolver_tags.py .... [ 76%] 910s tests/test_s3/test_s3.py ............................................... [ 77%] 914s ........................................................................ [ 78%] 915s ....................................... [ 78%] 917s tests/test_s3/test_s3_acl.py ............F............. [ 78%] 917s tests/test_s3/test_s3_auth.py .... [ 78%] 919s tests/test_s3/test_s3_bucket_policy.py ........... [ 78%] 919s tests/test_s3/test_s3_classdecorator.py . [ 78%] 919s tests/test_s3/test_s3_cloudformation.py ..... [ 78%] 919s tests/test_s3/test_s3_config.py ...... [ 79%] 923s tests/test_s3/test_s3_copyobject.py .................................... [ 79%] 923s  [ 79%] 923s tests/test_s3/test_s3_cross_account.py . [ 79%] 923s tests/test_s3/test_s3_custom_endpoint.py .......... [ 79%] 924s tests/test_s3/test_s3_encryption.py ...... [ 79%] 924s tests/test_s3/test_s3_eventbridge_integration.py .......... [ 79%] 954s tests/test_s3/test_s3_file_handles.py ........................ [ 79%] 955s tests/test_s3/test_s3_lambda_integration.py ...... [ 79%] 956s tests/test_s3/test_s3_lifecycle.py .......... [ 80%] 957s tests/test_s3/test_s3_list_object_versions.py ............ [ 80%] 957s tests/test_s3/test_s3_list_objects.py .. [ 80%] 958s tests/test_s3/test_s3_locales.py . [ 80%] 970s tests/test_s3/test_s3_lock.py ..F........... [ 80%] 970s tests/test_s3/test_s3_logging.py ........... [ 80%] 970s tests/test_s3/test_s3_metadata.py . [ 80%] 972s tests/test_s3/test_s3_multipart.py ..................................... [ 80%] 972s  [ 80%] 972s tests/test_s3/test_s3_notifications.py ............ [ 81%] 973s tests/test_s3/test_s3_object_attributes.py ........ [ 81%] 973s tests/test_s3/test_s3_ownership.py ... [ 81%] 973s tests/test_s3/test_s3_replication.py ....... [ 81%] 973s tests/test_s3/test_s3_storageclass.py ............ [ 81%] 973s tests/test_s3/test_s3_tagging.py ............ [ 81%] 973s tests/test_s3/test_s3_utils.py ........... [ 81%] 974s tests/test_s3/test_server.py ............. [ 81%] 974s tests/test_s3bucket_path/test_s3bucket_path_utils.py ... [ 81%] 974s tests/test_s3bucket_path/test_server.py ..... [ 81%] 974s tests/test_s3control/test_s3control.py . [ 81%] 974s tests/test_s3control/test_s3control_access_points.py .... [ 81%] 975s tests/test_s3control/test_s3control_accesspoint_policy.py ..... [ 81%] 977s tests/test_s3control/test_s3control_config_integration.py .. [ 81%] 977s tests/test_s3control/test_s3control_s3.py ... [ 81%] 978s tests/test_s3tables/test_s3tables.py ............F...F..F.FFFF.. [ 82%] 978s tests/test_s3tables/test_server.py .......F. [ 82%] 979s tests/test_sagemaker/test_sagemaker_automljobs.py ....... [ 82%] 980s tests/test_sagemaker/test_sagemaker_cloudformation.py .................. [ 82%] 980s .. [ 82%] 980s tests/test_sagemaker/test_sagemaker_cluster.py .......... [ 82%] 980s tests/test_sagemaker/test_sagemaker_compilation_jobs.py ........ [ 82%] 980s tests/test_sagemaker/test_sagemaker_data_quality_jobs_definitions.py ... [ 82%] 980s . [ 82%] 981s tests/test_sagemaker/test_sagemaker_domains.py ...... [ 82%] 981s tests/test_sagemaker/test_sagemaker_endpoint.py ................... [ 83%] 981s tests/test_sagemaker/test_sagemaker_experiment.py ..... [ 83%] 981s tests/test_sagemaker/test_sagemaker_feature_groups.py .. [ 83%] 981s tests/test_sagemaker/test_sagemaker_hyper_parameter_tuning_job.py ...... [ 83%] 981s . [ 83%] 982s tests/test_sagemaker/test_sagemaker_model_bias_job_definitions.py .... [ 83%] 984s tests/test_sagemaker/test_sagemaker_model_cards.py ......... [ 83%] 984s tests/test_sagemaker/test_sagemaker_model_expainability.py ....... [ 83%] 985s tests/test_sagemaker/test_sagemaker_model_package_groups.py ............ [ 83%] 985s  [ 83%] 985s tests/test_sagemaker/test_sagemaker_model_packages.py .................. [ 83%] 985s ....... [ 83%] 986s tests/test_sagemaker/test_sagemaker_model_quality.py ....... [ 83%] 986s tests/test_sagemaker/test_sagemaker_models.py .......... [ 83%] 986s tests/test_sagemaker/test_sagemaker_notebooks.py ......... [ 84%] 990s tests/test_sagemaker/test_sagemaker_pipeline.py ........................ [ 84%] 990s .................. [ 84%] 991s tests/test_sagemaker/test_sagemaker_processing.py .......... [ 84%] 991s tests/test_sagemaker/test_sagemaker_search.py ..... [ 84%] 992s tests/test_sagemaker/test_sagemaker_training.py ............ [ 84%] 993s tests/test_sagemaker/test_sagemaker_transform.py ............ [ 84%] 993s tests/test_sagemaker/test_sagemaker_trial.py ....... [ 84%] 994s tests/test_sagemaker/test_sagemaker_trial_component.py ........... [ 85%] 994s tests/test_sagemakermetrics/test_sagemakermetrics.py .. [ 85%] 994s tests/test_sagemakermetrics/test_server.py . [ 85%] 994s tests/test_sagemakerruntime/test_sagemakerruntime.py .... [ 85%] 994s tests/test_scheduler/test_schedule_groups.py ... [ 85%] 994s tests/test_scheduler/test_scheduler.py .................. [ 85%] 994s tests/test_scheduler/test_scheduler_tags.py .. [ 85%] 994s tests/test_scheduler/test_server.py . [ 85%] 994s tests/test_sdb/test_sdb_attributes.py ......... [ 85%] 994s tests/test_sdb/test_sdb_domains.py ................. [ 85%] 994s tests/test_sdb/test_server.py . [ 85%] 995s tests/test_secretsmanager/test_list_secrets.py ......................... [ 85%] 995s . [ 85%] 995s tests/test_secretsmanager/test_policy.py .... [ 85%] 995s tests/test_secretsmanager/test_rotate_simple_lambda.py .. [ 85%] 995s tests/test_secretsmanager/test_secrets_duplication.py .......... [ 86%] 996s tests/test_secretsmanager/test_secretsmanager.py ....................... [ 86%] 998s ......................................s............ss................... [ 87%] 998s .............. [ 87%] 998s tests/test_secretsmanager/test_server.py ............................. [ 87%] 998s tests/test_securityhub/test_securityhub.py ..... [ 87%] 998s tests/test_servicediscovery/test_server.py . [ 87%] 998s tests/test_servicediscovery/test_servicediscovery_httpnamespaces.py .... [ 87%] 999s .......... [ 87%] 999s tests/test_servicediscovery/test_servicediscovery_instance.py .......... [ 87%] 999s ... [ 87%] 999s tests/test_servicediscovery/test_servicediscovery_operations.py ....... [ 87%] 999s tests/test_servicediscovery/test_servicediscovery_service.py ....... [ 87%] 999s tests/test_servicediscovery/test_servicediscovery_tags.py ...... [ 87%] 999s tests/test_servicequotas/test_servicequotas.py .... [ 88%] 999s tests/test_ses/test_server.py .. [ 88%] 1000s tests/test_ses/test_ses_boto3.py ....................................... [ 88%] 1000s  [ 88%] 1002s tests/test_ses/test_ses_sns_boto3.py ........ [ 88%] 1002s tests/test_ses/test_ses_utils.py . [ 88%] 1002s tests/test_ses/test_templating.py ......... [ 88%] 1002s tests/test_sesv2/test_server.py . [ 88%] 1003s tests/test_sesv2/test_sesv2.py .......................... [ 88%] 1003s tests/test_shield/test_shield.py ...................... [ 89%] 1003s tests/test_signer/test_signing_platforms.py . [ 89%] 1003s tests/test_signer/test_signing_profiles.py .... [ 89%] 1004s tests/test_sns/test_application_boto3.py ..................... [ 89%] 1004s tests/test_sns/test_http_message_verification.py . [ 89%] 1005s tests/test_sns/test_publish_batch.py ........ [ 89%] 1012s tests/test_sns/test_publishing_boto3.py ................................ [ 89%] 1029s ........................................................................ [ 90%] 1030s ... [ 90%] 1030s tests/test_sns/test_server.py . [ 90%] 1030s tests/test_sns/test_sns_cloudformation.py ...... [ 90%] 1038s tests/test_sns/test_subscriptions_boto3.py ................... [ 90%] 1040s tests/test_sns/test_topics_boto3.py ......................... [ 91%] 1040s tests/test_sns/test_utils.py ... [ 91%] 1040s tests/test_special_cases/test_custom_amis.py . [ 91%] 1047s tests/test_sqs/test_server.py ... [ 91%] 1057s tests/test_sqs/test_sqs.py ............................................. [ 91%] 1082s ........................................................................ [ 92%] 1098s ........................ [ 92%] 1099s tests/test_sqs/test_sqs_cloudformation.py ....... [ 92%] 1099s tests/test_sqs/test_sqs_integration.py F [ 92%] 1099s tests/test_sqs/test_sqs_multiaccount.py . [ 92%] 1100s tests/test_ssm/test_ssm_boto3.py ....................................... [ 93%] 1102s ................................................. [ 93%] 1102s tests/test_ssm/test_ssm_cloudformation.py . [ 93%] 1102s tests/test_ssm/test_ssm_default_amis.py .. [ 93%] 1103s tests/test_ssm/test_ssm_defaults.py ... [ 93%] 1104s tests/test_ssm/test_ssm_doc_permissions.py ...................... [ 93%] 1104s tests/test_ssm/test_ssm_docs.py ........ [ 93%] 1104s tests/test_ssm/test_ssm_ec2_integration.py . [ 93%] 1105s tests/test_ssm/test_ssm_ecs_images.py . [ 93%] 1105s tests/test_ssm/test_ssm_maintenance_windows.py ............ [ 94%] 1106s tests/test_ssm/test_ssm_parameterstore.py ......... [ 94%] 1106s tests/test_ssm/test_ssm_patch_baseline.py .. [ 94%] 1106s tests/test_ssm/test_ssm_secretsmanager.py ...... [ 94%] 1106s tests/test_ssm/test_ssm_utils.py ... [ 94%] 1106s tests/test_ssoadmin/test_server.py . [ 94%] 1107s tests/test_ssoadmin/test_ssoadmin.py .................. [ 94%] 1107s tests/test_ssoadmin/test_ssoadmin_instances.py .. [ 94%] 1107s tests/test_ssoadmin/test_ssoadmin_permission_sets.py .. [ 94%] 1107s tests/test_ssoadmin/test_ssoadmin_policies.py ........... [ 94%] 1108s tests/test_stepfunctions/test_stepfunctions.py ......................... [ 94%] 1109s ....................... [ 95%] 1109s tests/test_stepfunctions/test_stepfunctions_cloudformation.py ... [ 95%] 1109s tests/test_stepfunctions/test_stepfunctions_versions.py ... [ 95%] 1109s tests/test_sts/test_server.py .... [ 95%] 1110s tests/test_sts/test_sts.py ...................... [ 95%] 1110s tests/test_sts/test_sts_integration.py ... [ 95%] 1110s tests/test_support/test_server.py .... [ 95%] 1111s tests/test_support/test_support.py ..................................... [ 95%] 1111s .... [ 95%] 1111s tests/test_swf/models/test_activity_task.py ....... [ 96%] 1111s tests/test_swf/models/test_decision_task.py ..... [ 96%] 1111s tests/test_swf/models/test_domain.py ........ [ 96%] 1111s tests/test_swf/models/test_generic_type.py .... [ 96%] 1111s tests/test_swf/models/test_history_event.py ... [ 96%] 1111s tests/test_swf/models/test_timeout.py . [ 96%] 1111s tests/test_swf/models/test_timer.py .... [ 96%] 1111s tests/test_swf/models/test_workflow_execution.py ....................... [ 96%] 1112s ............ [ 96%] 1115s tests/test_swf/responses/test_activity_tasks.py ............. [ 96%] 1115s tests/test_swf/responses/test_activity_types.py ............. [ 96%] 1121s tests/test_swf/responses/test_decision_tasks.py ....................... [ 97%] 1121s tests/test_swf/responses/test_domains.py ............. [ 97%] 1121s tests/test_swf/responses/test_timeouts.py ... [ 97%] 1122s tests/test_swf/responses/test_workflow_executions.py .............. [ 97%] 1122s tests/test_swf/responses/test_workflow_types.py ............. [ 97%] 1122s tests/test_swf/test_exceptions.py ............ [ 97%] 1122s tests/test_swf/test_utils.py . [ 97%] 1122s tests/test_textract/test_server.py ..... [ 97%] 1122s tests/test_textract/test_textract.py .... [ 97%] 1122s tests/test_timestreaminfluxdb/test_timestreaminfluxdb.py ........... [ 97%] 1122s tests/test_timestreaminfluxdb/test_timestreaminfluxdb_tagging.py ... [ 97%] 1123s tests/test_timestreamquery/test_timestreamquery.py ..... [ 97%] 1123s tests/test_timestreamwrite/test_server.py . [ 98%] 1123s tests/test_timestreamwrite/test_timestreamwrite_database.py ....... [ 98%] 1123s tests/test_timestreamwrite/test_timestreamwrite_table.py .......... [ 98%] 1123s tests/test_timestreamwrite/test_timestreamwrite_tagging.py ..... [ 98%] 1124s tests/test_transcribe/test_transcribe_boto3.py ....................... [ 98%] 1124s tests/test_transfer/test_transfer.py ... [ 98%] 1124s tests/test_utilities/test_docker_utilities.py ....... [ 98%] 1124s tests/test_utilities/test_id_generator.py .......... [ 98%] 1124s tests/test_utilities/test_paginator.py .................... [ 98%] 1124s tests/test_utilities/test_tagging_service.py ........... [ 98%] 1127s tests/test_utilities/test_threaded_server.py ..... [ 99%] 1127s tests/test_utilities/test_utils.py .. [ 99%] 1127s tests/test_wafv2/test_server.py .. [ 99%] 1127s tests/test_wafv2/test_utils.py . [ 99%] 1127s tests/test_wafv2/test_wafv2.py .......... [ 99%] 1127s tests/test_wafv2/test_wafv2_integration.py .... [ 99%] 1127s tests/test_wafv2/test_wafv2_logging_configuration.py .. [ 99%] 1127s tests/test_wafv2/test_wafv2_rules.py ..... [ 99%] 1128s tests/test_wafv2/test_wafv2_tags.py .... [ 99%] 1130s tests/test_workspaces/test_workspaces.py F..FFFFFFFFFFF.FFFFFFF.FFFF.FF [ 99%] 1131s tests/test_workspacesweb/test_workspacesweb.py ......................... [ 99%] 1131s  [ 99%] 1131s tests/test_xray/test_xray_boto3.py ...... [ 99%] 1132s tests/test_xray/test_xray_client.py .... [100%] 1132s 1132s ==================================== ERRORS ==================================== 1132s _______ ERROR at setup of test_create_describe_update_and_delete_ledger ________ 1132s 1132s @pytest.fixture(name="client") 1132s def fixture_qldb_client(): 1132s with mock_aws(): 1132s > yield boto3.client("qldb", region_name="us-east-1") 1132s 1132s tests/test_qldb/test_qldb.py:18: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1132s return _get_default_session().client(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1132s return self._session.create_client( 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1132s client = client_creator.create_client( 1132s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1132s service_model = self._load_service_model(service_name, api_version) 1132s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1132s json_model = self._loader.load_service_model( 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1132s data = func(self, *args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = , service_name = 'qldb' 1132s type_name = 'service-2', api_version = None 1132s 1132s @instance_cache 1132s def load_service_model(self, service_name, type_name, api_version=None): 1132s  """Load a botocore service model 1132s  1132s  This is the main method for loading botocore models (e.g. a service 1132s  model, pagination configs, waiter configs, etc.). 1132s  1132s  :type service_name: str 1132s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1132s  1132s  :type type_name: str 1132s  :param type_name: The model type. Valid types include, but are not 1132s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1132s  1132s  :type api_version: str 1132s  :param api_version: The API version to load. If this is not 1132s  provided, then the latest API version will be used. 1132s  1132s  :type load_extras: bool 1132s  :param load_extras: Whether or not to load the tool extras which 1132s  contain additional data to be added to the model. 1132s  1132s  :raises: UnknownServiceError if there is no known service with 1132s  the provided service_name. 1132s  1132s  :raises: DataNotFoundError if no data could be found for the 1132s  service_name/type_name/api_version. 1132s  1132s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1132s  """ 1132s # Wrapper around the load_data. This will calculate the path 1132s # to call load_data with. 1132s known_services = self.list_available_services(type_name) 1132s if service_name not in known_services: 1132s > raise UnknownServiceError( 1132s service_name=service_name, 1132s known_service_names=', '.join(sorted(known_services)), 1132s ) 1132s 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 1132s 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1132s ________ ERROR at setup of test_tag_resource_and_list_tags_for_resource ________ 1132s 1132s @pytest.fixture(name="client") 1132s def fixture_qldb_client(): 1132s with mock_aws(): 1132s > yield boto3.client("qldb", region_name="us-east-1") 1132s 1132s tests/test_qldb/test_qldb.py:18: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1132s return _get_default_session().client(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1132s return self._session.create_client( 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1132s client = client_creator.create_client( 1132s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1132s service_model = self._load_service_model(service_name, api_version) 1132s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1132s json_model = self._loader.load_service_model( 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1132s data = func(self, *args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = , service_name = 'qldb' 1132s type_name = 'service-2', api_version = None 1132s 1132s @instance_cache 1132s def load_service_model(self, service_name, type_name, api_version=None): 1132s  """Load a botocore service model 1132s  1132s  This is the main method for loading botocore models (e.g. a service 1132s  model, pagination configs, waiter configs, etc.). 1132s  1132s  :type service_name: str 1132s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1132s  1132s  :type type_name: str 1132s  :param type_name: The model type. Valid types include, but are not 1132s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1132s  1132s  :type api_version: str 1132s  :param api_version: The API version to load. If this is not 1132s  provided, then the latest API version will be used. 1132s  1132s  :type load_extras: bool 1132s  :param load_extras: Whether or not to load the tool extras which 1132s  contain additional data to be added to the model. 1132s  1132s  :raises: UnknownServiceError if there is no known service with 1132s  the provided service_name. 1132s  1132s  :raises: DataNotFoundError if no data could be found for the 1132s  service_name/type_name/api_version. 1132s  1132s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1132s  """ 1132s # Wrapper around the load_data. This will calculate the path 1132s # to call load_data with. 1132s known_services = self.list_available_services(type_name) 1132s if service_name not in known_services: 1132s > raise UnknownServiceError( 1132s service_name=service_name, 1132s known_service_names=', '.join(sorted(known_services)), 1132s ) 1132s 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 1132s 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1132s =================================== FAILURES =================================== 1132s __________ test_event_source_mapping_create_from_cloudformation_json ___________ 1132s 1132s @mock_aws 1132s def test_event_source_mapping_create_from_cloudformation_json(): 1132s sqs = boto3.resource("sqs", region_name="us-east-1") 1132s s3 = boto3.client("s3", "us-east-1") 1132s cf = boto3.client("cloudformation", region_name="us-east-1") 1132s lmbda = boto3.client("lambda", region_name="us-east-1") 1132s  1132s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1132s  1132s # Creates lambda 1132s _, lambda_stack = create_stack(cf, s3) 1132s created_fn_name = get_created_function_name(cf, lambda_stack) 1132s created_fn_arn = lmbda.get_function(FunctionName=created_fn_name)["Configuration"][ 1132s "FunctionArn" 1132s ] 1132s  1132s esm_template = event_source_mapping_template.substitute( 1132s { 1132s "resource_name": "Foo", 1132s "batch_size": 1, 1132s "event_source_arn": queue.attributes["QueueArn"], 1132s "function_name": created_fn_name, 1132s "enabled": True, 1132s } 1132s ) 1132s  1132s cf.create_stack(StackName=random_stack_name(), TemplateBody=esm_template) 1132s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1132s 1132s tests/test_awslambda/test_awslambda_cloudformation.py:184: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'ListEventSourceMappings' 1132s api_params = {'FunctionName': 'e62955-LF3ABOV-HQA70XUXQ6NR'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s ____________________ test_event_source_mapping_delete_stack ____________________ 1132s 1132s @mock_aws 1132s def test_event_source_mapping_delete_stack(): 1132s sqs = boto3.resource("sqs", region_name="us-east-1") 1132s s3 = boto3.client("s3", "us-east-1") 1132s cf = boto3.client("cloudformation", region_name="us-east-1") 1132s lmbda = boto3.client("lambda", region_name="us-east-1") 1132s  1132s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1132s  1132s # Creates lambda 1132s _, lambda_stack = create_stack(cf, s3) 1132s created_fn_name = get_created_function_name(cf, lambda_stack) 1132s  1132s esm_template = event_source_mapping_template.substitute( 1132s { 1132s "resource_name": "Foo", 1132s "batch_size": 1, 1132s "event_source_arn": queue.attributes["QueueArn"], 1132s "function_name": created_fn_name, 1132s "enabled": True, 1132s } 1132s ) 1132s  1132s esm_stack = cf.create_stack( 1132s StackName=random_stack_name(), TemplateBody=esm_template 1132s ) 1132s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1132s 1132s tests/test_awslambda/test_awslambda_cloudformation.py:218: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'ListEventSourceMappings' 1132s api_params = {'FunctionName': 'a305be-LF3ABOV-RJGTISGO129F'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s __________ test_event_source_mapping_update_from_cloudformation_json ___________ 1132s 1132s @mock_aws 1132s def test_event_source_mapping_update_from_cloudformation_json(): 1132s sqs = boto3.resource("sqs", region_name="us-east-1") 1132s s3 = boto3.client("s3", "us-east-1") 1132s cf = boto3.client("cloudformation", region_name="us-east-1") 1132s lmbda = boto3.client("lambda", region_name="us-east-1") 1132s  1132s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1132s  1132s # Creates lambda 1132s _, lambda_stack = create_stack(cf, s3) 1132s created_fn_name = get_created_function_name(cf, lambda_stack) 1132s  1132s original_template = event_source_mapping_template.substitute( 1132s { 1132s "resource_name": "Foo", 1132s "batch_size": 1, 1132s "event_source_arn": queue.attributes["QueueArn"], 1132s "function_name": created_fn_name, 1132s "enabled": True, 1132s } 1132s ) 1132s  1132s stack_name = random_stack_name() 1132s cf.create_stack(StackName=stack_name, TemplateBody=original_template) 1132s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1132s 1132s tests/test_awslambda/test_awslambda_cloudformation.py:253: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'ListEventSourceMappings' 1132s api_params = {'FunctionName': 'c3c3f8-LF3ABOV-J234DTHT335B'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s __________ test_event_source_mapping_delete_from_cloudformation_json ___________ 1132s 1132s @mock_aws 1132s def test_event_source_mapping_delete_from_cloudformation_json(): 1132s sqs = boto3.resource("sqs", region_name="us-east-1") 1132s s3 = boto3.client("s3", "us-east-1") 1132s cf = boto3.client("cloudformation", region_name="us-east-1") 1132s lmbda = boto3.client("lambda", region_name="us-east-1") 1132s  1132s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1132s  1132s # Creates lambda 1132s _, lambda_stack = create_stack(cf, s3) 1132s created_fn_name = get_created_function_name(cf, lambda_stack) 1132s  1132s original_template = event_source_mapping_template.substitute( 1132s { 1132s "resource_name": "Foo", 1132s "batch_size": 1, 1132s "event_source_arn": queue.attributes["QueueArn"], 1132s "function_name": created_fn_name, 1132s "enabled": True, 1132s } 1132s ) 1132s  1132s stack_name = random_stack_name() 1132s cf.create_stack(StackName=stack_name, TemplateBody=original_template) 1132s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1132s 1132s tests/test_awslambda/test_awslambda_cloudformation.py:303: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'ListEventSourceMappings' 1132s api_params = {'FunctionName': 'cb8443-LF3ABOV-FGMIU7YEJEJL'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s _______________________ test_create_event_source_mapping _______________________ 1132s 1132s @mock_aws 1132s def test_create_event_source_mapping(): 1132s function_name = str(uuid.uuid4())[0:6] 1132s sqs = boto3.resource("sqs", region_name="us-east-1") 1132s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1132s  1132s conn = boto3.client("lambda", region_name="us-east-1") 1132s func = conn.create_function( 1132s FunctionName=function_name, 1132s Runtime=PYTHON_VERSION, 1132s Role=get_role_name(), 1132s Handler="lambda_function.lambda_handler", 1132s Code={"ZipFile": get_test_zip_file3()}, 1132s Description="test lambda function", 1132s Timeout=3, 1132s MemorySize=128, 1132s Publish=True, 1132s ) 1132s  1132s destination_config = { 1132s "OnSuccess": {"Destination": "s3"}, 1132s "OnFailure": {"Destination": "s4"}, 1132s } 1132s doc_db_config = { 1132s "DatabaseName": "db", 1132s "CollectionName": "cn", 1132s "FullDocument": "UpdateLookup", 1132s } 1132s > response = conn.create_event_source_mapping( 1132s EventSourceArn=queue.attributes["QueueArn"], 1132s FunctionName=func["FunctionArn"], 1132s BatchSize=1, 1132s FilterCriteria={ 1132s "Filters": [{"Pattern": r"asdf"}], 1132s }, 1132s MaximumBatchingWindowInSeconds=5, 1132s ParallelizationFactor=4, 1132s StartingPosition="AT_TIMESTAMP", 1132s DestinationConfig=destination_config, 1132s MaximumRecordAgeInSeconds=59, 1132s BisectBatchOnFunctionError=True, 1132s MaximumRetryAttempts=9000, 1132s Tags={"k1": "v1"}, 1132s TumblingWindowInSeconds=100, 1132s Topics=["t1", "T2"], 1132s Queues=["q1", "q2"], 1132s SourceAccessConfigurations=[ 1132s {"Type": "BASIC_AUTH", "URI": "http://auth.endpoint"}, 1132s ], 1132s SelfManagedEventSource={ 1132s "Endpoints": { 1132s "key": ["v1"], 1132s }, 1132s }, 1132s FunctionResponseTypes=["ReportBatchItemFailures"], 1132s AmazonManagedKafkaEventSourceConfig={"ConsumerGroupId": "cgid"}, 1132s SelfManagedKafkaEventSourceConfig={"ConsumerGroupId": "cgid2"}, 1132s ScalingConfig={"MaximumConcurrency": 100}, 1132s DocumentDBEventSourceConfig=doc_db_config, 1132s KMSKeyArn="arn:kms:key", 1132s MetricsConfig={"Metrics": ["EventCount"]}, 1132s ProvisionedPollerConfig={"MinimumPollers": 12, "MaximumPollers": 13}, 1132s ) 1132s 1132s tests/test_awslambda/test_lambda_eventsourcemapping.py:51: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'CreateEventSourceMapping' 1132s api_params = {'AmazonManagedKafkaEventSourceConfig': {'ConsumerGroupId': 'cgid'}, 'BatchSize': 1, 'BisectBatchOnFunctionError': True, 'DestinationConfig': {'OnFailure': {'Destination': 's4'}, 'OnSuccess': {'Destination': 's3'}}, ...} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s _______________________ test_list_event_source_mappings ________________________ 1132s 1132s @mock_aws 1132s def test_list_event_source_mappings(): 1132s function_name = str(uuid.uuid4())[0:6] 1132s sqs = boto3.resource("sqs", region_name="us-east-1") 1132s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1132s  1132s conn = boto3.client("lambda", region_name="us-east-1") 1132s func = conn.create_function( 1132s FunctionName=function_name, 1132s Runtime=PYTHON_VERSION, 1132s Role=get_role_name(), 1132s Handler="lambda_function.lambda_handler", 1132s Code={"ZipFile": get_test_zip_file3()}, 1132s Description="test lambda function", 1132s Timeout=3, 1132s MemorySize=128, 1132s Publish=True, 1132s ) 1132s > response = conn.create_event_source_mapping( 1132s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func["FunctionArn"] 1132s ) 1132s 1132s tests/test_awslambda/test_lambda_eventsourcemapping.py:473: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'CreateEventSourceMapping' 1132s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:f57438_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:f57438'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s ________________________ test_get_event_source_mapping _________________________ 1132s 1132s @mock_aws 1132s def test_get_event_source_mapping(): 1132s function_name = str(uuid.uuid4())[0:6] 1132s sqs = boto3.resource("sqs", region_name="us-east-1") 1132s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1132s  1132s conn = boto3.client("lambda", region_name="us-east-1") 1132s func = conn.create_function( 1132s FunctionName=function_name, 1132s Runtime=PYTHON_VERSION, 1132s Role=get_role_name(), 1132s Handler="lambda_function.lambda_handler", 1132s Code={"ZipFile": get_test_zip_file3()}, 1132s Description="test lambda function", 1132s Timeout=3, 1132s MemorySize=128, 1132s Publish=True, 1132s ) 1132s > response = conn.create_event_source_mapping( 1132s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func["FunctionArn"] 1132s ) 1132s 1132s tests/test_awslambda/test_lambda_eventsourcemapping.py:505: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'CreateEventSourceMapping' 1132s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:5ac353_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:5ac353'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s _______________________ test_update_event_source_mapping _______________________ 1132s 1132s @mock_aws 1132s def test_update_event_source_mapping(): 1132s function_name = str(uuid.uuid4())[0:6] 1132s sqs = boto3.resource("sqs", region_name="us-east-1") 1132s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1132s  1132s conn = boto3.client("lambda", region_name="us-east-1") 1132s func1 = conn.create_function( 1132s FunctionName=function_name, 1132s Runtime=PYTHON_VERSION, 1132s Role=get_role_name(), 1132s Handler="lambda_function.lambda_handler", 1132s Code={"ZipFile": get_test_zip_file3()}, 1132s Description="test lambda function", 1132s Timeout=3, 1132s MemorySize=128, 1132s Publish=True, 1132s ) 1132s func2 = conn.create_function( 1132s FunctionName="testFunction2", 1132s Runtime=PYTHON_VERSION, 1132s Role=get_role_name(), 1132s Handler="lambda_function.lambda_handler", 1132s Code={"ZipFile": get_test_zip_file3()}, 1132s Description="test lambda function", 1132s Timeout=3, 1132s MemorySize=128, 1132s Publish=True, 1132s ) 1132s > response = conn.create_event_source_mapping( 1132s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func1["FunctionArn"] 1132s ) 1132s 1132s tests/test_awslambda/test_lambda_eventsourcemapping.py:548: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'CreateEventSourceMapping' 1132s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:893bf8_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:893bf8'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s _______________________ test_delete_event_source_mapping _______________________ 1132s 1132s @mock_aws 1132s def test_delete_event_source_mapping(): 1132s function_name = str(uuid.uuid4())[0:6] 1132s sqs = boto3.resource("sqs", region_name="us-east-1") 1132s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1132s  1132s conn = boto3.client("lambda", region_name="us-east-1") 1132s func1 = conn.create_function( 1132s FunctionName=function_name, 1132s Runtime=PYTHON_VERSION, 1132s Role=get_role_name(), 1132s Handler="lambda_function.lambda_handler", 1132s Code={"ZipFile": get_test_zip_file3()}, 1132s Description="test lambda function", 1132s Timeout=3, 1132s MemorySize=128, 1132s Publish=True, 1132s ) 1132s > response = conn.create_event_source_mapping( 1132s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func1["FunctionArn"] 1132s ) 1132s 1132s tests/test_awslambda/test_lambda_eventsourcemapping.py:635: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'CreateEventSourceMapping' 1132s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:f7323f_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:f7323f'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s _________________________ test_describe_flow_succeeds __________________________ 1132s 1132s @mock_aws 1132s def test_describe_flow_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s > describe_response = client.describe_flow(FlowArn=flow_arn) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:157: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s __________________________ test_delete_flow_succeeds ___________________________ 1132s 1132s @mock_aws 1132s def test_delete_flow_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s > delete_response = client.delete_flow(FlowArn=flow_arn) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:170: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:49: in delete_flow 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ________________________ test_start_stop_flow_succeeds _________________________ 1132s 1132s @mock_aws 1132s def test_start_stop_flow_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s assert create_response["Flow"]["Status"] == "STANDBY" 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s  1132s > start_response = client.start_flow(FlowArn=flow_arn) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:186: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:54: in start_flow 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ______________________________ test_unknown_flow _______________________________ 1132s 1132s @mock_aws 1132s def test_unknown_flow(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s  1132s with pytest.raises(ClientError) as exc: 1132s > client.describe_flow(FlowArn="unknown") 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:210: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s __________________________ test_tag_resource_succeeds __________________________ 1132s 1132s @mock_aws 1132s def test_tag_resource_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s  1132s > tag_response = client.tag_resource(ResourceArn="some-arn", Tags={"Tag1": "Value1"}) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:234: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:64: in tag_resource 1132s resource_arn = unquote(self._get_param("resourceArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ____________________ test_add_flow_vpc_interfaces_succeeds _____________________ 1132s 1132s @mock_aws 1132s def test_add_flow_vpc_interfaces_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s assert create_response["Flow"]["Status"] == "STANDBY" 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s  1132s > client.add_flow_vpc_interfaces( 1132s FlowArn=flow_arn, 1132s VpcInterfaces=[ 1132s { 1132s "Name": "VPCInterface", 1132s "SubnetId": "", 1132s "SecurityGroupIds": [], 1132s "RoleArn": "", 1132s } 1132s ], 1132s ) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:252: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:75: in add_flow_vpc_interfaces 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ______________________ test_add_flow_vpc_interfaces_fails ______________________ 1132s 1132s @mock_aws 1132s def test_add_flow_vpc_interfaces_fails(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s flow_arn = "unknown-flow" 1132s with pytest.raises(ClientError) as err: 1132s > client.add_flow_vpc_interfaces(FlowArn=flow_arn, VpcInterfaces=[]) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:281: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:75: in add_flow_vpc_interfaces 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ___________________ test_remove_flow_vpc_interface_succeeds ____________________ 1132s 1132s @mock_aws 1132s def test_remove_flow_vpc_interface_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s assert create_response["Flow"]["Status"] == "STANDBY" 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s  1132s > client.add_flow_vpc_interfaces( 1132s FlowArn=flow_arn, 1132s VpcInterfaces=[ 1132s { 1132s "Name": "VPCInterface", 1132s "SubnetId": "", 1132s "SecurityGroupIds": [], 1132s "RoleArn": "", 1132s } 1132s ], 1132s ) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:297: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:75: in add_flow_vpc_interfaces 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s _____________________ test_remove_flow_vpc_interface_fails _____________________ 1132s 1132s @mock_aws 1132s def test_remove_flow_vpc_interface_fails(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s flow_arn = "unknown-flow" 1132s with pytest.raises(ClientError) as err: 1132s > client.remove_flow_vpc_interface( 1132s FlowArn=flow_arn, VpcInterfaceName="VPCInterface" 1132s ) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:324: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:85: in remove_flow_vpc_interface 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ________________________ test_add_flow_outputs_succeeds ________________________ 1132s 1132s @mock_aws 1132s def test_add_flow_outputs_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s assert create_response["Flow"]["Status"] == "STANDBY" 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s  1132s > client.add_flow_outputs( 1132s FlowArn=flow_arn, 1132s Outputs=[ 1132s {"Description": "string", "Name": "string", "Port": 123, "Protocol": "rist"} 1132s ], 1132s ) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:342: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:95: in add_flow_outputs 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s _________________________ test_add_flow_outputs_fails __________________________ 1132s 1132s @mock_aws 1132s def test_add_flow_outputs_fails(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s flow_arn = "unknown-flow" 1132s with pytest.raises(ClientError) as err: 1132s > client.add_flow_outputs(FlowArn=flow_arn, Outputs=[]) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:360: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:95: in add_flow_outputs 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s _______________________ test_update_flow_output_succeeds _______________________ 1132s 1132s @mock_aws 1132s def test_update_flow_output_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s assert create_response["Flow"]["Status"] == "STANDBY" 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s output_arn = create_response["Flow"]["Outputs"][0]["OutputArn"] 1132s  1132s > update_response = client.update_flow_output( 1132s FlowArn=flow_arn, OutputArn=output_arn, Description="new description" 1132s ) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:377: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:111: in update_flow_output 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ________________________ test_update_flow_output_fails _________________________ 1132s 1132s @mock_aws 1132s def test_update_flow_output_fails(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s flow_arn = "unknown-flow" 1132s with pytest.raises(ClientError) as err: 1132s > client.update_flow_output( 1132s FlowArn=flow_arn, 1132s OutputArn="some-arn", 1132s Description="new description", 1132s ) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:388: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:111: in update_flow_output 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ________________________ test_remove_flow_output_fails _________________________ 1132s 1132s @mock_aws 1132s def test_remove_flow_output_fails(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s flow_arn = "unknown-flow" 1132s output_arn = "unknown-arn" 1132s with pytest.raises(ClientError) as err: 1132s > client.remove_flow_output(FlowArn=flow_arn, OutputArn=output_arn) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:404: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:103: in remove_flow_output 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s _______________________ test_remove_flow_output_succeeds _______________________ 1132s 1132s @mock_aws 1132s def test_remove_flow_output_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s assert create_response["Flow"]["Status"] == "STANDBY" 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s  1132s > client.add_flow_outputs( 1132s FlowArn=flow_arn, 1132s Outputs=[ 1132s {"Description": "string", "Name": "string", "Port": 123, "Protocol": "rist"} 1132s ], 1132s ) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:420: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:95: in add_flow_outputs 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s _________________________ test_add_flow_sources_fails __________________________ 1132s 1132s @mock_aws 1132s def test_add_flow_sources_fails(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s flow_arn = "unknown-flow" 1132s with pytest.raises(ClientError) as err: 1132s > client.add_flow_sources(FlowArn=flow_arn, Sources=[]) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:442: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:152: in add_flow_sources 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ________________________ test_add_flow_sources_succeeds ________________________ 1132s 1132s @mock_aws 1132s def test_add_flow_sources_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s assert create_response["Flow"]["Status"] == "STANDBY" 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s  1132s > client.add_flow_sources( 1132s FlowArn=flow_arn, 1132s Sources=[ 1132s { 1132s "Description": "string", 1132s "Name": "string", 1132s "Protocol": "rist", 1132s "SenderControlPort": 123, 1132s } 1132s ], 1132s ) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:458: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:152: in add_flow_sources 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ________________________ test_update_flow_source_fails _________________________ 1132s 1132s @mock_aws 1132s def test_update_flow_source_fails(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s flow_arn = "unknown-flow" 1132s source_arn = "unknown-source" 1132s  1132s channel_config = _create_flow_config("test-Flow-1") 1132s client.create_flow(**channel_config) 1132s  1132s with pytest.raises(ClientError) as err: 1132s > client.update_flow_source( 1132s FlowArn=flow_arn, SourceArn=source_arn, Description="new description" 1132s ) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:485: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:160: in update_flow_source 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s _______________________ test_update_flow_source_succeeds _______________________ 1132s 1132s @mock_aws 1132s def test_update_flow_source_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s assert create_response["Flow"]["Status"] == "STANDBY" 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s  1132s > add_response = client.add_flow_sources( 1132s FlowArn=flow_arn, 1132s Sources=[ 1132s { 1132s "Description": "string", 1132s "Name": "string", 1132s "Protocol": "rist", 1132s "SenderControlPort": 123, 1132s } 1132s ], 1132s ) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:503: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:152: in add_flow_sources 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ______________________ test_grant_flow_entitlements_fails ______________________ 1132s 1132s @mock_aws 1132s def test_grant_flow_entitlements_fails(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s flow_arn = "unknown-flow" 1132s  1132s channel_config = _create_flow_config("test-Flow-1") 1132s client.create_flow(**channel_config) 1132s  1132s with pytest.raises(ClientError) as err: 1132s > client.grant_flow_entitlements( 1132s FlowArn=flow_arn, 1132s Entitlements=[ 1132s { 1132s "DataTransferSubscriberFeePercent": 12, 1132s "Description": "A new entitlement", 1132s "Encryption": {"Algorithm": "aes256", "RoleArn": "some:role"}, 1132s "EntitlementStatus": "ENABLED", 1132s "Name": "Entitlement-B", 1132s "Subscribers": [], 1132s } 1132s ], 1132s ) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:536: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:201: in grant_flow_entitlements 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ____________________ test_grant_flow_entitlements_succeeds _____________________ 1132s 1132s @mock_aws 1132s def test_grant_flow_entitlements_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s assert create_response["Flow"]["Status"] == "STANDBY" 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s  1132s > describe_response = client.describe_flow(FlowArn=flow_arn) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:564: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ______________________ test_revoke_flow_entitlement_fails ______________________ 1132s 1132s @mock_aws 1132s def test_revoke_flow_entitlement_fails(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s assert create_response["Flow"]["Status"] == "STANDBY" 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s  1132s > describe_response = client.describe_flow(FlowArn=flow_arn) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:607: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ____________________ test_revoke_flow_entitlement_succeeds _____________________ 1132s 1132s @mock_aws 1132s def test_revoke_flow_entitlement_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s assert create_response["Flow"]["Status"] == "STANDBY" 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s  1132s > describe_response = client.describe_flow(FlowArn=flow_arn) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:630: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ______________________ test_update_flow_entitlement_fails ______________________ 1132s 1132s @mock_aws 1132s def test_update_flow_entitlement_fails(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s assert create_response["Flow"]["Status"] == "STANDBY" 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s  1132s > describe_response = client.describe_flow(FlowArn=flow_arn) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:655: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ____________________ test_update_flow_entitlement_succeeds _____________________ 1132s 1132s @mock_aws 1132s def test_update_flow_entitlement_succeeds(): 1132s client = boto3.client("mediaconnect", region_name=region) 1132s channel_config = _create_flow_config("test-Flow-1") 1132s  1132s create_response = client.create_flow(**channel_config) 1132s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1132s assert create_response["Flow"]["Status"] == "STANDBY" 1132s flow_arn = create_response["Flow"]["FlowArn"] 1132s  1132s > describe_response = client.describe_flow(FlowArn=flow_arn) 1132s 1132s tests/test_mediaconnect/test_mediaconnect.py:680: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1132s http, parsed_response = self._make_request( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1132s return self._endpoint.make_request(operation_model, request_dict) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1132s return self._send_request(request_dict, operation_model) 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1132s while self._needs_retry( 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1132s responses = self._event_emitter.emit( 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1132s if self._checker(**checker_kwargs): 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1132s should_retry = self._should_retry( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1132s return self._checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1132s checker_response = checker( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1132s return self._check_caught_exception( 1132s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1132s raise caught_exception 1132s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1132s responses = self._event_emitter.emit(event_name, request=request) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1132s return self._emitter.emit(aliased_event_name, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1132s return self._emit(event_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1132s response = handler(**kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1132s response = self.process_request(request) 1132s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1132s status, headers, body = method_to_execute( 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1132s return cls()._dispatch(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1132s return self.call_action() 1132s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1132s response = method() 1132s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1132s flow_arn = unquote(self._get_param("flowArn")) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s string = None, encoding = 'utf-8', errors = 'replace' 1132s 1132s def unquote(string, encoding='utf-8', errors='replace'): 1132s  """Replace %xx escapes by their single-character equivalent. The optional 1132s  encoding and errors parameters specify how to decode percent-encoded 1132s  sequences into Unicode characters, as accepted by the bytes.decode() 1132s  method. 1132s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1132s  sequences are replaced by a placeholder character. 1132s  1132s  unquote('abc%20def') -> 'abc def'. 1132s  """ 1132s if isinstance(string, bytes): 1132s return _unquote_impl(string).decode(encoding, errors) 1132s > if '%' not in string: 1132s E TypeError: argument of type 'NoneType' is not a container or iterable 1132s 1132s /usr/lib/python3.14/urllib/parse.py:728: TypeError 1132s ___________________________ test_create_app_response ___________________________ 1132s 1132s @freeze_time("2015-01-01") 1132s @mock_aws 1132s def test_create_app_response(): 1132s > client = boto3.client("opsworks", region_name="us-east-1") 1132s 1132s tests/test_opsworks/test_apps.py:12: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1132s return _get_default_session().client(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1132s return self._session.create_client( 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1132s client = client_creator.create_client( 1132s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1132s service_model = self._load_service_model(service_name, api_version) 1132s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1132s json_model = self._loader.load_service_model( 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1132s data = func(self, *args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = , service_name = 'opsworks' 1132s type_name = 'service-2', api_version = None 1132s 1132s @instance_cache 1132s def load_service_model(self, service_name, type_name, api_version=None): 1132s  """Load a botocore service model 1132s  1132s  This is the main method for loading botocore models (e.g. a service 1132s  model, pagination configs, waiter configs, etc.). 1132s  1132s  :type service_name: str 1132s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1132s  1132s  :type type_name: str 1132s  :param type_name: The model type. Valid types include, but are not 1132s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1132s  1132s  :type api_version: str 1132s  :param api_version: The API version to load. If this is not 1132s  provided, then the latest API version will be used. 1132s  1132s  :type load_extras: bool 1132s  :param load_extras: Whether or not to load the tool extras which 1132s  contain additional data to be added to the model. 1132s  1132s  :raises: UnknownServiceError if there is no known service with 1132s  the provided service_name. 1132s  1132s  :raises: DataNotFoundError if no data could be found for the 1132s  service_name/type_name/api_version. 1132s  1132s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1132s  """ 1132s # Wrapper around the load_data. This will calculate the path 1132s # to call load_data with. 1132s known_services = self.list_available_services(type_name) 1132s if service_name not in known_services: 1132s > raise UnknownServiceError( 1132s service_name=service_name, 1132s known_service_names=', '.join(sorted(known_services)), 1132s ) 1132s 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 1132s 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1132s ______________________________ test_describe_apps ______________________________ 1132s 1132s @freeze_time("2015-01-01") 1132s @mock_aws 1132s def test_describe_apps(): 1132s > client = boto3.client("opsworks", region_name="us-east-1") 1132s 1132s tests/test_opsworks/test_apps.py:49: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1132s return _get_default_session().client(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1132s return self._session.create_client( 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1132s client = client_creator.create_client( 1132s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1132s service_model = self._load_service_model(service_name, api_version) 1132s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1132s json_model = self._loader.load_service_model( 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1132s data = func(self, *args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = , service_name = 'opsworks' 1132s type_name = 'service-2', api_version = None 1132s 1132s @instance_cache 1132s def load_service_model(self, service_name, type_name, api_version=None): 1132s  """Load a botocore service model 1132s  1132s  This is the main method for loading botocore models (e.g. a service 1132s  model, pagination configs, waiter configs, etc.). 1132s  1132s  :type service_name: str 1132s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1132s  1132s  :type type_name: str 1132s  :param type_name: The model type. Valid types include, but are not 1132s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1132s  1132s  :type api_version: str 1132s  :param api_version: The API version to load. If this is not 1132s  provided, then the latest API version will be used. 1132s  1132s  :type load_extras: bool 1132s  :param load_extras: Whether or not to load the tool extras which 1132s  contain additional data to be added to the model. 1132s  1132s  :raises: UnknownServiceError if there is no known service with 1132s  the provided service_name. 1132s  1132s  :raises: DataNotFoundError if no data could be found for the 1132s  service_name/type_name/api_version. 1132s  1132s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1132s  """ 1132s # Wrapper around the load_data. This will calculate the path 1132s # to call load_data with. 1132s known_services = self.list_available_services(type_name) 1132s if service_name not in known_services: 1132s > raise UnknownServiceError( 1132s service_name=service_name, 1132s known_service_names=', '.join(sorted(known_services)), 1132s ) 1132s 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 1132s 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1132s _____________________________ test_create_instance _____________________________ 1132s 1132s @mock_aws 1132s def test_create_instance(): 1132s > client = boto3.client("opsworks", region_name="us-east-1") 1132s 1132s tests/test_opsworks/test_instances.py:11: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1132s return _get_default_session().client(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1132s return self._session.create_client( 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1132s client = client_creator.create_client( 1132s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1132s service_model = self._load_service_model(service_name, api_version) 1132s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1132s json_model = self._loader.load_service_model( 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1132s data = func(self, *args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = , service_name = 'opsworks' 1132s type_name = 'service-2', api_version = None 1132s 1132s @instance_cache 1132s def load_service_model(self, service_name, type_name, api_version=None): 1132s  """Load a botocore service model 1132s  1132s  This is the main method for loading botocore models (e.g. a service 1132s  model, pagination configs, waiter configs, etc.). 1132s  1132s  :type service_name: str 1132s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1132s  1132s  :type type_name: str 1132s  :param type_name: The model type. Valid types include, but are not 1132s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1132s  1132s  :type api_version: str 1132s  :param api_version: The API version to load. If this is not 1132s  provided, then the latest API version will be used. 1132s  1132s  :type load_extras: bool 1132s  :param load_extras: Whether or not to load the tool extras which 1132s  contain additional data to be added to the model. 1132s  1132s  :raises: UnknownServiceError if there is no known service with 1132s  the provided service_name. 1132s  1132s  :raises: DataNotFoundError if no data could be found for the 1132s  service_name/type_name/api_version. 1132s  1132s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1132s  """ 1132s # Wrapper around the load_data. This will calculate the path 1132s # to call load_data with. 1132s known_services = self.list_available_services(type_name) 1132s if service_name not in known_services: 1132s > raise UnknownServiceError( 1132s service_name=service_name, 1132s known_service_names=', '.join(sorted(known_services)), 1132s ) 1132s 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 1132s 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1132s ___________________________ test_describe_instances ____________________________ 1132s 1132s @mock_aws 1132s def test_describe_instances(): 1132s  """ 1132s  create two stacks, with 1 layer and 2 layers (S1L1, S2L1, S2L2) 1132s  1132s  populate S1L1 with 2 instances (S1L1_i1, S1L1_i2) 1132s  populate S2L1 with 1 instance (S2L1_i1) 1132s  populate S2L2 with 3 instances (S2L2_i1..2) 1132s  """ 1132s  1132s > client = boto3.client("opsworks", region_name="us-east-1") 1132s 1132s tests/test_opsworks/test_instances.py:87: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1132s return _get_default_session().client(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1132s return self._session.create_client( 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1132s client = client_creator.create_client( 1132s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1132s service_model = self._load_service_model(service_name, api_version) 1132s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1132s json_model = self._loader.load_service_model( 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1132s data = func(self, *args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = , service_name = 'opsworks' 1132s type_name = 'service-2', api_version = None 1132s 1132s @instance_cache 1132s def load_service_model(self, service_name, type_name, api_version=None): 1132s  """Load a botocore service model 1132s  1132s  This is the main method for loading botocore models (e.g. a service 1132s  model, pagination configs, waiter configs, etc.). 1132s  1132s  :type service_name: str 1132s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1132s  1132s  :type type_name: str 1132s  :param type_name: The model type. Valid types include, but are not 1132s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1132s  1132s  :type api_version: str 1132s  :param api_version: The API version to load. If this is not 1132s  provided, then the latest API version will be used. 1132s  1132s  :type load_extras: bool 1132s  :param load_extras: Whether or not to load the tool extras which 1132s  contain additional data to be added to the model. 1132s  1132s  :raises: UnknownServiceError if there is no known service with 1132s  the provided service_name. 1132s  1132s  :raises: DataNotFoundError if no data could be found for the 1132s  service_name/type_name/api_version. 1132s  1132s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1132s  """ 1132s # Wrapper around the load_data. This will calculate the path 1132s # to call load_data with. 1132s known_services = self.list_available_services(type_name) 1132s if service_name not in known_services: 1132s > raise UnknownServiceError( 1132s service_name=service_name, 1132s known_service_names=', '.join(sorted(known_services)), 1132s ) 1132s 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 1132s 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1132s _____________________________ test_ec2_integration _____________________________ 1132s 1132s @mock_aws 1132s def test_ec2_integration(): 1132s  """Verify instances created via OpsWorks are discoverable via ec2.""" 1132s > opsworks = boto3.client("opsworks", region_name="us-east-1") 1132s 1132s tests/test_opsworks/test_instances.py:186: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1132s return _get_default_session().client(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1132s return self._session.create_client( 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1132s client = client_creator.create_client( 1132s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1132s service_model = self._load_service_model(service_name, api_version) 1132s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1132s json_model = self._loader.load_service_model( 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1132s data = func(self, *args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = , service_name = 'opsworks' 1132s type_name = 'service-2', api_version = None 1132s 1132s @instance_cache 1132s def load_service_model(self, service_name, type_name, api_version=None): 1132s  """Load a botocore service model 1132s  1132s  This is the main method for loading botocore models (e.g. a service 1132s  model, pagination configs, waiter configs, etc.). 1132s  1132s  :type service_name: str 1132s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1132s  1132s  :type type_name: str 1132s  :param type_name: The model type. Valid types include, but are not 1132s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1132s  1132s  :type api_version: str 1132s  :param api_version: The API version to load. If this is not 1132s  provided, then the latest API version will be used. 1132s  1132s  :type load_extras: bool 1132s  :param load_extras: Whether or not to load the tool extras which 1132s  contain additional data to be added to the model. 1132s  1132s  :raises: UnknownServiceError if there is no known service with 1132s  the provided service_name. 1132s  1132s  :raises: DataNotFoundError if no data could be found for the 1132s  service_name/type_name/api_version. 1132s  1132s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1132s  """ 1132s # Wrapper around the load_data. This will calculate the path 1132s # to call load_data with. 1132s known_services = self.list_available_services(type_name) 1132s if service_name not in known_services: 1132s > raise UnknownServiceError( 1132s service_name=service_name, 1132s known_service_names=', '.join(sorted(known_services)), 1132s ) 1132s 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 1132s 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1132s __________________________ test_create_layer_response __________________________ 1132s 1132s @freeze_time("2015-01-01") 1132s @mock_aws 1132s def test_create_layer_response(): 1132s > client = boto3.client("opsworks", region_name="us-east-1") 1132s 1132s tests/test_opsworks/test_layers.py:12: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1132s return _get_default_session().client(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1132s return self._session.create_client( 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1132s client = client_creator.create_client( 1132s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1132s service_model = self._load_service_model(service_name, api_version) 1132s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1132s json_model = self._loader.load_service_model( 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1132s data = func(self, *args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = , service_name = 'opsworks' 1132s type_name = 'service-2', api_version = None 1132s 1132s @instance_cache 1132s def load_service_model(self, service_name, type_name, api_version=None): 1132s  """Load a botocore service model 1132s  1132s  This is the main method for loading botocore models (e.g. a service 1132s  model, pagination configs, waiter configs, etc.). 1132s  1132s  :type service_name: str 1132s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1132s  1132s  :type type_name: str 1132s  :param type_name: The model type. Valid types include, but are not 1132s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1132s  1132s  :type api_version: str 1132s  :param api_version: The API version to load. If this is not 1132s  provided, then the latest API version will be used. 1132s  1132s  :type load_extras: bool 1132s  :param load_extras: Whether or not to load the tool extras which 1132s  contain additional data to be added to the model. 1132s  1132s  :raises: UnknownServiceError if there is no known service with 1132s  the provided service_name. 1132s  1132s  :raises: DataNotFoundError if no data could be found for the 1132s  service_name/type_name/api_version. 1132s  1132s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1132s  """ 1132s # Wrapper around the load_data. This will calculate the path 1132s # to call load_data with. 1132s known_services = self.list_available_services(type_name) 1132s if service_name not in known_services: 1132s > raise UnknownServiceError( 1132s service_name=service_name, 1132s known_service_names=', '.join(sorted(known_services)), 1132s ) 1132s 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 1132s 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1132s _____________________________ test_describe_layers _____________________________ 1132s 1132s @freeze_time("2015-01-01") 1132s @mock_aws 1132s def test_describe_layers(): 1132s > client = boto3.client("opsworks", region_name="us-east-1") 1132s 1132s tests/test_opsworks/test_layers.py:74: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1132s return _get_default_session().client(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1132s return self._session.create_client( 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1132s client = client_creator.create_client( 1132s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1132s service_model = self._load_service_model(service_name, api_version) 1132s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1132s json_model = self._loader.load_service_model( 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1132s data = func(self, *args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = , service_name = 'opsworks' 1132s type_name = 'service-2', api_version = None 1132s 1132s @instance_cache 1132s def load_service_model(self, service_name, type_name, api_version=None): 1132s  """Load a botocore service model 1132s  1132s  This is the main method for loading botocore models (e.g. a service 1132s  model, pagination configs, waiter configs, etc.). 1132s  1132s  :type service_name: str 1132s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1132s  1132s  :type type_name: str 1132s  :param type_name: The model type. Valid types include, but are not 1132s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1132s  1132s  :type api_version: str 1132s  :param api_version: The API version to load. If this is not 1132s  provided, then the latest API version will be used. 1132s  1132s  :type load_extras: bool 1132s  :param load_extras: Whether or not to load the tool extras which 1132s  contain additional data to be added to the model. 1132s  1132s  :raises: UnknownServiceError if there is no known service with 1132s  the provided service_name. 1132s  1132s  :raises: DataNotFoundError if no data could be found for the 1132s  service_name/type_name/api_version. 1132s  1132s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1132s  """ 1132s # Wrapper around the load_data. This will calculate the path 1132s # to call load_data with. 1132s known_services = self.list_available_services(type_name) 1132s if service_name not in known_services: 1132s > raise UnknownServiceError( 1132s service_name=service_name, 1132s known_service_names=', '.join(sorted(known_services)), 1132s ) 1132s 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 1132s 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1132s __________________________ test_create_stack_response __________________________ 1132s 1132s @mock_aws 1132s def test_create_stack_response(): 1132s > client = boto3.client("opsworks", region_name="us-east-1") 1132s 1132s tests/test_opsworks/test_stack.py:9: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1132s return _get_default_session().client(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1132s return self._session.create_client( 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1132s client = client_creator.create_client( 1132s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1132s service_model = self._load_service_model(service_name, api_version) 1132s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1132s json_model = self._loader.load_service_model( 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1132s data = func(self, *args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = , service_name = 'opsworks' 1132s type_name = 'service-2', api_version = None 1132s 1132s @instance_cache 1132s def load_service_model(self, service_name, type_name, api_version=None): 1132s  """Load a botocore service model 1132s  1132s  This is the main method for loading botocore models (e.g. a service 1132s  model, pagination configs, waiter configs, etc.). 1132s  1132s  :type service_name: str 1132s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1132s  1132s  :type type_name: str 1132s  :param type_name: The model type. Valid types include, but are not 1132s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1132s  1132s  :type api_version: str 1132s  :param api_version: The API version to load. If this is not 1132s  provided, then the latest API version will be used. 1132s  1132s  :type load_extras: bool 1132s  :param load_extras: Whether or not to load the tool extras which 1132s  contain additional data to be added to the model. 1132s  1132s  :raises: UnknownServiceError if there is no known service with 1132s  the provided service_name. 1132s  1132s  :raises: DataNotFoundError if no data could be found for the 1132s  service_name/type_name/api_version. 1132s  1132s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1132s  """ 1132s # Wrapper around the load_data. This will calculate the path 1132s # to call load_data with. 1132s known_services = self.list_available_services(type_name) 1132s if service_name not in known_services: 1132s > raise UnknownServiceError( 1132s service_name=service_name, 1132s known_service_names=', '.join(sorted(known_services)), 1132s ) 1132s 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 1132s 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1132s _____________________________ test_describe_stacks _____________________________ 1132s 1132s @mock_aws 1132s def test_describe_stacks(): 1132s > client = boto3.client("opsworks", region_name="us-east-1") 1132s 1132s tests/test_opsworks/test_stack.py:21: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1132s return _get_default_session().client(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1132s return self._session.create_client( 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1132s client = client_creator.create_client( 1132s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1132s service_model = self._load_service_model(service_name, api_version) 1132s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1132s json_model = self._loader.load_service_model( 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1132s data = func(self, *args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = , service_name = 'opsworks' 1132s type_name = 'service-2', api_version = None 1132s 1132s @instance_cache 1132s def load_service_model(self, service_name, type_name, api_version=None): 1132s  """Load a botocore service model 1132s  1132s  This is the main method for loading botocore models (e.g. a service 1132s  model, pagination configs, waiter configs, etc.). 1132s  1132s  :type service_name: str 1132s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1132s  1132s  :type type_name: str 1132s  :param type_name: The model type. Valid types include, but are not 1132s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1132s  1132s  :type api_version: str 1132s  :param api_version: The API version to load. If this is not 1132s  provided, then the latest API version will be used. 1132s  1132s  :type load_extras: bool 1132s  :param load_extras: Whether or not to load the tool extras which 1132s  contain additional data to be added to the model. 1132s  1132s  :raises: UnknownServiceError if there is no known service with 1132s  the provided service_name. 1132s  1132s  :raises: DataNotFoundError if no data could be found for the 1132s  service_name/type_name/api_version. 1132s  1132s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1132s  """ 1132s # Wrapper around the load_data. This will calculate the path 1132s # to call load_data with. 1132s known_services = self.list_available_services(type_name) 1132s if service_name not in known_services: 1132s > raise UnknownServiceError( 1132s service_name=service_name, 1132s known_service_names=', '.join(sorted(known_services)), 1132s ) 1132s 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 1132s 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1132s _____________________________ test_create_db_proxy _____________________________ 1132s 1132s @mock_aws 1132s def test_create_db_proxy(): 1132s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1132s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1132s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1132s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1132s "Subnet" 1132s ]["SubnetId"] 1132s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1132s "Subnet" 1132s ]["SubnetId"] 1132s > resp = rds_client.create_db_proxy( 1132s DBProxyName="testrdsproxy", 1132s EngineFamily="MYSQL", 1132s Auth=[ 1132s { 1132s "Description": "Test Description", 1132s "UserName": "Test Username", 1132s "AuthScheme": "SECRETS", 1132s "SecretArn": "TestSecretARN", 1132s "IAMAuth": "ENABLED", 1132s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1132s }, 1132s ], 1132s RoleArn="TestArn", 1132s VpcSubnetIds=[subnet_id, subnet_id_2], 1132s RequireTLS=True, 1132s Tags=[{"Key": "TestKey", "Value": "TestValue"}], 1132s ) 1132s 1132s tests/test_rds/test_rds_proxy.py:22: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1132s request_dict = self._convert_to_request_dict( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1132s request_dict = self._serializer.serialize_to_request( 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxy', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1132s operation_model = OperationModel(name=CreateDBProxy) 1132s 1132s def serialize_to_request(self, parameters, operation_model): 1132s input_shape = operation_model.input_shape 1132s if input_shape is not None: 1132s report = self._param_validator.validate( 1132s parameters, operation_model.input_shape 1132s ) 1132s if report.has_errors(): 1132s > raise ParamValidationError(report=report.generate_report()) 1132s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1132s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1132s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1132s 1132s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1132s ___________________________ test_describe_db_proxies ___________________________ 1132s 1132s @mock_aws 1132s def test_describe_db_proxies(): 1132s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1132s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1132s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1132s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1132s "Subnet" 1132s ]["SubnetId"] 1132s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1132s "Subnet" 1132s ]["SubnetId"] 1132s > rds_client.create_db_proxy( 1132s DBProxyName="testrdsproxydescribe", 1132s EngineFamily="MYSQL", 1132s Auth=[ 1132s { 1132s "Description": "Test Description", 1132s "UserName": "Test Username", 1132s "AuthScheme": "SECRETS", 1132s "SecretArn": "TestSecretARN", 1132s "IAMAuth": "ENABLED", 1132s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1132s }, 1132s ], 1132s RoleArn="TestArn", 1132s VpcSubnetIds=[subnet_id, subnet_id_2], 1132s RequireTLS=True, 1132s Tags=[ 1132s {"Key": "TestKey", "Value": "TestValue"}, 1132s {"Key": "aaa", "Value": "bbb"}, 1132s ], 1132s ) 1132s 1132s tests/test_rds/test_rds_proxy.py:76: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1132s request_dict = self._convert_to_request_dict( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1132s request_dict = self._serializer.serialize_to_request( 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxydescribe', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1132s operation_model = OperationModel(name=CreateDBProxy) 1132s 1132s def serialize_to_request(self, parameters, operation_model): 1132s input_shape = operation_model.input_shape 1132s if input_shape is not None: 1132s report = self._param_validator.validate( 1132s parameters, operation_model.input_shape 1132s ) 1132s if report.has_errors(): 1132s > raise ParamValidationError(report=report.generate_report()) 1132s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1132s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1132s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1132s 1132s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1132s ___________________________ test_list_tags_db_proxy ____________________________ 1132s 1132s @mock_aws 1132s def test_list_tags_db_proxy(): 1132s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1132s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1132s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1132s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1132s "Subnet" 1132s ]["SubnetId"] 1132s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1132s "Subnet" 1132s ]["SubnetId"] 1132s > resp = rds_client.create_db_proxy( 1132s DBProxyName="testrdsproxydescribe", 1132s EngineFamily="MYSQL", 1132s Auth=[ 1132s { 1132s "Description": "Test Description", 1132s "UserName": "Test Username", 1132s "AuthScheme": "SECRETS", 1132s "SecretArn": "TestSecretARN", 1132s "IAMAuth": "ENABLED", 1132s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1132s }, 1132s ], 1132s RoleArn="TestArn", 1132s VpcSubnetIds=[subnet_id, subnet_id_2], 1132s RequireTLS=True, 1132s Tags=[ 1132s {"Key": "TestKey", "Value": "TestValue"}, 1132s {"Key": "aaa", "Value": "bbb"}, 1132s ], 1132s ) 1132s 1132s tests/test_rds/test_rds_proxy.py:134: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1132s request_dict = self._convert_to_request_dict( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1132s request_dict = self._serializer.serialize_to_request( 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxydescribe', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1132s operation_model = OperationModel(name=CreateDBProxy) 1132s 1132s def serialize_to_request(self, parameters, operation_model): 1132s input_shape = operation_model.input_shape 1132s if input_shape is not None: 1132s report = self._param_validator.validate( 1132s parameters, operation_model.input_shape 1132s ) 1132s if report.has_errors(): 1132s > raise ParamValidationError(report=report.generate_report()) 1132s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1132s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1132s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1132s 1132s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1132s _____________________ test_create_db_proxy_invalid_subnet ______________________ 1132s 1132s @mock_aws 1132s def test_create_db_proxy_invalid_subnet(): 1132s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1132s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1132s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1132s vpc_id_2 = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1132s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1132s "Subnet" 1132s ]["SubnetId"] 1132s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id_2)[ 1132s "Subnet" 1132s ]["SubnetId"] 1132s with pytest.raises(ClientError) as ex: 1132s > rds_client.create_db_proxy( 1132s DBProxyName="testrdsproxy", 1132s EngineFamily="MYSQL", 1132s Auth=[ 1132s { 1132s "Description": "Test Description", 1132s "UserName": "Test Username", 1132s "AuthScheme": "SECRETS", 1132s "SecretArn": "TestSecretARN", 1132s "IAMAuth": "ENABLED", 1132s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1132s }, 1132s ], 1132s RoleArn="TestArn", 1132s VpcSubnetIds=[subnet_id, subnet_id_2], 1132s RequireTLS=True, 1132s Tags=[{"Key": "TestKey", "Value": "TestValue"}], 1132s ) 1132s 1132s tests/test_rds/test_rds_proxy.py:176: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1132s request_dict = self._convert_to_request_dict( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1132s request_dict = self._serializer.serialize_to_request( 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxy', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1132s operation_model = OperationModel(name=CreateDBProxy) 1132s 1132s def serialize_to_request(self, parameters, operation_model): 1132s input_shape = operation_model.input_shape 1132s if input_shape is not None: 1132s report = self._param_validator.validate( 1132s parameters, operation_model.input_shape 1132s ) 1132s if report.has_errors(): 1132s > raise ParamValidationError(report=report.generate_report()) 1132s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1132s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1132s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1132s 1132s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1132s _____________________ test_create_db_proxy_duplicate_name ______________________ 1132s 1132s @mock_aws 1132s def test_create_db_proxy_duplicate_name(): 1132s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1132s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1132s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1132s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1132s "Subnet" 1132s ]["SubnetId"] 1132s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1132s "Subnet" 1132s ]["SubnetId"] 1132s > rds_client.create_db_proxy( 1132s DBProxyName="testrdsproxy", 1132s EngineFamily="MYSQL", 1132s Auth=[ 1132s { 1132s "Description": "Test Description", 1132s "UserName": "Test Username", 1132s "AuthScheme": "SECRETS", 1132s "SecretArn": "TestSecretARN", 1132s "IAMAuth": "ENABLED", 1132s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1132s }, 1132s ], 1132s RoleArn="TestArn", 1132s VpcSubnetIds=[subnet_id, subnet_id_2], 1132s RequireTLS=True, 1132s Tags=[{"Key": "TestKey", "Value": "TestValue"}], 1132s ) 1132s 1132s tests/test_rds/test_rds_proxy.py:209: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1132s request_dict = self._convert_to_request_dict( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1132s request_dict = self._serializer.serialize_to_request( 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxy', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1132s operation_model = OperationModel(name=CreateDBProxy) 1132s 1132s def serialize_to_request(self, parameters, operation_model): 1132s input_shape = operation_model.input_shape 1132s if input_shape is not None: 1132s report = self._param_validator.validate( 1132s parameters, operation_model.input_shape 1132s ) 1132s if report.has_errors(): 1132s > raise ParamValidationError(report=report.generate_report()) 1132s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1132s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1132s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1132s 1132s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1132s ________________________ test_get_resources_workspaces _________________________ 1132s 1132s @mock_aws 1132s def test_get_resources_workspaces(): 1132s workspaces = boto3.client("workspaces", region_name="eu-central-1") 1132s  1132s # Create two tagged Workspaces 1132s directory_id = create_directory() 1132s > workspaces.register_workspace_directory( 1132s DirectoryId=directory_id, EnableWorkDocs=False 1132s ) 1132s 1132s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py:804: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1132s request_dict = self._convert_to_request_dict( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1132s request_dict = self._serializer.serialize_to_request( 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s parameters = {'DirectoryId': 'd-1603818045', 'EnableWorkDocs': False} 1132s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1132s 1132s def serialize_to_request(self, parameters, operation_model): 1132s input_shape = operation_model.input_shape 1132s if input_shape is not None: 1132s report = self._param_validator.validate( 1132s parameters, operation_model.input_shape 1132s ) 1132s if report.has_errors(): 1132s > raise ParamValidationError(report=report.generate_report()) 1132s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1132s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1132s 1132s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1132s ___________________ test_get_resources_workspace_directories ___________________ 1132s 1132s @mock_aws 1132s def test_get_resources_workspace_directories(): 1132s workspaces = boto3.client("workspaces", region_name="eu-central-1") 1132s  1132s # Create two tagged Workspaces Directories 1132s for i in range(1, 3): 1132s i_str = str(i) 1132s directory_id = create_directory() 1132s > workspaces.register_workspace_directory( 1132s DirectoryId=directory_id, 1132s EnableWorkDocs=False, 1132s Tags=[ 1132s {"Key": "Test", "Value": i_str}, 1132s ], 1132s ) 1132s 1132s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py:851: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1132s request_dict = self._convert_to_request_dict( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1132s request_dict = self._serializer.serialize_to_request( 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s parameters = {'DirectoryId': 'd-216d1a6362', 'EnableWorkDocs': False, 'Tags': [{'Key': 'Test', 'Value': '1'}]} 1132s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1132s 1132s def serialize_to_request(self, parameters, operation_model): 1132s input_shape = operation_model.input_shape 1132s if input_shape is not None: 1132s report = self._param_validator.validate( 1132s parameters, operation_model.input_shape 1132s ) 1132s if report.has_errors(): 1132s > raise ParamValidationError(report=report.generate_report()) 1132s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1132s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1132s 1132s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1132s _____________________ test_get_resources_workspace_images ______________________ 1132s 1132s @mock_aws 1132s def test_get_resources_workspace_images(): 1132s workspaces = boto3.client("workspaces", region_name="eu-central-1") 1132s  1132s # Create two tagged Workspace Images 1132s directory_id = create_directory() 1132s > workspaces.register_workspace_directory( 1132s DirectoryId=directory_id, EnableWorkDocs=False 1132s ) 1132s 1132s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py:880: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1132s request_dict = self._convert_to_request_dict( 1132s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1132s request_dict = self._serializer.serialize_to_request( 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s parameters = {'DirectoryId': 'd-c43c266519', 'EnableWorkDocs': False} 1132s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1132s 1132s def serialize_to_request(self, parameters, operation_model): 1132s input_shape = operation_model.input_shape 1132s if input_shape is not None: 1132s report = self._param_validator.validate( 1132s parameters, operation_model.input_shape 1132s ) 1132s if report.has_errors(): 1132s > raise ParamValidationError(report=report.generate_report()) 1132s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1132s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1132s 1132s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1132s ____________________________ test_robot_application ____________________________ 1132s 1132s @mock_aws 1132s def test_robot_application(): 1132s > client = boto3.client("robomaker", region_name="eu-west-1") 1132s 1132s tests/test_robomaker/test_robomaker.py:11: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1132s return _get_default_session().client(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1132s return self._session.create_client( 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1132s client = client_creator.create_client( 1132s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1132s service_model = self._load_service_model(service_name, api_version) 1132s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1132s json_model = self._loader.load_service_model( 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1132s data = func(self, *args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s service_name = 'robomaker', type_name = 'service-2', api_version = None 1132s 1132s @instance_cache 1132s def load_service_model(self, service_name, type_name, api_version=None): 1132s  """Load a botocore service model 1132s  1132s  This is the main method for loading botocore models (e.g. a service 1132s  model, pagination configs, waiter configs, etc.). 1132s  1132s  :type service_name: str 1132s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1132s  1132s  :type type_name: str 1132s  :param type_name: The model type. Valid types include, but are not 1132s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1132s  1132s  :type api_version: str 1132s  :param api_version: The API version to load. If this is not 1132s  provided, then the latest API version will be used. 1132s  1132s  :type load_extras: bool 1132s  :param load_extras: Whether or not to load the tool extras which 1132s  contain additional data to be added to the model. 1132s  1132s  :raises: UnknownServiceError if there is no known service with 1132s  the provided service_name. 1132s  1132s  :raises: DataNotFoundError if no data could be found for the 1132s  service_name/type_name/api_version. 1132s  1132s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1132s  """ 1132s # Wrapper around the load_data. This will calculate the path 1132s # to call load_data with. 1132s known_services = self.list_available_services(type_name) 1132s if service_name not in known_services: 1132s > raise UnknownServiceError( 1132s service_name=service_name, 1132s known_service_names=', '.join(sorted(known_services)), 1132s ) 1132s 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 1132s 1132s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1132s _______ test_put_object_acl_using_grant[Write-False-AllUsers-type_key0] ________ 1132s 1132s readwrite = 'Write', type_key = ('CanonicalUser', 'id', 'ID') 1132s value = 'AllUsers', has_quotes = False 1132s 1132s @pytest.mark.parametrize( 1132s "type_key", [("CanonicalUser", "id", "ID"), ("Group", "url", "URI")] 1132s ) 1132s @pytest.mark.parametrize( 1132s "value", ["AllUsers", "http://acs.amazonaws.com/groups/global/AllUsers"] 1132s ) 1132s @pytest.mark.parametrize("has_quotes", [True, False]) 1132s @pytest.mark.parametrize("readwrite", ["Read", "Write"]) 1132s @mock_aws 1132s def test_put_object_acl_using_grant(readwrite, type_key, value, has_quotes): 1132s s3_resource = boto3.resource("s3", region_name=DEFAULT_REGION_NAME) 1132s client = boto3.client("s3", region_name=DEFAULT_REGION_NAME) 1132s bucket_name = str(uuid4()) 1132s bucket = s3_resource.Bucket(bucket_name) 1132s > bucket.create() 1132s 1132s tests/test_s3/test_s3_acl.py:31: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/boto3/resources/factory.py:581: in do_action 1132s response = action(self, *args, **kwargs) 1132s /usr/lib/python3/dist-packages/boto3/resources/action.py:88: in __call__ 1132s response = getattr(parent.meta.client, operation_name)(*args, **params) 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'CreateBucket' 1132s api_params = {'Bucket': '3f1ded13-7d3a-486f-88a9-07eb17e2fddb'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateBucket operation: Not Found 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s __________________ test_locked_object_governance_mode[bypass] __________________ 1132s 1132s bypass_governance_retention = True 1132s bucket_name = 'aa15849d-db25-440b-881f-333aaf3b92d5' 1132s 1132s @s3_aws_verified 1132s @pytest.mark.aws_verified 1132s @pytest.mark.parametrize( 1132s "bypass_governance_retention", 1132s [True, False, None], 1132s ids=["bypass", "no_bypass", "unspecified"], 1132s ) 1132s def test_locked_object_governance_mode(bypass_governance_retention, bucket_name=None): 1132s s3_client = boto3.client("s3", DEFAULT_REGION_NAME) 1132s  1132s key_name = "file.txt" 1132s seconds_lock = 10 1132s  1132s enable_versioning(bucket_name, s3_client) 1132s  1132s s3_client.put_object_lock_configuration( 1132s Bucket=bucket_name, 1132s ObjectLockConfiguration={ 1132s "ObjectLockEnabled": "Enabled", 1132s "Rule": {"DefaultRetention": {"Mode": "GOVERNANCE", "Days": 1}}, 1132s }, 1132s ) 1132s  1132s until = utcnow() + datetime.timedelta(seconds=seconds_lock) 1132s s3_client.put_object( 1132s Bucket=bucket_name, 1132s Body=b"test", 1132s Key=key_name, 1132s ObjectLockMode="GOVERNANCE", 1132s ObjectLockRetainUntilDate=until, 1132s ContentMD5=generate_content_md5(b"test"), 1132s ) 1132s  1132s versions_response = s3_client.list_object_versions(Bucket=bucket_name) 1132s initial_version_id = versions_response["Versions"][0]["VersionId"] 1132s  1132s with pytest.raises(ClientError) as exc: 1132s s3_client.delete_object( 1132s Bucket=bucket_name, Key=key_name, VersionId=initial_version_id 1132s ) 1132s err = exc.value.response["Error"] 1132s assert err["Code"] == "AccessDenied" 1132s  1132s kwargs = {} 1132s if bypass_governance_retention in [True, False]: 1132s kwargs["BypassGovernanceRetention"] = bypass_governance_retention 1132s  1132s # Delete the object without VersionId always succeeds 1132s response = s3_client.delete_objects( 1132s Bucket=bucket_name, 1132s Delete={ 1132s "Objects": [ 1132s {"Key": key_name}, 1132s ], 1132s }, 1132s **kwargs, 1132s ) 1132s assert response["Deleted"][0]["Key"] == key_name 1132s deleted_version_id = response["Deleted"][0]["DeleteMarkerVersionId"] 1132s  1132s # Delete any version id only succeeds if BypassGovernanceRetention=true 1132s response = s3_client.delete_objects( 1132s Bucket=bucket_name, 1132s Delete={ 1132s "Objects": [ 1132s {"Key": key_name, "VersionId": initial_version_id}, 1132s ], 1132s }, 1132s **kwargs, 1132s ) 1132s if bypass_governance_retention: 1132s > assert "Deleted" in response 1132s E AssertionError: assert 'Deleted' in {'Errors': [{'Code': 'AccessDenied', 'Key': 'file.txt', 'Message': 'Access Denied because object protected by object l...2uS'}, 'HTTPStatusCode': 200, 'RequestId': 'oLNtJebKfcY2YAHZy8uuOh8MX55TKFzUn3ctAHJlin1ToKhhm2uS', 'RetryAttempts': 0}} 1132s 1132s tests/test_s3/test_s3_lock.py:130: AssertionError 1132s ________________________________ test_get_table ________________________________ 1132s 1132s @mock_aws 1132s def test_get_table(): 1132s client = boto3.client("s3tables", region_name="us-east-2") 1132s arn = client.create_table_bucket(name="foo")["arn"] 1132s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1132s table_arn = client.create_table( 1132s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1132s )["tableARN"] 1132s  1132s assert ( 1132s > client.get_table(tableBucketARN=arn, namespace="bar", name="baz")["tableARN"] 1132s == table_arn 1132s ) 1132s 1132s tests/test_s3tables/test_s3tables.py:156: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'GetTable' 1132s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s ______________ test_delete_table_deletes_underlying_table_storage ______________ 1132s 1132s @mock_aws 1132s def test_delete_table_deletes_underlying_table_storage(): 1132s client = boto3.client("s3tables", region_name="us-east-2") 1132s s3 = boto3.client("s3", region_name="us-east-2") 1132s arn = client.create_table_bucket(name="foo")["arn"] 1132s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1132s client.create_table( 1132s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1132s ) 1132s > warehouse = client.get_table(tableBucketARN=arn, namespace="bar", name="baz")[ 1132s "warehouseLocation" 1132s ] 1132s 1132s tests/test_s3tables/test_s3tables.py:227: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'GetTable' 1132s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s _____________________ test_update_table_metadata_location ______________________ 1132s 1132s @mock_aws 1132s def test_update_table_metadata_location(): 1132s client = boto3.client("s3tables", region_name="us-east-2") 1132s arn = client.create_table_bucket(name="foo")["arn"] 1132s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1132s resp = client.create_table( 1132s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1132s ) 1132s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1132s 1132s tests/test_s3tables/test_s3tables.py:280: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'GetTable' 1132s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s _________________________ test_write_metadata_to_table _________________________ 1132s 1132s @mock_aws 1132s def test_write_metadata_to_table() -> None: 1132s client = boto3.client("s3tables", region_name="us-east-2") 1132s arn = client.create_table_bucket(name="foo")["arn"] 1132s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1132s resp = client.create_table( 1132s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1132s ) 1132s  1132s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1132s 1132s tests/test_s3tables/test_s3tables.py:324: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'GetTable' 1132s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s _________ test_underlying_table_storage_does_not_support_list_objects __________ 1132s 1132s @mock_aws 1132s def test_underlying_table_storage_does_not_support_list_objects() -> None: 1132s client = boto3.client("s3tables", region_name="us-east-2") 1132s arn = client.create_table_bucket(name="foo")["arn"] 1132s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1132s resp = client.create_table( 1132s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1132s ) 1132s  1132s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1132s 1132s tests/test_s3tables/test_s3tables.py:356: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'GetTable' 1132s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1132s self.meta.config, request_dict, operation_model 1132s ) 1132s apply_request_checksum(request_dict) 1132s http, parsed_response = self._make_request( 1132s operation_model, request_dict, request_context 1132s ) 1132s  1132s self.meta.events.emit( 1132s f'after-call.{service_id}.{operation_name}', 1132s http_response=http, 1132s parsed=parsed_response, 1132s model=operation_model, 1132s context=request_context, 1132s ) 1132s  1132s if http.status_code >= 300: 1132s error_info = parsed_response.get("Error", {}) 1132s error_code = request_context.get( 1132s 'error_code_override' 1132s ) or error_info.get("Code") 1132s error_class = self.exceptions.from_code(error_code) 1132s > raise error_class(parsed_response, operation_name) 1132s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1132s 1132s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1132s _________ test_underlying_table_storage_does_not_support_delete_object _________ 1132s 1132s @mock_aws 1132s def test_underlying_table_storage_does_not_support_delete_object() -> None: 1132s client = boto3.client("s3tables", region_name="us-east-2") 1132s arn = client.create_table_bucket(name="foo")["arn"] 1132s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1132s resp = client.create_table( 1132s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1132s ) 1132s  1132s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1132s 1132s tests/test_s3tables/test_s3tables.py:374: 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1132s return self._make_api_call(operation_name, kwargs) 1132s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1132s return func(*args, **kwargs) 1132s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1132s 1132s self = 1132s operation_name = 'GetTable' 1132s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1132s 1132s @with_current_context() 1132s def _make_api_call(self, operation_name, api_params): 1132s operation_model = self._service_model.operation_model(operation_name) 1132s service_name = self._service_model.service_name 1132s history_recorder.record( 1132s 'API_CALL', 1132s { 1132s 'service': service_name, 1132s 'operation': operation_name, 1132s 'params': api_params, 1132s }, 1132s ) 1132s if operation_model.deprecated: 1132s logger.debug( 1132s 'Warning: %s.%s() is deprecated', service_name, operation_name 1132s ) 1132s request_context = { 1132s 'client_region': self.meta.region_name, 1132s 'client_config': self.meta.config, 1132s 'has_streaming_input': operation_model.has_streaming_input, 1132s 'auth_type': operation_model.resolved_auth_type, 1132s 'unsigned_payload': operation_model.unsigned_payload, 1132s 'auth_options': self._service_model.metadata.get('auth'), 1132s } 1132s  1132s api_params = self._emit_api_params( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s context=request_context, 1132s ) 1132s ( 1132s endpoint_url, 1132s additional_headers, 1132s properties, 1132s ) = self._resolve_endpoint_ruleset( 1132s operation_model, api_params, request_context 1132s ) 1132s if properties: 1132s # Pass arbitrary endpoint info with the Request 1132s # for use during construction. 1132s request_context['endpoint_properties'] = properties 1132s request_dict = self._convert_to_request_dict( 1132s api_params=api_params, 1132s operation_model=operation_model, 1132s endpoint_url=endpoint_url, 1132s context=request_context, 1132s headers=additional_headers, 1132s ) 1132s resolve_checksum_context(request_dict, operation_model, api_params) 1132s  1132s service_id = self._service_model.service_id.hyphenize() 1132s handler, event_response = self.meta.events.emit_until_response( 1132s f'before-call.{service_id}.{operation_name}', 1132s model=operation_model, 1132s params=request_dict, 1132s request_signer=self._request_signer, 1132s context=request_context, 1132s ) 1132s  1132s if event_response is not None: 1132s http, parsed_response = event_response 1132s else: 1132s maybe_compress_request( 1133s self.meta.config, request_dict, operation_model 1133s ) 1133s apply_request_checksum(request_dict) 1133s http, parsed_response = self._make_request( 1133s operation_model, request_dict, request_context 1133s ) 1133s  1133s self.meta.events.emit( 1133s f'after-call.{service_id}.{operation_name}', 1133s http_response=http, 1133s parsed=parsed_response, 1133s model=operation_model, 1133s context=request_context, 1133s ) 1133s  1133s if http.status_code >= 300: 1133s error_info = parsed_response.get("Error", {}) 1133s error_code = request_context.get( 1133s 'error_code_override' 1133s ) or error_info.get("Code") 1133s error_class = self.exceptions.from_code(error_code) 1133s > raise error_class(parsed_response, operation_name) 1133s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1133s 1133s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1133s ______________________________ test_rename_table _______________________________ 1133s 1133s @mock_aws 1133s def test_rename_table() -> None: 1133s client = boto3.client("s3tables", region_name="us-east-2") 1133s arn = client.create_table_bucket(name="foo")["arn"] 1133s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1133s resp = client.create_table( 1133s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1133s ) 1133s  1133s client.create_namespace(tableBucketARN=arn, namespace=["bar-two"]) 1133s client.rename_table( 1133s tableBucketARN=arn, 1133s namespace="bar", 1133s name="baz", 1133s newNamespaceName="bar-two", 1133s newName="baz-two", 1133s versionToken=resp["versionToken"], 1133s ) 1133s assert ( 1133s > client.get_table(tableBucketARN=arn, namespace="bar-two", name="baz-two")[ 1133s "name" 1133s ] 1133s == "baz-two" 1133s ) 1133s 1133s tests/test_s3tables/test_s3tables.py:403: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s operation_name = 'GetTable' 1133s api_params = {'name': 'baz-two', 'namespace': 'bar-two', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1133s 1133s @with_current_context() 1133s def _make_api_call(self, operation_name, api_params): 1133s operation_model = self._service_model.operation_model(operation_name) 1133s service_name = self._service_model.service_name 1133s history_recorder.record( 1133s 'API_CALL', 1133s { 1133s 'service': service_name, 1133s 'operation': operation_name, 1133s 'params': api_params, 1133s }, 1133s ) 1133s if operation_model.deprecated: 1133s logger.debug( 1133s 'Warning: %s.%s() is deprecated', service_name, operation_name 1133s ) 1133s request_context = { 1133s 'client_region': self.meta.region_name, 1133s 'client_config': self.meta.config, 1133s 'has_streaming_input': operation_model.has_streaming_input, 1133s 'auth_type': operation_model.resolved_auth_type, 1133s 'unsigned_payload': operation_model.unsigned_payload, 1133s 'auth_options': self._service_model.metadata.get('auth'), 1133s } 1133s  1133s api_params = self._emit_api_params( 1133s api_params=api_params, 1133s operation_model=operation_model, 1133s context=request_context, 1133s ) 1133s ( 1133s endpoint_url, 1133s additional_headers, 1133s properties, 1133s ) = self._resolve_endpoint_ruleset( 1133s operation_model, api_params, request_context 1133s ) 1133s if properties: 1133s # Pass arbitrary endpoint info with the Request 1133s # for use during construction. 1133s request_context['endpoint_properties'] = properties 1133s request_dict = self._convert_to_request_dict( 1133s api_params=api_params, 1133s operation_model=operation_model, 1133s endpoint_url=endpoint_url, 1133s context=request_context, 1133s headers=additional_headers, 1133s ) 1133s resolve_checksum_context(request_dict, operation_model, api_params) 1133s  1133s service_id = self._service_model.service_id.hyphenize() 1133s handler, event_response = self.meta.events.emit_until_response( 1133s f'before-call.{service_id}.{operation_name}', 1133s model=operation_model, 1133s params=request_dict, 1133s request_signer=self._request_signer, 1133s context=request_context, 1133s ) 1133s  1133s if event_response is not None: 1133s http, parsed_response = event_response 1133s else: 1133s maybe_compress_request( 1133s self.meta.config, request_dict, operation_model 1133s ) 1133s apply_request_checksum(request_dict) 1133s http, parsed_response = self._make_request( 1133s operation_model, request_dict, request_context 1133s ) 1133s  1133s self.meta.events.emit( 1133s f'after-call.{service_id}.{operation_name}', 1133s http_response=http, 1133s parsed=parsed_response, 1133s model=operation_model, 1133s context=request_context, 1133s ) 1133s  1133s if http.status_code >= 300: 1133s error_info = parsed_response.get("Error", {}) 1133s error_code = request_context.get( 1133s 'error_code_override' 1133s ) or error_info.get("Code") 1133s error_class = self.exceptions.from_code(error_code) 1133s > raise error_class(parsed_response, operation_name) 1133s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1133s 1133s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1133s ___________________________ test_s3tables_get_table ____________________________ 1133s 1133s bucket_name = 'table-bucketubkjxikrhr' 1133s 1133s def test_s3tables_get_table(bucket_name: str): 1133s backend = server.create_backend_app("s3tables") 1133s test_client = backend.test_client() 1133s  1133s resp = test_client.put("/buckets", json={"name": bucket_name}) 1133s arn = resp.get_json()["arn"] 1133s  1133s quoted_arn = quote(arn, safe="") 1133s resp = test_client.put(f"/namespaces/{quoted_arn}", json={"namespace": ["bar"]}) 1133s  1133s resp = test_client.put( 1133s f"/tables/{quoted_arn}/bar", json={"name": "baz", "format": "ICEBERG"} 1133s ) 1133s  1133s resp = test_client.get(f"/tables/{quoted_arn}/bar/baz") 1133s > assert resp.status_code == 200 1133s E assert 404 == 200 1133s E + where 404 = .status_code 1133s 1133s tests/test_s3tables/test_server.py:126: AssertionError 1133s ___________________ test_invoke_fake_function_from_sqs_queue ___________________ 1133s 1133s @mock_aws(config={"lambda": {"use_docker": False}}) 1133s def test_invoke_fake_function_from_sqs_queue(): 1133s if not settings.TEST_DECORATOR_MODE: 1133s raise SkipTest("Can only set Config in DecoratorMode") 1133s logs_conn = boto3.client("logs", region_name="us-east-1") 1133s sqs = boto3.resource("sqs", region_name="us-east-1") 1133s queue_name = str(uuid.uuid4())[0:6] 1133s queue = sqs.create_queue(QueueName=queue_name) 1133s  1133s fn_name = str(uuid.uuid4())[0:6] 1133s conn = boto3.client("lambda", region_name="us-east-1") 1133s func = conn.create_function( 1133s FunctionName=fn_name, 1133s Runtime="python3.11", 1133s Role=get_role_name(), 1133s Handler="lambda_function.lambda_handler", 1133s Code={"ZipFile": b"n/a"}, 1133s ) 1133s  1133s > conn.create_event_source_mapping( 1133s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func["FunctionArn"] 1133s ) 1133s 1133s tests/test_sqs/test_sqs_integration.py:94: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s operation_name = 'CreateEventSourceMapping' 1133s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:39e218', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:c18696'} 1133s 1133s @with_current_context() 1133s def _make_api_call(self, operation_name, api_params): 1133s operation_model = self._service_model.operation_model(operation_name) 1133s service_name = self._service_model.service_name 1133s history_recorder.record( 1133s 'API_CALL', 1133s { 1133s 'service': service_name, 1133s 'operation': operation_name, 1133s 'params': api_params, 1133s }, 1133s ) 1133s if operation_model.deprecated: 1133s logger.debug( 1133s 'Warning: %s.%s() is deprecated', service_name, operation_name 1133s ) 1133s request_context = { 1133s 'client_region': self.meta.region_name, 1133s 'client_config': self.meta.config, 1133s 'has_streaming_input': operation_model.has_streaming_input, 1133s 'auth_type': operation_model.resolved_auth_type, 1133s 'unsigned_payload': operation_model.unsigned_payload, 1133s 'auth_options': self._service_model.metadata.get('auth'), 1133s } 1133s  1133s api_params = self._emit_api_params( 1133s api_params=api_params, 1133s operation_model=operation_model, 1133s context=request_context, 1133s ) 1133s ( 1133s endpoint_url, 1133s additional_headers, 1133s properties, 1133s ) = self._resolve_endpoint_ruleset( 1133s operation_model, api_params, request_context 1133s ) 1133s if properties: 1133s # Pass arbitrary endpoint info with the Request 1133s # for use during construction. 1133s request_context['endpoint_properties'] = properties 1133s request_dict = self._convert_to_request_dict( 1133s api_params=api_params, 1133s operation_model=operation_model, 1133s endpoint_url=endpoint_url, 1133s context=request_context, 1133s headers=additional_headers, 1133s ) 1133s resolve_checksum_context(request_dict, operation_model, api_params) 1133s  1133s service_id = self._service_model.service_id.hyphenize() 1133s handler, event_response = self.meta.events.emit_until_response( 1133s f'before-call.{service_id}.{operation_name}', 1133s model=operation_model, 1133s params=request_dict, 1133s request_signer=self._request_signer, 1133s context=request_context, 1133s ) 1133s  1133s if event_response is not None: 1133s http, parsed_response = event_response 1133s else: 1133s maybe_compress_request( 1133s self.meta.config, request_dict, operation_model 1133s ) 1133s apply_request_checksum(request_dict) 1133s http, parsed_response = self._make_request( 1133s operation_model, request_dict, request_context 1133s ) 1133s  1133s self.meta.events.emit( 1133s f'after-call.{service_id}.{operation_name}', 1133s http_response=http, 1133s parsed=parsed_response, 1133s model=operation_model, 1133s context=request_context, 1133s ) 1133s  1133s if http.status_code >= 300: 1133s error_info = parsed_response.get("Error", {}) 1133s error_code = request_context.get( 1133s 'error_code_override' 1133s ) or error_info.get("Code") 1133s error_class = self.exceptions.from_code(error_code) 1133s > raise error_class(parsed_response, operation_name) 1133s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1133s 1133s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1133s ____________________________ test_create_workspaces ____________________________ 1133s 1133s @mock_aws 1133s def test_create_workspaces(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:31: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-273b1d37c1', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s __________ test_create_workspaces_with_auto_stop_timeout_and_alwayson __________ 1133s 1133s @mock_aws 1133s def test_create_workspaces_with_auto_stop_timeout_and_alwayson(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:111: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-93cfca7ffb', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s ___________ test_create_workspaces_with_auto_stop_timeout_and_manual ___________ 1133s 1133s @mock_aws 1133s def test_create_workspaces_with_auto_stop_timeout_and_manual(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:137: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-a25506f6ca', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s ___________________________ test_describe_workspaces ___________________________ 1133s 1133s @mock_aws 1133s def test_describe_workspaces(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:163: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-5bb864a25c', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s _____________ test_describe_workspaces_with_directory_and_username _____________ 1133s 1133s @mock_aws 1133s def test_describe_workspaces_with_directory_and_username(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:188: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-4726a5b314', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s _________________ test_describe_workspaces_invalid_parameters __________________ 1133s 1133s @mock_aws 1133s def test_describe_workspaces_invalid_parameters(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:211: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-af0632878c', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s _________________ test_describe_workspaces_only_user_name_used _________________ 1133s 1133s @mock_aws 1133s def test_describe_workspaces_only_user_name_used(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:246: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-c36df072b6', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s ______________________ test_register_workspace_directory _______________________ 1133s 1133s @mock_aws 1133s def test_register_workspace_directory(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:268: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-780f05a723', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s ____________ test_register_workspace_directory_enable_self_service _____________ 1133s 1133s @mock_aws 1133s def test_register_workspace_directory_enable_self_service(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory( 1133s DirectoryId=directory_id, 1133s EnableWorkDocs=True, 1133s EnableSelfService=True, 1133s Tenancy="DEDICATED", 1133s ) 1133s 1133s tests/test_workspaces/test_workspaces.py:281: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-246758a30a', 'EnableSelfService': True, 'EnableWorkDocs': True, 'Tenancy': 'DEDICATED'} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s ________________ test_register_workspace_directory_with_subnets ________________ 1133s 1133s @mock_aws 1133s def test_register_workspace_directory_with_subnets(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:304: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-b9916e5e50', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s _____________________ test_describe_workspace_directories ______________________ 1133s 1133s @mock_aws 1133s def test_describe_workspace_directories(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s for _ in range(2): 1133s directory_id = create_directory() 1133s > client.register_workspace_directory( 1133s DirectoryId=directory_id, 1133s EnableWorkDocs=True, 1133s ) 1133s 1133s tests/test_workspaces/test_workspaces.py:318: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-19cd1676f8', 'EnableWorkDocs': True} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s ____________ test_describe_workspace_directories_with_directory_id _____________ 1133s 1133s @mock_aws 1133s def test_describe_workspace_directories_with_directory_id(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory( 1133s DirectoryId=directory_id, 1133s EnableWorkDocs=True, 1133s ) 1133s 1133s tests/test_workspaces/test_workspaces.py:347: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-972be88a9d', 'EnableWorkDocs': True} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s __________________ test_modify_workspace_creation_properties ___________________ 1133s 1133s @mock_aws 1133s def test_modify_workspace_creation_properties(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s ec2_client = boto3.client("ec2", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s sg = create_security_group(client=ec2_client) 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:372: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-daf3ed5882', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s __________ test_modify_workspace_creation_properties_invalid_request ___________ 1133s 1133s @mock_aws 1133s def test_modify_workspace_creation_properties_invalid_request(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s ec2_client = boto3.client("ec2", region_name="eu-west-1") 1133s sg = create_security_group(client=ec2_client) 1133s with pytest.raises(ClientError) as exc: 1133s > client.modify_workspace_creation_properties( 1133s ResourceId="d-9067f6c44b", # Invalid DirectoryID 1133s WorkspaceCreationProperties={ 1133s "EnableWorkDocs": False, 1133s "CustomSecurityGroupId": sg["GroupId"], 1133s }, 1133s ) 1133s 1133s tests/test_workspaces/test_workspaces.py:394: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'ResourceId': 'd-9067f6c44b', 'WorkspaceCreationProperties': {'CustomSecurityGroupId': 'sg-ecb47f1704376dda7', 'EnableWorkDocs': False}} 1133s operation_model = OperationModel(name=ModifyWorkspaceCreationProperties) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in WorkspaceCreationProperties: "EnableWorkDocs", must be one of: EnableInternetAccess, DefaultOu, CustomSecurityGroupId, UserEnabledAsLocalAdministrator, EnableMaintenanceMode, InstanceIamRoleArn 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s _______________________________ test_create_tags _______________________________ 1133s 1133s @mock_aws 1133s def test_create_tags(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory( 1133s DirectoryId=directory_id, 1133s EnableWorkDocs=True, 1133s Tags=[ 1133s {"Key": "foo1", "Value": "bar1"}, 1133s ], 1133s ) 1133s 1133s tests/test_workspaces/test_workspaces.py:409: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-7e7d5737c3', 'EnableWorkDocs': True, 'Tags': [{'Key': 'foo1', 'Value': 'bar1'}]} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s ______________________________ test_describe_tags ______________________________ 1133s 1133s @mock_aws 1133s def test_describe_tags(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory( 1133s DirectoryId=directory_id, 1133s EnableWorkDocs=True, 1133s Tags=[ 1133s {"Key": "foo", "Value": "bar"}, 1133s ], 1133s ) 1133s 1133s tests/test_workspaces/test_workspaces.py:430: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-c3291770f1', 'EnableWorkDocs': True, 'Tags': [{'Key': 'foo', 'Value': 'bar'}]} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s _______________________ test_describe_client_properties ________________________ 1133s 1133s @mock_aws 1133s def test_describe_client_properties(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory( 1133s DirectoryId=directory_id, 1133s EnableWorkDocs=True, 1133s ) 1133s 1133s tests/test_workspaces/test_workspaces.py:445: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-35790923a8', 'EnableWorkDocs': True} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s ________________________ test_modify_client_properties _________________________ 1133s 1133s @mock_aws 1133s def test_modify_client_properties(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory( 1133s DirectoryId=directory_id, 1133s EnableWorkDocs=True, 1133s ) 1133s 1133s tests/test_workspaces/test_workspaces.py:457: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-e841ce888a', 'EnableWorkDocs': True} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s _________________________ test_create_workspace_image __________________________ 1133s 1133s @mock_aws 1133s def test_create_workspace_image(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:478: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-71f6cd4987', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s __________________ test_create_workspace_image_already_exists __________________ 1133s 1133s @mock_aws 1133s def test_create_workspace_image_already_exists(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:520: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-3c868de633', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s ________________________ test_describe_workspace_images ________________________ 1133s 1133s @mock_aws 1133s def test_describe_workspace_images(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:550: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-1ab86c8529', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s ____________________ test_update_workspace_image_permission ____________________ 1133s 1133s @mock_aws 1133s def test_update_workspace_image_permission(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:581: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-7060ba3e13', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s __________________ test_describe_workspace_image_permissions ___________________ 1133s 1133s @mock_aws 1133s def test_describe_workspace_image_permissions(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:614: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-7dc53a71b4', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s _____________________ test_deregister_workspace_directory ______________________ 1133s 1133s @mock_aws 1133s def test_deregister_workspace_directory(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s directory_id = create_directory() 1133s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1133s 1133s tests/test_workspaces/test_workspaces.py:651: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-1ccb43ca7c', 'EnableWorkDocs': False} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s _____________________ test_modify_selfservice_permissions ______________________ 1133s 1133s @mock_aws 1133s def test_modify_selfservice_permissions(): 1133s client = boto3.client("workspaces", region_name="eu-west-1") 1133s  1133s directory_id = create_directory() 1133s > client.register_workspace_directory( 1133s DirectoryId=directory_id, 1133s EnableWorkDocs=True, 1133s ) 1133s 1133s tests/test_workspaces/test_workspaces.py:664: 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1133s return self._make_api_call(operation_name, kwargs) 1133s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1133s return func(*args, **kwargs) 1133s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1133s request_dict = self._convert_to_request_dict( 1133s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1133s request_dict = self._serializer.serialize_to_request( 1133s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1133s 1133s self = 1133s parameters = {'DirectoryId': 'd-74889d168a', 'EnableWorkDocs': True} 1133s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1133s 1133s def serialize_to_request(self, parameters, operation_model): 1133s input_shape = operation_model.input_shape 1133s if input_shape is not None: 1133s report = self._param_validator.validate( 1133s parameters, operation_model.input_shape 1133s ) 1133s if report.has_errors(): 1133s > raise ParamValidationError(report=report.generate_report()) 1133s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1133s 1133s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1133s =============================== warnings summary =============================== 1133s tests/test_core/test_docker.py:11 1133s /tmp/autopkgtest.k9BufF/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 1133s @pytest.mark.order(0) 1133s 1133s tests/test_core/test_docker.py:24 1133s /tmp/autopkgtest.k9BufF/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 1133s @pytest.mark.order(0) 1133s 1133s ../../../../usr/lib/python3/dist-packages/aws_xray_sdk/core/sampling/default_sampler.py:5 1133s /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 1133s from pkg_resources import resource_filename 1133s 1133s tests/test_cognitoidp/test_cognitoidp.py: 36 warnings 1133s /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). 1133s timestamp = self.get_cognito_formatted_timestamp(datetime.datetime.utcnow()) 1133s 1133s tests/test_ec2/test_key_pairs.py::test_key_pairs_invalid_boto3 1133s /usr/lib/python3/dist-packages/moto/ec2/utils.py:759: CryptographyDeprecationWarning: SSH DSA keys are deprecated and will be removed in a future release. 1133s public_key = serialization.load_ssh_public_key(key_material) 1133s 1133s tests/test_glue/test_datacatalog.py::test_create_database 1133s /usr/lib/python3/dist-packages/pyparsing/core.py:5637: SyntaxWarning: 'return' in a 'finally' block 1133s return f"{type(self).__name__}: {retString}" 1133s 1133s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1133s =========================== short test summary info ============================ 1133s 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... 1133s 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... 1133s 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... 1133s 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... 1133s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_create_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1133s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_list_event_source_mappings - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1133s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_get_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1133s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_update_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1133s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_delete_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_describe_flow_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_delete_flow_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_start_stop_flow_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_unknown_flow - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_tag_resource_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_vpc_interfaces_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_vpc_interfaces_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_vpc_interface_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_vpc_interface_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_outputs_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_outputs_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_output_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_output_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_output_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_output_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_sources_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_sources_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_source_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_source_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_grant_flow_entitlements_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_grant_flow_entitlements_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_revoke_flow_entitlement_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_revoke_flow_entitlement_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_entitlement_fails - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_entitlement_succeeds - TypeError: argument of type 'NoneType' is not a container or iterable 1133s FAILED tests/test_opsworks/test_apps.py::test_create_app_response - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1133s FAILED tests/test_opsworks/test_apps.py::test_describe_apps - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1133s FAILED tests/test_opsworks/test_instances.py::test_create_instance - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1133s FAILED tests/test_opsworks/test_instances.py::test_describe_instances - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1133s FAILED tests/test_opsworks/test_instances.py::test_ec2_integration - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1133s FAILED tests/test_opsworks/test_layers.py::test_create_layer_response - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1133s FAILED tests/test_opsworks/test_layers.py::test_describe_layers - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1133s FAILED tests/test_opsworks/test_stack.py::test_create_stack_response - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1133s FAILED tests/test_opsworks/test_stack.py::test_describe_stacks - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1133s FAILED tests/test_rds/test_rds_proxy.py::test_create_db_proxy - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_rds/test_rds_proxy.py::test_describe_db_proxies - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_rds/test_rds_proxy.py::test_list_tags_db_proxy - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_rds/test_rds_proxy.py::test_create_db_proxy_invalid_subnet - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_rds/test_rds_proxy.py::test_create_db_proxy_duplicate_name - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py::test_get_resources_workspaces - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py::test_get_resources_workspace_directories - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py::test_get_resources_workspace_images - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_robomaker/test_robomaker.py::test_robot_application - botocore.exceptions.UnknownServiceError: Unknown service: 'robomaker'. Vali... 1133s FAILED tests/test_s3/test_s3_acl.py::test_put_object_acl_using_grant[Write-False-AllUsers-type_key0] - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1133s FAILED tests/test_s3/test_s3_lock.py::test_locked_object_governance_mode[bypass] - AssertionError: assert 'Deleted' in {'Errors': [{'Code': 'AccessDenied', 'K... 1133s FAILED tests/test_s3tables/test_s3tables.py::test_get_table - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1133s 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... 1133s FAILED tests/test_s3tables/test_s3tables.py::test_update_table_metadata_location - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1133s FAILED tests/test_s3tables/test_s3tables.py::test_write_metadata_to_table - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1133s 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... 1133s 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... 1133s FAILED tests/test_s3tables/test_s3tables.py::test_rename_table - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1133s FAILED tests/test_s3tables/test_server.py::test_s3tables_get_table - assert 404 == 200 1133s 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... 1133s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspaces - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspaces_with_auto_stop_timeout_and_alwayson - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspaces_with_auto_stop_timeout_and_manual - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces_with_directory_and_username - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces_invalid_parameters - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces_only_user_name_used - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_register_workspace_directory - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_register_workspace_directory_enable_self_service - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_register_workspace_directory_with_subnets - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_directories - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_directories_with_directory_id - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_modify_workspace_creation_properties - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_modify_workspace_creation_properties_invalid_request - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_create_tags - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_describe_tags - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_describe_client_properties - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_modify_client_properties - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspace_image - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspace_image_already_exists - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_images - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_update_workspace_image_permission - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_image_permissions - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_deregister_workspace_directory - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s FAILED tests/test_workspaces/test_workspaces.py::test_modify_selfservice_permissions - botocore.exceptions.ParamValidationError: Parameter validation failed: 1133s ERROR tests/test_qldb/test_qldb.py::test_create_describe_update_and_delete_ledger - botocore.exceptions.UnknownServiceError: Unknown service: 'qldb'. Valid ser... 1133s ERROR tests/test_qldb/test_qldb.py::test_tag_resource_and_list_tags_for_resource - botocore.exceptions.UnknownServiceError: Unknown service: 'qldb'. Valid ser... 1133s = 88 failed, 9714 passed, 16 skipped, 140 deselected, 41 warnings, 2 errors in 911.56s (0:15:11) = 1139s E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.k9BufF/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 1139s I: pybuild base:311: cd /tmp/autopkgtest.k9BufF/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 1167s ============================= test session starts ============================== 1167s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 1167s rootdir: /tmp/autopkgtest.k9BufF/autopkgtest_tmp/build 1167s configfile: pyproject.toml 1167s plugins: typeguard-4.4.2 1167s collected 9960 items / 140 deselected / 9820 selected 1167s 1182s tests/test_acm/test_acm.py ................................ [ 0%] 1192s tests/test_acmpca/test_acmpca.py ................... [ 0%] 1192s tests/test_amp/test_amp_logging_config.py .... [ 0%] 1192s tests/test_amp/test_amp_rulegroupnamespaces.py ....... [ 0%] 1192s tests/test_amp/test_amp_workspaces.py ........ [ 0%] 1194s tests/test_apigateway/test_apigateway.py ............................... [ 1%] 1195s .......................................... [ 1%] 1195s tests/test_apigateway/test_apigateway_cloudformation.py .. [ 1%] 1195s tests/test_apigateway/test_apigateway_custom_ids.py ... [ 1%] 1195s tests/test_apigateway/test_apigateway_deployments.py .......... [ 1%] 1196s tests/test_apigateway/test_apigateway_export.py ... [ 1%] 1196s tests/test_apigateway/test_apigateway_gatewayresponses.py ........ [ 1%] 1196s tests/test_apigateway/test_apigateway_importrestapi.py .... [ 1%] 1196s tests/test_apigateway/test_apigateway_integration.py ..... [ 1%] 1196s tests/test_apigateway/test_apigateway_putrestapi.py ........ [ 1%] 1197s tests/test_apigateway/test_apigateway_stage.py ................ [ 2%] 1197s tests/test_apigateway/test_apigateway_validators.py ..... [ 2%] 1197s tests/test_apigateway/test_apigateway_vpclink.py ...... [ 2%] 1197s tests/test_apigateway/test_server.py ..... [ 2%] 1197s tests/test_apigatewaymanagementapi/test_apigatewaymanagementapi.py .... [ 2%] 1197s tests/test_apigatewayv2/test_apigatewayv2.py ............ [ 2%] 1197s tests/test_apigatewayv2/test_apigatewayv2_authorizers.py ........ [ 2%] 1198s tests/test_apigatewayv2/test_apigatewayv2_domains.py ..... [ 2%] 1198s tests/test_apigatewayv2/test_apigatewayv2_integrationresponses.py ...... [ 2%] 1198s . [ 2%] 1198s tests/test_apigatewayv2/test_apigatewayv2_integrations.py ........... [ 2%] 1198s tests/test_apigatewayv2/test_apigatewayv2_mappings.py ....... [ 2%] 1198s tests/test_apigatewayv2/test_apigatewayv2_models.py ...... [ 2%] 1198s tests/test_apigatewayv2/test_apigatewayv2_reimport.py .... [ 2%] 1199s tests/test_apigatewayv2/test_apigatewayv2_routes.py ............... [ 3%] 1199s tests/test_apigatewayv2/test_apigatewayv2_stages.py ... [ 3%] 1199s tests/test_apigatewayv2/test_apigatewayv2_tags.py .... [ 3%] 1199s tests/test_apigatewayv2/test_apigatewayv2_vpclinks.py ........ [ 3%] 1199s tests/test_apigatewayv2/test_server.py . [ 3%] 1199s tests/test_appconfig/test_appconfig_applications.py .. [ 3%] 1199s tests/test_appconfig/test_appconfig_config_profiles.py .. [ 3%] 1199s tests/test_appconfig/test_appconfig_hosted_config_versions.py ... [ 3%] 1199s tests/test_applicationautoscaling/test_applicationautoscaling.py ....... [ 3%] 1199s ...... [ 3%] 1199s tests/test_applicationautoscaling/test_applicationautoscaling_policies.py . [ 3%] 1200s ... [ 3%] 1200s tests/test_applicationautoscaling/test_validation.py ....... [ 3%] 1200s tests/test_appmesh/test_appmesh.py ......... [ 3%] 1200s tests/test_appsync/test_appsync.py ................. [ 3%] 1201s tests/test_appsync/test_appsync_apikeys.py ....... [ 3%] 1201s tests/test_appsync/test_appsync_schema.py ........... [ 3%] 1201s tests/test_appsync/test_appsync_tags.py ...... [ 4%] 1201s tests/test_appsync/test_server.py . [ 4%] 1201s tests/test_athena/test_athena.py ....................... [ 4%] 1201s tests/test_athena/test_athena_integration.py . [ 4%] 1201s tests/test_athena/test_athena_server_api.py .s.. [ 4%] 1204s tests/test_autoscaling/test_autoscaling.py ............................. [ 4%] 1205s ........... [ 4%] 1205s tests/test_autoscaling/test_autoscaling_cloudformation.py ..... [ 4%] 1205s tests/test_autoscaling/test_autoscaling_group_filters.py .... [ 4%] 1207s tests/test_autoscaling/test_autoscaling_groups.py ............ [ 4%] 1207s tests/test_autoscaling/test_autoscaling_metrics.py . [ 4%] 1207s tests/test_autoscaling/test_autoscaling_scheduledactions.py .......... [ 5%] 1207s tests/test_autoscaling/test_autoscaling_tags.py ........ [ 5%] 1208s tests/test_autoscaling/test_autoscaling_warm_pools.py .... [ 5%] 1210s tests/test_autoscaling/test_elb.py .................. [ 5%] 1210s tests/test_autoscaling/test_elbv2.py .. [ 5%] 1211s tests/test_autoscaling/test_launch_configurations.py ............. [ 5%] 1212s tests/test_autoscaling/test_policies.py .......... [ 5%] 1212s tests/test_autoscaling/test_server.py . [ 5%] 1213s tests/test_awslambda/test_awslambda_cloudformation.py ...FFFF [ 5%] 1214s tests/test_awslambda/test_lambda.py .................................... [ 6%] 1216s ................................ [ 6%] 1216s tests/test_awslambda/test_lambda_alias.py ............... [ 6%] 1217s tests/test_awslambda/test_lambda_concurrency.py ...... [ 6%] 1217s tests/test_awslambda/test_lambda_eventsourcemapping.py FFFFF [ 6%] 1218s tests/test_awslambda/test_lambda_function_urls.py ...... [ 6%] 1218s tests/test_awslambda/test_lambda_invoke.py s. [ 6%] 1218s tests/test_awslambda/test_lambda_layers.py ........ [ 6%] 1218s tests/test_awslambda/test_lambda_policy.py ............. [ 6%] 1218s tests/test_awslambda/test_lambda_tags.py ... [ 6%] 1218s tests/test_awslambda/test_policy.py . [ 6%] 1218s tests/test_awslambda_simple/test_lambda_simple.py ... [ 7%] 1219s tests/test_backup/test_backup.py .................. [ 7%] 1219s tests/test_batch/test_batch.py .. [ 7%] 1219s tests/test_batch/test_batch_cloudformation.py ... [ 7%] 1220s tests/test_batch/test_batch_compute_envs.py ............ [ 7%] 1221s tests/test_batch/test_batch_job_queue.py ........ [ 7%] 1221s tests/test_batch/test_batch_jobs.py ......... [ 7%] 1221s tests/test_batch/test_batch_scheduling_policy.py ..... [ 7%] 1221s tests/test_batch/test_batch_tags_job_definition.py ... [ 7%] 1222s tests/test_batch/test_batch_tags_job_queue.py .... [ 7%] 1222s tests/test_batch/test_batch_tags_scheduling_policy.py . [ 7%] 1223s tests/test_batch/test_batch_task_definition.py .................. [ 7%] 1223s tests/test_batch/test_server.py . [ 7%] 1223s tests/test_batch/test_utils.py .................. [ 8%] 1223s tests/test_batch_simple/test_batch_cloudformation.py ... [ 8%] 1223s tests/test_batch_simple/test_batch_compute_envs.py .. [ 8%] 1225s tests/test_batch_simple/test_batch_jobs.py ...... [ 8%] 1225s tests/test_bedrock/test_bedrock.py ..................................... [ 8%] 1226s ........... [ 8%] 1227s tests/test_bedrockagent/test_bedrockagent.py ........................... [ 8%] 1227s  [ 8%] 1227s tests/test_budgets/test_budgets.py ........ [ 9%] 1227s tests/test_budgets/test_notifications.py ..... [ 9%] 1227s tests/test_budgets/test_server.py . [ 9%] 1227s tests/test_ce/test_ce.py ....... [ 9%] 1227s tests/test_ce/test_ce_cost_and_usage.py .. [ 9%] 1227s tests/test_ce/test_ce_tags.py .. [ 9%] 1232s tests/test_cloudformation/test_cloudformation_custom_resources.py s.. [ 9%] 1232s tests/test_cloudformation/test_cloudformation_depends_on.py ... [ 9%] 1232s tests/test_cloudformation/test_cloudformation_multi_accounts.py ........ [ 9%] 1233s . [ 9%] 1233s tests/test_cloudformation/test_cloudformation_nested_stacks.py .... [ 9%] 1233s tests/test_cloudformation/test_cloudformation_stack_crud_boto3.py ...... [ 9%] 1236s ........................................................................ [ 10%] 1237s ................................ [ 10%] 1237s tests/test_cloudformation/test_cloudformation_stack_integration.py ..... [ 10%] 1240s ............................. [ 10%] 1240s tests/test_cloudformation/test_cloudformation_stack_policies.py ........ [ 10%] 1240s  [ 10%] 1240s tests/test_cloudformation/test_conditions.py ... [ 10%] 1240s tests/test_cloudformation/test_import_value.py .. [ 10%] 1240s tests/test_cloudformation/test_server.py . [ 10%] 1241s tests/test_cloudformation/test_stack_parsing.py ........................ [ 11%] 1241s . [ 11%] 1241s tests/test_cloudformation/test_utilities.py .... [ 11%] 1241s tests/test_cloudfront/test_cloudfront.py ..... [ 11%] 1241s tests/test_cloudfront/test_cloudfront_dist_tags.py .. [ 11%] 1241s tests/test_cloudfront/test_cloudfront_distributions.py ................. [ 11%] 1242s .......................................... [ 11%] 1242s tests/test_cloudfront/test_cloudfront_invalidation.py ....... [ 12%] 1242s tests/test_cloudfront/test_cloudfront_keys.py .... [ 12%] 1243s tests/test_cloudfront/test_cloudfront_oac.py .. [ 12%] 1243s tests/test_cloudfront/test_server.py . [ 12%] 1243s tests/test_cloudhsmv2/test_cloudhsmv2.py ............. [ 12%] 1243s tests/test_cloudtrail/test_cloudtrail.py ............................. [ 12%] 1244s tests/test_cloudtrail/test_cloudtrail_eventselectors.py ........ [ 12%] 1244s tests/test_cloudtrail/test_cloudtrail_tags.py .... [ 12%] 1244s tests/test_cloudtrail/test_server.py . [ 12%] 1244s tests/test_cloudwatch/test_cloudwatch_alarms.py ....... [ 12%] 1246s tests/test_cloudwatch/test_cloudwatch_boto3.py ......................... [ 12%] 1246s ................ [ 13%] 1246s tests/test_cloudwatch/test_cloudwatch_dashboards.py ....... [ 13%] 1246s tests/test_cloudwatch/test_cloudwatch_expression_parser.py ... [ 13%] 1246s tests/test_cloudwatch/test_cloudwatch_expressions.py ... [ 13%] 1246s tests/test_cloudwatch/test_cloudwatch_tags.py ....... [ 13%] 1247s tests/test_codebuild/test_codebuild.py ................... [ 13%] 1247s tests/test_codecommit/test_codecommit.py ........ [ 13%] 1247s tests/test_codepipeline/test_codepipeline.py ................ [ 13%] 1248s tests/test_cognitoidentity/test_cognitoidentity.py ..................... [ 13%] 1248s .. [ 14%] 1248s tests/test_cognitoidentity/test_server.py ... [ 14%] 1260s tests/test_cognitoidp/test_cognitoidp.py ............................... [ 14%] 1286s ........................................................................ [ 15%] 1312s ........................................................................ [ 15%] 1326s ................................... [ 16%] 1327s tests/test_cognitoidp/test_cognitoidp_exceptions.py ... [ 16%] 1329s tests/test_cognitoidp/test_cognitoidp_replay.py .. [ 16%] 1330s tests/test_cognitoidp/test_server.py ... [ 16%] 1330s tests/test_comprehend/test_comprehend.py .................. [ 16%] 1333s tests/test_config/test_config.py .................................. [ 16%] 1333s tests/test_config/test_config_rules.py ........ [ 16%] 1333s tests/test_config/test_config_rules_integration.py ... [ 16%] 1333s tests/test_config/test_config_tags.py ... [ 16%] 1334s tests/test_core/test_account_id_resolution.py . [ 16%] 1335s tests/test_core/test_auth.py .......................... [ 17%] 1335s tests/test_core/test_backenddict.py ............. [ 17%] 1335s tests/test_core/test_backends.py . [ 17%] 1335s tests/test_core/test_botocore_stubber.py . [ 17%] 1336s tests/test_core/test_config.py .. [ 17%] 1336s tests/test_core/test_decorator_calls.py ............................ [ 17%] 1337s tests/test_core/test_ec2_vpc_endpoint_services.py ... [ 17%] 1337s tests/test_core/test_environ_patching.py ... [ 17%] 1337s tests/test_core/test_importorder.py ....... [ 17%] 1337s tests/test_core/test_instance_metadata.py .... [ 17%] 1337s tests/test_core/test_mock_regions.py ..... [ 17%] 1337s tests/test_core/test_moto_api.py ...... [ 17%] 1337s tests/test_core/test_mypy.py ... [ 17%] 1337s tests/test_core/test_nested.py .. [ 18%] 1337s tests/test_core/test_proxy.py sssss [ 18%] 1337s tests/test_core/test_request_mocking.py ... [ 18%] 1337s tests/test_core/test_request_passthrough.py . [ 18%] 1337s tests/test_core/test_responses.py ......... [ 18%] 1338s tests/test_core/test_responses_module.py ..... [ 18%] 1339s tests/test_core/test_server.py .... [ 18%] 1339s tests/test_core/test_settings.py ......... [ 18%] 1339s tests/test_core/test_url_base_regex.py ................................. [ 18%] 1340s ........................................................................ [ 19%] 1341s ..................................................... [ 19%] 1341s tests/test_core/test_url_mapping.py .. [ 20%] 1341s tests/test_core/test_utils.py ............ [ 20%] 1341s tests/test_databrew/test_databrew_datasets.py ............ [ 20%] 1342s tests/test_databrew/test_databrew_jobs.py .......................... [ 20%] 1342s tests/test_databrew/test_databrew_recipes.py ........................... [ 20%] 1342s ......... [ 20%] 1342s tests/test_databrew/test_databrew_rulesets.py .......... [ 20%] 1343s tests/test_datapipeline/test_datapipeline.py ........ [ 21%] 1343s tests/test_datapipeline/test_datapipeline_cloudformation.py . [ 21%] 1343s tests/test_datapipeline/test_server.py . [ 21%] 1343s tests/test_datasync/test_datasync.py ................... [ 21%] 1343s tests/test_dax/test_dax.py ............................... [ 21%] 1343s tests/test_dax/test_server.py . [ 21%] 1345s tests/test_directconnect/test_directconnect.py .......... [ 21%] 1345s tests/test_dms/test_dms.py ......... [ 21%] 1345s tests/test_ds/test_ds.py ........... [ 21%] 1346s tests/test_ds/test_ds_ad_connect.py ........ [ 21%] 1347s tests/test_ds/test_ds_microsoft_ad.py ......... [ 22%] 1347s tests/test_ds/test_ds_simple_ad_directory.py .... [ 22%] 1347s tests/test_ds/test_ds_tags.py ... [ 22%] 1347s tests/test_dsql/test_dsql.py .... [ 22%] 1348s tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py ............. [ 22%] 1349s .............................................. [ 22%] 1349s tests/test_dynamodb/exceptions/test_dynamodb_transactions.py ........ [ 22%] 1349s tests/test_dynamodb/exceptions/test_key_length_exceptions.py ........ [ 22%] 1349s tests/test_dynamodb/models/test_item.py ............. [ 23%] 1349s tests/test_dynamodb/models/test_key_condition_expression_parser.py ..... [ 23%] 1349s .......................... [ 23%] 1349s tests/test_dynamodb/models/test_utilities.py ............ [ 23%] 1351s tests/test_dynamodb/test_dynamodb.py ................................... [ 23%] 1356s ........................................................................ [ 24%] 1357s .................................. [ 24%] 1357s tests/test_dynamodb/test_dynamodb_batch_get_item.py ....... [ 25%] 1358s tests/test_dynamodb/test_dynamodb_batch_write.py ... [ 25%] 1358s tests/test_dynamodb/test_dynamodb_cloudformation.py ... [ 25%] 1358s tests/test_dynamodb/test_dynamodb_condition_expressions.py .......... [ 25%] 1358s tests/test_dynamodb/test_dynamodb_consumedcapacity.py ...... [ 25%] 1359s tests/test_dynamodb/test_dynamodb_create_table.py .............. [ 25%] 1359s tests/test_dynamodb/test_dynamodb_executor.py ....................... [ 25%] 1360s tests/test_dynamodb/test_dynamodb_export_table.py ....... [ 25%] 1360s tests/test_dynamodb/test_dynamodb_expression_tokenizer.py .............. [ 25%] 1360s ....... [ 25%] 1360s tests/test_dynamodb/test_dynamodb_expressions.py ....................... [ 26%] 1360s ................. [ 26%] 1361s tests/test_dynamodb/test_dynamodb_query.py ................... [ 26%] 1361s tests/test_dynamodb/test_dynamodb_resource_policy.py .............. [ 26%] 1363s tests/test_dynamodb/test_dynamodb_scan.py .......................... [ 26%] 1363s tests/test_dynamodb/test_dynamodb_table_with_range_key.py .............. [ 27%] 1363s ........... [ 27%] 1364s tests/test_dynamodb/test_dynamodb_table_without_range_key.py ........... [ 27%] 1364s ............... [ 27%] 1364s tests/test_dynamodb/test_dynamodb_transact.py .................. [ 27%] 1364s tests/test_dynamodb/test_dynamodb_update_expressions.py ........ [ 27%] 1365s tests/test_dynamodb/test_dynamodb_update_table.py ..... [ 27%] 1365s tests/test_dynamodb/test_dynamodb_validation.py ..................... [ 27%] 1365s tests/test_dynamodb/test_server.py . [ 27%] 1365s tests/test_dynamodb_v20111205/test_server.py ........................... [ 28%] 1365s .............. [ 28%] 1365s tests/test_dynamodb_v20111205/test_servermode.py ss [ 28%] 1366s tests/test_dynamodbstreams/test_dynamodbstreams.py .......... [ 28%] 1366s tests/test_ebs/test_ebs.py ........ [ 28%] 1366s tests/test_ec2/test_account_attributes.py . [ 28%] 1371s tests/test_ec2/test_amis.py ............................................ [ 29%] 1371s . [ 29%] 1372s tests/test_ec2/test_availability_zones_and_regions.py .............. [ 29%] 1372s tests/test_ec2/test_carrier_gateways.py ...... [ 29%] 1373s tests/test_ec2/test_customer_gateways.py ...... [ 29%] 1374s tests/test_ec2/test_dhcp_options.py .................. [ 29%] 1376s tests/test_ec2/test_ec2_cloudformation.py ...................... [ 29%] 1376s tests/test_ec2/test_ec2_integration.py . [ 29%] 1376s tests/test_ec2/test_egress_only_igw.py ..... [ 29%] 1381s tests/test_ec2/test_elastic_block_store.py ............................. [ 30%] 1382s ............ [ 30%] 1384s tests/test_ec2/test_elastic_ip_addresses.py ...................... [ 30%] 1386s tests/test_ec2/test_elastic_network_interfaces.py ...................... [ 30%] 1386s ......... [ 30%] 1388s tests/test_ec2/test_fleets.py .................... [ 30%] 1389s tests/test_ec2/test_flow_logs.py .............. [ 31%] 1389s tests/test_ec2/test_flow_logs_cloudformation.py .. [ 31%] 1389s tests/test_ec2/test_general.py .. [ 31%] 1389s tests/test_ec2/test_hosts.py ........ [ 31%] 1390s tests/test_ec2/test_iam_integration.py ....... [ 31%] 1390s tests/test_ec2/test_instance_type_offerings.py .... [ 31%] 1392s tests/test_ec2/test_instance_types.py ........... [ 31%] 1395s tests/test_ec2/test_instances.py ....................................... [ 31%] 1400s .......................................................... [ 32%] 1401s tests/test_ec2/test_internet_gateways.py ................. [ 32%] 1407s tests/test_ec2/test_key_pairs.py ................... [ 32%] 1407s tests/test_ec2/test_launch_templates.py ...................... [ 33%] 1408s tests/test_ec2/test_launch_templates_cloudformation.py .... [ 33%] 1408s tests/test_ec2/test_nat_gateway.py ........ [ 33%] 1409s tests/test_ec2/test_network_acls.py ............... [ 33%] 1410s tests/test_ec2/test_prefix_lists.py ............. [ 33%] 1411s tests/test_ec2/test_regions.py ........ [ 33%] 1414s tests/test_ec2/test_route_tables.py ............................. [ 33%] 1417s tests/test_ec2/test_security_groups.py ................................. [ 34%] 1418s ................... [ 34%] 1418s tests/test_ec2/test_security_groups_cloudformation.py .... [ 34%] 1418s tests/test_ec2/test_server.py ... [ 34%] 1418s tests/test_ec2/test_settings.py .... [ 34%] 1421s tests/test_ec2/test_spot_fleet.py ................. [ 34%] 1421s tests/test_ec2/test_spot_instances.py ............ [ 34%] 1424s tests/test_ec2/test_subnets.py ............................. [ 35%] 1425s tests/test_ec2/test_tags.py ................... [ 35%] 1428s tests/test_ec2/test_transit_gateway.py ............................... [ 35%] 1428s tests/test_ec2/test_transit_gateway_cloudformation.py .. [ 35%] 1429s tests/test_ec2/test_transit_gateway_peering_attachments.py ........ [ 35%] 1430s tests/test_ec2/test_utils.py ....... [ 35%] 1431s tests/test_ec2/test_virtual_private_gateways.py ................ [ 35%] 1431s tests/test_ec2/test_vpc_endpoint_services_integration.py . [ 35%] 1434s tests/test_ec2/test_vpc_peering.py ........................... [ 36%] 1435s tests/test_ec2/test_vpc_service_configuration_integration.py ........... [ 36%] 1436s .... [ 36%] 1439s tests/test_ec2/test_vpcs.py ............................................ [ 36%] 1439s ........ [ 36%] 1439s tests/test_ec2/test_vpn_connections.py ...... [ 36%] 1439s tests/test_ec2/test_windows.py . [ 36%] 1439s tests/test_ec2instanceconnect/test_ec2instanceconnect_boto3.py . [ 36%] 1440s tests/test_ecr/test_ecr_boto3.py ....................................... [ 37%] 1441s ............................................................ [ 37%] 1441s tests/test_ecr/test_ecr_cloudformation.py ... [ 37%] 1441s tests/test_ecr/test_ecr_policy_validation.py ...................... [ 38%] 1441s tests/test_ecr/test_ecr_scanning_config.py ... [ 38%] 1442s tests/test_ecs/test_ecs_account_settings.py ............. [ 38%] 1442s tests/test_ecs/test_ecs_boto3.py ....................................... [ 38%] 1446s ............................................................ [ 39%] 1446s tests/test_ecs/test_ecs_capacity_provider.py ....... [ 39%] 1446s tests/test_ecs/test_ecs_cloudformation.py .......... [ 39%] 1446s tests/test_ecs/test_ecs_efs.py . [ 39%] 1446s tests/test_ecs/test_ecs_task_def_tags.py . [ 39%] 1446s tests/test_ecs/test_ecs_task_tags.py .. [ 39%] 1447s tests/test_ecs/test_ecs_tasksets.py ......... [ 39%] 1447s tests/test_efs/test_access_point_tagging.py .... [ 39%] 1447s tests/test_efs/test_access_points.py ....... [ 39%] 1447s tests/test_efs/test_efs_cloudformation.py .. [ 39%] 1447s tests/test_efs/test_file_system.py ................. [ 39%] 1447s tests/test_efs/test_filesystem_policy.py .. [ 40%] 1447s tests/test_efs/test_filesystem_tagging.py .... [ 40%] 1448s tests/test_efs/test_lifecycle_config.py ... [ 40%] 1449s tests/test_efs/test_mount_target.py ................... [ 40%] 1449s tests/test_efs/test_mount_target_security_groups.py .... [ 40%] 1449s tests/test_efs/test_server.py ....... [ 40%] 1501s tests/test_eks/test_eks.py ............................................. [ 40%] 1506s ............................................ [ 41%] 1506s tests/test_eks/test_eks_ec2.py ... [ 41%] 1509s tests/test_eks/test_server.py .................. [ 41%] 1509s tests/test_elasticache/test_elasticache.py ............................. [ 41%] 1509s .... [ 41%] 1509s tests/test_elasticache/test_server.py . [ 41%] 1509s tests/test_elasticbeanstalk/test_elasticbeanstalk.py .......... [ 41%] 1509s tests/test_elasticbeanstalk/test_server.py . [ 41%] 1509s tests/test_elastictranscoder/test_elastictranscoder.py ................ [ 42%] 1509s tests/test_elastictranscoder/test_server.py . [ 42%] 1512s tests/test_elb/test_elb.py ......................................... [ 42%] 1513s tests/test_elb/test_elb_availabilityzones.py . [ 42%] 1513s tests/test_elb/test_elb_cloudformation.py ... [ 42%] 1513s tests/test_elb/test_elb_policies.py .......... [ 42%] 1514s tests/test_elb/test_elb_subnets.py .. [ 42%] 1514s tests/test_elb/test_server.py . [ 42%] 1517s tests/test_elbv2/test_elbv2.py ......................................... [ 43%] 1523s ................ [ 43%] 1524s tests/test_elbv2/test_elbv2_cloudformation.py ..... [ 43%] 1525s tests/test_elbv2/test_elbv2_integration.py . [ 43%] 1525s tests/test_elbv2/test_elbv2_listener_attributes.py . [ 43%] 1525s tests/test_elbv2/test_elbv2_listener_rule_tags.py ... [ 43%] 1528s tests/test_elbv2/test_elbv2_listener_rules.py .......................... [ 43%] 1531s ............ [ 43%] 1531s tests/test_elbv2/test_elbv2_listener_tags.py ... [ 43%] 1531s tests/test_elbv2/test_elbv2_set_subnets.py .. [ 43%] 1533s tests/test_elbv2/test_elbv2_target_groups.py ........................... [ 44%] 1536s ............................................. [ 44%] 1537s tests/test_elbv2/test_elbv2_target_health.py .. [ 44%] 1537s tests/test_elbv2/test_server.py . [ 44%] 1537s tests/test_emr/test_emr.py . [ 44%] 1542s tests/test_emr/test_emr_boto3.py ............................ [ 44%] 1543s tests/test_emr/test_emr_cloudformation.py ....... [ 44%] 1543s tests/test_emr/test_emr_integration.py ...... [ 45%] 1543s tests/test_emr/test_server.py . [ 45%] 1543s tests/test_emr/test_utils.py .. [ 45%] 1544s tests/test_emrcontainers/test_emrcontainers.py ......................... [ 45%] 1545s ................................ [ 45%] 1545s tests/test_emrcontainers/test_server.py . [ 45%] 1546s tests/test_emrserverless/test_emrserverless.py ......................... [ 45%] 1548s .................................... [ 46%] 1548s tests/test_emrserverless/test_server.py . [ 46%] 1548s tests/test_es/test_domain_tags.py ..... [ 46%] 1549s tests/test_es/test_es.py ................... [ 46%] 1549s tests/test_es/test_server.py . [ 46%] 1549s tests/test_events/test_event_pattern.py ............ [ 46%] 1550s tests/test_events/test_events.py ....................................... [ 47%] 1551s ........................................................................ [ 47%] 1552s ... [ 47%] 1552s tests/test_events/test_events_cloudformation.py ...... [ 47%] 1552s tests/test_events/test_events_http_integration.py . [ 47%] 1553s tests/test_events/test_events_integration.py ...... [ 47%] 1569s tests/test_events/test_events_lambdatriggers_integration.py .... [ 48%] 1570s tests/test_events/test_events_partners_integration.py ... [ 48%] 1570s tests/test_firehose/test_firehose.py ....... [ 48%] 1570s tests/test_firehose/test_firehose_destination_types.py ..... [ 48%] 1570s tests/test_firehose/test_firehose_encryption.py .... [ 48%] 1570s tests/test_firehose/test_firehose_put.py ..... [ 48%] 1570s tests/test_firehose/test_firehose_tags.py ... [ 48%] 1570s tests/test_firehose/test_http_destinations.py .. [ 48%] 1570s tests/test_forecast/test_forecast.py ..................... [ 48%] 1572s tests/test_fsx/test_fsx.py ...... [ 48%] 1572s tests/test_glacier/test_glacier_archives.py ... [ 48%] 1577s tests/test_glacier/test_glacier_jobs.py .... [ 48%] 1578s tests/test_glacier/test_glacier_vaults.py .... [ 48%] 1578s tests/test_glacier/test_server.py . [ 48%] 1578s tests/test_glue/test_datacatalog.py .................................... [ 49%] 1579s ................. [ 49%] 1580s tests/test_glue/test_glue.py ........................................... [ 49%] 1580s ............... [ 49%] 1580s tests/test_glue/test_glue_job_runs.py ...... [ 49%] 1581s tests/test_glue/test_partition_filter.py ....... [ 49%] 1581s tests/test_glue/test_schema_registry.py ................................ [ 50%] 1582s ..................................... [ 50%] 1582s tests/test_greengrass/test_greengrass_core.py ............. [ 50%] 1583s tests/test_greengrass/test_greengrass_deployment.py ............... [ 50%] 1584s tests/test_greengrass/test_greengrass_device.py ............... [ 51%] 1584s tests/test_greengrass/test_greengrass_functions.py ................ [ 51%] 1585s tests/test_greengrass/test_greengrass_groups.py ........................ [ 51%] 1585s ....... [ 51%] 1585s tests/test_greengrass/test_greengrass_resource.py .................... [ 51%] 1585s tests/test_greengrass/test_greengrass_subscriptions.py ................. [ 51%] 1586s ...... [ 52%] 1586s tests/test_guardduty/test_guardduty.py ........... [ 52%] 1586s tests/test_guardduty/test_guardduty_filters.py ..... [ 52%] 1586s tests/test_guardduty/test_guardduty_organization.py .. [ 52%] 1586s tests/test_guardduty/test_server.py . [ 52%] 1589s tests/test_iam/test_iam.py ............................................. [ 52%] 1593s ........................................................................ [ 53%] 1596s ...................................... [ 53%] 1596s tests/test_iam/test_iam_access_integration.py ... [ 53%] 1596s tests/test_iam/test_iam_account_aliases.py . [ 53%] 1597s tests/test_iam/test_iam_cloudformation.py .............................. [ 54%] 1597s  [ 54%] 1598s tests/test_iam/test_iam_groups.py ....................... [ 54%] 1598s tests/test_iam/test_iam_oidc.py .................. [ 54%] 1598s tests/test_iam/test_iam_password_last_used.py . [ 54%] 1599s tests/test_iam/test_iam_policies.py .................................... [ 54%] 1600s ........................................................................ [ 55%] 1600s ..................... [ 55%] 1602s tests/test_iam/test_iam_resets.py .. [ 55%] 1602s tests/test_iam/test_iam_server_certificates.py ..... [ 55%] 1604s tests/test_iam/test_iam_signing_certificates.py ...... [ 56%] 1604s tests/test_iam/test_server.py . [ 56%] 1605s tests/test_identitystore/test_identitystore.py ......................... [ 56%] 1605s .. [ 56%] 1605s tests/test_inspector2/test_inspector2.py .. [ 56%] 1605s tests/test_inspector2/test_inspector2_admin_accounts.py . [ 56%] 1605s tests/test_inspector2/test_inspector2_enable.py . [ 56%] 1605s tests/test_inspector2/test_inspector2_findings.py . [ 56%] 1605s tests/test_inspector2/test_inspector2_members.py . [ 56%] 1605s tests/test_inspector2/test_inspector2_organization.py . [ 56%] 1605s tests/test_inspector2/test_inspector2_tags.py .. [ 56%] 1606s tests/test_iot/test_iot.py .... [ 56%] 1607s tests/test_iot/test_iot_ca_certificates.py .......... [ 56%] 1612s tests/test_iot/test_iot_certificates.py .............. [ 56%] 1612s tests/test_iot/test_iot_cloudformation.py ................. [ 56%] 1612s tests/test_iot/test_iot_deprecate_thing_type.py .... [ 56%] 1613s tests/test_iot/test_iot_domain_configuration.py ............ [ 57%] 1613s tests/test_iot/test_iot_indexing_configuration.py .. [ 57%] 1613s tests/test_iot/test_iot_integration.py . [ 57%] 1614s tests/test_iot/test_iot_job_executions.py ...... [ 57%] 1614s tests/test_iot/test_iot_job_templates.py ......... [ 57%] 1614s tests/test_iot/test_iot_jobs.py ........ [ 57%] 1615s tests/test_iot/test_iot_policies.py ................. [ 57%] 1615s tests/test_iot/test_iot_rolealias.py ....... [ 57%] 1616s tests/test_iot/test_iot_search.py ............. [ 57%] 1616s tests/test_iot/test_iot_thing_groups.py ................. [ 57%] 1616s tests/test_iot/test_iot_thing_types.py ..... [ 57%] 1617s tests/test_iot/test_iot_things.py ....... [ 57%] 1617s tests/test_iot/test_iot_topic_rules.py .......... [ 58%] 1617s tests/test_iot/test_server.py ... [ 58%] 1618s tests/test_iotdata/test_iotdata.py ................... [ 58%] 1619s tests/test_iotdata/test_server.py ... [ 58%] 1619s tests/test_ivs/test_ivs.py ................. [ 58%] 1619s tests/test_kafka/test_kafka.py ..... [ 58%] 1623s tests/test_kinesis/test_kinesis.py .................................. [ 58%] 1623s tests/test_kinesis/test_kinesis_boto3.py ................ [ 59%] 1623s tests/test_kinesis/test_kinesis_cloudformation.py .... [ 59%] 1623s tests/test_kinesis/test_kinesis_encryption.py ... [ 59%] 1623s tests/test_kinesis/test_kinesis_monitoring.py ..... [ 59%] 1623s tests/test_kinesis/test_kinesis_resource_policy.py ..... [ 59%] 1623s tests/test_kinesis/test_kinesis_stream_consumers.py ....... [ 59%] 1624s tests/test_kinesis/test_kinesis_stream_limits.py ....... [ 59%] 1624s tests/test_kinesis/test_server.py . [ 59%] 1624s tests/test_kinesisvideo/test_kinesisvideo.py ........ [ 59%] 1624s tests/test_kinesisvideo/test_server.py . [ 59%] 1624s tests/test_kinesisvideoarchivedmedia/test_kinesisvideoarchivedmedia.py . [ 59%] 1624s .. [ 59%] 1624s tests/test_kinesisvideoarchivedmedia/test_server.py . [ 59%] 1632s tests/test_kms/test_kms_boto3.py ....................................... [ 59%] 1641s ........................................................................ [ 60%] 1667s .......................................... [ 61%] 1674s tests/test_kms/test_kms_encrypt.py ................... [ 61%] 1674s tests/test_kms/test_kms_grants.py ....... [ 61%] 1676s tests/test_kms/test_kms_key_rotation.py ....... [ 61%] 1677s tests/test_kms/test_kms_mac.py ...... [ 61%] 1677s tests/test_kms/test_kms_policy_enforcement.py ........................ [ 61%] 1679s tests/test_kms/test_model.py .... [ 61%] 1679s tests/test_kms/test_server.py . [ 61%] 1681s tests/test_kms/test_utils.py ..................... [ 61%] 1681s tests/test_lakeformation/test_lakeformation.py ................... [ 62%] 1681s tests/test_lakeformation/test_permission.py .. [ 62%] 1681s tests/test_lakeformation/test_resource_tags_integration.py ..... [ 62%] 1681s tests/test_lexv2models/test_lexv2models.py ....... [ 62%] 1682s tests/test_logs/test_export_tasks.py ......... [ 62%] 1682s tests/test_logs/test_integration.py ..... [ 62%] 1683s tests/test_logs/test_logs.py ........................................... [ 62%] 1683s .................. [ 63%] 1683s tests/test_logs/test_logs_cloudformation.py . [ 63%] 1683s tests/test_logs/test_logs_filter_log_events.py ........ [ 63%] 1684s tests/test_logs/test_logs_metric_filters.py ............ [ 63%] 1684s tests/test_logs/test_logs_query/test_boto3.py .... [ 63%] 1684s tests/test_logs/test_logs_query/test_query.py .. [ 63%] 1684s tests/test_logs/test_logs_query/test_query_parser.py ........... [ 63%] 1684s tests/test_logs/test_logs_tags.py .. [ 63%] 1684s tests/test_logs/test_models.py . [ 63%] 1684s tests/test_managedblockchain/test_managedblockchain_invitations.py ... [ 63%] 1684s tests/test_managedblockchain/test_managedblockchain_members.py ......... [ 63%] 1684s ...... [ 63%] 1684s tests/test_managedblockchain/test_managedblockchain_networks.py ...... [ 63%] 1685s tests/test_managedblockchain/test_managedblockchain_nodes.py ........... [ 63%] 1685s ...... [ 63%] 1685s tests/test_managedblockchain/test_managedblockchain_proposals.py ....... [ 63%] 1685s .. [ 63%] 1685s tests/test_managedblockchain/test_managedblockchain_proposalvotes.py ... [ 64%] 1685s .......... [ 64%] 1689s tests/test_mediaconnect/test_mediaconnect.py ...FFFFFFFFFFFFFFFFFFFFFFFF [ 64%] 1690s F [ 64%] 1690s tests/test_mediaconnect/test_server.py . [ 64%] 1691s tests/test_medialive/test_medialive.py ............ [ 64%] 1691s tests/test_medialive/test_server.py .. [ 64%] 1691s tests/test_mediapackage/test_mediapackage.py .............. [ 64%] 1691s tests/test_mediapackage/test_server.py .. [ 64%] 1691s tests/test_mediastore/test_mediastore.py ..................... [ 64%] 1691s tests/test_mediastore/test_server.py . [ 64%] 1691s tests/test_mediastoredata/test_mediastoredata.py ...... [ 65%] 1691s tests/test_mediastoredata/test_server.py . [ 65%] 1692s tests/test_memorydb/test_memorydb.py ................................... [ 65%] 1692s .............. [ 65%] 1692s tests/test_meteringmarketplace/test_meteringmarketplace.py . [ 65%] 1692s tests/test_moto_api/mock_random/test_mock_random.py ... [ 65%] 1694s tests/test_moto_api/recorder/test_recorder.py ........ [ 65%] 1694s tests/test_moto_api/seeder/test_seeder.py ... [ 65%] 1694s tests/test_moto_api/state_manager/servermode/test_inmemory_server.py ... [ 65%] 1694s  [ 65%] 1694s tests/test_moto_api/state_manager/servermode/test_state_manager.py sss [ 65%] 1694s tests/test_moto_api/state_manager/test_batch_integration.py . [ 65%] 1696s tests/test_moto_api/state_manager/test_managed_state_model.py ....... [ 65%] 1696s tests/test_moto_api/state_manager/test_state_manager.py ....... [ 65%] 1696s tests/test_mq/test_mq.py ................ [ 66%] 1696s tests/test_mq/test_mq_configuration.py ......... [ 66%] 1696s tests/test_mq/test_mq_tags.py ..... [ 66%] 1697s tests/test_mq/test_mq_users.py ....... [ 66%] 1697s tests/test_mq/test_server.py . [ 66%] 1697s tests/test_neptune/test_cluster_options.py . [ 66%] 1697s tests/test_neptune/test_cluster_tags.py . [ 66%] 1697s tests/test_neptune/test_clusters.py ....... [ 66%] 1697s tests/test_neptune/test_global_clusters.py .... [ 66%] 1698s tests/test_networkmanager/test_networkmanager.py ..................... [ 66%] 1698s tests/test_networkmanager/test_server.py ... [ 66%] 1698s tests/test_opensearch/test_domain_tags.py .. [ 66%] 1698s tests/test_opensearch/test_opensearch.py .............. [ 66%] 1698s tests/test_opensearchserverless/test_opensearchserverless.py ........... [ 66%] 1698s ............ [ 67%] 1698s tests/test_opsworks/test_apps.py FF [ 67%] 1699s tests/test_opsworks/test_instances.py FFF [ 67%] 1699s tests/test_opsworks/test_layers.py FF [ 67%] 1699s tests/test_opsworks/test_stack.py FF [ 67%] 1699s tests/test_organizations/test_organizations_boto3.py ................... [ 67%] 1700s ........................................................................ [ 68%] 1701s ................. [ 68%] 1701s tests/test_osis/test_osis.py ................ [ 68%] 1701s tests/test_osis/test_server.py . [ 68%] 1701s tests/test_panorama/test_application_instance.py ...... [ 68%] 1701s tests/test_panorama/test_nodes.py ... [ 68%] 1702s tests/test_panorama/test_panorama_device.py ............... [ 68%] 1702s tests/test_panorama/test_server.py . [ 68%] 1702s tests/test_personalize/test_personalize_schema.py ........ [ 68%] 1703s tests/test_pinpoint/test_pinpoint.py ....... [ 68%] 1703s tests/test_pinpoint/test_pinpoint_application_tags.py .... [ 68%] 1703s tests/test_pinpoint/test_pinpoint_event_stream.py ... [ 68%] 1703s tests/test_polly/test_polly.py .............. [ 69%] 1703s tests/test_polly/test_server.py . [ 69%] 1703s tests/test_qldb/test_qldb.py EE [ 69%] 1703s tests/test_quicksight/test_quicksight_datasets.py .. [ 69%] 1704s tests/test_quicksight/test_quicksight_groups.py ............... [ 69%] 1705s tests/test_quicksight/test_quicksight_users.py ....................... [ 69%] 1705s tests/test_ram/test_ram.py ............ [ 69%] 1705s tests/test_rds/test_db_cluster_param_group.py . [ 69%] 1705s tests/test_rds/test_db_cluster_params.py . [ 69%] 1706s tests/test_rds/test_filters.py .............................. [ 69%] 1706s tests/test_rds/test_global_clusters.py ........ [ 69%] 1709s tests/test_rds/test_rds.py ............................................. [ 70%] 1712s ........................................................................ [ 71%] 1715s ........................................................................ [ 71%] 1716s .......... [ 72%] 1717s tests/test_rds/test_rds_cloudformation.py ....... [ 72%] 1719s tests/test_rds/test_rds_clusters.py .................................... [ 72%] 1720s ........................................ [ 72%] 1720s tests/test_rds/test_rds_clusters_with_instances.py ..... [ 72%] 1720s tests/test_rds/test_rds_event_subscriptions.py ...... [ 72%] 1721s tests/test_rds/test_rds_export_tasks.py ........ [ 73%] 1721s tests/test_rds/test_rds_proxy.py FFFFF. [ 73%] 1722s tests/test_rds/test_rds_proxy_target_groups.py ... [ 73%] 1722s tests/test_rds/test_server.py .. [ 73%] 1722s tests/test_rds/test_utils.py ................ [ 73%] 1722s tests/test_rdsdata/test_rdsdata.py .. [ 73%] 1723s tests/test_redshift/test_redshift.py ................................... [ 73%] 1724s ............................... [ 74%] 1724s tests/test_redshift/test_redshift_cloudformation.py . [ 74%] 1724s tests/test_redshift/test_server.py .............. [ 74%] 1724s tests/test_redshiftdata/test_redshiftdata.py ......... [ 74%] 1724s tests/test_redshiftdata/test_server.py ........ [ 74%] 1724s tests/test_rekognition/test_rekognition.py ........ [ 74%] 1724s tests/test_resiliencehub/test_resiliencehub.py ........... [ 74%] 1724s tests/test_resiliencehub/test_resiliencyhub_resources.py ..... [ 74%] 1724s tests/test_resiliencehub/test_resiliencyhub_tagging.py .. [ 74%] 1724s tests/test_resourcegroups/test_resourcegroups.py ............ [ 74%] 1724s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_dynamodb.py . [ 74%] 1725s . [ 74%] 1725s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_glue.py . [ 74%] 1725s  [ 74%] 1725s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_logs.py . [ 74%] 1725s . [ 74%] 1725s tests/test_resourcegroupstaggingapi/test_resourcegroupstagging_rds.py .. [ 74%] 1725s  [ 74%] 1726s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py ... [ 74%] 1728s .............FFF............ [ 75%] 1728s tests/test_resourcegroupstaggingapi/test_server.py . [ 75%] 1729s tests/test_robomaker/test_robomaker.py F [ 75%] 1729s tests/test_route53/test_change_set_model.py ... [ 75%] 1731s tests/test_route53/test_route53.py ..................................... [ 75%] 1731s .............. [ 75%] 1732s tests/test_route53/test_route53_cloudformation.py ...... [ 75%] 1732s tests/test_route53/test_route53_delegationsets.py ........ [ 75%] 1732s tests/test_route53/test_route53_healthchecks.py .......... [ 75%] 1732s tests/test_route53/test_route53_query_logging_config.py ...... [ 75%] 1733s tests/test_route53/test_route53_vpcs.py ....... [ 76%] 1733s tests/test_route53/test_server.py . [ 76%] 1733s tests/test_route53domains/test_route53domains_domain.py ................ [ 76%] 1733s ................ [ 76%] 1734s tests/test_route53resolver/test_route53resolver_endpoint.py ............ [ 76%] 1735s .......... [ 76%] 1737s tests/test_route53resolver/test_route53resolver_rule.py ........... [ 76%] 1737s tests/test_route53resolver/test_route53resolver_rule_associations.py ... [ 76%] 1737s ........ [ 76%] 1737s tests/test_route53resolver/test_route53resolver_tags.py .... [ 76%] 1738s tests/test_s3/test_s3.py ............................................... [ 77%] 1742s ........................................................................ [ 78%] 1743s ....................................... [ 78%] 1744s tests/test_s3/test_s3_acl.py .......................... [ 78%] 1744s tests/test_s3/test_s3_auth.py .... [ 78%] 1746s tests/test_s3/test_s3_bucket_policy.py ........... [ 78%] 1746s tests/test_s3/test_s3_classdecorator.py . [ 78%] 1746s tests/test_s3/test_s3_cloudformation.py ..... [ 78%] 1747s tests/test_s3/test_s3_config.py ...... [ 79%] 1749s tests/test_s3/test_s3_copyobject.py .................................... [ 79%] 1749s  [ 79%] 1749s tests/test_s3/test_s3_cross_account.py . [ 79%] 1749s tests/test_s3/test_s3_custom_endpoint.py .......... [ 79%] 1749s tests/test_s3/test_s3_encryption.py ...... [ 79%] 1750s tests/test_s3/test_s3_eventbridge_integration.py .......... [ 79%] 1771s tests/test_s3/test_s3_file_handles.py ........................ [ 79%] 1771s tests/test_s3/test_s3_lambda_integration.py ...... [ 79%] 1771s tests/test_s3/test_s3_lifecycle.py .......... [ 80%] 1773s tests/test_s3/test_s3_list_object_versions.py ............ [ 80%] 1773s tests/test_s3/test_s3_list_objects.py .. [ 80%] 1774s tests/test_s3/test_s3_locales.py . [ 80%] 1785s tests/test_s3/test_s3_lock.py ..F........... [ 80%] 1786s tests/test_s3/test_s3_logging.py ........... [ 80%] 1786s tests/test_s3/test_s3_metadata.py . [ 80%] 1787s tests/test_s3/test_s3_multipart.py ..................................... [ 80%] 1787s  [ 80%] 1787s tests/test_s3/test_s3_notifications.py ............ [ 81%] 1788s tests/test_s3/test_s3_object_attributes.py ........ [ 81%] 1788s tests/test_s3/test_s3_ownership.py ... [ 81%] 1788s tests/test_s3/test_s3_replication.py ....... [ 81%] 1788s tests/test_s3/test_s3_storageclass.py ............ [ 81%] 1788s tests/test_s3/test_s3_tagging.py ............ [ 81%] 1788s tests/test_s3/test_s3_utils.py ........... [ 81%] 1789s tests/test_s3/test_server.py ............. [ 81%] 1789s tests/test_s3bucket_path/test_s3bucket_path_utils.py ... [ 81%] 1789s tests/test_s3bucket_path/test_server.py ..... [ 81%] 1789s tests/test_s3control/test_s3control.py . [ 81%] 1789s tests/test_s3control/test_s3control_access_points.py .... [ 81%] 1789s tests/test_s3control/test_s3control_accesspoint_policy.py ..... [ 81%] 1793s tests/test_s3control/test_s3control_config_integration.py .. [ 81%] 1793s tests/test_s3control/test_s3control_s3.py ... [ 81%] 1794s tests/test_s3tables/test_s3tables.py ............F...F..F.FFFF.. [ 82%] 1794s tests/test_s3tables/test_server.py .......F. [ 82%] 1794s tests/test_sagemaker/test_sagemaker_automljobs.py ....... [ 82%] 1795s tests/test_sagemaker/test_sagemaker_cloudformation.py .................. [ 82%] 1795s .. [ 82%] 1795s tests/test_sagemaker/test_sagemaker_cluster.py .......... [ 82%] 1795s tests/test_sagemaker/test_sagemaker_compilation_jobs.py ........ [ 82%] 1796s tests/test_sagemaker/test_sagemaker_data_quality_jobs_definitions.py ... [ 82%] 1797s . [ 82%] 1797s tests/test_sagemaker/test_sagemaker_domains.py ...... [ 82%] 1797s tests/test_sagemaker/test_sagemaker_endpoint.py ................... [ 83%] 1797s tests/test_sagemaker/test_sagemaker_experiment.py ..... [ 83%] 1797s tests/test_sagemaker/test_sagemaker_feature_groups.py .. [ 83%] 1797s tests/test_sagemaker/test_sagemaker_hyper_parameter_tuning_job.py ...... [ 83%] 1797s . [ 83%] 1797s tests/test_sagemaker/test_sagemaker_model_bias_job_definitions.py .... [ 83%] 1800s tests/test_sagemaker/test_sagemaker_model_cards.py ......... [ 83%] 1800s tests/test_sagemaker/test_sagemaker_model_expainability.py ....... [ 83%] 1800s tests/test_sagemaker/test_sagemaker_model_package_groups.py ............ [ 83%] 1800s  [ 83%] 1801s tests/test_sagemaker/test_sagemaker_model_packages.py .................. [ 83%] 1801s ....... [ 83%] 1801s tests/test_sagemaker/test_sagemaker_model_quality.py ....... [ 83%] 1801s tests/test_sagemaker/test_sagemaker_models.py .......... [ 83%] 1801s tests/test_sagemaker/test_sagemaker_notebooks.py ......... [ 84%] 1804s tests/test_sagemaker/test_sagemaker_pipeline.py ........................ [ 84%] 1805s .................. [ 84%] 1805s tests/test_sagemaker/test_sagemaker_processing.py .......... [ 84%] 1805s tests/test_sagemaker/test_sagemaker_search.py ..... [ 84%] 1807s tests/test_sagemaker/test_sagemaker_training.py ............ [ 84%] 1807s tests/test_sagemaker/test_sagemaker_transform.py ............ [ 84%] 1808s tests/test_sagemaker/test_sagemaker_trial.py ....... [ 84%] 1808s tests/test_sagemaker/test_sagemaker_trial_component.py ........... [ 85%] 1808s tests/test_sagemakermetrics/test_sagemakermetrics.py .. [ 85%] 1808s tests/test_sagemakermetrics/test_server.py . [ 85%] 1808s tests/test_sagemakerruntime/test_sagemakerruntime.py .... [ 85%] 1808s tests/test_scheduler/test_schedule_groups.py ... [ 85%] 1808s tests/test_scheduler/test_scheduler.py .................. [ 85%] 1808s tests/test_scheduler/test_scheduler_tags.py .. [ 85%] 1808s tests/test_scheduler/test_server.py . [ 85%] 1808s tests/test_sdb/test_sdb_attributes.py ......... [ 85%] 1808s tests/test_sdb/test_sdb_domains.py ................. [ 85%] 1808s tests/test_sdb/test_server.py . [ 85%] 1809s tests/test_secretsmanager/test_list_secrets.py ......................... [ 85%] 1809s . [ 85%] 1809s tests/test_secretsmanager/test_policy.py .... [ 85%] 1809s tests/test_secretsmanager/test_rotate_simple_lambda.py .. [ 85%] 1809s tests/test_secretsmanager/test_secrets_duplication.py .......... [ 86%] 1809s tests/test_secretsmanager/test_secretsmanager.py ....................... [ 86%] 1810s ......................................s............ss................... [ 87%] 1812s .............. [ 87%] 1812s tests/test_secretsmanager/test_server.py ............................. [ 87%] 1812s tests/test_securityhub/test_securityhub.py ..... [ 87%] 1812s tests/test_servicediscovery/test_server.py . [ 87%] 1812s tests/test_servicediscovery/test_servicediscovery_httpnamespaces.py .... [ 87%] 1812s .......... [ 87%] 1812s tests/test_servicediscovery/test_servicediscovery_instance.py .......... [ 87%] 1813s ... [ 87%] 1813s tests/test_servicediscovery/test_servicediscovery_operations.py ....... [ 87%] 1813s tests/test_servicediscovery/test_servicediscovery_service.py ....... [ 87%] 1813s tests/test_servicediscovery/test_servicediscovery_tags.py ...... [ 87%] 1813s tests/test_servicequotas/test_servicequotas.py .... [ 88%] 1813s tests/test_ses/test_server.py .. [ 88%] 1814s tests/test_ses/test_ses_boto3.py ....................................... [ 88%] 1814s  [ 88%] 1815s tests/test_ses/test_ses_sns_boto3.py ........ [ 88%] 1815s tests/test_ses/test_ses_utils.py . [ 88%] 1815s tests/test_ses/test_templating.py ......... [ 88%] 1815s tests/test_sesv2/test_server.py . [ 88%] 1815s tests/test_sesv2/test_sesv2.py .......................... [ 88%] 1815s tests/test_shield/test_shield.py ...................... [ 89%] 1815s tests/test_signer/test_signing_platforms.py . [ 89%] 1815s tests/test_signer/test_signing_profiles.py .... [ 89%] 1816s tests/test_sns/test_application_boto3.py ..................... [ 89%] 1816s tests/test_sns/test_http_message_verification.py . [ 89%] 1817s tests/test_sns/test_publish_batch.py ........ [ 89%] 1825s tests/test_sns/test_publishing_boto3.py ................................ [ 89%] 1840s ........................................................................ [ 90%] 1841s ... [ 90%] 1841s tests/test_sns/test_server.py . [ 90%] 1841s tests/test_sns/test_sns_cloudformation.py ...... [ 90%] 1852s tests/test_sns/test_subscriptions_boto3.py ................... [ 90%] 1852s tests/test_sns/test_topics_boto3.py ......................... [ 91%] 1852s tests/test_sns/test_utils.py ... [ 91%] 1852s tests/test_special_cases/test_custom_amis.py . [ 91%] 1860s tests/test_sqs/test_server.py ... [ 91%] 1870s tests/test_sqs/test_sqs.py ............................................. [ 91%] 1894s ........................................................................ [ 92%] 1912s ........................ [ 92%] 1912s tests/test_sqs/test_sqs_cloudformation.py ....... [ 92%] 1912s tests/test_sqs/test_sqs_integration.py F [ 92%] 1912s tests/test_sqs/test_sqs_multiaccount.py . [ 92%] 1913s tests/test_ssm/test_ssm_boto3.py ....................................... [ 93%] 1914s ................................................. [ 93%] 1914s tests/test_ssm/test_ssm_cloudformation.py . [ 93%] 1914s tests/test_ssm/test_ssm_default_amis.py .. [ 93%] 1916s tests/test_ssm/test_ssm_defaults.py ... [ 93%] 1916s tests/test_ssm/test_ssm_doc_permissions.py ...................... [ 93%] 1917s tests/test_ssm/test_ssm_docs.py ........ [ 93%] 1917s tests/test_ssm/test_ssm_ec2_integration.py . [ 93%] 1917s tests/test_ssm/test_ssm_ecs_images.py . [ 93%] 1917s tests/test_ssm/test_ssm_maintenance_windows.py ............ [ 94%] 1917s tests/test_ssm/test_ssm_parameterstore.py ......... [ 94%] 1918s tests/test_ssm/test_ssm_patch_baseline.py .. [ 94%] 1918s tests/test_ssm/test_ssm_secretsmanager.py ...... [ 94%] 1918s tests/test_ssm/test_ssm_utils.py ... [ 94%] 1918s tests/test_ssoadmin/test_server.py . [ 94%] 1919s tests/test_ssoadmin/test_ssoadmin.py .................. [ 94%] 1919s tests/test_ssoadmin/test_ssoadmin_instances.py .. [ 94%] 1919s tests/test_ssoadmin/test_ssoadmin_permission_sets.py .. [ 94%] 1919s tests/test_ssoadmin/test_ssoadmin_policies.py ........... [ 94%] 1920s tests/test_stepfunctions/test_stepfunctions.py ......................... [ 94%] 1921s ....................... [ 95%] 1921s tests/test_stepfunctions/test_stepfunctions_cloudformation.py ... [ 95%] 1921s tests/test_stepfunctions/test_stepfunctions_versions.py ... [ 95%] 1921s tests/test_sts/test_server.py .... [ 95%] 1921s tests/test_sts/test_sts.py ...................... [ 95%] 1921s tests/test_sts/test_sts_integration.py ... [ 95%] 1921s tests/test_support/test_server.py .... [ 95%] 1922s tests/test_support/test_support.py ..................................... [ 95%] 1922s .... [ 95%] 1922s tests/test_swf/models/test_activity_task.py ....... [ 96%] 1922s tests/test_swf/models/test_decision_task.py ..... [ 96%] 1922s tests/test_swf/models/test_domain.py ........ [ 96%] 1922s tests/test_swf/models/test_generic_type.py .... [ 96%] 1922s tests/test_swf/models/test_history_event.py ... [ 96%] 1922s tests/test_swf/models/test_timeout.py . [ 96%] 1922s tests/test_swf/models/test_timer.py .... [ 96%] 1922s tests/test_swf/models/test_workflow_execution.py ....................... [ 96%] 1923s ............ [ 96%] 1925s tests/test_swf/responses/test_activity_tasks.py ............. [ 96%] 1926s tests/test_swf/responses/test_activity_types.py ............. [ 96%] 1931s tests/test_swf/responses/test_decision_tasks.py ....................... [ 97%] 1931s tests/test_swf/responses/test_domains.py ............. [ 97%] 1932s tests/test_swf/responses/test_timeouts.py ... [ 97%] 1932s tests/test_swf/responses/test_workflow_executions.py .............. [ 97%] 1932s tests/test_swf/responses/test_workflow_types.py ............. [ 97%] 1932s tests/test_swf/test_exceptions.py ............ [ 97%] 1932s tests/test_swf/test_utils.py . [ 97%] 1932s tests/test_textract/test_server.py ..... [ 97%] 1932s tests/test_textract/test_textract.py .... [ 97%] 1932s tests/test_timestreaminfluxdb/test_timestreaminfluxdb.py ........... [ 97%] 1932s tests/test_timestreaminfluxdb/test_timestreaminfluxdb_tagging.py ... [ 97%] 1932s tests/test_timestreamquery/test_timestreamquery.py ..... [ 97%] 1932s tests/test_timestreamwrite/test_server.py . [ 98%] 1934s tests/test_timestreamwrite/test_timestreamwrite_database.py ....... [ 98%] 1934s tests/test_timestreamwrite/test_timestreamwrite_table.py .......... [ 98%] 1934s tests/test_timestreamwrite/test_timestreamwrite_tagging.py ..... [ 98%] 1934s tests/test_transcribe/test_transcribe_boto3.py ....................... [ 98%] 1935s tests/test_transfer/test_transfer.py ... [ 98%] 1935s tests/test_utilities/test_docker_utilities.py ....... [ 98%] 1935s tests/test_utilities/test_id_generator.py .......... [ 98%] 1935s tests/test_utilities/test_paginator.py .................... [ 98%] 1935s tests/test_utilities/test_tagging_service.py ........... [ 98%] 1937s tests/test_utilities/test_threaded_server.py ..... [ 99%] 1937s tests/test_utilities/test_utils.py .. [ 99%] 1937s tests/test_wafv2/test_server.py .. [ 99%] 1937s tests/test_wafv2/test_utils.py . [ 99%] 1938s tests/test_wafv2/test_wafv2.py .......... [ 99%] 1938s tests/test_wafv2/test_wafv2_integration.py .... [ 99%] 1938s tests/test_wafv2/test_wafv2_logging_configuration.py .. [ 99%] 1938s tests/test_wafv2/test_wafv2_rules.py ..... [ 99%] 1938s tests/test_wafv2/test_wafv2_tags.py .... [ 99%] 1941s tests/test_workspaces/test_workspaces.py F..FFFFFFFFFFF.FFFFFFF.FFFF.FF [ 99%] 1941s tests/test_workspacesweb/test_workspacesweb.py ......................... [ 99%] 1941s  [ 99%] 1941s tests/test_xray/test_xray_boto3.py ...... [ 99%] 1941s tests/test_xray/test_xray_client.py .... [100%] 1941s 1941s ==================================== ERRORS ==================================== 1941s _______ ERROR at setup of test_create_describe_update_and_delete_ledger ________ 1941s 1941s @pytest.fixture(name="client") 1941s def fixture_qldb_client(): 1941s with mock_aws(): 1941s > yield boto3.client("qldb", region_name="us-east-1") 1941s 1941s tests/test_qldb/test_qldb.py:18: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1941s return _get_default_session().client(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1941s return self._session.create_client( 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1941s client = client_creator.create_client( 1941s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1941s service_model = self._load_service_model(service_name, api_version) 1941s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1941s json_model = self._loader.load_service_model( 1941s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1941s data = func(self, *args, **kwargs) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s self = , service_name = 'qldb' 1941s type_name = 'service-2', api_version = None 1941s 1941s @instance_cache 1941s def load_service_model(self, service_name, type_name, api_version=None): 1941s  """Load a botocore service model 1941s  1941s  This is the main method for loading botocore models (e.g. a service 1941s  model, pagination configs, waiter configs, etc.). 1941s  1941s  :type service_name: str 1941s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1941s  1941s  :type type_name: str 1941s  :param type_name: The model type. Valid types include, but are not 1941s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1941s  1941s  :type api_version: str 1941s  :param api_version: The API version to load. If this is not 1941s  provided, then the latest API version will be used. 1941s  1941s  :type load_extras: bool 1941s  :param load_extras: Whether or not to load the tool extras which 1941s  contain additional data to be added to the model. 1941s  1941s  :raises: UnknownServiceError if there is no known service with 1941s  the provided service_name. 1941s  1941s  :raises: DataNotFoundError if no data could be found for the 1941s  service_name/type_name/api_version. 1941s  1941s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1941s  """ 1941s # Wrapper around the load_data. This will calculate the path 1941s # to call load_data with. 1941s known_services = self.list_available_services(type_name) 1941s if service_name not in known_services: 1941s > raise UnknownServiceError( 1941s service_name=service_name, 1941s known_service_names=', '.join(sorted(known_services)), 1941s ) 1941s 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 1941s 1941s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1941s ________ ERROR at setup of test_tag_resource_and_list_tags_for_resource ________ 1941s 1941s @pytest.fixture(name="client") 1941s def fixture_qldb_client(): 1941s with mock_aws(): 1941s > yield boto3.client("qldb", region_name="us-east-1") 1941s 1941s tests/test_qldb/test_qldb.py:18: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1941s return _get_default_session().client(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1941s return self._session.create_client( 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1941s client = client_creator.create_client( 1941s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1941s service_model = self._load_service_model(service_name, api_version) 1941s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1941s json_model = self._loader.load_service_model( 1941s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1941s data = func(self, *args, **kwargs) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s self = , service_name = 'qldb' 1941s type_name = 'service-2', api_version = None 1941s 1941s @instance_cache 1941s def load_service_model(self, service_name, type_name, api_version=None): 1941s  """Load a botocore service model 1941s  1941s  This is the main method for loading botocore models (e.g. a service 1941s  model, pagination configs, waiter configs, etc.). 1941s  1941s  :type service_name: str 1941s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1941s  1941s  :type type_name: str 1941s  :param type_name: The model type. Valid types include, but are not 1941s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1941s  1941s  :type api_version: str 1941s  :param api_version: The API version to load. If this is not 1941s  provided, then the latest API version will be used. 1941s  1941s  :type load_extras: bool 1941s  :param load_extras: Whether or not to load the tool extras which 1941s  contain additional data to be added to the model. 1941s  1941s  :raises: UnknownServiceError if there is no known service with 1941s  the provided service_name. 1941s  1941s  :raises: DataNotFoundError if no data could be found for the 1941s  service_name/type_name/api_version. 1941s  1941s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1941s  """ 1941s # Wrapper around the load_data. This will calculate the path 1941s # to call load_data with. 1941s known_services = self.list_available_services(type_name) 1941s if service_name not in known_services: 1941s > raise UnknownServiceError( 1941s service_name=service_name, 1941s known_service_names=', '.join(sorted(known_services)), 1941s ) 1941s 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 1941s 1941s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1941s =================================== FAILURES =================================== 1941s __________ test_event_source_mapping_create_from_cloudformation_json ___________ 1941s 1941s @mock_aws 1941s def test_event_source_mapping_create_from_cloudformation_json(): 1941s sqs = boto3.resource("sqs", region_name="us-east-1") 1941s s3 = boto3.client("s3", "us-east-1") 1941s cf = boto3.client("cloudformation", region_name="us-east-1") 1941s lmbda = boto3.client("lambda", region_name="us-east-1") 1941s  1941s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1941s  1941s # Creates lambda 1941s _, lambda_stack = create_stack(cf, s3) 1941s created_fn_name = get_created_function_name(cf, lambda_stack) 1941s created_fn_arn = lmbda.get_function(FunctionName=created_fn_name)["Configuration"][ 1941s "FunctionArn" 1941s ] 1941s  1941s esm_template = event_source_mapping_template.substitute( 1941s { 1941s "resource_name": "Foo", 1941s "batch_size": 1, 1941s "event_source_arn": queue.attributes["QueueArn"], 1941s "function_name": created_fn_name, 1941s "enabled": True, 1941s } 1941s ) 1941s  1941s cf.create_stack(StackName=random_stack_name(), TemplateBody=esm_template) 1941s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1941s 1941s tests/test_awslambda/test_awslambda_cloudformation.py:184: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s self = 1941s operation_name = 'ListEventSourceMappings' 1941s api_params = {'FunctionName': '141707-LF3ABOV-G5LQS8K7XK0X'} 1941s 1941s @with_current_context() 1941s def _make_api_call(self, operation_name, api_params): 1941s operation_model = self._service_model.operation_model(operation_name) 1941s service_name = self._service_model.service_name 1941s history_recorder.record( 1941s 'API_CALL', 1941s { 1941s 'service': service_name, 1941s 'operation': operation_name, 1941s 'params': api_params, 1941s }, 1941s ) 1941s if operation_model.deprecated: 1941s logger.debug( 1941s 'Warning: %s.%s() is deprecated', service_name, operation_name 1941s ) 1941s request_context = { 1941s 'client_region': self.meta.region_name, 1941s 'client_config': self.meta.config, 1941s 'has_streaming_input': operation_model.has_streaming_input, 1941s 'auth_type': operation_model.resolved_auth_type, 1941s 'unsigned_payload': operation_model.unsigned_payload, 1941s 'auth_options': self._service_model.metadata.get('auth'), 1941s } 1941s  1941s api_params = self._emit_api_params( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s context=request_context, 1941s ) 1941s ( 1941s endpoint_url, 1941s additional_headers, 1941s properties, 1941s ) = self._resolve_endpoint_ruleset( 1941s operation_model, api_params, request_context 1941s ) 1941s if properties: 1941s # Pass arbitrary endpoint info with the Request 1941s # for use during construction. 1941s request_context['endpoint_properties'] = properties 1941s request_dict = self._convert_to_request_dict( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s endpoint_url=endpoint_url, 1941s context=request_context, 1941s headers=additional_headers, 1941s ) 1941s resolve_checksum_context(request_dict, operation_model, api_params) 1941s  1941s service_id = self._service_model.service_id.hyphenize() 1941s handler, event_response = self.meta.events.emit_until_response( 1941s f'before-call.{service_id}.{operation_name}', 1941s model=operation_model, 1941s params=request_dict, 1941s request_signer=self._request_signer, 1941s context=request_context, 1941s ) 1941s  1941s if event_response is not None: 1941s http, parsed_response = event_response 1941s else: 1941s maybe_compress_request( 1941s self.meta.config, request_dict, operation_model 1941s ) 1941s apply_request_checksum(request_dict) 1941s http, parsed_response = self._make_request( 1941s operation_model, request_dict, request_context 1941s ) 1941s  1941s self.meta.events.emit( 1941s f'after-call.{service_id}.{operation_name}', 1941s http_response=http, 1941s parsed=parsed_response, 1941s model=operation_model, 1941s context=request_context, 1941s ) 1941s  1941s if http.status_code >= 300: 1941s error_info = parsed_response.get("Error", {}) 1941s error_code = request_context.get( 1941s 'error_code_override' 1941s ) or error_info.get("Code") 1941s error_class = self.exceptions.from_code(error_code) 1941s > raise error_class(parsed_response, operation_name) 1941s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1941s 1941s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1941s ____________________ test_event_source_mapping_delete_stack ____________________ 1941s 1941s @mock_aws 1941s def test_event_source_mapping_delete_stack(): 1941s sqs = boto3.resource("sqs", region_name="us-east-1") 1941s s3 = boto3.client("s3", "us-east-1") 1941s cf = boto3.client("cloudformation", region_name="us-east-1") 1941s lmbda = boto3.client("lambda", region_name="us-east-1") 1941s  1941s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1941s  1941s # Creates lambda 1941s _, lambda_stack = create_stack(cf, s3) 1941s created_fn_name = get_created_function_name(cf, lambda_stack) 1941s  1941s esm_template = event_source_mapping_template.substitute( 1941s { 1941s "resource_name": "Foo", 1941s "batch_size": 1, 1941s "event_source_arn": queue.attributes["QueueArn"], 1941s "function_name": created_fn_name, 1941s "enabled": True, 1941s } 1941s ) 1941s  1941s esm_stack = cf.create_stack( 1941s StackName=random_stack_name(), TemplateBody=esm_template 1941s ) 1941s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1941s 1941s tests/test_awslambda/test_awslambda_cloudformation.py:218: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s self = 1941s operation_name = 'ListEventSourceMappings' 1941s api_params = {'FunctionName': '5aba04-LF3ABOV-K8EGRAW0ZNCG'} 1941s 1941s @with_current_context() 1941s def _make_api_call(self, operation_name, api_params): 1941s operation_model = self._service_model.operation_model(operation_name) 1941s service_name = self._service_model.service_name 1941s history_recorder.record( 1941s 'API_CALL',[39;49;00m 1941s { 1941s 'service': service_name, 1941s 'operation': operation_name, 1941s 'params': api_params, 1941s }, 1941s ) 1941s if operation_model.deprecated: 1941s logger.debug( 1941s 'Warning: %s.%s() is deprecated', service_name, operation_name 1941s ) 1941s request_context = { 1941s 'client_region': self.meta.region_name, 1941s 'client_config': self.meta.config, 1941s 'has_streaming_input': operation_model.has_streaming_input, 1941s 'auth_type': operation_model.resolved_auth_type, 1941s 'unsigned_payload': operation_model.unsigned_payload, 1941s 'auth_options': self._service_model.metadata.get('auth'), 1941s } 1941s  1941s api_params = self._emit_api_params( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s context=request_context, 1941s ) 1941s ( 1941s endpoint_url, 1941s additional_headers, 1941s properties, 1941s ) = self._resolve_endpoint_ruleset( 1941s operation_model, api_params, request_context 1941s ) 1941s if properties: 1941s # Pass arbitrary endpoint info with the Request 1941s # for use during construction. 1941s request_context['endpoint_properties'] = properties 1941s request_dict = self._convert_to_request_dict( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s endpoint_url=endpoint_url, 1941s context=request_context, 1941s headers=additional_headers, 1941s ) 1941s resolve_checksum_context(request_dict, operation_model, api_params) 1941s  1941s service_id = self._service_model.service_id.hyphenize() 1941s handler, event_response = self.meta.events.emit_until_response( 1941s f'before-call.{service_id}.{operation_name}', 1941s model=operation_model, 1941s params=request_dict, 1941s request_signer=self._request_signer, 1941s context=request_context, 1941s ) 1941s  1941s if event_response is not None: 1941s http, parsed_response = event_response 1941s else: 1941s maybe_compress_request( 1941s self.meta.config, request_dict, operation_model 1941s ) 1941s apply_request_checksum(request_dict) 1941s http, parsed_response = self._make_request( 1941s operation_model, request_dict, request_context 1941s ) 1941s  1941s self.meta.events.emit( 1941s f'after-call.{service_id}.{operation_name}', 1941s http_response=http, 1941s parsed=parsed_response, 1941s model=operation_model, 1941s context=request_context, 1941s ) 1941s  1941s if http.status_code >= 300: 1941s error_info = parsed_response.get("Error", {}) 1941s error_code = request_context.get( 1941s 'error_code_override' 1941s ) or error_info.get("Code") 1941s error_class = self.exceptions.from_code(error_code) 1941s > raise error_class(parsed_response, operation_name) 1941s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1941s 1941s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1941s __________ test_event_source_mapping_update_from_cloudformation_json ___________ 1941s 1941s @mock_aws 1941s def test_event_source_mapping_update_from_cloudformation_json(): 1941s sqs = boto3.resource("sqs", region_name="us-east-1") 1941s s3 = boto3.client("s3", "us-east-1") 1941s cf = boto3.client("cloudformation", region_name="us-east-1") 1941s lmbda = boto3.client("lambda", region_name="us-east-1") 1941s  1941s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1941s  1941s # Creates lambda 1941s _, lambda_stack = create_stack(cf, s3) 1941s created_fn_name = get_created_function_name(cf, lambda_stack) 1941s  1941s original_template = event_source_mapping_template.substitute( 1941s { 1941s "resource_name": "Foo", 1941s "batch_size": 1, 1941s "event_source_arn": queue.attributes["QueueArn"], 1941s "function_name": created_fn_name, 1941s "enabled": True, 1941s } 1941s ) 1941s  1941s stack_name = random_stack_name() 1941s cf.create_stack(StackName=stack_name, TemplateBody=original_template) 1941s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1941s 1941s tests/test_awslambda/test_awslambda_cloudformation.py:253: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s self = 1941s operation_name = 'ListEventSourceMappings' 1941s api_params = {'FunctionName': '562400-LF3ABOV-K3YYG4ZOQN8V'} 1941s 1941s @with_current_context() 1941s def _make_api_call(self, operation_name, api_params): 1941s operation_model = self._service_model.operation_model(operation_name) 1941s service_name = self._service_model.service_name 1941s history_recorder.record( 1941s 'API_CALL', 1941s { 1941s 'service': service_name, 1941s 'operation': operation_name, 1941s 'params': api_params, 1941s }, 1941s ) 1941s if operation_model.deprecated: 1941s logger.debug( 1941s 'Warning: %s.%s() is deprecated', service_name, operation_name 1941s ) 1941s request_context = { 1941s 'client_region': self.meta.region_name, 1941s 'client_config': self.meta.config, 1941s 'has_streaming_input': operation_model.has_streaming_input, 1941s 'auth_type': operation_model.resolved_auth_type, 1941s 'unsigned_payload': operation_model.unsigned_payload, 1941s 'auth_options': self._service_model.metadata.get('auth'), 1941s } 1941s  1941s api_params = self._emit_api_params( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s context=request_context, 1941s ) 1941s ( 1941s endpoint_url, 1941s additional_headers, 1941s properties, 1941s ) = self._resolve_endpoint_ruleset( 1941s operation_model, api_params, request_context 1941s ) 1941s if properties: 1941s # Pass arbitrary endpoint info with the Request 1941s # for use during construction. 1941s request_context['endpoint_properties'] = properties 1941s request_dict = self._convert_to_request_dict( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s endpoint_url=endpoint_url, 1941s context=request_context, 1941s headers=additional_headers, 1941s ) 1941s resolve_checksum_context(request_dict, operation_model, api_params) 1941s  1941s service_id = self._service_model.service_id.hyphenize() 1941s handler, event_response = self.meta.events.emit_until_response( 1941s f'before-call.{service_id}.{operation_name}', 1941s model=operation_model, 1941s params=request_dict, 1941s request_signer=self._request_signer, 1941s context=request_context, 1941s ) 1941s  1941s if event_response is not None: 1941s http, parsed_response = event_response 1941s else: 1941s maybe_compress_request( 1941s self.meta.config, request_dict, operation_model 1941s ) 1941s apply_request_checksum(request_dict) 1941s http, parsed_response = self._make_request( 1941s operation_model, request_dict, request_context 1941s ) 1941s  1941s self.meta.events.emit( 1941s f'after-call.{service_id}.{operation_name}', 1941s http_response=http, 1941s parsed=parsed_response, 1941s model=operation_model, 1941s context=request_context, 1941s ) 1941s  1941s if http.status_code >= 300: 1941s error_info = parsed_response.get("Error", {}) 1941s error_code = request_context.get( 1941s 'error_code_override' 1941s ) or error_info.get("Code") 1941s error_class = self.exceptions.from_code(error_code) 1941s > raise error_class(parsed_response, operation_name) 1941s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1941s 1941s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1941s __________ test_event_source_mapping_delete_from_cloudformation_json ___________ 1941s 1941s @mock_aws 1941s def test_event_source_mapping_delete_from_cloudformation_json(): 1941s sqs = boto3.resource("sqs", region_name="us-east-1") 1941s s3 = boto3.client("s3", "us-east-1") 1941s cf = boto3.client("cloudformation", region_name="us-east-1") 1941s lmbda = boto3.client("lambda", region_name="us-east-1") 1941s  1941s queue = sqs.create_queue(QueueName=str(uuid4())[0:6]) 1941s  1941s # Creates lambda 1941s _, lambda_stack = create_stack(cf, s3) 1941s created_fn_name = get_created_function_name(cf, lambda_stack) 1941s  1941s original_template = event_source_mapping_template.substitute( 1941s { 1941s "resource_name": "Foo", 1941s "batch_size": 1, 1941s "event_source_arn": queue.attributes["QueueArn"], 1941s "function_name": created_fn_name, 1941s "enabled": True, 1941s } 1941s ) 1941s  1941s stack_name = random_stack_name() 1941s cf.create_stack(StackName=stack_name, TemplateBody=original_template) 1941s > event_sources = lmbda.list_event_source_mappings(FunctionName=created_fn_name) 1941s 1941s tests/test_awslambda/test_awslambda_cloudformation.py:303: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s self = 1941s operation_name = 'ListEventSourceMappings' 1941s api_params = {'FunctionName': '5d3e8e-LF3ABOV-PRM89YGEYDY7'} 1941s 1941s @with_current_context() 1941s def _make_api_call(self, operation_name, api_params): 1941s operation_model = self._service_model.operation_model(operation_name) 1941s service_name = self._service_model.service_name 1941s history_recorder.record( 1941s 'API_CALL', 1941s { 1941s 'service': service_name, 1941s 'operation': operation_name, 1941s 'params': api_params, 1941s }, 1941s ) 1941s if operation_model.deprecated: 1941s logger.debug( 1941s 'Warning: %s.%s() is deprecated', service_name, operation_name 1941s ) 1941s request_context = { 1941s 'client_region': self.meta.region_name, 1941s 'client_config': self.meta.config, 1941s 'has_streaming_input': operation_model.has_streaming_input, 1941s 'auth_type': operation_model.resolved_auth_type, 1941s 'unsigned_payload': operation_model.unsigned_payload, 1941s 'auth_options': self._service_model.metadata.get('auth'), 1941s } 1941s  1941s api_params = self._emit_api_params( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s context=request_context, 1941s ) 1941s ( 1941s endpoint_url, 1941s additional_headers, 1941s properties, 1941s ) = self._resolve_endpoint_ruleset( 1941s operation_model, api_params, request_context 1941s ) 1941s if properties: 1941s # Pass arbitrary endpoint info with the Request 1941s # for use during construction. 1941s request_context['endpoint_properties'] = properties 1941s request_dict = self._convert_to_request_dict( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s endpoint_url=endpoint_url, 1941s context=request_context, 1941s headers=additional_headers, 1941s ) 1941s resolve_checksum_context(request_dict, operation_model, api_params) 1941s  1941s service_id = self._service_model.service_id.hyphenize() 1941s handler, event_response = self.meta.events.emit_until_response( 1941s f'before-call.{service_id}.{operation_name}', 1941s model=operation_model, 1941s params=request_dict, 1941s request_signer=self._request_signer, 1941s context=request_context, 1941s ) 1941s  1941s if event_response is not None: 1941s http, parsed_response = event_response 1941s else: 1941s maybe_compress_request( 1941s self.meta.config, request_dict, operation_model 1941s ) 1941s apply_request_checksum(request_dict) 1941s http, parsed_response = self._make_request( 1941s operation_model, request_dict, request_context 1941s ) 1941s  1941s self.meta.events.emit( 1941s f'after-call.{service_id}.{operation_name}', 1941s http_response=http, 1941s parsed=parsed_response, 1941s model=operation_model, 1941s context=request_context, 1941s ) 1941s  1941s if http.status_code >= 300: 1941s error_info = parsed_response.get("Error", {}) 1941s error_code = request_context.get( 1941s 'error_code_override' 1941s ) or error_info.get("Code") 1941s error_class = self.exceptions.from_code(error_code) 1941s > raise error_class(parsed_response, operation_name) 1941s E botocore.exceptions.ClientError: An error occurred (404) when calling the ListEventSourceMappings operation: Not yet implemented 1941s 1941s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1941s _______________________ test_create_event_source_mapping _______________________ 1941s 1941s @mock_aws 1941s def test_create_event_source_mapping(): 1941s function_name = str(uuid.uuid4())[0:6] 1941s sqs = boto3.resource("sqs", region_name="us-east-1") 1941s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1941s  1941s conn = boto3.client("lambda", region_name="us-east-1") 1941s func = conn.create_function( 1941s FunctionName=function_name, 1941s Runtime=PYTHON_VERSION, 1941s Role=get_role_name(), 1941s Handler="lambda_function.lambda_handler", 1941s Code={"ZipFile": get_test_zip_file3()}, 1941s Description="test lambda function", 1941s Timeout=3, 1941s MemorySize=128, 1941s Publish=True, 1941s ) 1941s  1941s destination_config = { 1941s "OnSuccess": {"Destination": "s3"}, 1941s "OnFailure": {"Destination": "s4"}, 1941s } 1941s doc_db_config = { 1941s "DatabaseName": "db", 1941s "CollectionName": "cn", 1941s "FullDocument": "UpdateLookup", 1941s } 1941s > response = conn.create_event_source_mapping( 1941s EventSourceArn=queue.attributes["QueueArn"], 1941s FunctionName=func["FunctionArn"], 1941s BatchSize=1, 1941s FilterCriteria={ 1941s "Filters": [{"Pattern": r"asdf"}], 1941s }, 1941s MaximumBatchingWindowInSeconds=5, 1941s ParallelizationFactor=4, 1941s StartingPosition="AT_TIMESTAMP", 1941s DestinationConfig=destination_config, 1941s MaximumRecordAgeInSeconds=59, 1941s BisectBatchOnFunctionError=True, 1941s MaximumRetryAttempts=9000, 1941s Tags={"k1": "v1"}, 1941s TumblingWindowInSeconds=100, 1941s Topics=["t1", "T2"], 1941s Queues=["q1", "q2"], 1941s SourceAccessConfigurations=[ 1941s {"Type": "BASIC_AUTH", "URI": "http://auth.endpoint"}, 1941s ], 1941s SelfManagedEventSource={ 1941s "Endpoints": { 1941s "key": ["v1"], 1941s }, 1941s }, 1941s FunctionResponseTypes=["ReportBatchItemFailures"], 1941s AmazonManagedKafkaEventSourceConfig={"ConsumerGroupId": "cgid"}, 1941s SelfManagedKafkaEventSourceConfig={"ConsumerGroupId": "cgid2"}, 1941s ScalingConfig={"MaximumConcurrency": 100}, 1941s DocumentDBEventSourceConfig=doc_db_config, 1941s KMSKeyArn="arn:kms:key", 1941s MetricsConfig={"Metrics": ["EventCount"]}, 1941s ProvisionedPollerConfig={"MinimumPollers": 12, "MaximumPollers": 13}, 1941s ) 1941s 1941s tests/test_awslambda/test_lambda_eventsourcemapping.py:51: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s self = 1941s operation_name = 'CreateEventSourceMapping' 1941s api_params = {'AmazonManagedKafkaEventSourceConfig': {'ConsumerGroupId': 'cgid'}, 'BatchSize': 1, 'BisectBatchOnFunctionError': True, 'DestinationConfig': {'OnFailure': {'Destination': 's4'}, 'OnSuccess': {'Destination': 's3'}}, ...} 1941s 1941s @with_current_context() 1941s def _make_api_call(self, operation_name, api_params): 1941s operation_model = self._service_model.operation_model(operation_name) 1941s service_name = self._service_model.service_name 1941s history_recorder.record( 1941s 'API_CALL', 1941s { 1941s 'service': service_name, 1941s 'operation': operation_name, 1941s 'params': api_params, 1941s }, 1941s ) 1941s if operation_model.deprecated: 1941s logger.debug( 1941s 'Warning: %s.%s() is deprecated', service_name, operation_name 1941s ) 1941s request_context = { 1941s 'client_region': self.meta.region_name, 1941s 'client_config': self.meta.config, 1941s 'has_streaming_input': operation_model.has_streaming_input, 1941s 'auth_type': operation_model.resolved_auth_type, 1941s 'unsigned_payload': operation_model.unsigned_payload, 1941s 'auth_options': self._service_model.metadata.get('auth'), 1941s } 1941s  1941s api_params = self._emit_api_params( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s context=request_context, 1941s ) 1941s ( 1941s endpoint_url, 1941s additional_headers, 1941s properties, 1941s ) = self._resolve_endpoint_ruleset( 1941s operation_model, api_params, request_context 1941s ) 1941s if properties: 1941s # Pass arbitrary endpoint info with the Request 1941s # for use during construction. 1941s request_context['endpoint_properties'] = properties 1941s request_dict = self._convert_to_request_dict( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s endpoint_url=endpoint_url, 1941s context=request_context, 1941s headers=additional_headers, 1941s ) 1941s resolve_checksum_context(request_dict, operation_model, api_params) 1941s  1941s service_id = self._service_model.service_id.hyphenize() 1941s handler, event_response = self.meta.events.emit_until_response( 1941s f'before-call.{service_id}.{operation_name}', 1941s model=operation_model, 1941s params=request_dict, 1941s request_signer=self._request_signer, 1941s context=request_context, 1941s ) 1941s  1941s if event_response is not None: 1941s http, parsed_response = event_response 1941s else: 1941s maybe_compress_request( 1941s self.meta.config, request_dict, operation_model 1941s ) 1941s apply_request_checksum(request_dict) 1941s http, parsed_response = self._make_request( 1941s operation_model, request_dict, request_context 1941s ) 1941s  1941s self.meta.events.emit( 1941s f'after-call.{service_id}.{operation_name}', 1941s http_response=http, 1941s parsed=parsed_response, 1941s model=operation_model, 1941s context=request_context, 1941s ) 1941s  1941s if http.status_code >= 300: 1941s error_info = parsed_response.get("Error", {}) 1941s error_code = request_context.get( 1941s 'error_code_override' 1941s ) or error_info.get("Code") 1941s error_class = self.exceptions.from_code(error_code) 1941s > raise error_class(parsed_response, operation_name) 1941s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1941s 1941s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1941s _______________________ test_list_event_source_mappings ________________________ 1941s 1941s @mock_aws 1941s def test_list_event_source_mappings(): 1941s function_name = str(uuid.uuid4())[0:6] 1941s sqs = boto3.resource("sqs", region_name="us-east-1") 1941s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1941s  1941s conn = boto3.client("lambda", region_name="us-east-1") 1941s func = conn.create_function( 1941s FunctionName=function_name, 1941s Runtime=PYTHON_VERSION, 1941s Role=get_role_name(), 1941s Handler="lambda_function.lambda_handler", 1941s Code={"ZipFile": get_test_zip_file3()}, 1941s Description="test lambda function", 1941s Timeout=3, 1941s MemorySize=128, 1941s Publish=True, 1941s ) 1941s > response = conn.create_event_source_mapping( 1941s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func["FunctionArn"] 1941s ) 1941s 1941s tests/test_awslambda/test_lambda_eventsourcemapping.py:473: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s self = 1941s operation_name = 'CreateEventSourceMapping' 1941s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:73a305_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:73a305'} 1941s 1941s @with_current_context() 1941s def _make_api_call(self, operation_name, api_params): 1941s operation_model = self._service_model.operation_model(operation_name) 1941s service_name = self._service_model.service_name 1941s history_recorder.record( 1941s 'API_CALL', 1941s { 1941s 'service': service_name, 1941s 'operation': operation_name, 1941s 'params': api_params, 1941s }, 1941s ) 1941s if operation_model.deprecated: 1941s logger.debug( 1941s 'Warning: %s.%s() is deprecated', service_name, operation_name 1941s ) 1941s request_context = { 1941s 'client_region': self.meta.region_name, 1941s 'client_config': self.meta.config, 1941s 'has_streaming_input': operation_model.has_streaming_input, 1941s 'auth_type': operation_model.resolved_auth_type, 1941s 'unsigned_payload': operation_model.unsigned_payload, 1941s 'auth_options': self._service_model.metadata.get('auth'), 1941s } 1941s  1941s api_params = self._emit_api_params( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s context=request_context, 1941s ) 1941s ( 1941s endpoint_url, 1941s additional_headers, 1941s properties, 1941s ) = self._resolve_endpoint_ruleset( 1941s operation_model, api_params, request_context 1941s ) 1941s if properties: 1941s # Pass arbitrary endpoint info with the Request 1941s # for use during construction. 1941s request_context['endpoint_properties'] = properties 1941s request_dict = self._convert_to_request_dict( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s endpoint_url=endpoint_url, 1941s context=request_context, 1941s headers=additional_headers, 1941s ) 1941s resolve_checksum_context(request_dict, operation_model, api_params) 1941s  1941s service_id = self._service_model.service_id.hyphenize() 1941s handler, event_response = self.meta.events.emit_until_response( 1941s f'before-call.{service_id}.{operation_name}', 1941s model=operation_model, 1941s params=request_dict, 1941s request_signer=self._request_signer, 1941s context=request_context, 1941s ) 1941s  1941s if event_response is not None: 1941s http, parsed_response = event_response 1941s else: 1941s maybe_compress_request( 1941s self.meta.config, request_dict, operation_model 1941s ) 1941s apply_request_checksum(request_dict) 1941s http, parsed_response = self._make_request( 1941s operation_model, request_dict, request_context 1941s ) 1941s  1941s self.meta.events.emit( 1941s f'after-call.{service_id}.{operation_name}', 1941s http_response=http, 1941s parsed=parsed_response, 1941s model=operation_model, 1941s context=request_context, 1941s ) 1941s  1941s if http.status_code >= 300: 1941s error_info = parsed_response.get("Error", {}) 1941s error_code = request_context.get( 1941s 'error_code_override' 1941s ) or error_info.get("Code") 1941s error_class = self.exceptions.from_code(error_code) 1941s > raise error_class(parsed_response, operation_name) 1941s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1941s 1941s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1941s ________________________ test_get_event_source_mapping _________________________ 1941s 1941s @mock_aws 1941s def test_get_event_source_mapping(): 1941s function_name = str(uuid.uuid4())[0:6] 1941s sqs = boto3.resource("sqs", region_name="us-east-1") 1941s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1941s  1941s conn = boto3.client("lambda", region_name="us-east-1") 1941s func = conn.create_function( 1941s FunctionName=function_name, 1941s Runtime=PYTHON_VERSION, 1941s Role=get_role_name(), 1941s Handler="lambda_function.lambda_handler", 1941s Code={"ZipFile": get_test_zip_file3()}, 1941s Description="test lambda function", 1941s Timeout=3, 1941s MemorySize=128, 1941s Publish=True, 1941s ) 1941s > response = conn.create_event_source_mapping( 1941s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func["FunctionArn"] 1941s ) 1941s 1941s tests/test_awslambda/test_lambda_eventsourcemapping.py:505: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s self = 1941s operation_name = 'CreateEventSourceMapping' 1941s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:0d515f_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:0d515f'} 1941s 1941s @with_current_context() 1941s def _make_api_call(self, operation_name, api_params): 1941s operation_model = self._service_model.operation_model(operation_name) 1941s service_name = self._service_model.service_name 1941s history_recorder.record( 1941s 'API_CALL', 1941s { 1941s 'service': service_name, 1941s 'operation': operation_name, 1941s 'params': api_params, 1941s }, 1941s ) 1941s if operation_model.deprecated: 1941s logger.debug( 1941s 'Warning: %s.%s() is deprecated', service_name, operation_name 1941s ) 1941s request_context = { 1941s 'client_region': self.meta.region_name, 1941s 'client_config': self.meta.config, 1941s 'has_streaming_input': operation_model.has_streaming_input, 1941s 'auth_type': operation_model.resolved_auth_type, 1941s 'unsigned_payload': operation_model.unsigned_payload, 1941s 'auth_options': self._service_model.metadata.get('auth'), 1941s } 1941s  1941s api_params = self._emit_api_params( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s context=request_context, 1941s ) 1941s ( 1941s endpoint_url, 1941s additional_headers, 1941s properties, 1941s ) = self._resolve_endpoint_ruleset( 1941s operation_model, api_params, request_context 1941s ) 1941s if properties: 1941s # Pass arbitrary endpoint info with the Request 1941s # for use during construction. 1941s request_context['endpoint_properties'] = properties 1941s request_dict = self._convert_to_request_dict( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s endpoint_url=endpoint_url, 1941s context=request_context, 1941s headers=additional_headers, 1941s ) 1941s resolve_checksum_context(request_dict, operation_model, api_params) 1941s  1941s service_id = self._service_model.service_id.hyphenize() 1941s handler, event_response = self.meta.events.emit_until_response( 1941s f'before-call.{service_id}.{operation_name}', 1941s model=operation_model, 1941s params=request_dict, 1941s request_signer=self._request_signer, 1941s context=request_context, 1941s ) 1941s  1941s if event_response is not None: 1941s http, parsed_response = event_response 1941s else: 1941s maybe_compress_request( 1941s self.meta.config, request_dict, operation_model 1941s ) 1941s apply_request_checksum(request_dict) 1941s http, parsed_response = self._make_request( 1941s operation_model, request_dict, request_context 1941s ) 1941s  1941s self.meta.events.emit( 1941s f'after-call.{service_id}.{operation_name}', 1941s http_response=http, 1941s parsed=parsed_response, 1941s model=operation_model, 1941s context=request_context, 1941s ) 1941s  1941s if http.status_code >= 300: 1941s error_info = parsed_response.get("Error", {}) 1941s error_code = request_context.get( 1941s 'error_code_override' 1941s ) or error_info.get("Code") 1941s error_class = self.exceptions.from_code(error_code) 1941s > raise error_class(parsed_response, operation_name) 1941s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1941s 1941s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1941s _______________________ test_update_event_source_mapping _______________________ 1941s 1941s @mock_aws 1941s def test_update_event_source_mapping(): 1941s function_name = str(uuid.uuid4())[0:6] 1941s sqs = boto3.resource("sqs", region_name="us-east-1") 1941s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1941s  1941s conn = boto3.client("lambda", region_name="us-east-1") 1941s func1 = conn.create_function( 1941s FunctionName=function_name, 1941s Runtime=PYTHON_VERSION, 1941s Role=get_role_name(), 1941s Handler="lambda_function.lambda_handler", 1941s Code={"ZipFile": get_test_zip_file3()}, 1941s Description="test lambda function", 1941s Timeout=3, 1941s MemorySize=128, 1941s Publish=True, 1941s ) 1941s func2 = conn.create_function( 1941s FunctionName="testFunction2", 1941s Runtime=PYTHON_VERSION, 1941s Role=get_role_name(), 1941s Handler="lambda_function.lambda_handler", 1941s Code={"ZipFile": get_test_zip_file3()}, 1941s Description="test lambda function", 1941s Timeout=3, 1941s MemorySize=128, 1941s Publish=True, 1941s ) 1941s > response = conn.create_event_source_mapping( 1941s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func1["FunctionArn"] 1941s ) 1941s 1941s tests/test_awslambda/test_lambda_eventsourcemapping.py:548: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s self = 1941s operation_name = 'CreateEventSourceMapping' 1941s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:4ced9f_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:4ced9f'} 1941s 1941s @with_current_context() 1941s def _make_api_call(self, operation_name, api_params): 1941s operation_model = self._service_model.operation_model(operation_name) 1941s service_name = self._service_model.service_name 1941s history_recorder.record( 1941s 'API_CALL', 1941s { 1941s 'service': service_name, 1941s 'operation': operation_name, 1941s 'params': api_params, 1941s }, 1941s ) 1941s if operation_model.deprecated: 1941s logger.debug( 1941s 'Warning: %s.%s() is deprecated', service_name, operation_name 1941s ) 1941s request_context = { 1941s 'client_region': self.meta.region_name, 1941s 'client_config': self.meta.config, 1941s 'has_streaming_input': operation_model.has_streaming_input, 1941s 'auth_type': operation_model.resolved_auth_type, 1941s 'unsigned_payload': operation_model.unsigned_payload, 1941s 'auth_options': self._service_model.metadata.get('auth'), 1941s } 1941s  1941s api_params = self._emit_api_params( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s context=request_context, 1941s ) 1941s ( 1941s endpoint_url, 1941s additional_headers, 1941s properties, 1941s ) = self._resolve_endpoint_ruleset( 1941s operation_model, api_params, request_context 1941s ) 1941s if properties: 1941s # Pass arbitrary endpoint info with the Request 1941s # for use during construction. 1941s request_context['endpoint_properties'] = properties 1941s request_dict = self._convert_to_request_dict( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s endpoint_url=endpoint_url, 1941s context=request_context, 1941s headers=additional_headers, 1941s ) 1941s resolve_checksum_context(request_dict, operation_model, api_params) 1941s  1941s service_id = self._service_model.service_id.hyphenize() 1941s handler, event_response = self.meta.events.emit_until_response( 1941s f'before-call.{service_id}.{operation_name}', 1941s model=operation_model, 1941s params=request_dict, 1941s request_signer=self._request_signer, 1941s context=request_context, 1941s ) 1941s  1941s if event_response is not None: 1941s http, parsed_response = event_response 1941s else: 1941s maybe_compress_request( 1941s self.meta.config, request_dict, operation_model 1941s ) 1941s apply_request_checksum(request_dict) 1941s http, parsed_response = self._make_request( 1941s operation_model, request_dict, request_context 1941s ) 1941s  1941s self.meta.events.emit( 1941s f'after-call.{service_id}.{operation_name}', 1941s http_response=http, 1941s parsed=parsed_response, 1941s model=operation_model, 1941s context=request_context, 1941s ) 1941s  1941s if http.status_code >= 300: 1941s error_info = parsed_response.get("Error", {}) 1941s error_code = request_context.get( 1941s 'error_code_override' 1941s ) or error_info.get("Code") 1941s error_class = self.exceptions.from_code(error_code) 1941s > raise error_class(parsed_response, operation_name) 1941s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1941s 1941s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1941s _______________________ test_delete_event_source_mapping _______________________ 1941s 1941s @mock_aws 1941s def test_delete_event_source_mapping(): 1941s function_name = str(uuid.uuid4())[0:6] 1941s sqs = boto3.resource("sqs", region_name="us-east-1") 1941s queue = sqs.create_queue(QueueName=f"{function_name}_queue") 1941s  1941s conn = boto3.client("lambda", region_name="us-east-1") 1941s func1 = conn.create_function( 1941s FunctionName=function_name, 1941s Runtime=PYTHON_VERSION, 1941s Role=get_role_name(), 1941s Handler="lambda_function.lambda_handler", 1941s Code={"ZipFile": get_test_zip_file3()}, 1941s Description="test lambda function", 1941s Timeout=3, 1941s MemorySize=128, 1941s Publish=True, 1941s ) 1941s > response = conn.create_event_source_mapping( 1941s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func1["FunctionArn"] 1941s ) 1941s 1941s tests/test_awslambda/test_lambda_eventsourcemapping.py:635: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s self = 1941s operation_name = 'CreateEventSourceMapping' 1941s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:114fc8_queue', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:114fc8'} 1941s 1941s @with_current_context() 1941s def _make_api_call(self, operation_name, api_params): 1941s operation_model = self._service_model.operation_model(operation_name) 1941s service_name = self._service_model.service_name 1941s history_recorder.record( 1941s 'API_CALL', 1941s { 1941s 'service': service_name, 1941s 'operation': operation_name, 1941s 'params': api_params, 1941s }, 1941s ) 1941s if operation_model.deprecated: 1941s logger.debug( 1941s 'Warning: %s.%s() is deprecated', service_name, operation_name 1941s ) 1941s request_context = { 1941s 'client_region': self.meta.region_name, 1941s 'client_config': self.meta.config, 1941s 'has_streaming_input': operation_model.has_streaming_input, 1941s 'auth_type': operation_model.resolved_auth_type, 1941s 'unsigned_payload': operation_model.unsigned_payload, 1941s 'auth_options': self._service_model.metadata.get('auth'), 1941s } 1941s  1941s api_params = self._emit_api_params( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s context=request_context, 1941s ) 1941s ( 1941s endpoint_url, 1941s additional_headers, 1941s properties, 1941s ) = self._resolve_endpoint_ruleset( 1941s operation_model, api_params, request_context 1941s ) 1941s if properties: 1941s # Pass arbitrary endpoint info with the Request 1941s # for use during construction. 1941s request_context['endpoint_properties'] = properties 1941s request_dict = self._convert_to_request_dict( 1941s api_params=api_params, 1941s operation_model=operation_model, 1941s endpoint_url=endpoint_url, 1941s context=request_context, 1941s headers=additional_headers, 1941s ) 1941s resolve_checksum_context(request_dict, operation_model, api_params) 1941s  1941s service_id = self._service_model.service_id.hyphenize() 1941s handler, event_response = self.meta.events.emit_until_response( 1941s f'before-call.{service_id}.{operation_name}', 1941s model=operation_model, 1941s params=request_dict, 1941s request_signer=self._request_signer, 1941s context=request_context, 1941s ) 1941s  1941s if event_response is not None: 1941s http, parsed_response = event_response 1941s else: 1941s maybe_compress_request( 1941s self.meta.config, request_dict, operation_model 1941s ) 1941s apply_request_checksum(request_dict) 1941s http, parsed_response = self._make_request( 1941s operation_model, request_dict, request_context 1941s ) 1941s  1941s self.meta.events.emit( 1941s f'after-call.{service_id}.{operation_name}', 1941s http_response=http, 1941s parsed=parsed_response, 1941s model=operation_model, 1941s context=request_context, 1941s ) 1941s  1941s if http.status_code >= 300: 1941s error_info = parsed_response.get("Error", {}) 1941s error_code = request_context.get( 1941s 'error_code_override' 1941s ) or error_info.get("Code") 1941s error_class = self.exceptions.from_code(error_code) 1941s > raise error_class(parsed_response, operation_name) 1941s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1941s 1941s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1941s _________________________ test_describe_flow_succeeds __________________________ 1941s 1941s @mock_aws 1941s def test_describe_flow_succeeds(): 1941s client = boto3.client("mediaconnect", region_name=region) 1941s channel_config = _create_flow_config("test-Flow-1") 1941s  1941s create_response = client.create_flow(**channel_config) 1941s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1941s flow_arn = create_response["Flow"]["FlowArn"] 1941s > describe_response = client.describe_flow(FlowArn=flow_arn) 1941s 1941s tests/test_mediaconnect/test_mediaconnect.py:157: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1941s http, parsed_response = self._make_request( 1941s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1941s return self._endpoint.make_request(operation_model, request_dict) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1941s return self._send_request(request_dict, operation_model) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1941s while self._needs_retry( 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1941s responses = self._event_emitter.emit( 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1941s if self._checker(**checker_kwargs): 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1941s should_retry = self._should_retry( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1941s return self._checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1941s checker_response = checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1941s return self._check_caught_exception( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1941s raise caught_exception 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1941s responses = self._event_emitter.emit(event_name, request=request) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1941s response = self.process_request(request) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1941s status, headers, body = method_to_execute( 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1941s return cls()._dispatch(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1941s return self.call_action() 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1941s response = method() 1941s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1941s flow_arn = unquote(self._get_param("flowArn")) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s string = None, encoding = 'utf-8', errors = 'replace' 1941s 1941s def unquote(string, encoding='utf-8', errors='replace'): 1941s  """Replace %xx escapes by their single-character equivalent. The optional 1941s  encoding and errors parameters specify how to decode percent-encoded 1941s  sequences into Unicode characters, as accepted by the bytes.decode() 1941s  method. 1941s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1941s  sequences are replaced by a placeholder character. 1941s  1941s  unquote('abc%20def') -> 'abc def'. 1941s  """ 1941s if isinstance(string, bytes): 1941s return _unquote_impl(string).decode(encoding, errors) 1941s > if '%' not in string: 1941s E TypeError: argument of type 'NoneType' is not iterable 1941s 1941s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1941s __________________________ test_delete_flow_succeeds ___________________________ 1941s 1941s @mock_aws 1941s def test_delete_flow_succeeds(): 1941s client = boto3.client("mediaconnect", region_name=region) 1941s channel_config = _create_flow_config("test-Flow-1") 1941s  1941s create_response = client.create_flow(**channel_config) 1941s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1941s flow_arn = create_response["Flow"]["FlowArn"] 1941s > delete_response = client.delete_flow(FlowArn=flow_arn) 1941s 1941s tests/test_mediaconnect/test_mediaconnect.py:170: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1941s http, parsed_response = self._make_request( 1941s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1941s return self._endpoint.make_request(operation_model, request_dict) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1941s return self._send_request(request_dict, operation_model) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1941s while self._needs_retry( 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1941s responses = self._event_emitter.emit( 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1941s if self._checker(**checker_kwargs): 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1941s should_retry = self._should_retry( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1941s return self._checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1941s checker_response = checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1941s return self._check_caught_exception( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1941s raise caught_exception 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1941s responses = self._event_emitter.emit(event_name, request=request) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1941s response = self.process_request(request) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1941s status, headers, body = method_to_execute( 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1941s return cls()._dispatch(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1941s return self.call_action() 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1941s response = method() 1941s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:49: in delete_flow 1941s flow_arn = unquote(self._get_param("flowArn")) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s string = None, encoding = 'utf-8', errors = 'replace' 1941s 1941s def unquote(string, encoding='utf-8', errors='replace'): 1941s  """Replace %xx escapes by their single-character equivalent. The optional 1941s  encoding and errors parameters specify how to decode percent-encoded 1941s  sequences into Unicode characters, as accepted by the bytes.decode() 1941s  method. 1941s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1941s  sequences are replaced by a placeholder character. 1941s  1941s  unquote('abc%20def') -> 'abc def'. 1941s  """ 1941s if isinstance(string, bytes): 1941s return _unquote_impl(string).decode(encoding, errors) 1941s > if '%' not in string: 1941s E TypeError: argument of type 'NoneType' is not iterable 1941s 1941s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1941s ________________________ test_start_stop_flow_succeeds _________________________ 1941s 1941s @mock_aws 1941s def test_start_stop_flow_succeeds(): 1941s client = boto3.client("mediaconnect", region_name=region) 1941s channel_config = _create_flow_config("test-Flow-1") 1941s  1941s create_response = client.create_flow(**channel_config) 1941s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1941s assert create_response["Flow"]["Status"] == "STANDBY" 1941s flow_arn = create_response["Flow"]["FlowArn"] 1941s  1941s > start_response = client.start_flow(FlowArn=flow_arn) 1941s 1941s tests/test_mediaconnect/test_mediaconnect.py:186: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1941s http, parsed_response = self._make_request( 1941s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1941s return self._endpoint.make_request(operation_model, request_dict) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1941s return self._send_request(request_dict, operation_model) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1941s while self._needs_retry( 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1941s responses = self._event_emitter.emit( 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1941s if self._checker(**checker_kwargs): 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1941s should_retry = self._should_retry( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1941s return self._checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1941s checker_response = checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1941s return self._check_caught_exception( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1941s raise caught_exception 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1941s responses = self._event_emitter.emit(event_name, request=request) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1941s response = self.process_request(request) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1941s status, headers, body = method_to_execute( 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1941s return cls()._dispatch(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1941s return self.call_action() 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1941s response = method() 1941s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:54: in start_flow 1941s flow_arn = unquote(self._get_param("flowArn")) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s string = None, encoding = 'utf-8', errors = 'replace' 1941s 1941s def unquote(string, encoding='utf-8', errors='replace'): 1941s  """Replace %xx escapes by their single-character equivalent. The optional 1941s  encoding and errors parameters specify how to decode percent-encoded 1941s  sequences into Unicode characters, as accepted by the bytes.decode() 1941s  method. 1941s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1941s  sequences are replaced by a placeholder character. 1941s  1941s  unquote('abc%20def') -> 'abc def'. 1941s  """ 1941s if isinstance(string, bytes): 1941s return _unquote_impl(string).decode(encoding, errors) 1941s > if '%' not in string: 1941s E TypeError: argument of type 'NoneType' is not iterable 1941s 1941s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1941s ______________________________ test_unknown_flow _______________________________ 1941s 1941s @mock_aws 1941s def test_unknown_flow(): 1941s client = boto3.client("mediaconnect", region_name=region) 1941s  1941s with pytest.raises(ClientError) as exc: 1941s > client.describe_flow(FlowArn="unknown") 1941s 1941s tests/test_mediaconnect/test_mediaconnect.py:210: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1941s http, parsed_response = self._make_request( 1941s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1941s return self._endpoint.make_request(operation_model, request_dict) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1941s return self._send_request(request_dict, operation_model) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1941s while self._needs_retry( 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1941s responses = self._event_emitter.emit( 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1941s if self._checker(**checker_kwargs): 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1941s should_retry = self._should_retry( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1941s return self._checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1941s checker_response = checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1941s return self._check_caught_exception( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1941s raise caught_exception 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1941s responses = self._event_emitter.emit(event_name, request=request) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1941s response = self.process_request(request) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1941s status, headers, body = method_to_execute( 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1941s return cls()._dispatch(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1941s return self.call_action() 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1941s response = method() 1941s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1941s flow_arn = unquote(self._get_param("flowArn")) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s string = None, encoding = 'utf-8', errors = 'replace' 1941s 1941s def unquote(string, encoding='utf-8', errors='replace'): 1941s  """Replace %xx escapes by their single-character equivalent. The optional 1941s  encoding and errors parameters specify how to decode percent-encoded 1941s  sequences into Unicode characters, as accepted by the bytes.decode() 1941s  method. 1941s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1941s  sequences are replaced by a placeholder character. 1941s  1941s  unquote('abc%20def') -> 'abc def'. 1941s  """ 1941s if isinstance(string, bytes): 1941s return _unquote_impl(string).decode(encoding, errors) 1941s > if '%' not in string: 1941s E TypeError: argument of type 'NoneType' is not iterable 1941s 1941s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1941s __________________________ test_tag_resource_succeeds __________________________ 1941s 1941s @mock_aws 1941s def test_tag_resource_succeeds(): 1941s client = boto3.client("mediaconnect", region_name=region) 1941s  1941s > tag_response = client.tag_resource(ResourceArn="some-arn", Tags={"Tag1": "Value1"}) 1941s 1941s tests/test_mediaconnect/test_mediaconnect.py:234: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1941s http, parsed_response = self._make_request( 1941s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1941s return self._endpoint.make_request(operation_model, request_dict) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1941s return self._send_request(request_dict, operation_model) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1941s while self._needs_retry( 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1941s responses = self._event_emitter.emit( 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1941s if self._checker(**checker_kwargs): 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1941s should_retry = self._should_retry( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1941s return self._checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1941s checker_response = checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1941s return self._check_caught_exception( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1941s raise caught_exception 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1941s responses = self._event_emitter.emit(event_name, request=request) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1941s response = self.process_request(request) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1941s status, headers, body = method_to_execute( 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1941s return cls()._dispatch(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1941s return self.call_action() 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1941s response = method() 1941s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:64: in tag_resource 1941s resource_arn = unquote(self._get_param("resourceArn")) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s string = None, encoding = 'utf-8', errors = 'replace' 1941s 1941s def unquote(string, encoding='utf-8', errors='replace'): 1941s  """Replace %xx escapes by their single-character equivalent. The optional 1941s  encoding and errors parameters specify how to decode percent-encoded 1941s  sequences into Unicode characters, as accepted by the bytes.decode() 1941s  method. 1941s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1941s  sequences are replaced by a placeholder character. 1941s  1941s  unquote('abc%20def') -> 'abc def'. 1941s  """ 1941s if isinstance(string, bytes): 1941s return _unquote_impl(string).decode(encoding, errors) 1941s > if '%' not in string: 1941s E TypeError: argument of type 'NoneType' is not iterable 1941s 1941s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1941s ____________________ test_add_flow_vpc_interfaces_succeeds _____________________ 1941s 1941s @mock_aws 1941s def test_add_flow_vpc_interfaces_succeeds(): 1941s client = boto3.client("mediaconnect", region_name=region) 1941s channel_config = _create_flow_config("test-Flow-1") 1941s  1941s create_response = client.create_flow(**channel_config) 1941s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1941s assert create_response["Flow"]["Status"] == "STANDBY" 1941s flow_arn = create_response["Flow"]["FlowArn"] 1941s  1941s > client.add_flow_vpc_interfaces( 1941s FlowArn=flow_arn, 1941s VpcInterfaces=[ 1941s { 1941s "Name": "VPCInterface", 1941s "SubnetId": "", 1941s "SecurityGroupIds": [], 1941s "RoleArn": "", 1941s } 1941s ], 1941s ) 1941s 1941s tests/test_mediaconnect/test_mediaconnect.py:252: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1941s http, parsed_response = self._make_request( 1941s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1941s return self._endpoint.make_request(operation_model, request_dict) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1941s return self._send_request(request_dict, operation_model) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1941s while self._needs_retry( 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1941s responses = self._event_emitter.emit( 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1941s if self._checker(**checker_kwargs): 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1941s should_retry = self._should_retry( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1941s return self._checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1941s checker_response = checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1941s return self._check_caught_exception( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1941s raise caught_exception 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1941s responses = self._event_emitter.emit(event_name, request=request) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1941s response = self.process_request(request) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1941s status, headers, body = method_to_execute( 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1941s return cls()._dispatch(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1941s return self.call_action() 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1941s response = method() 1941s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:75: in add_flow_vpc_interfaces 1941s flow_arn = unquote(self._get_param("flowArn")) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s string = None, encoding = 'utf-8', errors = 'replace' 1941s 1941s def unquote(string, encoding='utf-8', errors='replace'): 1941s  """Replace %xx escapes by their single-character equivalent. The optional 1941s  encoding and errors parameters specify how to decode percent-encoded 1941s  sequences into Unicode characters, as accepted by the bytes.decode() 1941s  method. 1941s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1941s  sequences are replaced by a placeholder character. 1941s  1941s  unquote('abc%20def') -> 'abc def'. 1941s  """ 1941s if isinstance(string, bytes): 1941s return _unquote_impl(string).decode(encoding, errors) 1941s > if '%' not in string: 1941s E TypeError: argument of type 'NoneType' is not iterable 1941s 1941s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1941s ______________________ test_add_flow_vpc_interfaces_fails ______________________ 1941s 1941s @mock_aws 1941s def test_add_flow_vpc_interfaces_fails(): 1941s client = boto3.client("mediaconnect", region_name=region) 1941s flow_arn = "unknown-flow" 1941s with pytest.raises(ClientError) as err: 1941s > client.add_flow_vpc_interfaces(FlowArn=flow_arn, VpcInterfaces=[]) 1941s 1941s tests/test_mediaconnect/test_mediaconnect.py:281: 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1941s return self._make_api_call(operation_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1941s return func(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1941s http, parsed_response = self._make_request( 1941s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1941s return self._endpoint.make_request(operation_model, request_dict) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1941s return self._send_request(request_dict, operation_model) 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1941s while self._needs_retry( 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1941s responses = self._event_emitter.emit( 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1941s if self._checker(**checker_kwargs): 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1941s should_retry = self._should_retry( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1941s return self._checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1941s checker_response = checker( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1941s return self._check_caught_exception( 1941s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1941s raise caught_exception 1941s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1941s responses = self._event_emitter.emit(event_name, request=request) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1941s return self._emitter.emit(aliased_event_name, **kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1941s return self._emit(event_name, kwargs) 1941s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1941s response = handler(**kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1941s response = self.process_request(request) 1941s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1941s status, headers, body = method_to_execute( 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1941s return cls()._dispatch(*args, **kwargs) 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1941s return self.call_action() 1941s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1941s response = method() 1941s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:75: in add_flow_vpc_interfaces 1941s flow_arn = unquote(self._get_param("flowArn")) 1941s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1941s 1941s string = None, encoding = 'utf-8', errors = 'replace' 1941s 1941s def unquote(string, encoding='utf-8', errors='replace'): 1941s  """Replace %xx escapes by their single-character equivalent. The optional 1941s  encoding and errors parameters specify how to decode percent-encoded 1941s  sequences into Unicode characters, as accepted by the bytes.decode() 1941s  method. 1941s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1941s  sequences are replaced by a placeholder character. 1941s  1941s  unquote('abc%20def') -> 'abc def'. 1941s  """ 1941s if isinstance(string, bytes): 1941s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s ___________________ test_remove_flow_vpc_interface_succeeds ____________________ 1942s 1942s @mock_aws 1942s def test_remove_flow_vpc_interface_succeeds(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s channel_config = _create_flow_config("test-Flow-1") 1942s  1942s create_response = client.create_flow(**channel_config) 1942s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1942s assert create_response["Flow"]["Status"] == "STANDBY" 1942s flow_arn = create_response["Flow"]["FlowArn"] 1942s  1942s > client.add_flow_vpc_interfaces( 1942s FlowArn=flow_arn, 1942s VpcInterfaces=[ 1942s { 1942s "Name": "VPCInterface", 1942s "SubnetId": "", 1942s "SecurityGroupIds": [], 1942s "RoleArn": "", 1942s } 1942s ], 1942s ) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:297: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:75: in add_flow_vpc_interfaces 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s _____________________ test_remove_flow_vpc_interface_fails _____________________ 1942s 1942s @mock_aws 1942s def test_remove_flow_vpc_interface_fails(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s flow_arn = "unknown-flow" 1942s with pytest.raises(ClientError) as err: 1942s > client.remove_flow_vpc_interface( 1942s FlowArn=flow_arn, VpcInterfaceName="VPCInterface" 1942s ) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:324: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:85: in remove_flow_vpc_interface 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s ________________________ test_add_flow_outputs_succeeds ________________________ 1942s 1942s @mock_aws 1942s def test_add_flow_outputs_succeeds(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s channel_config = _create_flow_config("test-Flow-1") 1942s  1942s create_response = client.create_flow(**channel_config) 1942s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1942s assert create_response["Flow"]["Status"] == "STANDBY" 1942s flow_arn = create_response["Flow"]["FlowArn"] 1942s  1942s > client.add_flow_outputs( 1942s FlowArn=flow_arn, 1942s Outputs=[ 1942s {"Description": "string", "Name": "string", "Port": 123, "Protocol": "rist"} 1942s ], 1942s ) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:342: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:95: in add_flow_outputs 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s _________________________ test_add_flow_outputs_fails __________________________ 1942s 1942s @mock_aws 1942s def test_add_flow_outputs_fails(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s flow_arn = "unknown-flow" 1942s with pytest.raises(ClientError) as err: 1942s > client.add_flow_outputs(FlowArn=flow_arn, Outputs=[]) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:360: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:95: in add_flow_outputs 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s _______________________ test_update_flow_output_succeeds _______________________ 1942s 1942s @mock_aws 1942s def test_update_flow_output_succeeds(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s channel_config = _create_flow_config("test-Flow-1") 1942s  1942s create_response = client.create_flow(**channel_config) 1942s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1942s assert create_response["Flow"]["Status"] == "STANDBY" 1942s flow_arn = create_response["Flow"]["FlowArn"] 1942s output_arn = create_response["Flow"]["Outputs"][0]["OutputArn"] 1942s  1942s > update_response = client.update_flow_output( 1942s FlowArn=flow_arn, OutputArn=output_arn, Description="new description" 1942s ) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:377: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:111: in update_flow_output 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s ________________________ test_update_flow_output_fails _________________________ 1942s 1942s @mock_aws 1942s def test_update_flow_output_fails(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s flow_arn = "unknown-flow" 1942s with pytest.raises(ClientError) as err: 1942s > client.update_flow_output( 1942s FlowArn=flow_arn, 1942s OutputArn="some-arn", 1942s Description="new description", 1942s ) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:388: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:111: in update_flow_output 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s ________________________ test_remove_flow_output_fails _________________________ 1942s 1942s @mock_aws 1942s def test_remove_flow_output_fails(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s flow_arn = "unknown-flow" 1942s output_arn = "unknown-arn" 1942s with pytest.raises(ClientError) as err: 1942s > client.remove_flow_output(FlowArn=flow_arn, OutputArn=output_arn) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:404: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:103: in remove_flow_output 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s _______________________ test_remove_flow_output_succeeds _______________________ 1942s 1942s @mock_aws 1942s def test_remove_flow_output_succeeds(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s channel_config = _create_flow_config("test-Flow-1") 1942s  1942s create_response = client.create_flow(**channel_config) 1942s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1942s assert create_response["Flow"]["Status"] == "STANDBY" 1942s flow_arn = create_response["Flow"]["FlowArn"] 1942s  1942s > client.add_flow_outputs( 1942s FlowArn=flow_arn, 1942s Outputs=[ 1942s {"Description": "string", "Name": "string", "Port": 123, "Protocol": "rist"} 1942s ], 1942s ) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:420: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:95: in add_flow_outputs 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s _________________________ test_add_flow_sources_fails __________________________ 1942s 1942s @mock_aws 1942s def test_add_flow_sources_fails(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s flow_arn = "unknown-flow" 1942s with pytest.raises(ClientError) as err: 1942s > client.add_flow_sources(FlowArn=flow_arn, Sources=[]) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:442: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:152: in add_flow_sources 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s ________________________ test_add_flow_sources_succeeds ________________________ 1942s 1942s @mock_aws 1942s def test_add_flow_sources_succeeds(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s channel_config = _create_flow_config("test-Flow-1") 1942s  1942s create_response = client.create_flow(**channel_config) 1942s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1942s assert create_response["Flow"]["Status"] == "STANDBY" 1942s flow_arn = create_response["Flow"]["FlowArn"] 1942s  1942s > client.add_flow_sources( 1942s FlowArn=flow_arn, 1942s Sources=[ 1942s { 1942s "Description": "string", 1942s "Name": "string", 1942s "Protocol": "rist", 1942s "SenderControlPort": 123, 1942s } 1942s ], 1942s ) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:458: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:152: in add_flow_sources 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s ________________________ test_update_flow_source_fails _________________________ 1942s 1942s @mock_aws 1942s def test_update_flow_source_fails(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s flow_arn = "unknown-flow" 1942s source_arn = "unknown-source" 1942s  1942s channel_config = _create_flow_config("test-Flow-1") 1942s client.create_flow(**channel_config) 1942s  1942s with pytest.raises(ClientError) as err: 1942s > client.update_flow_source( 1942s FlowArn=flow_arn, SourceArn=source_arn, Description="new description" 1942s ) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:485: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:160: in update_flow_source 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s _______________________ test_update_flow_source_succeeds _______________________ 1942s 1942s @mock_aws 1942s def test_update_flow_source_succeeds(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s channel_config = _create_flow_config("test-Flow-1") 1942s  1942s create_response = client.create_flow(**channel_config) 1942s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1942s assert create_response["Flow"]["Status"] == "STANDBY" 1942s flow_arn = create_response["Flow"]["FlowArn"] 1942s  1942s > add_response = client.add_flow_sources( 1942s FlowArn=flow_arn, 1942s Sources=[ 1942s { 1942s "Description": "string", 1942s "Name": "string", 1942s "Protocol": "rist", 1942s "SenderControlPort": 123, 1942s } 1942s ], 1942s ) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:503: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:152: in add_flow_sources 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s ______________________ test_grant_flow_entitlements_fails ______________________ 1942s 1942s @mock_aws 1942s def test_grant_flow_entitlements_fails(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s flow_arn = "unknown-flow" 1942s  1942s channel_config = _create_flow_config("test-Flow-1") 1942s client.create_flow(**channel_config) 1942s  1942s with pytest.raises(ClientError) as err: 1942s > client.grant_flow_entitlements( 1942s FlowArn=flow_arn, 1942s Entitlements=[ 1942s { 1942s "DataTransferSubscriberFeePercent": 12, 1942s "Description": "A new entitlement", 1942s "Encryption": {"Algorithm": "aes256", "RoleArn": "some:role"}, 1942s "EntitlementStatus": "ENABLED", 1942s "Name": "Entitlement-B", 1942s "Subscribers": [], 1942s } 1942s ], 1942s ) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:536: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:201: in grant_flow_entitlements 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s ____________________ test_grant_flow_entitlements_succeeds _____________________ 1942s 1942s @mock_aws 1942s def test_grant_flow_entitlements_succeeds(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s channel_config = _create_flow_config("test-Flow-1") 1942s  1942s create_response = client.create_flow(**channel_config) 1942s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1942s assert create_response["Flow"]["Status"] == "STANDBY" 1942s flow_arn = create_response["Flow"]["FlowArn"] 1942s  1942s > describe_response = client.describe_flow(FlowArn=flow_arn) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:564: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s ______________________ test_revoke_flow_entitlement_fails ______________________ 1942s 1942s @mock_aws 1942s def test_revoke_flow_entitlement_fails(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s channel_config = _create_flow_config("test-Flow-1") 1942s  1942s create_response = client.create_flow(**channel_config) 1942s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1942s assert create_response["Flow"]["Status"] == "STANDBY" 1942s flow_arn = create_response["Flow"]["FlowArn"] 1942s  1942s > describe_response = client.describe_flow(FlowArn=flow_arn) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:607: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s ____________________ test_revoke_flow_entitlement_succeeds _____________________ 1942s 1942s @mock_aws 1942s def test_revoke_flow_entitlement_succeeds(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s channel_config = _create_flow_config("test-Flow-1") 1942s  1942s create_response = client.create_flow(**channel_config) 1942s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1942s assert create_response["Flow"]["Status"] == "STANDBY" 1942s flow_arn = create_response["Flow"]["FlowArn"] 1942s  1942s > describe_response = client.describe_flow(FlowArn=flow_arn) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:630: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s ______________________ test_update_flow_entitlement_fails ______________________ 1942s 1942s @mock_aws 1942s def test_update_flow_entitlement_fails(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s channel_config = _create_flow_config("test-Flow-1") 1942s  1942s create_response = client.create_flow(**channel_config) 1942s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1942s assert create_response["Flow"]["Status"] == "STANDBY" 1942s flow_arn = create_response["Flow"]["FlowArn"] 1942s  1942s > describe_response = client.describe_flow(FlowArn=flow_arn) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:655: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s ____________________ test_update_flow_entitlement_succeeds _____________________ 1942s 1942s @mock_aws 1942s def test_update_flow_entitlement_succeeds(): 1942s client = boto3.client("mediaconnect", region_name=region) 1942s channel_config = _create_flow_config("test-Flow-1") 1942s  1942s create_response = client.create_flow(**channel_config) 1942s assert create_response["ResponseMetadata"]["HTTPStatusCode"] == 200 1942s assert create_response["Flow"]["Status"] == "STANDBY" 1942s flow_arn = create_response["Flow"]["FlowArn"] 1942s  1942s > describe_response = client.describe_flow(FlowArn=flow_arn) 1942s 1942s tests/test_mediaconnect/test_mediaconnect.py:680: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1060: in _make_api_call 1942s http, parsed_response = self._make_request( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1084: in _make_request 1942s return self._endpoint.make_request(operation_model, request_dict) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:119: in make_request 1942s return self._send_request(request_dict, operation_model) 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:200: in _send_request 1942s while self._needs_retry( 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:360: in _needs_retry 1942s responses = self._event_emitter.emit( 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:207: in __call__ 1942s if self._checker(**checker_kwargs): 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:284: in __call__ 1942s should_retry = self._should_retry( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:307: in _should_retry 1942s return self._checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:363: in __call__ 1942s checker_response = checker( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:247: in __call__ 1942s return self._check_caught_exception( 1942s /usr/lib/python3/dist-packages/botocore/retryhandler.py:416: in _check_caught_exception 1942s raise caught_exception 1942s /usr/lib/python3/dist-packages/botocore/endpoint.py:276: in _do_get_response 1942s responses = self._event_emitter.emit(event_name, request=request) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:412: in emit 1942s return self._emitter.emit(aliased_event_name, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:256: in emit 1942s return self._emit(event_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/hooks.py:239: in _emit 1942s response = handler(**kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:38: in __call__ 1942s response = self.process_request(request) 1942s /usr/lib/python3/dist-packages/moto/core/botocore_stubber.py:88: in process_request 1942s status, headers, body = method_to_execute( 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:296: in dispatch 1942s return cls()._dispatch(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:508: in _dispatch 1942s return self.call_action() 1942s /usr/lib/python3/dist-packages/moto/core/responses.py:596: in call_action 1942s response = method() 1942s /usr/lib/python3/dist-packages/moto/mediaconnect/responses.py:44: in describe_flow 1942s flow_arn = unquote(self._get_param("flowArn")) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s string = None, encoding = 'utf-8', errors = 'replace' 1942s 1942s def unquote(string, encoding='utf-8', errors='replace'): 1942s  """Replace %xx escapes by their single-character equivalent. The optional 1942s  encoding and errors parameters specify how to decode percent-encoded 1942s  sequences into Unicode characters, as accepted by the bytes.decode() 1942s  method. 1942s  By default, percent-encoded sequences are decoded with UTF-8, and invalid 1942s  sequences are replaced by a placeholder character. 1942s  1942s  unquote('abc%20def') -> 'abc def'. 1942s  """ 1942s if isinstance(string, bytes): 1942s return _unquote_impl(string).decode(encoding, errors) 1942s > if '%' not in string: 1942s E TypeError: argument of type 'NoneType' is not iterable 1942s 1942s /usr/lib/python3.13/urllib/parse.py:704: TypeError 1942s ___________________________ test_create_app_response ___________________________ 1942s 1942s @freeze_time("2015-01-01") 1942s @mock_aws 1942s def test_create_app_response(): 1942s > client = boto3.client("opsworks", region_name="us-east-1") 1942s 1942s tests/test_opsworks/test_apps.py:12: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1942s return _get_default_session().client(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1942s return self._session.create_client( 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1942s client = client_creator.create_client( 1942s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1942s service_model = self._load_service_model(service_name, api_version) 1942s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1942s json_model = self._loader.load_service_model( 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1942s data = func(self, *args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = , service_name = 'opsworks' 1942s type_name = 'service-2', api_version = None 1942s 1942s @instance_cache 1942s def load_service_model(self, service_name, type_name, api_version=None): 1942s  """Load a botocore service model 1942s  1942s  This is the main method for loading botocore models (e.g. a service 1942s  model, pagination configs, waiter configs, etc.). 1942s  1942s  :type service_name: str 1942s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1942s  1942s  :type type_name: str 1942s  :param type_name: The model type. Valid types include, but are not 1942s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1942s  1942s  :type api_version: str 1942s  :param api_version: The API version to load. If this is not 1942s  provided, then the latest API version will be used. 1942s  1942s  :type load_extras: bool 1942s  :param load_extras: Whether or not to load the tool extras which 1942s  contain additional data to be added to the model. 1942s  1942s  :raises: UnknownServiceError if there is no known service with 1942s  the provided service_name. 1942s  1942s  :raises: DataNotFoundError if no data could be found for the 1942s  service_name/type_name/api_version. 1942s  1942s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1942s  """ 1942s # Wrapper around the load_data. This will calculate the path 1942s # to call load_data with. 1942s known_services = self.list_available_services(type_name) 1942s if service_name not in known_services: 1942s > raise UnknownServiceError( 1942s service_name=service_name, 1942s known_service_names=', '.join(sorted(known_services)), 1942s ) 1942s 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 1942s 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1942s ______________________________ test_describe_apps ______________________________ 1942s 1942s @freeze_time("2015-01-01") 1942s @mock_aws 1942s def test_describe_apps(): 1942s > client = boto3.client("opsworks", region_name="us-east-1") 1942s 1942s tests/test_opsworks/test_apps.py:49: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1942s return _get_default_session().client(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1942s return self._session.create_client( 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1942s client = client_creator.create_client( 1942s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1942s service_model = self._load_service_model(service_name, api_version) 1942s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1942s json_model = self._loader.load_service_model( 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1942s data = func(self, *args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = , service_name = 'opsworks' 1942s type_name = 'service-2', api_version = None 1942s 1942s @instance_cache 1942s def load_service_model(self, service_name, type_name, api_version=None): 1942s  """Load a botocore service model 1942s  1942s  This is the main method for loading botocore models (e.g. a service 1942s  model, pagination configs, waiter configs, etc.). 1942s  1942s  :type service_name: str 1942s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1942s  1942s  :type type_name: str 1942s  :param type_name: The model type. Valid types include, but are not 1942s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1942s  1942s  :type api_version: str 1942s  :param api_version: The API version to load. If this is not 1942s  provided, then the latest API version will be used. 1942s  1942s  :type load_extras: bool 1942s  :param load_extras: Whether or not to load the tool extras which 1942s  contain additional data to be added to the model. 1942s  1942s  :raises: UnknownServiceError if there is no known service with 1942s  the provided service_name. 1942s  1942s  :raises: DataNotFoundError if no data could be found for the 1942s  service_name/type_name/api_version. 1942s  1942s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1942s  """ 1942s # Wrapper around the load_data. This will calculate the path 1942s # to call load_data with. 1942s known_services = self.list_available_services(type_name) 1942s if service_name not in known_services: 1942s > raise UnknownServiceError( 1942s service_name=service_name, 1942s known_service_names=', '.join(sorted(known_services)), 1942s ) 1942s 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 1942s 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1942s _____________________________ test_create_instance _____________________________ 1942s 1942s @mock_aws 1942s def test_create_instance(): 1942s > client = boto3.client("opsworks", region_name="us-east-1") 1942s 1942s tests/test_opsworks/test_instances.py:11: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1942s return _get_default_session().client(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1942s return self._session.create_client( 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1942s client = client_creator.create_client( 1942s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1942s service_model = self._load_service_model(service_name, api_version) 1942s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1942s json_model = self._loader.load_service_model( 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1942s data = func(self, *args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = , service_name = 'opsworks' 1942s type_name = 'service-2', api_version = None 1942s 1942s @instance_cache 1942s def load_service_model(self, service_name, type_name, api_version=None): 1942s  """Load a botocore service model 1942s  1942s  This is the main method for loading botocore models (e.g. a service 1942s  model, pagination configs, waiter configs, etc.). 1942s  1942s  :type service_name: str 1942s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1942s  1942s  :type type_name: str 1942s  :param type_name: The model type. Valid types include, but are not 1942s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1942s  1942s  :type api_version: str 1942s  :param api_version: The API version to load. If this is not 1942s  provided, then the latest API version will be used. 1942s  1942s  :type load_extras: bool 1942s  :param load_extras: Whether or not to load the tool extras which 1942s  contain additional data to be added to the model. 1942s  1942s  :raises: UnknownServiceError if there is no known service with 1942s  the provided service_name. 1942s  1942s  :raises: DataNotFoundError if no data could be found for the 1942s  service_name/type_name/api_version. 1942s  1942s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1942s  """ 1942s # Wrapper around the load_data. This will calculate the path 1942s # to call load_data with. 1942s known_services = self.list_available_services(type_name) 1942s if service_name not in known_services: 1942s > raise UnknownServiceError( 1942s service_name=service_name, 1942s known_service_names=', '.join(sorted(known_services)), 1942s ) 1942s 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 1942s 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1942s ___________________________ test_describe_instances ____________________________ 1942s 1942s @mock_aws 1942s def test_describe_instances(): 1942s  """ 1942s  create two stacks, with 1 layer and 2 layers (S1L1, S2L1, S2L2) 1942s  1942s  populate S1L1 with 2 instances (S1L1_i1, S1L1_i2) 1942s  populate S2L1 with 1 instance (S2L1_i1) 1942s  populate S2L2 with 3 instances (S2L2_i1..2) 1942s  """ 1942s  1942s > client = boto3.client("opsworks", region_name="us-east-1") 1942s 1942s tests/test_opsworks/test_instances.py:87: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1942s return _get_default_session().client(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1942s return self._session.create_client( 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1942s client = client_creator.create_client( 1942s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1942s service_model = self._load_service_model(service_name, api_version) 1942s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1942s json_model = self._loader.load_service_model( 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1942s data = func(self, *args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = , service_name = 'opsworks' 1942s type_name = 'service-2', api_version = None 1942s 1942s @instance_cache 1942s def load_service_model(self, service_name, type_name, api_version=None): 1942s  """Load a botocore service model 1942s  1942s  This is the main method for loading botocore models (e.g. a service 1942s  model, pagination configs, waiter configs, etc.). 1942s  1942s  :type service_name: str 1942s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1942s  1942s  :type type_name: str 1942s  :param type_name: The model type. Valid types include, but are not 1942s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1942s  1942s  :type api_version: str 1942s  :param api_version: The API version to load. If this is not 1942s  provided, then the latest API version will be used. 1942s  1942s  :type load_extras: bool 1942s  :param load_extras: Whether or not to load the tool extras which 1942s  contain additional data to be added to the model. 1942s  1942s  :raises: UnknownServiceError if there is no known service with 1942s  the provided service_name. 1942s  1942s  :raises: DataNotFoundError if no data could be found for the 1942s  service_name/type_name/api_version. 1942s  1942s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1942s  """ 1942s # Wrapper around the load_data. This will calculate the path 1942s # to call load_data with. 1942s known_services = self.list_available_services(type_name) 1942s if service_name not in known_services: 1942s > raise UnknownServiceError( 1942s service_name=service_name, 1942s known_service_names=', '.join(sorted(known_services)), 1942s ) 1942s 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 1942s 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1942s _____________________________ test_ec2_integration _____________________________ 1942s 1942s @mock_aws 1942s def test_ec2_integration(): 1942s  """Verify instances created via OpsWorks are discoverable via ec2.""" 1942s > opsworks = boto3.client("opsworks", region_name="us-east-1") 1942s 1942s tests/test_opsworks/test_instances.py:186: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1942s return _get_default_session().client(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1942s return self._session.create_client( 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1942s client = client_creator.create_client( 1942s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1942s service_model = self._load_service_model(service_name, api_version) 1942s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1942s json_model = self._loader.load_service_model( 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1942s data = func(self, *args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = , service_name = 'opsworks' 1942s type_name = 'service-2', api_version = None 1942s 1942s @instance_cache 1942s def load_service_model(self, service_name, type_name, api_version=None): 1942s  """Load a botocore service model 1942s  1942s  This is the main method for loading botocore models (e.g. a service 1942s  model, pagination configs, waiter configs, etc.). 1942s  1942s  :type service_name: str 1942s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1942s  1942s  :type type_name: str 1942s  :param type_name: The model type. Valid types include, but are not 1942s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1942s  1942s  :type api_version: str 1942s  :param api_version: The API version to load. If this is not 1942s  provided, then the latest API version will be used. 1942s  1942s  :type load_extras: bool 1942s  :param load_extras: Whether or not to load the tool extras which 1942s  contain additional data to be added to the model. 1942s  1942s  :raises: UnknownServiceError if there is no known service with 1942s  the provided service_name. 1942s  1942s  :raises: DataNotFoundError if no data could be found for the 1942s  service_name/type_name/api_version. 1942s  1942s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1942s  """ 1942s # Wrapper around the load_data. This will calculate the path 1942s # to call load_data with. 1942s known_services = self.list_available_services(type_name) 1942s if service_name not in known_services: 1942s > raise UnknownServiceError( 1942s service_name=service_name, 1942s known_service_names=', '.join(sorted(known_services)), 1942s ) 1942s 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 1942s 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1942s __________________________ test_create_layer_response __________________________ 1942s 1942s @freeze_time("2015-01-01") 1942s @mock_aws 1942s def test_create_layer_response(): 1942s > client = boto3.client("opsworks", region_name="us-east-1") 1942s 1942s tests/test_opsworks/test_layers.py:12: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1942s return _get_default_session().client(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1942s return self._session.create_client( 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1942s client = client_creator.create_client( 1942s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1942s service_model = self._load_service_model(service_name, api_version) 1942s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1942s json_model = self._loader.load_service_model( 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1942s data = func(self, *args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = , service_name = 'opsworks' 1942s type_name = 'service-2', api_version = None 1942s 1942s @instance_cache 1942s def load_service_model(self, service_name, type_name, api_version=None): 1942s  """Load a botocore service model 1942s  1942s  This is the main method for loading botocore models (e.g. a service 1942s  model, pagination configs, waiter configs, etc.). 1942s  1942s  :type service_name: str 1942s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1942s  1942s  :type type_name: str 1942s  :param type_name: The model type. Valid types include, but are not 1942s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1942s  1942s  :type api_version: str 1942s  :param api_version: The API version to load. If this is not 1942s  provided, then the latest API version will be used. 1942s  1942s  :type load_extras: bool 1942s  :param load_extras: Whether or not to load the tool extras which 1942s  contain additional data to be added to the model. 1942s  1942s  :raises: UnknownServiceError if there is no known service with 1942s  the provided service_name. 1942s  1942s  :raises: DataNotFoundError if no data could be found for the 1942s  service_name/type_name/api_version. 1942s  1942s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1942s  """ 1942s # Wrapper around the load_data. This will calculate the path 1942s # to call load_data with. 1942s known_services = self.list_available_services(type_name) 1942s if service_name not in known_services: 1942s > raise UnknownServiceError( 1942s service_name=service_name, 1942s known_service_names=', '.join(sorted(known_services)), 1942s ) 1942s 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 1942s 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1942s _____________________________ test_describe_layers _____________________________ 1942s 1942s @freeze_time("2015-01-01") 1942s @mock_aws 1942s def test_describe_layers(): 1942s > client = boto3.client("opsworks", region_name="us-east-1") 1942s 1942s tests/test_opsworks/test_layers.py:74: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1942s return _get_default_session().client(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1942s return self._session.create_client( 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1942s client = client_creator.create_client( 1942s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1942s service_model = self._load_service_model(service_name, api_version) 1942s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1942s json_model = self._loader.load_service_model( 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1942s data = func(self, *args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = , service_name = 'opsworks' 1942s type_name = 'service-2', api_version = None 1942s 1942s @instance_cache 1942s def load_service_model(self, service_name, type_name, api_version=None): 1942s  """Load a botocore service model 1942s  1942s  This is the main method for loading botocore models (e.g. a service 1942s  model, pagination configs, waiter configs, etc.). 1942s  1942s  :type service_name: str 1942s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1942s  1942s  :type type_name: str 1942s  :param type_name: The model type. Valid types include, but are not 1942s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1942s  1942s  :type api_version: str 1942s  :param api_version: The API version to load. If this is not 1942s  provided, then the latest API version will be used. 1942s  1942s  :type load_extras: bool 1942s  :param load_extras: Whether or not to load the tool extras which 1942s  contain additional data to be added to the model. 1942s  1942s  :raises: UnknownServiceError if there is no known service with 1942s  the provided service_name. 1942s  1942s  :raises: DataNotFoundError if no data could be found for the 1942s  service_name/type_name/api_version. 1942s  1942s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1942s  """ 1942s # Wrapper around the load_data. This will calculate the path 1942s # to call load_data with. 1942s known_services = self.list_available_services(type_name) 1942s if service_name not in known_services: 1942s > raise UnknownServiceError( 1942s service_name=service_name, 1942s known_service_names=', '.join(sorted(known_services)), 1942s ) 1942s 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 1942s 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1942s __________________________ test_create_stack_response __________________________ 1942s 1942s @mock_aws 1942s def test_create_stack_response(): 1942s > client = boto3.client("opsworks", region_name="us-east-1") 1942s 1942s tests/test_opsworks/test_stack.py:9: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1942s return _get_default_session().client(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1942s return self._session.create_client( 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1942s client = client_creator.create_client( 1942s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1942s service_model = self._load_service_model(service_name, api_version) 1942s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1942s json_model = self._loader.load_service_model( 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1942s data = func(self, *args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = , service_name = 'opsworks' 1942s type_name = 'service-2', api_version = None 1942s 1942s @instance_cache 1942s def load_service_model(self, service_name, type_name, api_version=None): 1942s  """Load a botocore service model 1942s  1942s  This is the main method for loading botocore models (e.g. a service 1942s  model, pagination configs, waiter configs, etc.). 1942s  1942s  :type service_name: str 1942s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1942s  1942s  :type type_name: str 1942s  :param type_name: The model type. Valid types include, but are not 1942s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1942s  1942s  :type api_version: str 1942s  :param api_version: The API version to load. If this is not 1942s  provided, then the latest API version will be used. 1942s  1942s  :type load_extras: bool 1942s  :param load_extras: Whether or not to load the tool extras which 1942s  contain additional data to be added to the model. 1942s  1942s  :raises: UnknownServiceError if there is no known service with 1942s  the provided service_name. 1942s  1942s  :raises: DataNotFoundError if no data could be found for the 1942s  service_name/type_name/api_version. 1942s  1942s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1942s  """ 1942s # Wrapper around the load_data. This will calculate the path 1942s # to call load_data with. 1942s known_services = self.list_available_services(type_name) 1942s if service_name not in known_services: 1942s > raise UnknownServiceError( 1942s service_name=service_name, 1942s known_service_names=', '.join(sorted(known_services)), 1942s ) 1942s 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 1942s 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1942s _____________________________ test_describe_stacks _____________________________ 1942s 1942s @mock_aws 1942s def test_describe_stacks(): 1942s > client = boto3.client("opsworks", region_name="us-east-1") 1942s 1942s tests/test_opsworks/test_stack.py:21: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1942s return _get_default_session().client(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1942s return self._session.create_client( 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1942s client = client_creator.create_client( 1942s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1942s service_model = self._load_service_model(service_name, api_version) 1942s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1942s json_model = self._loader.load_service_model( 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1942s data = func(self, *args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = , service_name = 'opsworks' 1942s type_name = 'service-2', api_version = None 1942s 1942s @instance_cache 1942s def load_service_model(self, service_name, type_name, api_version=None): 1942s  """Load a botocore service model 1942s  1942s  This is the main method for loading botocore models (e.g. a service 1942s  model, pagination configs, waiter configs, etc.). 1942s  1942s  :type service_name: str 1942s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1942s  1942s  :type type_name: str 1942s  :param type_name: The model type. Valid types include, but are not 1942s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1942s  1942s  :type api_version: str 1942s  :param api_version: The API version to load. If this is not 1942s  provided, then the latest API version will be used. 1942s  1942s  :type load_extras: bool 1942s  :param load_extras: Whether or not to load the tool extras which 1942s  contain additional data to be added to the model. 1942s  1942s  :raises: UnknownServiceError if there is no known service with 1942s  the provided service_name. 1942s  1942s  :raises: DataNotFoundError if no data could be found for the 1942s  service_name/type_name/api_version. 1942s  1942s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1942s  """ 1942s # Wrapper around the load_data. This will calculate the path 1942s # to call load_data with. 1942s known_services = self.list_available_services(type_name) 1942s if service_name not in known_services: 1942s > raise UnknownServiceError( 1942s service_name=service_name, 1942s known_service_names=', '.join(sorted(known_services)), 1942s ) 1942s 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 1942s 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1942s _____________________________ test_create_db_proxy _____________________________ 1942s 1942s @mock_aws 1942s def test_create_db_proxy(): 1942s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1942s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1942s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1942s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1942s "Subnet" 1942s ]["SubnetId"] 1942s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1942s "Subnet" 1942s ]["SubnetId"] 1942s > resp = rds_client.create_db_proxy( 1942s DBProxyName="testrdsproxy", 1942s EngineFamily="MYSQL", 1942s Auth=[ 1942s { 1942s "Description": "Test Description", 1942s "UserName": "Test Username", 1942s "AuthScheme": "SECRETS", 1942s "SecretArn": "TestSecretARN", 1942s "IAMAuth": "ENABLED", 1942s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1942s }, 1942s ], 1942s RoleArn="TestArn", 1942s VpcSubnetIds=[subnet_id, subnet_id_2], 1942s RequireTLS=True, 1942s Tags=[{"Key": "TestKey", "Value": "TestValue"}], 1942s ) 1942s 1942s tests/test_rds/test_rds_proxy.py:22: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxy', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1942s operation_model = OperationModel(name=CreateDBProxy) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1942s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ___________________________ test_describe_db_proxies ___________________________ 1942s 1942s @mock_aws 1942s def test_describe_db_proxies(): 1942s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1942s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1942s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1942s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1942s "Subnet" 1942s ]["SubnetId"] 1942s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1942s "Subnet" 1942s ]["SubnetId"] 1942s > rds_client.create_db_proxy( 1942s DBProxyName="testrdsproxydescribe", 1942s EngineFamily="MYSQL", 1942s Auth=[ 1942s { 1942s "Description": "Test Description", 1942s "UserName": "Test Username", 1942s "AuthScheme": "SECRETS", 1942s "SecretArn": "TestSecretARN", 1942s "IAMAuth": "ENABLED", 1942s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1942s }, 1942s ], 1942s RoleArn="TestArn", 1942s VpcSubnetIds=[subnet_id, subnet_id_2], 1942s RequireTLS=True, 1942s Tags=[ 1942s {"Key": "TestKey", "Value": "TestValue"}, 1942s {"Key": "aaa", "Value": "bbb"}, 1942s ], 1942s ) 1942s 1942s tests/test_rds/test_rds_proxy.py:76: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxydescribe', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1942s operation_model = OperationModel(name=CreateDBProxy) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1942s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ___________________________ test_list_tags_db_proxy ____________________________ 1942s 1942s @mock_aws 1942s def test_list_tags_db_proxy(): 1942s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1942s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1942s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1942s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1942s "Subnet" 1942s ]["SubnetId"] 1942s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1942s "Subnet" 1942s ]["SubnetId"] 1942s > resp = rds_client.create_db_proxy( 1942s DBProxyName="testrdsproxydescribe", 1942s EngineFamily="MYSQL", 1942s Auth=[ 1942s { 1942s "Description": "Test Description", 1942s "UserName": "Test Username", 1942s "AuthScheme": "SECRETS", 1942s "SecretArn": "TestSecretARN", 1942s "IAMAuth": "ENABLED", 1942s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1942s }, 1942s ], 1942s RoleArn="TestArn", 1942s VpcSubnetIds=[subnet_id, subnet_id_2], 1942s RequireTLS=True, 1942s Tags=[ 1942s {"Key": "TestKey", "Value": "TestValue"}, 1942s {"Key": "aaa", "Value": "bbb"}, 1942s ], 1942s ) 1942s 1942s tests/test_rds/test_rds_proxy.py:134: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxydescribe', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1942s operation_model = OperationModel(name=CreateDBProxy) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1942s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s _____________________ test_create_db_proxy_invalid_subnet ______________________ 1942s 1942s @mock_aws 1942s def test_create_db_proxy_invalid_subnet(): 1942s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1942s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1942s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1942s vpc_id_2 = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1942s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1942s "Subnet" 1942s ]["SubnetId"] 1942s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id_2)[ 1942s "Subnet" 1942s ]["SubnetId"] 1942s with pytest.raises(ClientError) as ex: 1942s > rds_client.create_db_proxy( 1942s DBProxyName="testrdsproxy", 1942s EngineFamily="MYSQL", 1942s Auth=[ 1942s { 1942s "Description": "Test Description", 1942s "UserName": "Test Username", 1942s "AuthScheme": "SECRETS", 1942s "SecretArn": "TestSecretARN", 1942s "IAMAuth": "ENABLED", 1942s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1942s }, 1942s ], 1942s RoleArn="TestArn", 1942s VpcSubnetIds=[subnet_id, subnet_id_2], 1942s RequireTLS=True, 1942s Tags=[{"Key": "TestKey", "Value": "TestValue"}], 1942s ) 1942s 1942s tests/test_rds/test_rds_proxy.py:176: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxy', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1942s operation_model = OperationModel(name=CreateDBProxy) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1942s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s _____________________ test_create_db_proxy_duplicate_name ______________________ 1942s 1942s @mock_aws 1942s def test_create_db_proxy_duplicate_name(): 1942s rds_client = boto3.client("rds", region_name=DEFAULT_REGION) 1942s ec2_client = boto3.client("ec2", region_name=DEFAULT_REGION) 1942s vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] 1942s subnet_id = ec2_client.create_subnet(CidrBlock="10.0.1.0/24", VpcId=vpc_id)[ 1942s "Subnet" 1942s ]["SubnetId"] 1942s subnet_id_2 = ec2_client.create_subnet(CidrBlock="10.0.2.0/24", VpcId=vpc_id)[ 1942s "Subnet" 1942s ]["SubnetId"] 1942s > rds_client.create_db_proxy( 1942s DBProxyName="testrdsproxy", 1942s EngineFamily="MYSQL", 1942s Auth=[ 1942s { 1942s "Description": "Test Description", 1942s "UserName": "Test Username", 1942s "AuthScheme": "SECRETS", 1942s "SecretArn": "TestSecretARN", 1942s "IAMAuth": "ENABLED", 1942s "ClientPasswordAuthType": "MYSQL_NATIVE_PASSWORD", 1942s }, 1942s ], 1942s RoleArn="TestArn", 1942s VpcSubnetIds=[subnet_id, subnet_id_2], 1942s RequireTLS=True, 1942s Tags=[{"Key": "TestKey", "Value": "TestValue"}], 1942s ) 1942s 1942s tests/test_rds/test_rds_proxy.py:209: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'Auth': [{'AuthScheme': 'SECRETS', 'ClientPasswordAuthType': 'MYSQL_NATIVE_PASSWORD', 'Description': 'Test Description', 'IAMAuth': 'ENABLED', ...}], 'DBProxyName': 'testrdsproxy', 'EngineFamily': 'MYSQL', 'RequireTLS': True, ...} 1942s operation_model = OperationModel(name=CreateDBProxy) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Invalid length for parameter Auth[0].SecretArn, value: 13, valid min length: 20 1942s E Invalid length for parameter RoleArn, value: 7, valid min length: 20 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ________________________ test_get_resources_workspaces _________________________ 1942s 1942s @mock_aws 1942s def test_get_resources_workspaces(): 1942s workspaces = boto3.client("workspaces", region_name="eu-central-1") 1942s  1942s # Create two tagged Workspaces 1942s directory_id = create_directory() 1942s > workspaces.register_workspace_directory( 1942s DirectoryId=directory_id, EnableWorkDocs=False 1942s ) 1942s 1942s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py:804: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-1603818045', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ___________________ test_get_resources_workspace_directories ___________________ 1942s 1942s @mock_aws 1942s def test_get_resources_workspace_directories(): 1942s workspaces = boto3.client("workspaces", region_name="eu-central-1") 1942s  1942s # Create two tagged Workspaces Directories 1942s for i in range(1, 3): 1942s i_str = str(i) 1942s directory_id = create_directory() 1942s > workspaces.register_workspace_directory( 1942s DirectoryId=directory_id, 1942s EnableWorkDocs=False, 1942s Tags=[ 1942s {"Key": "Test", "Value": i_str}, 1942s ], 1942s ) 1942s 1942s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py:851: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-216d1a6362', 'EnableWorkDocs': False, 'Tags': [{'Key': 'Test', 'Value': '1'}]} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s _____________________ test_get_resources_workspace_images ______________________ 1942s 1942s @mock_aws 1942s def test_get_resources_workspace_images(): 1942s workspaces = boto3.client("workspaces", region_name="eu-central-1") 1942s  1942s # Create two tagged Workspace Images 1942s directory_id = create_directory() 1942s > workspaces.register_workspace_directory( 1942s DirectoryId=directory_id, EnableWorkDocs=False 1942s ) 1942s 1942s tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py:880: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-c43c266519', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ____________________________ test_robot_application ____________________________ 1942s 1942s @mock_aws 1942s def test_robot_application(): 1942s > client = boto3.client("robomaker", region_name="eu-west-1") 1942s 1942s tests/test_robomaker/test_robomaker.py:11: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/boto3/__init__.py:92: in client 1942s return _get_default_session().client(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/boto3/session.py:322: in client 1942s return self._session.create_client( 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/session.py:1031: in create_client 1942s client = client_creator.create_client( 1942s /usr/lib/python3/dist-packages/botocore/client.py:120: in create_client 1942s service_model = self._load_service_model(service_name, api_version) 1942s /usr/lib/python3/dist-packages/botocore/client.py:233: in _load_service_model 1942s json_model = self._loader.load_service_model( 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:143: in _wrapper 1942s data = func(self, *args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s service_name = 'robomaker', type_name = 'service-2', api_version = None 1942s 1942s @instance_cache 1942s def load_service_model(self, service_name, type_name, api_version=None): 1942s  """Load a botocore service model 1942s  1942s  This is the main method for loading botocore models (e.g. a service 1942s  model, pagination configs, waiter configs, etc.). 1942s  1942s  :type service_name: str 1942s  :param service_name: The name of the service (e.g ``ec2``, ``s3``). 1942s  1942s  :type type_name: str 1942s  :param type_name: The model type. Valid types include, but are not 1942s  limited to: ``service-2``, ``paginators-1``, ``waiters-2``. 1942s  1942s  :type api_version: str 1942s  :param api_version: The API version to load. If this is not 1942s  provided, then the latest API version will be used. 1942s  1942s  :type load_extras: bool 1942s  :param load_extras: Whether or not to load the tool extras which 1942s  contain additional data to be added to the model. 1942s  1942s  :raises: UnknownServiceError if there is no known service with 1942s  the provided service_name. 1942s  1942s  :raises: DataNotFoundError if no data could be found for the 1942s  service_name/type_name/api_version. 1942s  1942s  :return: The loaded data, as a python type (e.g. dict, list, etc). 1942s  """ 1942s # Wrapper around the load_data. This will calculate the path 1942s # to call load_data with. 1942s known_services = self.list_available_services(type_name) 1942s if service_name not in known_services: 1942s > raise UnknownServiceError( 1942s service_name=service_name, 1942s known_service_names=', '.join(sorted(known_services)), 1942s ) 1942s 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 1942s 1942s /usr/lib/python3/dist-packages/botocore/loaders.py:409: UnknownServiceError 1942s __________________ test_locked_object_governance_mode[bypass] __________________ 1942s 1942s bypass_governance_retention = True 1942s bucket_name = 'aef99856-cbe2-4036-8cdb-f111c37e51d0' 1942s 1942s @s3_aws_verified 1942s @pytest.mark.aws_verified 1942s @pytest.mark.parametrize( 1942s "bypass_governance_retention", 1942s [True, False, None], 1942s ids=["bypass", "no_bypass", "unspecified"], 1942s ) 1942s def test_locked_object_governance_mode(bypass_governance_retention, bucket_name=None): 1942s s3_client = boto3.client("s3", DEFAULT_REGION_NAME) 1942s  1942s key_name = "file.txt" 1942s seconds_lock = 10 1942s  1942s enable_versioning(bucket_name, s3_client) 1942s  1942s s3_client.put_object_lock_configuration( 1942s Bucket=bucket_name, 1942s ObjectLockConfiguration={ 1942s "ObjectLockEnabled": "Enabled", 1942s "Rule": {"DefaultRetention": {"Mode": "GOVERNANCE", "Days": 1}}, 1942s }, 1942s ) 1942s  1942s until = utcnow() + datetime.timedelta(seconds=seconds_lock) 1942s s3_client.put_object( 1942s Bucket=bucket_name, 1942s Body=b"test", 1942s Key=key_name, 1942s ObjectLockMode="GOVERNANCE", 1942s ObjectLockRetainUntilDate=until, 1942s ContentMD5=generate_content_md5(b"test"), 1942s ) 1942s  1942s versions_response = s3_client.list_object_versions(Bucket=bucket_name) 1942s initial_version_id = versions_response["Versions"][0]["VersionId"] 1942s  1942s with pytest.raises(ClientError) as exc: 1942s s3_client.delete_object( 1942s Bucket=bucket_name, Key=key_name, VersionId=initial_version_id 1942s ) 1942s err = exc.value.response["Error"] 1942s assert err["Code"] == "AccessDenied" 1942s  1942s kwargs = {} 1942s if bypass_governance_retention in [True, False]: 1942s kwargs["BypassGovernanceRetention"] = bypass_governance_retention 1942s  1942s # Delete the object without VersionId always succeeds 1942s response = s3_client.delete_objects( 1942s Bucket=bucket_name, 1942s Delete={ 1942s "Objects": [ 1942s {"Key": key_name}, 1942s ], 1942s }, 1942s **kwargs, 1942s ) 1942s assert response["Deleted"][0]["Key"] == key_name 1942s deleted_version_id = response["Deleted"][0]["DeleteMarkerVersionId"] 1942s  1942s # Delete any version id only succeeds if BypassGovernanceRetention=true 1942s response = s3_client.delete_objects( 1942s Bucket=bucket_name, 1942s Delete={ 1942s "Objects": [ 1942s {"Key": key_name, "VersionId": initial_version_id}, 1942s ], 1942s }, 1942s **kwargs, 1942s ) 1942s if bypass_governance_retention: 1942s > assert "Deleted" in response 1942s 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}} 1942s 1942s tests/test_s3/test_s3_lock.py:130: AssertionError 1942s ________________________________ test_get_table ________________________________ 1942s 1942s @mock_aws 1942s def test_get_table(): 1942s client = boto3.client("s3tables", region_name="us-east-2") 1942s arn = client.create_table_bucket(name="foo")["arn"] 1942s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1942s table_arn = client.create_table( 1942s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1942s )["tableARN"] 1942s  1942s assert ( 1942s > client.get_table(tableBucketARN=arn, namespace="bar", name="baz")["tableARN"] 1942s == table_arn 1942s ) 1942s 1942s tests/test_s3tables/test_s3tables.py:156: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s operation_name = 'GetTable' 1942s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1942s 1942s @with_current_context() 1942s def _make_api_call(self, operation_name, api_params): 1942s operation_model = self._service_model.operation_model(operation_name) 1942s service_name = self._service_model.service_name 1942s history_recorder.record( 1942s 'API_CALL', 1942s { 1942s 'service': service_name, 1942s 'operation': operation_name, 1942s 'params': api_params, 1942s }, 1942s ) 1942s if operation_model.deprecated: 1942s logger.debug( 1942s 'Warning: %s.%s() is deprecated', service_name, operation_name 1942s ) 1942s request_context = { 1942s 'client_region': self.meta.region_name, 1942s 'client_config': self.meta.config, 1942s 'has_streaming_input': operation_model.has_streaming_input, 1942s 'auth_type': operation_model.resolved_auth_type, 1942s 'unsigned_payload': operation_model.unsigned_payload, 1942s 'auth_options': self._service_model.metadata.get('auth'), 1942s } 1942s  1942s api_params = self._emit_api_params( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s context=request_context, 1942s ) 1942s ( 1942s endpoint_url, 1942s additional_headers, 1942s properties, 1942s ) = self._resolve_endpoint_ruleset( 1942s operation_model, api_params, request_context 1942s ) 1942s if properties: 1942s # Pass arbitrary endpoint info with the Request 1942s # for use during construction. 1942s request_context['endpoint_properties'] = properties 1942s request_dict = self._convert_to_request_dict( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s endpoint_url=endpoint_url, 1942s context=request_context, 1942s headers=additional_headers, 1942s ) 1942s resolve_checksum_context(request_dict, operation_model, api_params) 1942s  1942s service_id = self._service_model.service_id.hyphenize() 1942s handler, event_response = self.meta.events.emit_until_response( 1942s f'before-call.{service_id}.{operation_name}', 1942s model=operation_model, 1942s params=request_dict, 1942s request_signer=self._request_signer, 1942s context=request_context, 1942s ) 1942s  1942s if event_response is not None: 1942s http, parsed_response = event_response 1942s else: 1942s maybe_compress_request( 1942s self.meta.config, request_dict, operation_model 1942s ) 1942s apply_request_checksum(request_dict) 1942s http, parsed_response = self._make_request( 1942s operation_model, request_dict, request_context 1942s ) 1942s  1942s self.meta.events.emit( 1942s f'after-call.{service_id}.{operation_name}', 1942s http_response=http, 1942s parsed=parsed_response, 1942s model=operation_model, 1942s context=request_context, 1942s ) 1942s  1942s if http.status_code >= 300: 1942s error_info = parsed_response.get("Error", {}) 1942s error_code = request_context.get( 1942s 'error_code_override' 1942s ) or error_info.get("Code") 1942s error_class = self.exceptions.from_code(error_code) 1942s > raise error_class(parsed_response, operation_name) 1942s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1942s 1942s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1942s ______________ test_delete_table_deletes_underlying_table_storage ______________ 1942s 1942s @mock_aws 1942s def test_delete_table_deletes_underlying_table_storage(): 1942s client = boto3.client("s3tables", region_name="us-east-2") 1942s s3 = boto3.client("s3", region_name="us-east-2") 1942s arn = client.create_table_bucket(name="foo")["arn"] 1942s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1942s client.create_table( 1942s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1942s ) 1942s > warehouse = client.get_table(tableBucketARN=arn, namespace="bar", name="baz")[ 1942s "warehouseLocation" 1942s ] 1942s 1942s tests/test_s3tables/test_s3tables.py:227: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s operation_name = 'GetTable' 1942s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1942s 1942s @with_current_context() 1942s def _make_api_call(self, operation_name, api_params): 1942s operation_model = self._service_model.operation_model(operation_name) 1942s service_name = self._service_model.service_name 1942s history_recorder.record( 1942s 'API_CALL', 1942s { 1942s 'service': service_name, 1942s 'operation': operation_name, 1942s 'params': api_params, 1942s }, 1942s ) 1942s if operation_model.deprecated: 1942s logger.debug( 1942s 'Warning: %s.%s() is deprecated', service_name, operation_name 1942s ) 1942s request_context = { 1942s 'client_region': self.meta.region_name, 1942s 'client_config': self.meta.config, 1942s 'has_streaming_input': operation_model.has_streaming_input, 1942s 'auth_type': operation_model.resolved_auth_type, 1942s 'unsigned_payload': operation_model.unsigned_payload, 1942s 'auth_options': self._service_model.metadata.get('auth'), 1942s } 1942s  1942s api_params = self._emit_api_params( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s context=request_context, 1942s ) 1942s ( 1942s endpoint_url, 1942s additional_headers, 1942s properties, 1942s ) = self._resolve_endpoint_ruleset( 1942s operation_model, api_params, request_context 1942s ) 1942s if properties: 1942s # Pass arbitrary endpoint info with the Request 1942s # for use during construction. 1942s request_context['endpoint_properties'] = properties 1942s request_dict = self._convert_to_request_dict( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s endpoint_url=endpoint_url, 1942s context=request_context, 1942s headers=additional_headers, 1942s ) 1942s resolve_checksum_context(request_dict, operation_model, api_params) 1942s  1942s service_id = self._service_model.service_id.hyphenize() 1942s handler, event_response = self.meta.events.emit_until_response( 1942s f'before-call.{service_id}.{operation_name}', 1942s model=operation_model, 1942s params=request_dict, 1942s request_signer=self._request_signer, 1942s context=request_context, 1942s ) 1942s  1942s if event_response is not None: 1942s http, parsed_response = event_response 1942s else: 1942s maybe_compress_request( 1942s self.meta.config, request_dict, operation_model 1942s ) 1942s apply_request_checksum(request_dict) 1942s http, parsed_response = self._make_request( 1942s operation_model, request_dict, request_context 1942s ) 1942s  1942s self.meta.events.emit( 1942s f'after-call.{service_id}.{operation_name}', 1942s http_response=http, 1942s parsed=parsed_response, 1942s model=operation_model, 1942s context=request_context, 1942s ) 1942s  1942s if http.status_code >= 300: 1942s error_info = parsed_response.get("Error", {}) 1942s error_code = request_context.get( 1942s 'error_code_override' 1942s ) or error_info.get("Code") 1942s error_class = self.exceptions.from_code(error_code) 1942s > raise error_class(parsed_response, operation_name) 1942s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1942s 1942s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1942s _____________________ test_update_table_metadata_location ______________________ 1942s 1942s @mock_aws 1942s def test_update_table_metadata_location(): 1942s client = boto3.client("s3tables", region_name="us-east-2") 1942s arn = client.create_table_bucket(name="foo")["arn"] 1942s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1942s resp = client.create_table( 1942s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1942s ) 1942s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1942s 1942s tests/test_s3tables/test_s3tables.py:280: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s operation_name = 'GetTable' 1942s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1942s 1942s @with_current_context() 1942s def _make_api_call(self, operation_name, api_params): 1942s operation_model = self._service_model.operation_model(operation_name) 1942s service_name = self._service_model.service_name 1942s history_recorder.record( 1942s 'API_CALL', 1942s { 1942s 'service': service_name, 1942s 'operation': operation_name, 1942s 'params': api_params, 1942s }, 1942s ) 1942s if operation_model.deprecated: 1942s logger.debug( 1942s 'Warning: %s.%s() is deprecated', service_name, operation_name 1942s ) 1942s request_context = { 1942s 'client_region': self.meta.region_name, 1942s 'client_config': self.meta.config, 1942s 'has_streaming_input': operation_model.has_streaming_input, 1942s 'auth_type': operation_model.resolved_auth_type, 1942s 'unsigned_payload': operation_model.unsigned_payload, 1942s 'auth_options': self._service_model.metadata.get('auth'), 1942s } 1942s  1942s api_params = self._emit_api_params( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s context=request_context, 1942s ) 1942s ( 1942s endpoint_url, 1942s additional_headers, 1942s properties, 1942s ) = self._resolve_endpoint_ruleset( 1942s operation_model, api_params, request_context 1942s ) 1942s if properties: 1942s # Pass arbitrary endpoint info with the Request 1942s # for use during construction. 1942s request_context['endpoint_properties'] = properties 1942s request_dict = self._convert_to_request_dict( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s endpoint_url=endpoint_url, 1942s context=request_context, 1942s headers=additional_headers, 1942s ) 1942s resolve_checksum_context(request_dict, operation_model, api_params) 1942s  1942s service_id = self._service_model.service_id.hyphenize() 1942s handler, event_response = self.meta.events.emit_until_response( 1942s f'before-call.{service_id}.{operation_name}', 1942s model=operation_model, 1942s params=request_dict, 1942s request_signer=self._request_signer, 1942s context=request_context, 1942s ) 1942s  1942s if event_response is not None: 1942s http, parsed_response = event_response 1942s else: 1942s maybe_compress_request( 1942s self.meta.config, request_dict, operation_model 1942s ) 1942s apply_request_checksum(request_dict) 1942s http, parsed_response = self._make_request( 1942s operation_model, request_dict, request_context 1942s ) 1942s  1942s self.meta.events.emit( 1942s f'after-call.{service_id}.{operation_name}', 1942s http_response=http, 1942s parsed=parsed_response, 1942s model=operation_model, 1942s context=request_context, 1942s ) 1942s  1942s if http.status_code >= 300: 1942s error_info = parsed_response.get("Error", {}) 1942s error_code = request_context.get( 1942s 'error_code_override' 1942s ) or error_info.get("Code") 1942s error_class = self.exceptions.from_code(error_code) 1942s > raise error_class(parsed_response, operation_name) 1942s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1942s 1942s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1942s _________________________ test_write_metadata_to_table _________________________ 1942s 1942s @mock_aws 1942s def test_write_metadata_to_table() -> None: 1942s client = boto3.client("s3tables", region_name="us-east-2") 1942s arn = client.create_table_bucket(name="foo")["arn"] 1942s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1942s resp = client.create_table( 1942s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1942s ) 1942s  1942s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1942s 1942s tests/test_s3tables/test_s3tables.py:324: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s operation_name = 'GetTable' 1942s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1942s 1942s @with_current_context() 1942s def _make_api_call(self, operation_name, api_params): 1942s operation_model = self._service_model.operation_model(operation_name) 1942s service_name = self._service_model.service_name 1942s history_recorder.record( 1942s 'API_CALL', 1942s { 1942s 'service': service_name, 1942s 'operation': operation_name, 1942s 'params': api_params, 1942s }, 1942s ) 1942s if operation_model.deprecated: 1942s logger.debug( 1942s 'Warning: %s.%s() is deprecated', service_name, operation_name 1942s ) 1942s request_context = { 1942s 'client_region': self.meta.region_name, 1942s 'client_config': self.meta.config, 1942s 'has_streaming_input': operation_model.has_streaming_input, 1942s 'auth_type': operation_model.resolved_auth_type, 1942s 'unsigned_payload': operation_model.unsigned_payload, 1942s 'auth_options': self._service_model.metadata.get('auth'), 1942s } 1942s  1942s api_params = self._emit_api_params( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s context=request_context, 1942s ) 1942s ( 1942s endpoint_url, 1942s additional_headers, 1942s properties, 1942s ) = self._resolve_endpoint_ruleset( 1942s operation_model, api_params, request_context 1942s ) 1942s if properties: 1942s # Pass arbitrary endpoint info with the Request 1942s # for use during construction. 1942s request_context['endpoint_properties'] = properties 1942s request_dict = self._convert_to_request_dict( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s endpoint_url=endpoint_url, 1942s context=request_context, 1942s headers=additional_headers, 1942s ) 1942s resolve_checksum_context(request_dict, operation_model, api_params) 1942s  1942s service_id = self._service_model.service_id.hyphenize() 1942s handler, event_response = self.meta.events.emit_until_response( 1942s f'before-call.{service_id}.{operation_name}', 1942s model=operation_model, 1942s params=request_dict, 1942s request_signer=self._request_signer, 1942s context=request_context, 1942s ) 1942s  1942s if event_response is not None: 1942s http, parsed_response = event_response 1942s else: 1942s maybe_compress_request( 1942s self.meta.config, request_dict, operation_model 1942s ) 1942s apply_request_checksum(request_dict) 1942s http, parsed_response = self._make_request( 1942s operation_model, request_dict, request_context 1942s ) 1942s  1942s self.meta.events.emit( 1942s f'after-call.{service_id}.{operation_name}', 1942s http_response=http, 1942s parsed=parsed_response, 1942s model=operation_model, 1942s context=request_context, 1942s ) 1942s  1942s if http.status_code >= 300: 1942s error_info = parsed_response.get("Error", {}) 1942s error_code = request_context.get( 1942s 'error_code_override' 1942s ) or error_info.get("Code") 1942s error_class = self.exceptions.from_code(error_code) 1942s > raise error_class(parsed_response, operation_name) 1942s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1942s 1942s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1942s _________ test_underlying_table_storage_does_not_support_list_objects __________ 1942s 1942s @mock_aws 1942s def test_underlying_table_storage_does_not_support_list_objects() -> None: 1942s client = boto3.client("s3tables", region_name="us-east-2") 1942s arn = client.create_table_bucket(name="foo")["arn"] 1942s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1942s resp = client.create_table( 1942s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1942s ) 1942s  1942s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1942s 1942s tests/test_s3tables/test_s3tables.py:356: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s operation_name = 'GetTable' 1942s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1942s 1942s @with_current_context() 1942s def _make_api_call(self, operation_name, api_params): 1942s operation_model = self._service_model.operation_model(operation_name) 1942s service_name = self._service_model.service_name 1942s history_recorder.record( 1942s 'API_CALL', 1942s { 1942s 'service': service_name, 1942s 'operation': operation_name, 1942s 'params': api_params, 1942s }, 1942s ) 1942s if operation_model.deprecated: 1942s logger.debug( 1942s 'Warning: %s.%s() is deprecated', service_name, operation_name 1942s ) 1942s request_context = { 1942s 'client_region': self.meta.region_name, 1942s 'client_config': self.meta.config, 1942s 'has_streaming_input': operation_model.has_streaming_input, 1942s 'auth_type': operation_model.resolved_auth_type, 1942s 'unsigned_payload': operation_model.unsigned_payload, 1942s 'auth_options': self._service_model.metadata.get('auth'), 1942s } 1942s  1942s api_params = self._emit_api_params( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s context=request_context, 1942s ) 1942s ( 1942s endpoint_url, 1942s additional_headers, 1942s properties, 1942s ) = self._resolve_endpoint_ruleset( 1942s operation_model, api_params, request_context 1942s ) 1942s if properties: 1942s # Pass arbitrary endpoint info with the Request 1942s # for use during construction. 1942s request_context['endpoint_properties'] = properties 1942s request_dict = self._convert_to_request_dict( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s endpoint_url=endpoint_url, 1942s context=request_context, 1942s headers=additional_headers, 1942s ) 1942s resolve_checksum_context(request_dict, operation_model, api_params) 1942s  1942s service_id = self._service_model.service_id.hyphenize() 1942s handler, event_response = self.meta.events.emit_until_response( 1942s f'before-call.{service_id}.{operation_name}', 1942s model=operation_model, 1942s params=request_dict, 1942s request_signer=self._request_signer, 1942s context=request_context, 1942s ) 1942s  1942s if event_response is not None: 1942s http, parsed_response = event_response 1942s else: 1942s maybe_compress_request( 1942s self.meta.config, request_dict, operation_model 1942s ) 1942s apply_request_checksum(request_dict) 1942s http, parsed_response = self._make_request( 1942s operation_model, request_dict, request_context 1942s ) 1942s  1942s self.meta.events.emit( 1942s f'after-call.{service_id}.{operation_name}', 1942s http_response=http, 1942s parsed=parsed_response, 1942s model=operation_model, 1942s context=request_context, 1942s ) 1942s  1942s if http.status_code >= 300: 1942s error_info = parsed_response.get("Error", {}) 1942s error_code = request_context.get( 1942s 'error_code_override' 1942s ) or error_info.get("Code") 1942s error_class = self.exceptions.from_code(error_code) 1942s > raise error_class(parsed_response, operation_name) 1942s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1942s 1942s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1942s _________ test_underlying_table_storage_does_not_support_delete_object _________ 1942s 1942s @mock_aws 1942s def test_underlying_table_storage_does_not_support_delete_object() -> None: 1942s client = boto3.client("s3tables", region_name="us-east-2") 1942s arn = client.create_table_bucket(name="foo")["arn"] 1942s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1942s resp = client.create_table( 1942s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1942s ) 1942s  1942s > resp = client.get_table(tableBucketARN=arn, namespace="bar", name="baz") 1942s 1942s tests/test_s3tables/test_s3tables.py:374: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s operation_name = 'GetTable' 1942s api_params = {'name': 'baz', 'namespace': 'bar', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1942s 1942s @with_current_context() 1942s def _make_api_call(self, operation_name, api_params): 1942s operation_model = self._service_model.operation_model(operation_name) 1942s service_name = self._service_model.service_name 1942s history_recorder.record( 1942s 'API_CALL', 1942s { 1942s 'service': service_name, 1942s 'operation': operation_name, 1942s 'params': api_params, 1942s }, 1942s ) 1942s if operation_model.deprecated: 1942s logger.debug( 1942s 'Warning: %s.%s() is deprecated', service_name, operation_name 1942s ) 1942s request_context = { 1942s 'client_region': self.meta.region_name, 1942s 'client_config': self.meta.config, 1942s 'has_streaming_input': operation_model.has_streaming_input, 1942s 'auth_type': operation_model.resolved_auth_type, 1942s 'unsigned_payload': operation_model.unsigned_payload, 1942s 'auth_options': self._service_model.metadata.get('auth'), 1942s } 1942s  1942s api_params = self._emit_api_params( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s context=request_context, 1942s ) 1942s ( 1942s endpoint_url, 1942s additional_headers, 1942s properties, 1942s ) = self._resolve_endpoint_ruleset( 1942s operation_model, api_params, request_context 1942s ) 1942s if properties: 1942s # Pass arbitrary endpoint info with the Request 1942s # for use during construction. 1942s request_context['endpoint_properties'] = properties 1942s request_dict = self._convert_to_request_dict( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s endpoint_url=endpoint_url, 1942s context=request_context, 1942s headers=additional_headers, 1942s ) 1942s resolve_checksum_context(request_dict, operation_model, api_params) 1942s  1942s service_id = self._service_model.service_id.hyphenize() 1942s handler, event_response = self.meta.events.emit_until_response( 1942s f'before-call.{service_id}.{operation_name}', 1942s model=operation_model, 1942s params=request_dict, 1942s request_signer=self._request_signer, 1942s context=request_context, 1942s ) 1942s  1942s if event_response is not None: 1942s http, parsed_response = event_response 1942s else: 1942s maybe_compress_request( 1942s self.meta.config, request_dict, operation_model 1942s ) 1942s apply_request_checksum(request_dict) 1942s http, parsed_response = self._make_request( 1942s operation_model, request_dict, request_context 1942s ) 1942s  1942s self.meta.events.emit( 1942s f'after-call.{service_id}.{operation_name}', 1942s http_response=http, 1942s parsed=parsed_response, 1942s model=operation_model, 1942s context=request_context, 1942s ) 1942s  1942s if http.status_code >= 300: 1942s error_info = parsed_response.get("Error", {}) 1942s error_code = request_context.get( 1942s 'error_code_override' 1942s ) or error_info.get("Code") 1942s error_class = self.exceptions.from_code(error_code) 1942s > raise error_class(parsed_response, operation_name) 1942s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1942s 1942s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1942s ______________________________ test_rename_table _______________________________ 1942s 1942s @mock_aws 1942s def test_rename_table() -> None: 1942s client = boto3.client("s3tables", region_name="us-east-2") 1942s arn = client.create_table_bucket(name="foo")["arn"] 1942s client.create_namespace(tableBucketARN=arn, namespace=["bar"]) 1942s resp = client.create_table( 1942s tableBucketARN=arn, namespace="bar", name="baz", format="ICEBERG" 1942s ) 1942s  1942s client.create_namespace(tableBucketARN=arn, namespace=["bar-two"]) 1942s client.rename_table( 1942s tableBucketARN=arn, 1942s namespace="bar", 1942s name="baz", 1942s newNamespaceName="bar-two", 1942s newName="baz-two", 1942s versionToken=resp["versionToken"], 1942s ) 1942s assert ( 1942s > client.get_table(tableBucketARN=arn, namespace="bar-two", name="baz-two")[ 1942s "name" 1942s ] 1942s == "baz-two" 1942s ) 1942s 1942s tests/test_s3tables/test_s3tables.py:403: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s operation_name = 'GetTable' 1942s api_params = {'name': 'baz-two', 'namespace': 'bar-two', 'tableBucketARN': 'arn:aws:s3tables:us-east-2:123456789012:bucket/foo'} 1942s 1942s @with_current_context() 1942s def _make_api_call(self, operation_name, api_params): 1942s operation_model = self._service_model.operation_model(operation_name) 1942s service_name = self._service_model.service_name 1942s history_recorder.record( 1942s 'API_CALL', 1942s { 1942s 'service': service_name, 1942s 'operation': operation_name, 1942s 'params': api_params, 1942s }, 1942s ) 1942s if operation_model.deprecated: 1942s logger.debug( 1942s 'Warning: %s.%s() is deprecated', service_name, operation_name 1942s ) 1942s request_context = { 1942s 'client_region': self.meta.region_name, 1942s 'client_config': self.meta.config, 1942s 'has_streaming_input': operation_model.has_streaming_input, 1942s 'auth_type': operation_model.resolved_auth_type, 1942s 'unsigned_payload': operation_model.unsigned_payload, 1942s 'auth_options': self._service_model.metadata.get('auth'), 1942s } 1942s  1942s api_params = self._emit_api_params( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s context=request_context, 1942s ) 1942s ( 1942s endpoint_url, 1942s additional_headers, 1942s properties, 1942s ) = self._resolve_endpoint_ruleset( 1942s operation_model, api_params, request_context 1942s ) 1942s if properties: 1942s # Pass arbitrary endpoint info with the Request 1942s # for use during construction. 1942s request_context['endpoint_properties'] = properties 1942s request_dict = self._convert_to_request_dict( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s endpoint_url=endpoint_url, 1942s context=request_context, 1942s headers=additional_headers, 1942s ) 1942s resolve_checksum_context(request_dict, operation_model, api_params) 1942s  1942s service_id = self._service_model.service_id.hyphenize() 1942s handler, event_response = self.meta.events.emit_until_response( 1942s f'before-call.{service_id}.{operation_name}', 1942s model=operation_model, 1942s params=request_dict, 1942s request_signer=self._request_signer, 1942s context=request_context, 1942s ) 1942s  1942s if event_response is not None: 1942s http, parsed_response = event_response 1942s else: 1942s maybe_compress_request( 1942s self.meta.config, request_dict, operation_model 1942s ) 1942s apply_request_checksum(request_dict) 1942s http, parsed_response = self._make_request( 1942s operation_model, request_dict, request_context 1942s ) 1942s  1942s self.meta.events.emit( 1942s f'after-call.{service_id}.{operation_name}', 1942s http_response=http, 1942s parsed=parsed_response, 1942s model=operation_model, 1942s context=request_context, 1942s ) 1942s  1942s if http.status_code >= 300: 1942s error_info = parsed_response.get("Error", {}) 1942s error_code = request_context.get( 1942s 'error_code_override' 1942s ) or error_info.get("Code") 1942s error_class = self.exceptions.from_code(error_code) 1942s > raise error_class(parsed_response, operation_name) 1942s E botocore.exceptions.ClientError: An error occurred (404) when calling the GetTable operation: Not yet implemented 1942s 1942s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1942s ___________________________ test_s3tables_get_table ____________________________ 1942s 1942s bucket_name = 'table-bucketjqseokoipm' 1942s 1942s def test_s3tables_get_table(bucket_name: str): 1942s backend = server.create_backend_app("s3tables") 1942s test_client = backend.test_client() 1942s  1942s resp = test_client.put("/buckets", json={"name": bucket_name}) 1942s arn = resp.get_json()["arn"] 1942s  1942s quoted_arn = quote(arn, safe="") 1942s resp = test_client.put(f"/namespaces/{quoted_arn}", json={"namespace": ["bar"]}) 1942s  1942s resp = test_client.put( 1942s f"/tables/{quoted_arn}/bar", json={"name": "baz", "format": "ICEBERG"} 1942s ) 1942s  1942s resp = test_client.get(f"/tables/{quoted_arn}/bar/baz") 1942s > assert resp.status_code == 200 1942s E assert 404 == 200 1942s E + where 404 = .status_code 1942s 1942s tests/test_s3tables/test_server.py:126: AssertionError 1942s ___________________ test_invoke_fake_function_from_sqs_queue ___________________ 1942s 1942s @mock_aws(config={"lambda": {"use_docker": False}}) 1942s def test_invoke_fake_function_from_sqs_queue(): 1942s if not settings.TEST_DECORATOR_MODE: 1942s raise SkipTest("Can only set Config in DecoratorMode") 1942s logs_conn = boto3.client("logs", region_name="us-east-1") 1942s sqs = boto3.resource("sqs", region_name="us-east-1") 1942s queue_name = str(uuid.uuid4())[0:6] 1942s queue = sqs.create_queue(QueueName=queue_name) 1942s  1942s fn_name = str(uuid.uuid4())[0:6] 1942s conn = boto3.client("lambda", region_name="us-east-1") 1942s func = conn.create_function( 1942s FunctionName=fn_name, 1942s Runtime="python3.11", 1942s Role=get_role_name(), 1942s Handler="lambda_function.lambda_handler", 1942s Code={"ZipFile": b"n/a"}, 1942s ) 1942s  1942s > conn.create_event_source_mapping( 1942s EventSourceArn=queue.attributes["QueueArn"], FunctionName=func["FunctionArn"] 1942s ) 1942s 1942s tests/test_sqs/test_sqs_integration.py:94: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s operation_name = 'CreateEventSourceMapping' 1942s api_params = {'EventSourceArn': 'arn:aws:sqs:us-east-1:123456789012:3951c8', 'FunctionName': 'arn:aws:lambda:us-east-1:123456789012:function:3c2559'} 1942s 1942s @with_current_context() 1942s def _make_api_call(self, operation_name, api_params): 1942s operation_model = self._service_model.operation_model(operation_name) 1942s service_name = self._service_model.service_name 1942s history_recorder.record( 1942s 'API_CALL', 1942s { 1942s 'service': service_name, 1942s 'operation': operation_name, 1942s 'params': api_params, 1942s }, 1942s ) 1942s if operation_model.deprecated: 1942s logger.debug( 1942s 'Warning: %s.%s() is deprecated', service_name, operation_name 1942s ) 1942s request_context = { 1942s 'client_region': self.meta.region_name, 1942s 'client_config': self.meta.config, 1942s 'has_streaming_input': operation_model.has_streaming_input, 1942s 'auth_type': operation_model.resolved_auth_type, 1942s 'unsigned_payload': operation_model.unsigned_payload, 1942s 'auth_options': self._service_model.metadata.get('auth'), 1942s } 1942s  1942s api_params = self._emit_api_params( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s context=request_context, 1942s ) 1942s ( 1942s endpoint_url, 1942s additional_headers, 1942s properties, 1942s ) = self._resolve_endpoint_ruleset( 1942s operation_model, api_params, request_context 1942s ) 1942s if properties: 1942s # Pass arbitrary endpoint info with the Request 1942s # for use during construction. 1942s request_context['endpoint_properties'] = properties 1942s request_dict = self._convert_to_request_dict( 1942s api_params=api_params, 1942s operation_model=operation_model, 1942s endpoint_url=endpoint_url, 1942s context=request_context, 1942s headers=additional_headers, 1942s ) 1942s resolve_checksum_context(request_dict, operation_model, api_params) 1942s  1942s service_id = self._service_model.service_id.hyphenize() 1942s handler, event_response = self.meta.events.emit_until_response( 1942s f'before-call.{service_id}.{operation_name}', 1942s model=operation_model, 1942s params=request_dict, 1942s request_signer=self._request_signer, 1942s context=request_context, 1942s ) 1942s  1942s if event_response is not None: 1942s http, parsed_response = event_response 1942s else: 1942s maybe_compress_request( 1942s self.meta.config, request_dict, operation_model 1942s ) 1942s apply_request_checksum(request_dict) 1942s http, parsed_response = self._make_request( 1942s operation_model, request_dict, request_context 1942s ) 1942s  1942s self.meta.events.emit( 1942s f'after-call.{service_id}.{operation_name}', 1942s http_response=http, 1942s parsed=parsed_response, 1942s model=operation_model, 1942s context=request_context, 1942s ) 1942s  1942s if http.status_code >= 300: 1942s error_info = parsed_response.get("Error", {}) 1942s error_code = request_context.get( 1942s 'error_code_override' 1942s ) or error_info.get("Code") 1942s error_class = self.exceptions.from_code(error_code) 1942s > raise error_class(parsed_response, operation_name) 1942s E botocore.exceptions.ClientError: An error occurred (404) when calling the CreateEventSourceMapping operation: Not yet implemented 1942s 1942s /usr/lib/python3/dist-packages/botocore/client.py:1078: ClientError 1942s ____________________________ test_create_workspaces ____________________________ 1942s 1942s @mock_aws 1942s def test_create_workspaces(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:31: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-18bd05c208', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s __________ test_create_workspaces_with_auto_stop_timeout_and_alwayson __________ 1942s 1942s @mock_aws 1942s def test_create_workspaces_with_auto_stop_timeout_and_alwayson(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:111: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-b2f3e2dda5', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ___________ test_create_workspaces_with_auto_stop_timeout_and_manual ___________ 1942s 1942s @mock_aws 1942s def test_create_workspaces_with_auto_stop_timeout_and_manual(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:137: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-1df0352fd2', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ___________________________ test_describe_workspaces ___________________________ 1942s 1942s @mock_aws 1942s def test_describe_workspaces(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:163: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-a8773162c2', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s _____________ test_describe_workspaces_with_directory_and_username _____________ 1942s 1942s @mock_aws 1942s def test_describe_workspaces_with_directory_and_username(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:188: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-718605123d', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s _________________ test_describe_workspaces_invalid_parameters __________________ 1942s 1942s @mock_aws 1942s def test_describe_workspaces_invalid_parameters(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:211: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-fb079ecc35', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s _________________ test_describe_workspaces_only_user_name_used _________________ 1942s 1942s @mock_aws 1942s def test_describe_workspaces_only_user_name_used(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:246: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-8c9fdba7ea', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ______________________ test_register_workspace_directory _______________________ 1942s 1942s @mock_aws 1942s def test_register_workspace_directory(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:268: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-11402c4bc2', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ____________ test_register_workspace_directory_enable_self_service _____________ 1942s 1942s @mock_aws 1942s def test_register_workspace_directory_enable_self_service(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory( 1942s DirectoryId=directory_id, 1942s EnableWorkDocs=True, 1942s EnableSelfService=True, 1942s Tenancy="DEDICATED", 1942s ) 1942s 1942s tests/test_workspaces/test_workspaces.py:281: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-3141e3150d', 'EnableSelfService': True, 'EnableWorkDocs': True, 'Tenancy': 'DEDICATED'} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ________________ test_register_workspace_directory_with_subnets ________________ 1942s 1942s @mock_aws 1942s def test_register_workspace_directory_with_subnets(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:304: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-3db7343730', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s _____________________ test_describe_workspace_directories ______________________ 1942s 1942s @mock_aws 1942s def test_describe_workspace_directories(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s for _ in range(2): 1942s directory_id = create_directory() 1942s > client.register_workspace_directory( 1942s DirectoryId=directory_id, 1942s EnableWorkDocs=True, 1942s ) 1942s 1942s tests/test_workspaces/test_workspaces.py:318: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-816f40c7f9', 'EnableWorkDocs': True} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ____________ test_describe_workspace_directories_with_directory_id _____________ 1942s 1942s @mock_aws 1942s def test_describe_workspace_directories_with_directory_id(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory( 1942s DirectoryId=directory_id, 1942s EnableWorkDocs=True, 1942s ) 1942s 1942s tests/test_workspaces/test_workspaces.py:347: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-3acb2fb2b4', 'EnableWorkDocs': True} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s __________________ test_modify_workspace_creation_properties ___________________ 1942s 1942s @mock_aws 1942s def test_modify_workspace_creation_properties(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s ec2_client = boto3.client("ec2", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s sg = create_security_group(client=ec2_client) 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:372: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-81a09fd34b', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s __________ test_modify_workspace_creation_properties_invalid_request ___________ 1942s 1942s @mock_aws 1942s def test_modify_workspace_creation_properties_invalid_request(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s ec2_client = boto3.client("ec2", region_name="eu-west-1") 1942s sg = create_security_group(client=ec2_client) 1942s with pytest.raises(ClientError) as exc: 1942s > client.modify_workspace_creation_properties( 1942s ResourceId="d-9067f6c44b", # Invalid DirectoryID 1942s WorkspaceCreationProperties={ 1942s "EnableWorkDocs": False, 1942s "CustomSecurityGroupId": sg["GroupId"], 1942s }, 1942s ) 1942s 1942s tests/test_workspaces/test_workspaces.py:394: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'ResourceId': 'd-9067f6c44b', 'WorkspaceCreationProperties': {'CustomSecurityGroupId': 'sg-04ac59e038f531334', 'EnableWorkDocs': False}} 1942s operation_model = OperationModel(name=ModifyWorkspaceCreationProperties) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in WorkspaceCreationProperties: "EnableWorkDocs", must be one of: EnableInternetAccess, DefaultOu, CustomSecurityGroupId, UserEnabledAsLocalAdministrator, EnableMaintenanceMode, InstanceIamRoleArn 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s _______________________________ test_create_tags _______________________________ 1942s 1942s @mock_aws 1942s def test_create_tags(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory( 1942s DirectoryId=directory_id, 1942s EnableWorkDocs=True, 1942s Tags=[ 1942s {"Key": "foo1", "Value": "bar1"}, 1942s ], 1942s ) 1942s 1942s tests/test_workspaces/test_workspaces.py:409: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-e1ee0edb62', 'EnableWorkDocs': True, 'Tags': [{'Key': 'foo1', 'Value': 'bar1'}]} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ______________________________ test_describe_tags ______________________________ 1942s 1942s @mock_aws 1942s def test_describe_tags(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory( 1942s DirectoryId=directory_id, 1942s EnableWorkDocs=True, 1942s Tags=[ 1942s {"Key": "foo", "Value": "bar"}, 1942s ], 1942s ) 1942s 1942s tests/test_workspaces/test_workspaces.py:430: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-fa73b1b62e', 'EnableWorkDocs': True, 'Tags': [{'Key': 'foo', 'Value': 'bar'}]} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s _______________________ test_describe_client_properties ________________________ 1942s 1942s @mock_aws 1942s def test_describe_client_properties(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory( 1942s DirectoryId=directory_id, 1942s EnableWorkDocs=True, 1942s ) 1942s 1942s tests/test_workspaces/test_workspaces.py:445: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-40d9d5f2e0', 'EnableWorkDocs': True} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ________________________ test_modify_client_properties _________________________ 1942s 1942s @mock_aws 1942s def test_modify_client_properties(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory( 1942s DirectoryId=directory_id, 1942s EnableWorkDocs=True, 1942s ) 1942s 1942s tests/test_workspaces/test_workspaces.py:457: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-90fbf43def', 'EnableWorkDocs': True} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s _________________________ test_create_workspace_image __________________________ 1942s 1942s @mock_aws 1942s def test_create_workspace_image(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:478: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-3425b9126d', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s __________________ test_create_workspace_image_already_exists __________________ 1942s 1942s @mock_aws 1942s def test_create_workspace_image_already_exists(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:520: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-f8b7cde199', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ________________________ test_describe_workspace_images ________________________ 1942s 1942s @mock_aws 1942s def test_describe_workspace_images(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:550: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-192067a9d5', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s ____________________ test_update_workspace_image_permission ____________________ 1942s 1942s @mock_aws 1942s def test_update_workspace_image_permission(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:581: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-4d9717b5d4', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s __________________ test_describe_workspace_image_permissions ___________________ 1942s 1942s @mock_aws 1942s def test_describe_workspace_image_permissions(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:614: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-21a6b58dfd', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s _____________________ test_deregister_workspace_directory ______________________ 1942s 1942s @mock_aws 1942s def test_deregister_workspace_directory(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s directory_id = create_directory() 1942s > client.register_workspace_directory(DirectoryId=directory_id, EnableWorkDocs=False) 1942s 1942s tests/test_workspaces/test_workspaces.py:651: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-1ce8bfe409', 'EnableWorkDocs': False} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s _____________________ test_modify_selfservice_permissions ______________________ 1942s 1942s @mock_aws 1942s def test_modify_selfservice_permissions(): 1942s client = boto3.client("workspaces", region_name="eu-west-1") 1942s  1942s directory_id = create_directory() 1942s > client.register_workspace_directory( 1942s DirectoryId=directory_id, 1942s EnableWorkDocs=True, 1942s ) 1942s 1942s tests/test_workspaces/test_workspaces.py:664: 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s /usr/lib/python3/dist-packages/botocore/client.py:602: in _api_call 1942s return self._make_api_call(operation_name, kwargs) 1942s /usr/lib/python3/dist-packages/botocore/context.py:123: in wrapper 1942s return func(*args, **kwargs) 1942s /usr/lib/python3/dist-packages/botocore/client.py:1035: in _make_api_call 1942s request_dict = self._convert_to_request_dict( 1942s /usr/lib/python3/dist-packages/botocore/client.py:1102: in _convert_to_request_dict 1942s request_dict = self._serializer.serialize_to_request( 1942s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1942s 1942s self = 1942s parameters = {'DirectoryId': 'd-099bb63c4c', 'EnableWorkDocs': True} 1942s operation_model = OperationModel(name=RegisterWorkspaceDirectory) 1942s 1942s def serialize_to_request(self, parameters, operation_model): 1942s input_shape = operation_model.input_shape 1942s if input_shape is not None: 1942s report = self._param_validator.validate( 1942s parameters, operation_model.input_shape 1942s ) 1942s if report.has_errors(): 1942s > raise ParamValidationError(report=report.generate_report()) 1942s E botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s E Unknown parameter in input: "EnableWorkDocs", must be one of: DirectoryId, SubnetIds, EnableSelfService, Tenancy, Tags, WorkspaceDirectoryName, WorkspaceDirectoryDescription, UserIdentityType, IdcInstanceArn, MicrosoftEntraConfig, WorkspaceType, ActiveDirectoryConfig 1942s 1942s /usr/lib/python3/dist-packages/botocore/validate.py:381: ParamValidationError 1942s =============================== warnings summary =============================== 1942s tests/test_core/test_docker.py:11 1942s /tmp/autopkgtest.k9BufF/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 1942s @pytest.mark.order(0) 1942s 1942s tests/test_core/test_docker.py:24 1942s /tmp/autopkgtest.k9BufF/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 1942s @pytest.mark.order(0) 1942s 1942s ../../../../usr/lib/python3/dist-packages/aws_xray_sdk/core/sampling/default_sampler.py:5 1942s /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 1942s from pkg_resources import resource_filename 1942s 1942s tests/test_cognitoidp/test_cognitoidp.py: 36 warnings 1942s /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). 1942s timestamp = self.get_cognito_formatted_timestamp(datetime.datetime.utcnow()) 1942s 1942s tests/test_ec2/test_key_pairs.py::test_key_pairs_invalid_boto3 1942s /usr/lib/python3/dist-packages/moto/ec2/utils.py:759: CryptographyDeprecationWarning: SSH DSA keys are deprecated and will be removed in a future release. 1942s public_key = serialization.load_ssh_public_key(key_material) 1942s 1942s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1942s =========================== short test summary info ============================ 1942s 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... 1942s 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... 1942s 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... 1942s 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... 1942s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_create_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1942s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_list_event_source_mappings - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1942s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_get_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1942s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_update_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1942s FAILED tests/test_awslambda/test_lambda_eventsourcemapping.py::test_delete_event_source_mapping - botocore.exceptions.ClientError: An error occurred (404) when calling the C... 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_describe_flow_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_delete_flow_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_start_stop_flow_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_unknown_flow - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_tag_resource_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_vpc_interfaces_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_vpc_interfaces_fails - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_vpc_interface_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_vpc_interface_fails - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_outputs_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_outputs_fails - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_output_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_output_fails - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_output_fails - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_remove_flow_output_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_sources_fails - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_add_flow_sources_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_source_fails - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_source_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_grant_flow_entitlements_fails - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_grant_flow_entitlements_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_revoke_flow_entitlement_fails - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_revoke_flow_entitlement_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_entitlement_fails - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_mediaconnect/test_mediaconnect.py::test_update_flow_entitlement_succeeds - TypeError: argument of type 'NoneType' is not iterable 1942s FAILED tests/test_opsworks/test_apps.py::test_create_app_response - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1942s FAILED tests/test_opsworks/test_apps.py::test_describe_apps - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1942s FAILED tests/test_opsworks/test_instances.py::test_create_instance - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1942s FAILED tests/test_opsworks/test_instances.py::test_describe_instances - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1942s FAILED tests/test_opsworks/test_instances.py::test_ec2_integration - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1942s FAILED tests/test_opsworks/test_layers.py::test_create_layer_response - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1942s FAILED tests/test_opsworks/test_layers.py::test_describe_layers - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1942s FAILED tests/test_opsworks/test_stack.py::test_create_stack_response - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1942s FAILED tests/test_opsworks/test_stack.py::test_describe_stacks - botocore.exceptions.UnknownServiceError: Unknown service: 'opsworks'. Valid... 1942s FAILED tests/test_rds/test_rds_proxy.py::test_create_db_proxy - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_rds/test_rds_proxy.py::test_describe_db_proxies - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_rds/test_rds_proxy.py::test_list_tags_db_proxy - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_rds/test_rds_proxy.py::test_create_db_proxy_invalid_subnet - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_rds/test_rds_proxy.py::test_create_db_proxy_duplicate_name - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py::test_get_resources_workspaces - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py::test_get_resources_workspace_directories - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py::test_get_resources_workspace_images - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_robomaker/test_robomaker.py::test_robot_application - botocore.exceptions.UnknownServiceError: Unknown service: 'robomaker'. Vali... 1942s FAILED tests/test_s3/test_s3_lock.py::test_locked_object_governance_mode[bypass] - AssertionError: assert 'Deleted' in {'Errors': [{'Code': 'AccessDenied', 'K... 1942s FAILED tests/test_s3tables/test_s3tables.py::test_get_table - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1942s 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... 1942s FAILED tests/test_s3tables/test_s3tables.py::test_update_table_metadata_location - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1942s FAILED tests/test_s3tables/test_s3tables.py::test_write_metadata_to_table - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1942s 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... 1942s 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... 1942s FAILED tests/test_s3tables/test_s3tables.py::test_rename_table - botocore.exceptions.ClientError: An error occurred (404) when calling the G... 1942s FAILED tests/test_s3tables/test_server.py::test_s3tables_get_table - assert 404 == 200 1942s 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... 1942s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspaces - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspaces_with_auto_stop_timeout_and_alwayson - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspaces_with_auto_stop_timeout_and_manual - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces_with_directory_and_username - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces_invalid_parameters - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspaces_only_user_name_used - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_register_workspace_directory - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_register_workspace_directory_enable_self_service - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_register_workspace_directory_with_subnets - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_directories - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_directories_with_directory_id - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_modify_workspace_creation_properties - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_modify_workspace_creation_properties_invalid_request - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_create_tags - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_describe_tags - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_describe_client_properties - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_modify_client_properties - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspace_image - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_create_workspace_image_already_exists - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_images - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_update_workspace_image_permission - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_describe_workspace_image_permissions - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_deregister_workspace_directory - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s FAILED tests/test_workspaces/test_workspaces.py::test_modify_selfservice_permissions - botocore.exceptions.ParamValidationError: Parameter validation failed: 1942s ERROR tests/test_qldb/test_qldb.py::test_create_describe_update_and_delete_ledger - botocore.exceptions.UnknownServiceError: Unknown service: 'qldb'. Valid ser... 1942s ERROR tests/test_qldb/test_qldb.py::test_tag_resource_and_list_tags_for_resource - botocore.exceptions.UnknownServiceError: Unknown service: 'qldb'. Valid ser... 1942s = 87 failed, 9715 passed, 16 skipped, 140 deselected, 40 warnings, 2 errors in 802.16s (0:13:22) = 1947s E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.k9BufF/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 1947s pybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p "3.14 3.13" returned exit code 13 1947s make: *** [/tmp/6tOZlkQ2Ey/run:4: pybuild-autopkgtest] Error 25 1947s pybuild-autopkgtest: error: /tmp/6tOZlkQ2Ey/run pybuild-autopkgtest returned exit code 2 1947s autopkgtest [11:03:24]: test pybuild-autopkgtest: -----------------------] 1951s pybuild-autopkgtest FAIL non-zero exit status 25 1951s autopkgtest [11:03:28]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 1955s autopkgtest [11:03:32]: @@@@@@@@@@@@@@@@@@@@ summary 1955s pybuild-autopkgtest FAIL non-zero exit status 25