From b0f18f3440e085a0e661d9a89d60df03eb5f9b09 Mon Sep 17 00:00:00 2001 From: Kushal Das Date: Wed, 30 Sep 2020 21:55:09 +0530 Subject: [PATCH 1/9] Updates pytest and pluggy to the latest We need the newer version of pluggy and pytest to make sure that the tests are running on Focal and Xenial in the same way. --- securedrop/bin/run-test | 1 + .../python3/develop-requirements.in | 4 +- .../python3/develop-requirements.txt | 51 ++++++++++---- .../python3/setuptools-requirements.in | 1 + .../python3/setuptools-requirements.txt | 11 +++ .../requirements/python3/test-requirements.in | 5 +- .../python3/test-requirements.txt | 68 +++++++++++++------ 7 files changed, 102 insertions(+), 39 deletions(-) create mode 100644 securedrop/requirements/python3/setuptools-requirements.in create mode 100644 securedrop/requirements/python3/setuptools-requirements.txt diff --git a/securedrop/bin/run-test b/securedrop/bin/run-test index 4cbd5ce784..31b9632456 100755 --- a/securedrop/bin/run-test +++ b/securedrop/bin/run-test @@ -37,6 +37,7 @@ mkdir -p "../test-results" export PAGE_LAYOUT_LOCALES export TOR_FORCE_NET_CONFIG=0 + pytest \ --force-flaky --max-runs=3 \ --page-layout \ diff --git a/securedrop/requirements/python3/develop-requirements.in b/securedrop/requirements/python3/develop-requirements.in index c0272f4b66..1d50310d8f 100644 --- a/securedrop/requirements/python3/develop-requirements.in +++ b/securedrop/requirements/python3/develop-requirements.in @@ -18,12 +18,14 @@ mypy>=0.761 # http://docs.ansible.com/ansible/latest/playbooks_filters_ipaddr.html netaddr # Now also pin pip due to https://github.com/jazzband/pip-tools/issues/853 +pathlib2==2.3.5; python_version < '3.6' pip==19.3.1 pip-tools==4.5.1 psutil>=5.6.6 pyenchant pylint>=2.5.0 -pytest-xdist +pytest>=6.1.1 +pytest-xdist>=2.1.0 python-vagrant pyyaml>=5.3.1 ruamel.yaml>=0.16.10 diff --git a/securedrop/requirements/python3/develop-requirements.txt b/securedrop/requirements/python3/develop-requirements.txt index a0fa6b801a..91c1e9e028 100644 --- a/securedrop/requirements/python3/develop-requirements.txt +++ b/securedrop/requirements/python3/develop-requirements.txt @@ -51,6 +51,10 @@ astroid==2.4.0 \ --hash=sha256:29fa5d46a2404d01c834fcb802a3943685f1fc538eb2a02a161349f5505ac196 \ --hash=sha256:2fecea42b20abb1922ed65c7b5be27edfba97211b04b2b6abc6a43549a024ea6 \ # via pylint +attrs==20.2.0 \ + --hash=sha256:26b54ddbbb9ee1d34d5d3668dd37d6cf74990ab23c828c2888dccdceee395594 \ + --hash=sha256:fce7fc47dfc976152e82d53ff92fa0407700c21acd20886a13777a0d20e655dc \ + # via pytest bandit==1.4.0 \ --hash=sha256:cb977045497f83ec3a02616973ab845c829cdab8144ce2e757fe031104a9abd4 \ --hash=sha256:de4cc19d6ba32d6f542c6a1ddadb4404571347d83ef1ed1e7afb7d0b38e0c25b \ @@ -257,11 +261,15 @@ idna==2.5 \ importlib-metadata==0.23 \ --hash=sha256:aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26 \ --hash=sha256:d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af \ - # via importlib-resources, pre-commit + # via importlib-resources, pluggy, pre-commit, pytest importlib-resources==1.5.0 \ --hash=sha256:6f87df66833e1942667108628ec48900e02a4ab4ad850e25fbf07cb17cf734ca \ --hash=sha256:85dc0b9b325ff78c8bef2e4ff42616094e16b98ebd5e3b50fe7e2f0bbcdcde49 \ # via -r requirements/python3/develop-requirements.in, pre-commit +iniconfig==1.0.1 \ + --hash=sha256:80cf40c597eb564e86346103f609d74efce0f6b4d4f30ec8ce9e2c26411ba437 \ + --hash=sha256:e5f92f89355a67de0595932a6c6c02ab4afddc6fcdc0bfc5becd0d60884d3f69 \ + # via pytest isort==4.2.15 \ --hash=sha256:79f46172d3a4e2e53e7016e663cc7a8b538bec525c36675fcfd2767df30b3983 \ --hash=sha256:cd5d3fc2c16006b567a17193edf4ed9830d9454cbeb5a42ac80b36ea00c23db4 \ @@ -382,11 +390,15 @@ nodeenv==1.3.3 \ packaging==16.8 \ --hash=sha256:5d50835fdf0a7edf0b55e311b7c887786504efea1177abd7e69329a8e5ea619e \ --hash=sha256:99276dc6e3a7851f32027a68f1095cd3f77c148091b092ea867a351811cfe388 \ - # via dparse, safety + # via dparse, pytest, safety paramiko==2.6.0 \ --hash=sha256:99f0179bdc176281d21961a003ffdb2ec369daac1a1007241f53374e376576cf \ --hash=sha256:f4b2edfa0d226b70bd4ca31ea7e389325990283da23465d572ed1f70a7583041 \ # via molecule +pathlib2==2.3.5 ; python_version < "3.6" \ + --hash=sha256:0ec8205a157c80d7acc301c0b18fbd5d44fe655968f5d947b6ecef5290fc35db \ + --hash=sha256:6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868 \ + # via -r requirements/python3/develop-requirements.in, pytest pathspec==0.5.5 \ --hash=sha256:72c495d1bbe76674219e307f6d1c6062f2e1b0b483a5e4886435127d0df3d0d3 \ # via yamllint @@ -402,6 +414,10 @@ pip-tools==4.5.1 \ --hash=sha256:693f30e451875796b1b25203247f0b4cf48a4c4a5ab7341f4f33ffd498cdcc98 \ --hash=sha256:be9c796aa88b2eec5cabf1323ba1cb60a08212b84bfb75b8b4037a8ef8cb8cb6 \ # via -r requirements/python3/develop-requirements.in +pluggy==0.13.1 \ + --hash=sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0 \ + --hash=sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d \ + # via pytest poyo==0.4.1 \ --hash=sha256:103b4ee3e1c7765098fe1cabe43f828db2e2a6079646561a2117e1a809f352d6 \ --hash=sha256:230ec11c2f35a23410c1f0e474f09fa4e203686f40ab3adca7b039c845d8c325 \ @@ -432,10 +448,10 @@ ptyprocess==0.5.2 \ --hash=sha256:e64193f0047ad603b71f202332ab5527c5e52aa7c8b609704fc28c0dc20c4365 \ --hash=sha256:e8c43b5eee76b2083a9badde89fd1bbce6c8942d1045146e100b7b5e014f4f1a \ # via pexpect -py==1.4.34 \ - --hash=sha256:0f2d585d22050e90c7d293b6451c83db097df77871974d90efd5a30dc12fcde3 \ - --hash=sha256:2ccb79b01769d99115aa600d7eed99f524bf752bba8f041dc1c184853514655a \ - # via pytest +py==1.9.0 \ + --hash=sha256:366389d1db726cd2fcfc79732e75410e5fe4d31db13692115529d34069a043c2 \ + --hash=sha256:9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342 \ + # via pytest, pytest-forked pycodestyle==2.5.0 \ --hash=sha256:95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56 \ --hash=sha256:e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c \ @@ -490,13 +506,18 @@ pyparsing==2.2.0 \ --hash=sha256:0832bcf47acd283788593e7a0f542407bd9550a55a8a8435214a1960e04bcb04 \ --hash=sha256:fee43f17a9c4087e7ed1605bd6df994c6173c1e977d7ade7b651292fab2bd010 \ # via packaging -pytest-xdist==1.18.2 \ - --hash=sha256:10468377901b80255cf192c4603a94ffe8b1f071f5c912868da5f5cb91170dae \ +pytest-forked==1.3.0 \ + --hash=sha256:6aa9ac7e00ad1a539c41bec6d21011332de671e938c7637378ec9710204e37ca \ + --hash=sha256:dc4147784048e70ef5d437951728825a131b81714b398d5d52f17c7c144d8815 \ + # via pytest-xdist +pytest-xdist==2.1.0 \ + --hash=sha256:7c629016b3bb006b88ac68e2b31551e7becf173c76b977768848e2bbed594d90 \ + --hash=sha256:82d938f1a24186520e2d9d3a64ef7d9ac7ecdf1a0659e095d18e596b8cbd0672 \ # via -r requirements/python3/develop-requirements.in -pytest==3.2.0 \ - --hash=sha256:0225cf10b9e173f84729d5f4648211458a222c6e53a77a85e104bc5f31c244ee \ - --hash=sha256:d994b4f28c6d449a467ad3d336544945a0dcf350e3b7b301219547ef5aa8125e \ - # via pytest-xdist, testinfra +pytest==6.1.1 \ + --hash=sha256:7a8190790c17d79a11f847fba0b004ee9a8122582ebff4729a082c109e81a4c9 \ + --hash=sha256:8f593023c1a0f916110285b6efd7f99db07d59546e3d8c36fc60e2ab05d3be92 \ + # via -r requirements/python3/develop-requirements.in, pytest-forked, pytest-xdist, testinfra python-dateutil==2.6.1 \ --hash=sha256:891c38b2a02f5bb1be3e4793866c8df49c7d19baabf9c1bad62547e0b4866aca \ --hash=sha256:95511bae634d69bc7329ba55e646499a842bc4ec342ad54a8cdb65645a0aad3c \ @@ -566,7 +587,7 @@ sh==1.12.14 \ six==1.15.0 \ --hash=sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259 \ --hash=sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced \ - # via -r ../admin/requirements.in, ansible-lint, argon2-cffi, astroid, bandit, bcrypt, cfgv, click-completion, cryptography, docker-py, docker-pycreds, dparse, fasteners, git-url-parse, molecule, packaging, pip-tools, pre-commit, prompt-toolkit, pynacl, python-dateutil, stevedore, testinfra, websocket-client + # via -r ../admin/requirements.in, ansible-lint, argon2-cffi, astroid, bandit, bcrypt, cfgv, click-completion, cryptography, docker-py, docker-pycreds, dparse, fasteners, git-url-parse, molecule, packaging, pathlib2, pip-tools, pre-commit, prompt-toolkit, pynacl, python-dateutil, stevedore, testinfra, websocket-client smmap2==2.0.3 \ --hash=sha256:b78ee0f1f5772d69ff50b1cbdb01b8c6647a8354f02f23b488cf4b2cfc923956 \ --hash=sha256:c7530db63f15f09f8251094b22091298e82bf6c699a6b8344aaaef3f2e1276c3 \ @@ -588,7 +609,7 @@ testinfra==3.2.0 \ toml==0.10.0 \ --hash=sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c \ --hash=sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e \ - # via pre-commit, pylint + # via pre-commit, pylint, pytest tree-format==0.1.2 \ --hash=sha256:a538523aa78ae7a4b10003b04f3e1b37708e0e089d99c9d3b9e1c71384c9a7f9 \ --hash=sha256:b5056228dbedde1fb81b79f71fb0c23c98e9d365230df9b29af76e8d8003de11 \ @@ -661,4 +682,4 @@ pip==19.3.1 \ setuptools==46.0.0 \ --hash=sha256:2f00f25b780fbfd0787e46891dcccd805b08d007621f24629025f48afef444b5 \ --hash=sha256:693e0504490ed8420522bf6bc3aa4b0da6a9f1c80c68acfb4e959275fd04cd82 \ - # via -r ../admin/requirements.in, -r requirements/python3/develop-requirements.in, pytest, safety + # via -r ../admin/requirements.in, -r requirements/python3/develop-requirements.in, safety diff --git a/securedrop/requirements/python3/setuptools-requirements.in b/securedrop/requirements/python3/setuptools-requirements.in new file mode 100644 index 0000000000..43a52d2059 --- /dev/null +++ b/securedrop/requirements/python3/setuptools-requirements.in @@ -0,0 +1 @@ +setuptools==46.0.0 diff --git a/securedrop/requirements/python3/setuptools-requirements.txt b/securedrop/requirements/python3/setuptools-requirements.txt new file mode 100644 index 0000000000..75b2770c2c --- /dev/null +++ b/securedrop/requirements/python3/setuptools-requirements.txt @@ -0,0 +1,11 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# pip-compile --allow-unsafe --generate-hashes --output-file=requirements/python3/setuptools-requirements.txt requirements/python3/setuptools-requirements.in +# + +# The following packages are considered to be unsafe in a requirements file: +setuptools==46.0.0 \ + --hash=sha256:2f00f25b780fbfd0787e46891dcccd805b08d007621f24629025f48afef444b5 \ + --hash=sha256:693e0504490ed8420522bf6bc3aa4b0da6a9f1c80c68acfb4e959275fd04cd82 diff --git a/securedrop/requirements/python3/test-requirements.in b/securedrop/requirements/python3/test-requirements.in index 31cfb9726e..f98b0ee158 100644 --- a/securedrop/requirements/python3/test-requirements.in +++ b/securedrop/requirements/python3/test-requirements.in @@ -4,10 +4,13 @@ Flask-Testing flaky markupsafe>=1.1 mock +pathlib2 pillow>=7.2.0 pip-tools==4.5.1 py -pytest +pytest>=6.1.1 +pytest-xdist>=2.1.0 +pluggy>=0.13.1 pytest-cov pytest-mock hypothesis diff --git a/securedrop/requirements/python3/test-requirements.txt b/securedrop/requirements/python3/test-requirements.txt index e30e9ca5e2..d839cbe450 100644 --- a/securedrop/requirements/python3/test-requirements.txt +++ b/securedrop/requirements/python3/test-requirements.txt @@ -4,10 +4,10 @@ # # pip-compile --allow-unsafe --generate-hashes --output-file=requirements/python3/test-requirements.txt requirements/python3/test-requirements.in # -atomicwrites==1.3.0 \ - --hash=sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4 \ - --hash=sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6 \ - # via pytest +apipkg==1.5 \ + --hash=sha256:37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6 \ + --hash=sha256:58587dd4dc3daefad0487f6d9ae32b4542b185e1c36db6993290e7c41ca2b47c \ + # via execnet attrs==17.4.0 \ --hash=sha256:1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9 \ --hash=sha256:a17a9573a6f475c99b551c0e0a812707ddda1ec9653bed04c13841404ed6f450 \ @@ -69,6 +69,10 @@ coverage==4.4.2 \ easyprocess==0.2.3 \ --hash=sha256:94e241cadc9a46f55b5c06000df85618849602e7e1865b8de87576b90a22e61f \ # via pyvirtualdisplay +execnet==1.7.1 \ + --hash=sha256:cacb9df31c9680ec5f95553976c4da484d407e85e41c83cb812aa014f0eddc50 \ + --hash=sha256:d4efd397930c46415f62f8a31388d6be4f27a91d7550eb79bc64a756e0056547 \ + # via pytest-xdist flaky==3.6.0 \ --hash=sha256:36fa125bceebfe869739b62e203db4653488dff09615e5a4f3d7607d48363c6a \ --hash=sha256:c24e321b3b4b4a2d323b646acff6738e7601849832f4280864d69f00a6a9869d \ @@ -92,7 +96,11 @@ idna==2.8 \ importlib-metadata==0.18 \ --hash=sha256:6dfd58dfe281e8d240937776065dd3624ad5469c835248219bd16cf2e12dbeb7 \ --hash=sha256:cb6ee23b46173539939964df59d3d72c3e0c1b5d54b84f1d8a7e912fe43612db \ - # via pluggy + # via pluggy, pytest +iniconfig==1.0.1 \ + --hash=sha256:80cf40c597eb564e86346103f609d74efce0f6b4d4f30ec8ce9e2c26411ba437 \ + --hash=sha256:e5f92f89355a67de0595932a6c6c02ab4afddc6fcdc0bfc5becd0d60884d3f69 \ + # via pytest itsdangerous==0.24 \ --hash=sha256:cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519 \ # via flask @@ -139,14 +147,14 @@ mock==2.0.0 \ --hash=sha256:5ce3c71c5545b472da17b72268978914d0252980348636840bd34a00b5cc96c1 \ --hash=sha256:b158b6df76edd239b8208d481dc46b6afd45a846b7812ff0ce58971cf5bc8bba \ # via -r requirements/python3/test-requirements.in -more-itertools==7.1.0 \ - --hash=sha256:3ad685ff8512bf6dc5a8b82ebf73543999b657eded8c11803d9ba6b648986f4d \ - --hash=sha256:8bb43d1f51ecef60d81854af61a3a880555a14643691cc4b64a6ee269c78f09a \ +packaging==20.4 \ + --hash=sha256:4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8 \ + --hash=sha256:998416ba6962ae7fbd6596850b80e17859a5753ba17c32284f67bfff33784181 \ # via pytest pathlib2==2.3.5 \ --hash=sha256:0ec8205a157c80d7acc301c0b18fbd5d44fe655968f5d947b6ecef5290fc35db \ --hash=sha256:6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868 \ - # via pytest + # via -r requirements/python3/test-requirements.in, pytest pbr==3.1.1 \ --hash=sha256:05f61c71aaefc02d8e37c0a3eeb9815ff526ea28b3b76324769e6158d7f95be1 \ --hash=sha256:60c25b7dfd054ef9bb0ae327af949dd4676aa09ac3a9471cdc871d8a9213f9ac \ @@ -183,14 +191,18 @@ pip-tools==4.5.1 \ --hash=sha256:693f30e451875796b1b25203247f0b4cf48a4c4a5ab7341f4f33ffd498cdcc98 \ --hash=sha256:be9c796aa88b2eec5cabf1323ba1cb60a08212b84bfb75b8b4037a8ef8cb8cb6 \ # via -r requirements/python3/test-requirements.in -pluggy==0.12.0 \ - --hash=sha256:0825a152ac059776623854c1543d65a4ad408eb3d33ee114dff91e57ec6ae6fc \ - --hash=sha256:b9817417e95936bf75d85d3f8767f7df6cdde751fc40aed3bb3074cbcb77757c \ - # via pytest -py==1.5.2 \ - --hash=sha256:8cca5c229d225f8c1e3085be4fcf306090b00850fefad892f9d96c7b6e2f310f \ - --hash=sha256:ca18943e28235417756316bfada6cd96b23ce60dd532642690dcfdaba988a76d \ +pluggy==0.13.1 \ + --hash=sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0 \ + --hash=sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d \ # via -r requirements/python3/test-requirements.in, pytest +py==1.9.0 \ + --hash=sha256:366389d1db726cd2fcfc79732e75410e5fe4d31db13692115529d34069a043c2 \ + --hash=sha256:9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342 \ + # via -r requirements/python3/test-requirements.in, pytest, pytest-forked +pyparsing==2.4.7 \ + --hash=sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1 \ + --hash=sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b \ + # via packaging pysocks==1.6.8 \ --hash=sha256:3fe52c55890a248676fd69dc9e3c4e811718b777834bcaab7a8125cf9deac672 \ # via requests @@ -198,14 +210,22 @@ pytest-cov==2.5.1 \ --hash=sha256:03aa752cf11db41d281ea1d807d954c4eda35cfa1b21d6971966cc041bbf6e2d \ --hash=sha256:890fe5565400902b0c78b5357004aab1c814115894f4f21370e2433256a3eeec \ # via -r requirements/python3/test-requirements.in +pytest-forked==1.3.0 \ + --hash=sha256:6aa9ac7e00ad1a539c41bec6d21011332de671e938c7637378ec9710204e37ca \ + --hash=sha256:dc4147784048e70ef5d437951728825a131b81714b398d5d52f17c7c144d8815 \ + # via pytest-xdist pytest-mock==1.7.1 \ --hash=sha256:03a2fea79d0a83a8de2e77e92afe5f0a5ca99a58cc68f843f9a74de34800a943 \ --hash=sha256:b879dff61e31fcd4727c227c182f15f222a155293cc64ed5a02d55e0020cf949 \ # via -r requirements/python3/test-requirements.in -pytest==3.10 \ - --hash=sha256:630ff1dbe04f469ee78faa5660f712e58b953da7df22ea5d828c9012e134da43 \ - --hash=sha256:a2b5232735dd0b736cbea9c0f09e5070d78fcaba2823a4f6f09d9a81bd19415c \ - # via -r requirements/python3/test-requirements.in, pytest-cov, pytest-mock +pytest-xdist==2.1.0 \ + --hash=sha256:7c629016b3bb006b88ac68e2b31551e7becf173c76b977768848e2bbed594d90 \ + --hash=sha256:82d938f1a24186520e2d9d3a64ef7d9ac7ecdf1a0659e095d18e596b8cbd0672 \ + # via -r requirements/python3/test-requirements.in +pytest==6.1.1 \ + --hash=sha256:7a8190790c17d79a11f847fba0b004ee9a8122582ebff4729a082c109e81a4c9 \ + --hash=sha256:8f593023c1a0f916110285b6efd7f99db07d59546e3d8c36fc60e2ab05d3be92 \ + # via -r requirements/python3/test-requirements.in, pytest-cov, pytest-forked, pytest-mock, pytest-xdist pyvirtualdisplay==0.2.1 \ --hash=sha256:012883851a992f9c53f0dc6a512765a95cf241bdb734af79e6bdfef95c6e9982 \ # via -r requirements/python3/test-requirements.in @@ -220,11 +240,15 @@ selenium==3.141.0 \ six==1.11.0 \ --hash=sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9 \ --hash=sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb \ - # via mock, pathlib2, pip-tools, pytest + # via mock, packaging, pathlib2, pip-tools tbselenium==0.4.2 \ --hash=sha256:9f39b7285103442cc389623e1dedc3ef08b1475afd5076bba1d947d92a348d0b \ --hash=sha256:e24ff69f610ca294093f399099407124c7ffc6a8325e7d9ca19e93ffc5eb91df \ # via -r requirements/python3/test-requirements.in +toml==0.10.1 \ + --hash=sha256:926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f \ + --hash=sha256:bda89d5935c2eac546d648028b9901107a595863cb36bae0c73ac804a9b4ce88 \ + # via pytest urllib3==1.25.10 \ --hash=sha256:91056c15fa70756691db97756772bb1eb9678fa585d9184f24534b100dc60f4a \ --hash=sha256:e7983572181f5e1522d9c98453462384ee92a0be7fac5f1413a1e35c56cc0461 \ @@ -242,4 +266,4 @@ zipp==0.5.1 \ setuptools==46.0.0 \ --hash=sha256:2f00f25b780fbfd0787e46891dcccd805b08d007621f24629025f48afef444b5 \ --hash=sha256:693e0504490ed8420522bf6bc3aa4b0da6a9f1c80c68acfb4e959275fd04cd82 \ - # via -r requirements/python3/test-requirements.in, pytest + # via -r requirements/python3/test-requirements.in From ed1c14506a965c02059b529ecea4162f4cde1f60 Mon Sep 17 00:00:00 2001 From: Kushal Das Date: Fri, 9 Oct 2020 19:22:41 +0530 Subject: [PATCH 2/9] Updates molecule+testinfra+pytest+pytest-xdist+ Also updates pluggy+molecule-vagrant as dependency Why? Because the testinfra updates requires molecule update. Updated the molecule files for the new molecule in the `libvirt-staging-xenial` scenario. Also contains all testinfra tests update, as pytest_namespace is dropped in the pytest. `molecule test -s libvirt-staging-xenial` now works. --- molecule/libvirt-staging-xenial/create.yml | 2 +- molecule/libvirt-staging-xenial/destroy.yml | 2 +- molecule/libvirt-staging-xenial/molecule.yml | 12 ++-- molecule/testinfra/app-code/test_haveged.py | 4 +- .../app-code/test_securedrop_app_code.py | 4 +- .../app-code/test_securedrop_rqrequeue.py | 7 +- .../app-code/test_securedrop_rqworker.py | 6 +- .../test_securedrop_shredder_configuration.py | 6 +- ...securedrop_source_deleter_configuration.py | 7 +- .../test_apache_journalist_interface.py | 3 +- .../app/apache/test_apache_service.py | 3 +- .../apache/test_apache_source_interface.py | 4 +- .../app/apache/test_apache_system_config.py | 4 +- molecule/testinfra/app/test_app_network.py | 4 +- molecule/testinfra/app/test_apparmor.py | 4 +- molecule/testinfra/app/test_appenv.py | 4 +- molecule/testinfra/app/test_ossec_agent.py | 4 +- molecule/testinfra/app/test_paxctld.py | 4 +- molecule/testinfra/app/test_tor_config.py | 4 +- .../testinfra/app/test_tor_hidden_services.py | 3 +- molecule/testinfra/common/test_cron_apt.py | 4 +- .../testinfra/common/test_fpf_apt_repo.py | 5 +- molecule/testinfra/common/test_grsecurity.py | 3 +- molecule/testinfra/common/test_ip6tables.py | 4 +- molecule/testinfra/common/test_platform.py | 4 +- .../testinfra/common/test_release_upgrades.py | 4 +- .../testinfra/common/test_system_hardening.py | 4 +- molecule/testinfra/common/test_tor_mirror.py | 4 +- molecule/testinfra/common/test_user_config.py | 4 +- molecule/testinfra/conftest.py | 19 ++++- molecule/testinfra/mon/test_mon_network.py | 3 +- molecule/testinfra/mon/test_ossec_ruleset.py | 4 +- molecule/testinfra/mon/test_ossec_server.py | 3 +- molecule/testinfra/mon/test_postfix.py | 3 +- molecule/testinfra/testutils.py | 1 + .../python3/develop-requirements.in | 6 +- .../python3/develop-requirements.txt | 72 ++++++++++++------- 37 files changed, 162 insertions(+), 76 deletions(-) create mode 100644 molecule/testinfra/testutils.py diff --git a/molecule/libvirt-staging-xenial/create.yml b/molecule/libvirt-staging-xenial/create.yml index ffe945c5c2..7e6b416f85 100644 --- a/molecule/libvirt-staging-xenial/create.yml +++ b/molecule/libvirt-staging-xenial/create.yml @@ -9,7 +9,7 @@ tasks: - name: Create molecule instance(s) - molecule_vagrant: + vagrant: instance_name: "{{ item.name }}" instance_interfaces: "{{ item.interfaces | default(omit) }}" instance_raw_config_args: "{{ item.instance_raw_config_args | default(omit) }}" diff --git a/molecule/libvirt-staging-xenial/destroy.yml b/molecule/libvirt-staging-xenial/destroy.yml index c287e47d88..3645c7c90f 100644 --- a/molecule/libvirt-staging-xenial/destroy.yml +++ b/molecule/libvirt-staging-xenial/destroy.yml @@ -10,7 +10,7 @@ molecule_ephemeral_directory: "{{ lookup('env', 'MOLECULE_EPHEMERAL_DIRECTORY') }}" tasks: - name: Destroy molecule instance(s) - molecule_vagrant: + vagrant: instance_name: "{{ item.name }}" platform_box: "{{ item.box }}" provider_name: "{{ molecule_yml.driver.provider.name }}" diff --git a/molecule/libvirt-staging-xenial/molecule.yml b/molecule/libvirt-staging-xenial/molecule.yml index 9e4aa92714..6ac6b01a00 100644 --- a/molecule/libvirt-staging-xenial/molecule.yml +++ b/molecule/libvirt-staging-xenial/molecule.yml @@ -3,8 +3,8 @@ driver: name: vagrant provider: name: libvirt -lint: - name: yamllint +lint: | + yamllint platforms: - name: app-staging @@ -41,8 +41,8 @@ platforms: provisioner: name: ansible - lint: - name: ansible-lint + lint: | + ansible-lint config_options: defaults: interpreter_python: auto @@ -65,8 +65,8 @@ scenario: - verify verifier: name: testinfra - lint: - name: flake8 + lint: | + flake8 directory: ../testinfra options: n: auto diff --git a/molecule/testinfra/app-code/test_haveged.py b/molecule/testinfra/app-code/test_haveged.py index b693820528..f2ab797910 100644 --- a/molecule/testinfra/app-code/test_haveged.py +++ b/molecule/testinfra/app-code/test_haveged.py @@ -1,6 +1,8 @@ import pytest -sdvars = pytest.securedrop_test_vars +import testutils + +sdvars = testutils.securedrop_test_vars testinfra_hosts = [sdvars.app_hostname] diff --git a/molecule/testinfra/app-code/test_securedrop_app_code.py b/molecule/testinfra/app-code/test_securedrop_app_code.py index a6b0656d6d..d9ec00b5c3 100644 --- a/molecule/testinfra/app-code/test_securedrop_app_code.py +++ b/molecule/testinfra/app-code/test_securedrop_app_code.py @@ -1,7 +1,9 @@ import pytest -securedrop_test_vars = pytest.securedrop_test_vars +import testutils + +securedrop_test_vars = testutils.securedrop_test_vars testinfra_hosts = [securedrop_test_vars.app_hostname] python_version = securedrop_test_vars.python_version diff --git a/molecule/testinfra/app-code/test_securedrop_rqrequeue.py b/molecule/testinfra/app-code/test_securedrop_rqrequeue.py index dbbb36fad5..08f71d9f41 100644 --- a/molecule/testinfra/app-code/test_securedrop_rqrequeue.py +++ b/molecule/testinfra/app-code/test_securedrop_rqrequeue.py @@ -1,14 +1,15 @@ import pytest -sdvars = pytest.securedrop_test_vars -testinfra_hosts = [sdvars.app_hostname] +import testutils + +securedrop_test_vars = testutils.securedrop_test_vars +testinfra_hosts = [securedrop_test_vars.app_hostname] def test_securedrop_rqrequeue_service(host): """ Verify configuration of securedrop_rqrequeue systemd service. """ - securedrop_test_vars = pytest.securedrop_test_vars service_file = "/lib/systemd/system/securedrop_rqrequeue.service" expected_content = "\n".join([ "[Unit]", diff --git a/molecule/testinfra/app-code/test_securedrop_rqworker.py b/molecule/testinfra/app-code/test_securedrop_rqworker.py index 01ff07d398..d5ff1d7fa2 100644 --- a/molecule/testinfra/app-code/test_securedrop_rqworker.py +++ b/molecule/testinfra/app-code/test_securedrop_rqworker.py @@ -1,6 +1,8 @@ import pytest -sdvars = pytest.securedrop_test_vars +import testutils + +sdvars = testutils.securedrop_test_vars testinfra_hosts = [sdvars.app_hostname] @@ -8,7 +10,7 @@ def test_securedrop_rqworker_service(host): """ Verify configuration of securedrop_rqworker systemd service. """ - securedrop_test_vars = pytest.securedrop_test_vars + securedrop_test_vars = sdvars service_file = "/lib/systemd/system/securedrop_rqworker.service" expected_content = "\n".join([ diff --git a/molecule/testinfra/app-code/test_securedrop_shredder_configuration.py b/molecule/testinfra/app-code/test_securedrop_shredder_configuration.py index ed709227be..213e5c0e28 100644 --- a/molecule/testinfra/app-code/test_securedrop_shredder_configuration.py +++ b/molecule/testinfra/app-code/test_securedrop_shredder_configuration.py @@ -1,6 +1,8 @@ import pytest -sdvars = pytest.securedrop_test_vars +import testutils + +sdvars = testutils.securedrop_test_vars testinfra_hosts = [sdvars.app_hostname] @@ -8,7 +10,7 @@ def test_securedrop_shredder_service(host): """ Verify configuration of securedrop_shredder systemd service. """ - securedrop_test_vars = pytest.securedrop_test_vars + securedrop_test_vars = sdvars service_file = "/lib/systemd/system/securedrop_shredder.service" expected_content = "\n".join([ "[Unit]", diff --git a/molecule/testinfra/app-code/test_securedrop_source_deleter_configuration.py b/molecule/testinfra/app-code/test_securedrop_source_deleter_configuration.py index 82f1030892..14c48c47f1 100644 --- a/molecule/testinfra/app-code/test_securedrop_source_deleter_configuration.py +++ b/molecule/testinfra/app-code/test_securedrop_source_deleter_configuration.py @@ -1,14 +1,15 @@ import pytest -sdvars = pytest.securedrop_test_vars -testinfra_hosts = [sdvars.app_hostname] +import testutils + +securedrop_test_vars = testutils.securedrop_test_vars +testinfra_hosts = [securedrop_test_vars.app_hostname] def test_securedrop_source_deleter_service(host): """ Verify configuration of securedrop_source_deleter systemd service. """ - securedrop_test_vars = pytest.securedrop_test_vars service_file = "/lib/systemd/system/securedrop_source_deleter.service" expected_content = "\n".join([ "[Unit]", diff --git a/molecule/testinfra/app/apache/test_apache_journalist_interface.py b/molecule/testinfra/app/apache/test_apache_journalist_interface.py index e2d109572b..2a60da4865 100644 --- a/molecule/testinfra/app/apache/test_apache_journalist_interface.py +++ b/molecule/testinfra/app/apache/test_apache_journalist_interface.py @@ -1,8 +1,9 @@ import pytest import re +import testutils -securedrop_test_vars = pytest.securedrop_test_vars +securedrop_test_vars = testutils.securedrop_test_vars testinfra_hosts = [securedrop_test_vars.app_hostname] # Setting once so it can be reused in multiple tests. diff --git a/molecule/testinfra/app/apache/test_apache_service.py b/molecule/testinfra/app/apache/test_apache_service.py index 0bd2628a5d..7f65598745 100644 --- a/molecule/testinfra/app/apache/test_apache_service.py +++ b/molecule/testinfra/app/apache/test_apache_service.py @@ -1,7 +1,8 @@ import pytest +import testutils -securedrop_test_vars = pytest.securedrop_test_vars +securedrop_test_vars = testutils.securedrop_test_vars testinfra_hosts = [securedrop_test_vars.app_hostname] diff --git a/molecule/testinfra/app/apache/test_apache_source_interface.py b/molecule/testinfra/app/apache/test_apache_source_interface.py index fd460b7a15..6230ba271e 100644 --- a/molecule/testinfra/app/apache/test_apache_source_interface.py +++ b/molecule/testinfra/app/apache/test_apache_source_interface.py @@ -1,7 +1,9 @@ import pytest import re -securedrop_test_vars = pytest.securedrop_test_vars +import testutils + +securedrop_test_vars = testutils.securedrop_test_vars testinfra_hosts = [securedrop_test_vars.app_hostname] diff --git a/molecule/testinfra/app/apache/test_apache_system_config.py b/molecule/testinfra/app/apache/test_apache_system_config.py index 0b363fc013..c8a7ee6471 100644 --- a/molecule/testinfra/app/apache/test_apache_system_config.py +++ b/molecule/testinfra/app/apache/test_apache_system_config.py @@ -1,7 +1,9 @@ import pytest import re -securedrop_test_vars = pytest.securedrop_test_vars +import testutils + +securedrop_test_vars = testutils.securedrop_test_vars testinfra_hosts = [securedrop_test_vars.app_hostname] diff --git a/molecule/testinfra/app/test_app_network.py b/molecule/testinfra/app/test_app_network.py index e2fb69ce05..54bad13572 100644 --- a/molecule/testinfra/app/test_app_network.py +++ b/molecule/testinfra/app/test_app_network.py @@ -5,7 +5,9 @@ from jinja2 import Template -securedrop_test_vars = pytest.securedrop_test_vars +import testutils + +securedrop_test_vars = testutils.securedrop_test_vars testinfra_hosts = [securedrop_test_vars.app_hostname] diff --git a/molecule/testinfra/app/test_apparmor.py b/molecule/testinfra/app/test_apparmor.py index 459d17dfa9..0a4c78b06b 100644 --- a/molecule/testinfra/app/test_apparmor.py +++ b/molecule/testinfra/app/test_apparmor.py @@ -1,7 +1,9 @@ import pytest -sdvars = pytest.securedrop_test_vars +import testutils + +sdvars = testutils.securedrop_test_vars testinfra_hosts = [sdvars.app_hostname] diff --git a/molecule/testinfra/app/test_appenv.py b/molecule/testinfra/app/test_appenv.py index 7e01465b03..0cb4478bda 100644 --- a/molecule/testinfra/app/test_appenv.py +++ b/molecule/testinfra/app/test_appenv.py @@ -1,7 +1,9 @@ import os.path import pytest -sdvars = pytest.securedrop_test_vars +import testutils + +sdvars = testutils.securedrop_test_vars testinfra_hosts = [sdvars.app_hostname] diff --git a/molecule/testinfra/app/test_ossec_agent.py b/molecule/testinfra/app/test_ossec_agent.py index 333ff562e0..e861e2f0cc 100644 --- a/molecule/testinfra/app/test_ossec_agent.py +++ b/molecule/testinfra/app/test_ossec_agent.py @@ -2,7 +2,9 @@ import re import pytest -sdvars = pytest.securedrop_test_vars +import testutils + +sdvars = testutils.securedrop_test_vars testinfra_hosts = [sdvars.app_hostname] diff --git a/molecule/testinfra/app/test_paxctld.py b/molecule/testinfra/app/test_paxctld.py index 47ab9d5f6a..88b8afa82b 100644 --- a/molecule/testinfra/app/test_paxctld.py +++ b/molecule/testinfra/app/test_paxctld.py @@ -2,7 +2,9 @@ import re -securedrop_test_vars = pytest.securedrop_test_vars +import testutils + +securedrop_test_vars = testutils.securedrop_test_vars testinfra_hosts = [securedrop_test_vars.app_hostname] diff --git a/molecule/testinfra/app/test_tor_config.py b/molecule/testinfra/app/test_tor_config.py index 1e8903057b..a3f769d476 100644 --- a/molecule/testinfra/app/test_tor_config.py +++ b/molecule/testinfra/app/test_tor_config.py @@ -1,7 +1,9 @@ import pytest import re -sdvars = pytest.securedrop_test_vars +import testutils + +sdvars = testutils.securedrop_test_vars testinfra_hosts = [sdvars.app_hostname] diff --git a/molecule/testinfra/app/test_tor_hidden_services.py b/molecule/testinfra/app/test_tor_hidden_services.py index 1721903752..1b74e59800 100644 --- a/molecule/testinfra/app/test_tor_hidden_services.py +++ b/molecule/testinfra/app/test_tor_hidden_services.py @@ -1,8 +1,9 @@ import pytest import re +import testutils -sdvars = pytest.securedrop_test_vars +sdvars = testutils.securedrop_test_vars testinfra_hosts = [sdvars.app_hostname] # Prod Tor services may have unexpected configs diff --git a/molecule/testinfra/common/test_cron_apt.py b/molecule/testinfra/common/test_cron_apt.py index 6b767edaa9..5a0fd9be44 100644 --- a/molecule/testinfra/common/test_cron_apt.py +++ b/molecule/testinfra/common/test_cron_apt.py @@ -1,11 +1,11 @@ import pytest import re +import testutils -test_vars = pytest.securedrop_test_vars +test_vars = testutils.securedrop_test_vars testinfra_hosts = [test_vars.app_hostname, test_vars.monitor_hostname] - @pytest.mark.parametrize('dependency', [ 'cron-apt', 'ntp' diff --git a/molecule/testinfra/common/test_fpf_apt_repo.py b/molecule/testinfra/common/test_fpf_apt_repo.py index cbf7447cea..862f7884eb 100644 --- a/molecule/testinfra/common/test_fpf_apt_repo.py +++ b/molecule/testinfra/common/test_fpf_apt_repo.py @@ -2,10 +2,13 @@ import re -test_vars = pytest.securedrop_test_vars +import testutils + +test_vars = testutils.securedrop_test_vars testinfra_hosts = [test_vars.app_hostname, test_vars.monitor_hostname] + def test_fpf_apt_repo_present(host): """ Ensure the FPF apt repo, apt.freedom.press, is configured. diff --git a/molecule/testinfra/common/test_grsecurity.py b/molecule/testinfra/common/test_grsecurity.py index 3ac7544eb4..b0f2618c2e 100644 --- a/molecule/testinfra/common/test_grsecurity.py +++ b/molecule/testinfra/common/test_grsecurity.py @@ -1,8 +1,9 @@ import pytest import re +import testutils -sdvars = pytest.securedrop_test_vars +sdvars = testutils.securedrop_test_vars KERNEL_VERSION = sdvars.grsec_version testinfra_hosts = [sdvars.app_hostname, sdvars.monitor_hostname] diff --git a/molecule/testinfra/common/test_ip6tables.py b/molecule/testinfra/common/test_ip6tables.py index 29e1267270..ea700d8435 100644 --- a/molecule/testinfra/common/test_ip6tables.py +++ b/molecule/testinfra/common/test_ip6tables.py @@ -1,6 +1,8 @@ import pytest -test_vars = pytest.securedrop_test_vars +import testutils + +test_vars = testutils.securedrop_test_vars testinfra_hosts = [test_vars.app_hostname, test_vars.monitor_hostname] diff --git a/molecule/testinfra/common/test_platform.py b/molecule/testinfra/common/test_platform.py index 35cc13a821..c44db48f75 100644 --- a/molecule/testinfra/common/test_platform.py +++ b/molecule/testinfra/common/test_platform.py @@ -1,6 +1,8 @@ import pytest -test_vars = pytest.securedrop_test_vars +import testutils + +test_vars = testutils.securedrop_test_vars testinfra_hosts = [test_vars.app_hostname, test_vars.monitor_hostname] # We expect Ubuntu Xenial diff --git a/molecule/testinfra/common/test_release_upgrades.py b/molecule/testinfra/common/test_release_upgrades.py index d6134e3eea..126b0e6e29 100644 --- a/molecule/testinfra/common/test_release_upgrades.py +++ b/molecule/testinfra/common/test_release_upgrades.py @@ -1,7 +1,9 @@ import pytest -test_vars = pytest.securedrop_test_vars +import testutils + +test_vars = testutils.securedrop_test_vars testinfra_hosts = [test_vars.app_hostname, test_vars.monitor_hostname] diff --git a/molecule/testinfra/common/test_system_hardening.py b/molecule/testinfra/common/test_system_hardening.py index a3410399a6..84ea254f61 100644 --- a/molecule/testinfra/common/test_system_hardening.py +++ b/molecule/testinfra/common/test_system_hardening.py @@ -1,7 +1,9 @@ import pytest import re -sdvars = pytest.securedrop_test_vars +import testutils + +sdvars = testutils.securedrop_test_vars testinfra_hosts = [sdvars.app_hostname, sdvars.monitor_hostname] diff --git a/molecule/testinfra/common/test_tor_mirror.py b/molecule/testinfra/common/test_tor_mirror.py index ccc7340e98..eb9f218e99 100644 --- a/molecule/testinfra/common/test_tor_mirror.py +++ b/molecule/testinfra/common/test_tor_mirror.py @@ -1,6 +1,8 @@ import pytest -test_vars = pytest.securedrop_test_vars +import testutils + +test_vars = testutils.securedrop_test_vars testinfra_hosts = [test_vars.app_hostname, test_vars.monitor_hostname] diff --git a/molecule/testinfra/common/test_user_config.py b/molecule/testinfra/common/test_user_config.py index 6e2ef4b259..307c1d1edb 100644 --- a/molecule/testinfra/common/test_user_config.py +++ b/molecule/testinfra/common/test_user_config.py @@ -3,7 +3,9 @@ import pytest -sdvars = pytest.securedrop_test_vars +import testutils + +sdvars = testutils.securedrop_test_vars testinfra_hosts = [sdvars.app_hostname, sdvars.monitor_hostname] diff --git a/molecule/testinfra/conftest.py b/molecule/testinfra/conftest.py index 8ed4322f4f..71b8d474ed 100644 --- a/molecule/testinfra/conftest.py +++ b/molecule/testinfra/conftest.py @@ -9,6 +9,8 @@ import io import os import yaml +import pytest +import testutils # The config tests target staging by default. It's possible to override # for e.g. prod, but the associated vars files are not yet ported. @@ -52,5 +54,18 @@ def lookup_molecule_info(): return molecule_instance_config -def pytest_namespace(): - return securedrop_import_testinfra_vars(target_host, with_header=True) +# def pytest_namespace(): + # return securedrop_import_testinfra_vars(target_host, with_header=True) +# @pytest.fixture(autouse=True) +# def set_all_vars(): + # import fight +class Myvalues: + def __init__(self): + pass + +value = securedrop_import_testinfra_vars(target_host) +res = Myvalues() +for key, value in value.items(): + setattr(res, key, value) +testutils.securedrop_test_vars = res + diff --git a/molecule/testinfra/mon/test_mon_network.py b/molecule/testinfra/mon/test_mon_network.py index ac0994b657..a137a95e9b 100644 --- a/molecule/testinfra/mon/test_mon_network.py +++ b/molecule/testinfra/mon/test_mon_network.py @@ -4,8 +4,9 @@ import pytest from jinja2 import Template +import testutils -securedrop_test_vars = pytest.securedrop_test_vars +securedrop_test_vars = testutils.securedrop_test_vars testinfra_hosts = [securedrop_test_vars.monitor_hostname] diff --git a/molecule/testinfra/mon/test_ossec_ruleset.py b/molecule/testinfra/mon/test_ossec_ruleset.py index 0663f68f1f..dd024d7f7c 100644 --- a/molecule/testinfra/mon/test_ossec_ruleset.py +++ b/molecule/testinfra/mon/test_ossec_ruleset.py @@ -1,7 +1,9 @@ import pytest import re -sdvars = pytest.securedrop_test_vars +import testutils + +sdvars = testutils.securedrop_test_vars testinfra_hosts = [sdvars.monitor_hostname] alert_level_regex = re.compile(r"Level: '(\d+)'") rule_id_regex = re.compile(r"Rule id: '(\d+)'") diff --git a/molecule/testinfra/mon/test_ossec_server.py b/molecule/testinfra/mon/test_ossec_server.py index 4d6219dd71..25ca0e87c3 100644 --- a/molecule/testinfra/mon/test_ossec_server.py +++ b/molecule/testinfra/mon/test_ossec_server.py @@ -1,8 +1,9 @@ import os import pytest +import testutils -securedrop_test_vars = pytest.securedrop_test_vars +securedrop_test_vars = testutils.securedrop_test_vars testinfra_hosts = [securedrop_test_vars.monitor_hostname] diff --git a/molecule/testinfra/mon/test_postfix.py b/molecule/testinfra/mon/test_postfix.py index 0f37779902..2a51c9e5cf 100644 --- a/molecule/testinfra/mon/test_postfix.py +++ b/molecule/testinfra/mon/test_postfix.py @@ -1,8 +1,9 @@ import re import pytest +import testutils -securedrop_test_vars = pytest.securedrop_test_vars +securedrop_test_vars = testutils.securedrop_test_vars testinfra_hosts = [securedrop_test_vars.monitor_hostname] diff --git a/molecule/testinfra/testutils.py b/molecule/testinfra/testutils.py new file mode 100644 index 0000000000..383fbd3221 --- /dev/null +++ b/molecule/testinfra/testutils.py @@ -0,0 +1 @@ +securedrop_test_vars = {} diff --git a/securedrop/requirements/python3/develop-requirements.in b/securedrop/requirements/python3/develop-requirements.in index 1d50310d8f..934e894e4a 100644 --- a/securedrop/requirements/python3/develop-requirements.in +++ b/securedrop/requirements/python3/develop-requirements.in @@ -1,3 +1,4 @@ +ansible-lint>=4.2.0 ansible>=2.9.7,<2.10.0 argon2_cffi>=20.1.0 bandit @@ -12,7 +13,8 @@ flake8 html-linter importlib-resources markupsafe>=1.1 -molecule>=2.22 +molecule>=3.0.1 +molecule-vagrant>=0.3 mypy>=0.761 # Needed for ansible network filter # http://docs.ansible.com/ansible/latest/playbooks_filters_ipaddr.html @@ -31,6 +33,6 @@ pyyaml>=5.3.1 ruamel.yaml>=0.16.10 safety>=1.8.7 setuptools>=46.0.0 -testinfra +testinfra>=5.3.1 urllib3>=1.25.9 yamllint diff --git a/securedrop/requirements/python3/develop-requirements.txt b/securedrop/requirements/python3/develop-requirements.txt index 91c1e9e028..52058fcb1c 100644 --- a/securedrop/requirements/python3/develop-requirements.txt +++ b/securedrop/requirements/python3/develop-requirements.txt @@ -4,16 +4,13 @@ # # pip-compile --allow-unsafe --generate-hashes --output-file=requirements/python3/develop-requirements.txt ../admin/requirements-ansible.in ../admin/requirements.in requirements/python3/develop-requirements.in # -ansible-lint==4.1.0 \ - --hash=sha256:9430ea6e654ba4bf5b9c6921efc040f46cda9c4fd2896a99ff71d21037bcb123 \ - --hash=sha256:c1b442b01091eca13ef11d98c3376e9489ba5b69a8467828ca86044f384bc0a1 \ - # via molecule +ansible-lint==4.2.0 \ + --hash=sha256:b9fc9a6564f5d60a4284497f966f38ef78f0e2505edbe2bd1225f1ade31c2d8a \ + --hash=sha256:eb925d8682d70563ccb80e2aca7b3edf84fb0b768cea3edc6846aac7abdc414a \ + # via -r requirements/python3/develop-requirements.in ansible==2.9.7 \ --hash=sha256:7222ce925536a25b2912364e13b03a3e21dbf2f96799ebff304f48509324de7b \ - # via -r ../admin/requirements-ansible.in, -r requirements/python3/develop-requirements.in, ansible-lint, molecule -anyconfig==0.9.7 \ - --hash=sha256:4d6016ae6eecc5e502bc7e99ae0639c5710c5c67bde5f21b06b9eaafd9ce0e7e \ - # via molecule + # via -r ../admin/requirements-ansible.in, -r requirements/python3/develop-requirements.in, ansible-lint, molecule, molecule-vagrant apipkg==1.4 \ --hash=sha256:2e38399dbe842891fe85392601aab8f40a8f4cc5a9053c326de35a1cc0297ac6 \ --hash=sha256:65d2aa68b28e7d31233bb2ba8eb31cda40e4671f8ac2d6b241e358c9652a74b9 \ @@ -158,13 +155,17 @@ chardet==3.0.4 \ --hash=sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae \ --hash=sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691 \ # via binaryornot, requests -click-completion==0.3.1 \ - --hash=sha256:7ca12978493a7450486cef155845af4fae48744c3f97b7250a254de65c9e5e5a \ +click-completion==0.5.2 \ + --hash=sha256:5bf816b81367e638a190b6e91b50779007d14301b3f9f3145d68e3cade7bce86 \ + # via molecule +click-help-colors==0.8 \ + --hash=sha256:0d841a4058ec88c47f93ff6f32547a055f8e0a0273f6bd6cb3e08430f195131d \ + --hash=sha256:119e5faf69cfc919c995c5962326ac8fd87f11e56a371af594e3dfd8458f4c6e \ # via molecule click==7.1.2 \ --hash=sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a \ --hash=sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc \ - # via click-completion, cookiecutter, git-url-parse, molecule, pip-tools, python-gilt, safety + # via click-completion, click-help-colors, cookiecutter, git-url-parse, molecule, pip-tools, python-gilt, safety colorama==0.3.9 \ --hash=sha256:463f8483208e921368c9f306094eb6f725c6ca42b0f97e313cb5d5512459feda \ --hash=sha256:48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1 \ @@ -191,6 +192,10 @@ cryptography==2.7 \ --hash=sha256:f27d93f0139a3c056172ebb5d4f9056e770fdf0206c2f422ff2ebbad142e09ed \ --hash=sha256:f57b76e46a58b63d1c6375017f4564a28f19a5ca912691fd2e4261b3414b618d \ # via -r ../admin/requirements-ansible.in, ansible, paramiko +distro==1.5.0 \ + --hash=sha256:0e58756ae38fbd8fc3020d54badb8eae17c5b9dcbed388b17bb55b8a5928df92 \ + --hash=sha256:df74eed763e18d10d0da624258524ae80486432cd17392d9c3d96f5e83cd2799 \ + # via selinux dnspython==1.15.0 \ --hash=sha256:40f563e1f7a7b80dc5a4e76ad75c23da53d62f1e15e6e517293b04e1f84ead7c \ --hash=sha256:861e6e58faa730f9845aaaa9c6c832851fbf89382ac52915a51f89c71accdd31 \ @@ -230,7 +235,7 @@ fasteners==0.14.1 \ flake8==3.7.7 \ --hash=sha256:859996073f341f2670741b51ec1e67a01da142831aa1fdc6242dbf88dffbe661 \ --hash=sha256:a796a115208f5c03b18f332f7c11729812c8c3ded6c46319c59b53efd3819da8 \ - # via -r requirements/python3/develop-requirements.in, molecule + # via -r requirements/python3/develop-requirements.in future==0.16.0 \ --hash=sha256:e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb \ # via cookiecutter @@ -348,10 +353,14 @@ mccabe==0.6.1 \ --hash=sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42 \ --hash=sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f \ # via flake8, pylint -molecule==2.22 \ - --hash=sha256:12fa4231ed69c6e7f50432588eaace36cea917a8c73c1751269ce55df32ced24 \ - --hash=sha256:d9d7621167041ae2a8eb19f1f8dc23c071cdab2cd3ca80655e2c8796b4c00e09 \ +molecule-vagrant==0.3 \ + --hash=sha256:5fcacbb9544e2736ce206a01c72f25cf74cbfe147df1722930d0373d87499907 \ + --hash=sha256:94b9aec5b1c7b499f549539bdd8d73c74afcce0a20776efd82f3f4ebae40ca98 \ # via -r requirements/python3/develop-requirements.in +molecule==3.0.2.1 \ + --hash=sha256:555514a06687cc798aa67581b6523701b40149a0ddcfd366f7c663904d700e84 \ + --hash=sha256:906e6b1213c72877738a1b764ace722636b0bec5df1a311c27380b63f8d21bb6 \ + # via -r requirements/python3/develop-requirements.in, molecule-vagrant monotonic==1.4 \ --hash=sha256:0bcd2b14e3b7ee7cfde796e408176ceffa01d89646f2e532964ef2aae0c9fa3e \ --hash=sha256:a02611d5b518cd4051bf22d21bd0ae55b3a03f2d2993a19b6c90d9d168691f84 \ @@ -417,7 +426,7 @@ pip-tools==4.5.1 \ pluggy==0.13.1 \ --hash=sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0 \ --hash=sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d \ - # via pytest + # via molecule, pytest poyo==0.4.1 \ --hash=sha256:103b4ee3e1c7765098fe1cabe43f828db2e2a6079646561a2117e1a809f352d6 \ --hash=sha256:230ec11c2f35a23410c1f0e474f09fa4e203686f40ab3adca7b039c845d8c325 \ @@ -443,7 +452,7 @@ psutil==5.7.0 \ --hash=sha256:d84029b190c8a66a946e28b4d3934d2ca1528ec94764b180f7d6ea57b0e75e26 \ --hash=sha256:e2d0c5b07c6fe5a87fa27b7855017edb0d52ee73b71e6ee368fae268605cc3f5 \ --hash=sha256:f344ca230dd8e8d5eee16827596f1c22ec0876127c28e800d7ae20ed44c4b310 \ - # via -r requirements/python3/develop-requirements.in, molecule + # via -r requirements/python3/develop-requirements.in ptyprocess==0.5.2 \ --hash=sha256:e64193f0047ad603b71f202332ab5527c5e52aa7c8b609704fc28c0dc20c4365 \ --hash=sha256:e8c43b5eee76b2083a9badde89fd1bbce6c8942d1045146e100b7b5e014f4f1a \ @@ -529,7 +538,7 @@ python-gilt==1.2.1 \ # via molecule python-vagrant==0.5.15 \ --hash=sha256:af9a8a9802d382d45dbea96aa3cfbe77c6e6ad65b3fe7b7c799d41ab988179c6 \ - # via -r requirements/python3/develop-requirements.in + # via -r requirements/python3/develop-requirements.in, molecule-vagrant pyyaml==5.3.1 \ --hash=sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97 \ --hash=sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76 \ @@ -542,7 +551,7 @@ pyyaml==5.3.1 \ --hash=sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d \ --hash=sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c \ --hash=sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a \ - # via -r ../admin/requirements.in, -r requirements/python3/develop-requirements.in, ansible, ansible-lint, aspy.yaml, bandit, dparse, molecule, pre-commit, python-gilt, yamllint + # via -r ../admin/requirements.in, -r requirements/python3/develop-requirements.in, ansible, ansible-lint, aspy.yaml, bandit, dparse, molecule, molecule-vagrant, pre-commit, python-gilt, yamllint requests==2.22.0 \ --hash=sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4 \ --hash=sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31 \ @@ -580,14 +589,22 @@ safety==1.8.7 \ --hash=sha256:05f77773bbab834502328b29ed013677aa53ed0c22b6e330aef7d2a7e1dfd838 \ --hash=sha256:3016631e0dd17193d6cf12e8ed1af92df399585e8ee0e4b1300d9e7e32b54903 \ # via -r requirements/python3/develop-requirements.in +selinux==0.2.1 \ + --hash=sha256:820adcf1b4451c9cc7759848797703263ba0eb6a4cad76d73548a9e0d57b7926 \ + --hash=sha256:d435f514e834e3fdc0941f6a29d086b80b2ea51b28112aee6254bd104ee42a74 \ + # via molecule-vagrant sh==1.12.14 \ --hash=sha256:ae3258c5249493cebe73cb4e18253a41ed69262484bad36fdb3efcb8ad8870bb \ --hash=sha256:b52bf5833ed01c7b5c5fb73a7f71b3d98d48e9b9b8764236237bdc7ecae850fc \ # via molecule, python-gilt +shellingham==1.3.2 \ + --hash=sha256:576c1982bea0ba82fb46c36feb951319d7f42214a82634233f58b40d858a751e \ + --hash=sha256:7f6206ae169dc1a03af8a138681b3f962ae61cc93ade84d0585cca3aaf770044 \ + # via click-completion six==1.15.0 \ --hash=sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259 \ --hash=sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced \ - # via -r ../admin/requirements.in, ansible-lint, argon2-cffi, astroid, bandit, bcrypt, cfgv, click-completion, cryptography, docker-py, docker-pycreds, dparse, fasteners, git-url-parse, molecule, packaging, pathlib2, pip-tools, pre-commit, prompt-toolkit, pynacl, python-dateutil, stevedore, testinfra, websocket-client + # via -r ../admin/requirements.in, ansible-lint, argon2-cffi, astroid, bandit, bcrypt, cfgv, click-completion, cryptography, docker-py, docker-pycreds, dparse, fasteners, git-url-parse, molecule, packaging, pathlib2, pip-tools, pre-commit, prompt-toolkit, pynacl, python-dateutil, stevedore, websocket-client smmap2==2.0.3 \ --hash=sha256:b78ee0f1f5772d69ff50b1cbdb01b8c6647a8354f02f23b488cf4b2cfc923956 \ --hash=sha256:c7530db63f15f09f8251094b22091298e82bf6c699a6b8344aaaef3f2e1276c3 \ @@ -596,16 +613,17 @@ stevedore==1.28.0 \ --hash=sha256:e3d96b2c4e882ec0c1ff95eaebf7b575a779fd0ccb4c741b9832bed410d58b3d \ --hash=sha256:f1c7518e7b160336040fee272174f1f7b29a46febb3632502a8f2055f973d60b \ # via bandit -tabulate==0.8.3 \ - --hash=sha256:8af07a39377cee1103a5c8b3330a421c2d99b9141e9cc5ddd2e3263fea416943 \ +tabulate==0.8.7 \ + --hash=sha256:ac64cb76d53b1231d364babcd72abbb16855adac7de6665122f97b593f1eb2ba \ + --hash=sha256:db2723a20d04bcda8522165c73eea7c300eda74e0ce852d9022e0159d7895007 \ # via molecule template-remover==0.1.9 \ --hash=sha256:480f1ce63f56affac1edb29356afcca1260e8409cd928fcf9438fc149df5ff41 \ # via html-linter -testinfra==3.2.0 \ - --hash=sha256:16201d64659ec0c2d25f65d6ce1f5367668b7b4eb102450efd4f8983a399d7d0 \ - --hash=sha256:5cebf61fee13c2e83b5e177431e751e243fc779293377c5e0c3b43910bb7e870 \ - # via -r requirements/python3/develop-requirements.in, molecule +testinfra==5.3.1 \ + --hash=sha256:9d3a01fb787253df76ac4ab46d18a84d4b01be877ed1b5812e590dcf480a627e \ + --hash=sha256:baf1d809ea2dc22c0cb5b9441bf4e17c1eb653e1ccc02cc63137d0ab467fa1de \ + # via -r requirements/python3/develop-requirements.in toml==0.10.0 \ --hash=sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c \ --hash=sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e \ @@ -682,4 +700,4 @@ pip==19.3.1 \ setuptools==46.0.0 \ --hash=sha256:2f00f25b780fbfd0787e46891dcccd805b08d007621f24629025f48afef444b5 \ --hash=sha256:693e0504490ed8420522bf6bc3aa4b0da6a9f1c80c68acfb4e959275fd04cd82 \ - # via -r ../admin/requirements.in, -r requirements/python3/develop-requirements.in, safety + # via -r ../admin/requirements.in, -r requirements/python3/develop-requirements.in, safety, selinux From 6ec4db46362fa85cfc7bbfc60e2fa9ab79f948bd Mon Sep 17 00:00:00 2001 From: Kushal Das Date: Tue, 13 Oct 2020 21:35:17 +0530 Subject: [PATCH 3/9] Updates builder-xenial and builder-focal scenario Updates the pytest tests for the newer version of pytest and also molecule.yml as required for newer version of molecule. --- molecule/builder-focal/molecule.yml | 12 +++++----- molecule/builder-xenial/molecule.yml | 12 +++++----- molecule/builder-xenial/tests/conftest.py | 23 ++++++++----------- .../tests/test_securedrop_deb_package.py | 3 ++- molecule/builder-xenial/tests/testutils.py | 13 +++++++++++ 5 files changed, 37 insertions(+), 26 deletions(-) create mode 100644 molecule/builder-xenial/tests/testutils.py diff --git a/molecule/builder-focal/molecule.yml b/molecule/builder-focal/molecule.yml index 80809ce8b1..67b09aed58 100644 --- a/molecule/builder-focal/molecule.yml +++ b/molecule/builder-focal/molecule.yml @@ -1,8 +1,8 @@ --- driver: name: docker -lint: - name: yamllint +lint: | + yamllint platforms: - name: focal-sd-app groups: @@ -50,8 +50,8 @@ provisioner: ANSIBLE_CALLBACK_WHITELIST: skippy ANSIBLE_STDOUT_CALLBACK: skippy ANSIBLE_GATHER_TIMEOUT: "120" - lint: - name: ansible-lint + lint: | + ansible-lint playbooks: converge: playbook.yml scenario: @@ -77,5 +77,5 @@ verifier: SECUREDROP_PYTHON_VERSION: "3.8" # Reuse the same test suite for all packages directory: ../builder-xenial/tests/ - lint: - name: flake8 + lint: | + flake8 diff --git a/molecule/builder-xenial/molecule.yml b/molecule/builder-xenial/molecule.yml index 1a81064e2f..2d9d9a614b 100644 --- a/molecule/builder-xenial/molecule.yml +++ b/molecule/builder-xenial/molecule.yml @@ -1,8 +1,8 @@ --- driver: name: docker -lint: - name: yamllint +lint: | + yamllint platforms: - name: xenial-sd-app groups: @@ -48,8 +48,8 @@ provisioner: ANSIBLE_CALLBACK_WHITELIST: skippy ANSIBLE_STDOUT_CALLBACK: skippy ANSIBLE_GATHER_TIMEOUT: "120" - lint: - name: ansible-lint + lint: | + ansible-lint playbooks: converge: playbook.yml scenario: @@ -74,5 +74,5 @@ verifier: SECUREDROP_TARGET_PLATFORM: xenial SECUREDROP_PYTHON_VERSION: "3.5" directory: tests/ - lint: - name: flake8 + lint: | + flake8 diff --git a/molecule/builder-xenial/tests/conftest.py b/molecule/builder-xenial/tests/conftest.py index da01aa9600..680b00b2ed 100644 --- a/molecule/builder-xenial/tests/conftest.py +++ b/molecule/builder-xenial/tests/conftest.py @@ -1,22 +1,19 @@ """ -Import variables from vars.yml and inject into pytest namespace +Import variables from vars.yml and inject into testutils namespace """ import os import io import yaml +import testutils -def pytest_namespace(): - """ Return dict of vars imported as 'securedrop_test_vars' into pytest - global namespace - """ - filepath = os.path.join(os.path.dirname(__file__), "vars.yml") - with io.open(filepath, 'r') as f: - securedrop_test_vars = yaml.safe_load(f) +filepath = os.path.join(os.path.dirname(__file__), "vars.yml") +with io.open(filepath, 'r') as f: + securedrop_test_vars = yaml.safe_load(f) - # Tack on target OS for use in tests - securedrop_target_platform = os.environ.get("SECUREDROP_TARGET_PLATFORM") - securedrop_test_vars["securedrop_target_platform"] = securedrop_target_platform - # Wrapping the return value to accommodate for pytest namespacing - return dict(securedrop_test_vars=securedrop_test_vars) +# Tack on target OS for use in tests +securedrop_target_platform = os.environ.get("SECUREDROP_TARGET_PLATFORM") +securedrop_test_vars["securedrop_target_platform"] = securedrop_target_platform + +testutils.securedrop_test_vars = testutils.inject_vars(securedrop_test_vars) diff --git a/molecule/builder-xenial/tests/test_securedrop_deb_package.py b/molecule/builder-xenial/tests/test_securedrop_deb_package.py index 5b7d82e0bc..09787158eb 100644 --- a/molecule/builder-xenial/tests/test_securedrop_deb_package.py +++ b/molecule/builder-xenial/tests/test_securedrop_deb_package.py @@ -2,13 +2,14 @@ import os import re import tempfile +import testutils SECUREDROP_TARGET_PLATFORM = os.environ.get("SECUREDROP_TARGET_PLATFORM") testinfra_hosts = [ "docker://{}-sd-dpkg-verification".format(SECUREDROP_TARGET_PLATFORM) ] -securedrop_test_vars = pytest.securedrop_test_vars +securedrop_test_vars = testutils.securedrop_test_vars def extract_package_name_from_filepath(filepath): diff --git a/molecule/builder-xenial/tests/testutils.py b/molecule/builder-xenial/tests/testutils.py new file mode 100644 index 0000000000..e833b67a41 --- /dev/null +++ b/molecule/builder-xenial/tests/testutils.py @@ -0,0 +1,13 @@ + + +class Myvalues: + def __init__(self): + pass + +securedrop_test_vars = Myvalues() + +def inject_vars(value): + res = Myvalues() + for key, value in value.items(): + setattr(res, key, value) + return res From a4a22e93eb4b6635a7ca098a991acbc40c140658 Mon Sep 17 00:00:00 2001 From: Kushal Das Date: Tue, 13 Oct 2020 21:36:18 +0530 Subject: [PATCH 4/9] Updates molecule yaml files for latest molecule It updates two molecule scenario: - fetch-tor-packages - libvirt-staging-focal In libvirt-staging-focal create.yml also updated for molecule_vagrant update. --- molecule/fetch-tor-packages/molecule.yml | 12 ++++++------ molecule/libvirt-staging-focal/create.yml | 2 +- molecule/libvirt-staging-focal/molecule.yml | 14 +++++++------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/molecule/fetch-tor-packages/molecule.yml b/molecule/fetch-tor-packages/molecule.yml index 3199bbfcbb..0f75468efd 100644 --- a/molecule/fetch-tor-packages/molecule.yml +++ b/molecule/fetch-tor-packages/molecule.yml @@ -3,8 +3,8 @@ dependency: name: galaxy driver: name: docker -lint: - name: yamllint +lint: | + yamllint platforms: - name: tor-package-fetcher-xenial image: "quay.io/freedomofpress/sd-docker-builder-xenial" @@ -16,8 +16,8 @@ platforms: provisioner: name: ansible - lint: - name: ansible-lint + lint: | + ansible-lint config_options: defaults: interpreter_python: auto @@ -34,5 +34,5 @@ verifier: name: testinfra options: connection: docker - lint: - name: flake8 + lint: | + flake8 diff --git a/molecule/libvirt-staging-focal/create.yml b/molecule/libvirt-staging-focal/create.yml index ffe945c5c2..7e6b416f85 100644 --- a/molecule/libvirt-staging-focal/create.yml +++ b/molecule/libvirt-staging-focal/create.yml @@ -9,7 +9,7 @@ tasks: - name: Create molecule instance(s) - molecule_vagrant: + vagrant: instance_name: "{{ item.name }}" instance_interfaces: "{{ item.interfaces | default(omit) }}" instance_raw_config_args: "{{ item.instance_raw_config_args | default(omit) }}" diff --git a/molecule/libvirt-staging-focal/molecule.yml b/molecule/libvirt-staging-focal/molecule.yml index f9c012cf01..29481add9b 100644 --- a/molecule/libvirt-staging-focal/molecule.yml +++ b/molecule/libvirt-staging-focal/molecule.yml @@ -3,8 +3,8 @@ driver: name: vagrant provider: name: libvirt -lint: - name: yamllint +lint: | + yamllint platforms: - name: app-staging @@ -41,8 +41,8 @@ platforms: provisioner: name: ansible - lint: - name: ansible-lint + lint: | + ansible-lint config_options: defaults: interpreter_python: auto @@ -65,9 +65,9 @@ scenario: - verify verifier: name: testinfra - lint: - name: flake8 - directory: ../testinfra/ + lint: | + flake8 + directory: ../testinfra options: n: auto v: 2 From 3b925e0c8fa7914f2faf1d03ab3d21b690f78b1a Mon Sep 17 00:00:00 2001 From: Kushal Das Date: Thu, 15 Oct 2020 19:13:23 +0530 Subject: [PATCH 5/9] Updates molecule.yml for the rest of of scenarios --- molecule/ansible-config/molecule.yml | 12 ++++++------ molecule/libvirt-staging-focal/destroy.yml | 2 +- molecule/qubes-staging-focal/molecule.yml | 6 +++--- molecule/upgrade/molecule.yml | 10 +++++----- molecule/vagrant-packager/molecule.yml | 12 ++++++------ molecule/virtualbox-staging-xenial/molecule.yml | 12 ++++++------ 6 files changed, 27 insertions(+), 27 deletions(-) diff --git a/molecule/ansible-config/molecule.yml b/molecule/ansible-config/molecule.yml index bca6324002..127a1996de 100644 --- a/molecule/ansible-config/molecule.yml +++ b/molecule/ansible-config/molecule.yml @@ -6,8 +6,8 @@ driver: login_cmd_template: 'docker exec -ti {instance} bash' ansible_connection_options: connection: local -lint: - name: yamllint +lint: | + yamllint platforms: - name: localhost provisioner: @@ -15,8 +15,8 @@ provisioner: playbooks: prepare: '' create: '' - lint: - name: ansible-lint + lint: | + ansible-lint config_options: defaults: callback_whitelist: "profile_tasks, timer" @@ -33,5 +33,5 @@ scenario: - verify verifier: name: testinfra - lint: - name: flake8 + lint: | + flake8 diff --git a/molecule/libvirt-staging-focal/destroy.yml b/molecule/libvirt-staging-focal/destroy.yml index c287e47d88..3645c7c90f 100644 --- a/molecule/libvirt-staging-focal/destroy.yml +++ b/molecule/libvirt-staging-focal/destroy.yml @@ -10,7 +10,7 @@ molecule_ephemeral_directory: "{{ lookup('env', 'MOLECULE_EPHEMERAL_DIRECTORY') }}" tasks: - name: Destroy molecule instance(s) - molecule_vagrant: + vagrant: instance_name: "{{ item.name }}" platform_box: "{{ item.box }}" provider_name: "{{ molecule_yml.driver.provider.name }}" diff --git a/molecule/qubes-staging-focal/molecule.yml b/molecule/qubes-staging-focal/molecule.yml index c1401105aa..5481e0950f 100644 --- a/molecule/qubes-staging-focal/molecule.yml +++ b/molecule/qubes-staging-focal/molecule.yml @@ -26,8 +26,8 @@ platforms: provisioner: name: ansible - lint: - name: ansible-lint + lint: | + ansible-lint config_options: defaults: callback_whitelist: "profile_tasks, timer" @@ -50,7 +50,7 @@ scenario: verifier: name: testinfra lint: - name: flake8 + flake8 directory: ../testinfra options: n: auto diff --git a/molecule/upgrade/molecule.yml b/molecule/upgrade/molecule.yml index 00c9b68369..76d1e6907b 100644 --- a/molecule/upgrade/molecule.yml +++ b/molecule/upgrade/molecule.yml @@ -5,8 +5,8 @@ driver: name: vagrant provider: name: libvirt -lint: - name: yamllint +lint: | + yamllint platforms: - name: app-staging @@ -47,8 +47,8 @@ platforms: provisioner: name: ansible - lint: - name: ansible-lint + lint: | + ansible-lint inventory: links: group_vars: ../../install_files/ansible-base/group_vars @@ -76,5 +76,5 @@ scenario: - converge verifier: name: testinfra - lint: + lint: | name: flake8 diff --git a/molecule/vagrant-packager/molecule.yml b/molecule/vagrant-packager/molecule.yml index 6aa4bcd44e..9790ec880f 100644 --- a/molecule/vagrant-packager/molecule.yml +++ b/molecule/vagrant-packager/molecule.yml @@ -3,8 +3,8 @@ driver: name: vagrant provider: name: libvirt -lint: - name: yamllint +lint: | + yamllint platforms: - name: app-staging @@ -35,8 +35,8 @@ platforms: provisioner: name: ansible - lint: - name: ansible-lint + lint: | + ansible-lint inventory: links: group_vars: ../../install_files/ansible-base/group_vars @@ -64,5 +64,5 @@ scenario: - side_effect verifier: name: testinfra - lint: - name: flake8 + lint: | + flake8 diff --git a/molecule/virtualbox-staging-xenial/molecule.yml b/molecule/virtualbox-staging-xenial/molecule.yml index 9e0d69d88c..731e3439f7 100644 --- a/molecule/virtualbox-staging-xenial/molecule.yml +++ b/molecule/virtualbox-staging-xenial/molecule.yml @@ -3,8 +3,8 @@ driver: name: vagrant provider: name: libvirt -lint: - name: yamllint +lint: | + yamllint platforms: - name: app-staging @@ -35,8 +35,8 @@ platforms: provisioner: name: ansible - lint: - name: ansible-lint + lint: | + ansible-lint config_options: defaults: interpreter_python: auto @@ -59,8 +59,8 @@ scenario: - verify verifier: name: testinfra - lint: - name: flake8 + lint: | + flake8 directory: ../testinfra options: n: auto From d4b514ff36b110dd6e3adc4ce101ce9d9453f25e Mon Sep 17 00:00:00 2001 From: Kushal Das Date: Mon, 19 Oct 2020 16:20:45 +0530 Subject: [PATCH 6/9] Adds pytest.ini for the custom marker --- molecule/pytest.ini | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 molecule/pytest.ini diff --git a/molecule/pytest.ini b/molecule/pytest.ini new file mode 100644 index 0000000000..1e5d156826 --- /dev/null +++ b/molecule/pytest.ini @@ -0,0 +1,3 @@ +[pytest] +markers = + skip_in_prod: Skip these tests in Production servers From 1be7905f29a5cc1f9ebb628f1d32a29246d8b999 Mon Sep 17 00:00:00 2001 From: Kushal Das Date: Mon, 19 Oct 2020 16:21:05 +0530 Subject: [PATCH 7/9] Updates tests for flake8 lint issues --- molecule/builder-xenial/tests/testutils.py | 8 ++++---- molecule/testinfra/app-code/test_haveged.py | 2 -- .../testinfra/app-code/test_securedrop_rqrequeue.py | 2 -- .../testinfra/app-code/test_securedrop_rqworker.py | 2 -- .../test_securedrop_shredder_configuration.py | 2 -- .../test_securedrop_source_deleter_configuration.py | 2 -- molecule/testinfra/app/test_paxctld.py | 3 --- molecule/testinfra/common/test_cron_apt.py | 1 + molecule/testinfra/common/test_fpf_apt_repo.py | 1 - molecule/testinfra/common/test_ip6tables.py | 2 -- molecule/testinfra/common/test_platform.py | 2 -- molecule/testinfra/common/test_release_upgrades.py | 3 --- molecule/testinfra/conftest.py | 12 +++--------- 13 files changed, 8 insertions(+), 34 deletions(-) diff --git a/molecule/builder-xenial/tests/testutils.py b/molecule/builder-xenial/tests/testutils.py index e833b67a41..b33283c88f 100644 --- a/molecule/builder-xenial/tests/testutils.py +++ b/molecule/builder-xenial/tests/testutils.py @@ -1,11 +1,11 @@ - - class Myvalues: - def __init__(self): - pass + def __init__(self): + pass + securedrop_test_vars = Myvalues() + def inject_vars(value): res = Myvalues() for key, value in value.items(): diff --git a/molecule/testinfra/app-code/test_haveged.py b/molecule/testinfra/app-code/test_haveged.py index f2ab797910..3195700240 100644 --- a/molecule/testinfra/app-code/test_haveged.py +++ b/molecule/testinfra/app-code/test_haveged.py @@ -1,5 +1,3 @@ -import pytest - import testutils sdvars = testutils.securedrop_test_vars diff --git a/molecule/testinfra/app-code/test_securedrop_rqrequeue.py b/molecule/testinfra/app-code/test_securedrop_rqrequeue.py index 08f71d9f41..fa07dc1b20 100644 --- a/molecule/testinfra/app-code/test_securedrop_rqrequeue.py +++ b/molecule/testinfra/app-code/test_securedrop_rqrequeue.py @@ -1,5 +1,3 @@ -import pytest - import testutils securedrop_test_vars = testutils.securedrop_test_vars diff --git a/molecule/testinfra/app-code/test_securedrop_rqworker.py b/molecule/testinfra/app-code/test_securedrop_rqworker.py index d5ff1d7fa2..fc347ab2bb 100644 --- a/molecule/testinfra/app-code/test_securedrop_rqworker.py +++ b/molecule/testinfra/app-code/test_securedrop_rqworker.py @@ -1,5 +1,3 @@ -import pytest - import testutils sdvars = testutils.securedrop_test_vars diff --git a/molecule/testinfra/app-code/test_securedrop_shredder_configuration.py b/molecule/testinfra/app-code/test_securedrop_shredder_configuration.py index 213e5c0e28..fbb4d75c3a 100644 --- a/molecule/testinfra/app-code/test_securedrop_shredder_configuration.py +++ b/molecule/testinfra/app-code/test_securedrop_shredder_configuration.py @@ -1,5 +1,3 @@ -import pytest - import testutils sdvars = testutils.securedrop_test_vars diff --git a/molecule/testinfra/app-code/test_securedrop_source_deleter_configuration.py b/molecule/testinfra/app-code/test_securedrop_source_deleter_configuration.py index 14c48c47f1..7cfdcb3f86 100644 --- a/molecule/testinfra/app-code/test_securedrop_source_deleter_configuration.py +++ b/molecule/testinfra/app-code/test_securedrop_source_deleter_configuration.py @@ -1,5 +1,3 @@ -import pytest - import testutils securedrop_test_vars = testutils.securedrop_test_vars diff --git a/molecule/testinfra/app/test_paxctld.py b/molecule/testinfra/app/test_paxctld.py index 88b8afa82b..6bc210771f 100644 --- a/molecule/testinfra/app/test_paxctld.py +++ b/molecule/testinfra/app/test_paxctld.py @@ -1,7 +1,4 @@ -import pytest import re - - import testutils securedrop_test_vars = testutils.securedrop_test_vars diff --git a/molecule/testinfra/common/test_cron_apt.py b/molecule/testinfra/common/test_cron_apt.py index 5a0fd9be44..cb83ecabc7 100644 --- a/molecule/testinfra/common/test_cron_apt.py +++ b/molecule/testinfra/common/test_cron_apt.py @@ -6,6 +6,7 @@ test_vars = testutils.securedrop_test_vars testinfra_hosts = [test_vars.app_hostname, test_vars.monitor_hostname] + @pytest.mark.parametrize('dependency', [ 'cron-apt', 'ntp' diff --git a/molecule/testinfra/common/test_fpf_apt_repo.py b/molecule/testinfra/common/test_fpf_apt_repo.py index 862f7884eb..170831368e 100644 --- a/molecule/testinfra/common/test_fpf_apt_repo.py +++ b/molecule/testinfra/common/test_fpf_apt_repo.py @@ -8,7 +8,6 @@ testinfra_hosts = [test_vars.app_hostname, test_vars.monitor_hostname] - def test_fpf_apt_repo_present(host): """ Ensure the FPF apt repo, apt.freedom.press, is configured. diff --git a/molecule/testinfra/common/test_ip6tables.py b/molecule/testinfra/common/test_ip6tables.py index ea700d8435..8f7497731b 100644 --- a/molecule/testinfra/common/test_ip6tables.py +++ b/molecule/testinfra/common/test_ip6tables.py @@ -1,5 +1,3 @@ -import pytest - import testutils test_vars = testutils.securedrop_test_vars diff --git a/molecule/testinfra/common/test_platform.py b/molecule/testinfra/common/test_platform.py index c44db48f75..97a53f12c5 100644 --- a/molecule/testinfra/common/test_platform.py +++ b/molecule/testinfra/common/test_platform.py @@ -1,5 +1,3 @@ -import pytest - import testutils test_vars = testutils.securedrop_test_vars diff --git a/molecule/testinfra/common/test_release_upgrades.py b/molecule/testinfra/common/test_release_upgrades.py index 126b0e6e29..23c42d8f84 100644 --- a/molecule/testinfra/common/test_release_upgrades.py +++ b/molecule/testinfra/common/test_release_upgrades.py @@ -1,6 +1,3 @@ -import pytest - - import testutils test_vars = testutils.securedrop_test_vars diff --git a/molecule/testinfra/conftest.py b/molecule/testinfra/conftest.py index 71b8d474ed..a2b059b478 100644 --- a/molecule/testinfra/conftest.py +++ b/molecule/testinfra/conftest.py @@ -9,7 +9,6 @@ import io import os import yaml -import pytest import testutils # The config tests target staging by default. It's possible to override @@ -54,18 +53,13 @@ def lookup_molecule_info(): return molecule_instance_config -# def pytest_namespace(): - # return securedrop_import_testinfra_vars(target_host, with_header=True) -# @pytest.fixture(autouse=True) -# def set_all_vars(): - # import fight class Myvalues: - def __init__(self): - pass + def __init__(self): + pass + value = securedrop_import_testinfra_vars(target_host) res = Myvalues() for key, value in value.items(): setattr(res, key, value) testutils.securedrop_test_vars = res - From da4d1bda030219faebea1da7fbf063d9fbd52580 Mon Sep 17 00:00:00 2001 From: Kushal Das Date: Tue, 27 Oct 2020 17:07:59 +0530 Subject: [PATCH 8/9] Updates testinfra for production tests --- admin/requirements-testinfra.in | 8 ++-- admin/requirements-testinfra.txt | 67 +++++++++++++++++++++++++------- 2 files changed, 56 insertions(+), 19 deletions(-) diff --git a/admin/requirements-testinfra.in b/admin/requirements-testinfra.in index 0d83263d48..cb1721d8c5 100644 --- a/admin/requirements-testinfra.in +++ b/admin/requirements-testinfra.in @@ -1,4 +1,4 @@ -pytest==3.2.0 -testinfra==3.2.0 -pytest-xdist==1.18.2 -paramiko==2.6.0 +pytest==6.1.1 +testinfra==5.3.1 +pytest-xdist==2.1.0 +paramiko==2.7.2 diff --git a/admin/requirements-testinfra.txt b/admin/requirements-testinfra.txt index e735ed96d5..87b0ae6c92 100644 --- a/admin/requirements-testinfra.txt +++ b/admin/requirements-testinfra.txt @@ -11,6 +11,10 @@ apipkg==1.5 \ --hash=sha256:37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6 \ --hash=sha256:58587dd4dc3daefad0487f6d9ae32b4542b185e1c36db6993290e7c41ca2b47c \ # via execnet +attrs==20.2.0 \ + --hash=sha256:26b54ddbbb9ee1d34d5d3668dd37d6cf74990ab23c828c2888dccdceee395594 \ + --hash=sha256:fce7fc47dfc976152e82d53ff92fa0407700c21acd20886a13777a0d20e655dc \ + # via pytest bcrypt==3.2.0 \ --hash=sha256:5b93c1726e50a93a033c36e5ca7fdcd29a5c7395af50a6892f5d9e7c6cfbfb29 \ --hash=sha256:63d4e3ff96188e5898779b6057878fecf3f11cfe6ec3b313ea09955d587ec7a7 \ @@ -86,6 +90,14 @@ execnet==1.7.1 \ --hash=sha256:cacb9df31c9680ec5f95553976c4da484d407e85e41c83cb812aa014f0eddc50 \ --hash=sha256:d4efd397930c46415f62f8a31388d6be4f27a91d7550eb79bc64a756e0056547 \ # via pytest-xdist +importlib-metadata==2.0.0 \ + --hash=sha256:77a540690e24b0305878c37ffd421785a6f7e53c8b5720d211b211de8d0e95da \ + --hash=sha256:cefa1a2f919b866c5beb7c9f7b0ebb4061f30a8a9bf16d609b000e2dfaceb9c3 \ + # via pluggy, pytest +iniconfig==1.1.1 \ + --hash=sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3 \ + --hash=sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32 \ + # via pytest jinja2==2.11.2 \ --hash=sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0 \ --hash=sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035 \ @@ -129,10 +141,18 @@ netaddr==0.8.0 \ --hash=sha256:9666d0232c32d2656e5e5f8d735f58fd6c7457ce52fc21c98d45f2af78f990ac \ --hash=sha256:d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243 \ # via -r requirements-ansible.in -paramiko==2.6.0 \ - --hash=sha256:99f0179bdc176281d21961a003ffdb2ec369daac1a1007241f53374e376576cf \ - --hash=sha256:f4b2edfa0d226b70bd4ca31ea7e389325990283da23465d572ed1f70a7583041 \ +packaging==20.4 \ + --hash=sha256:4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8 \ + --hash=sha256:998416ba6962ae7fbd6596850b80e17859a5753ba17c32284f67bfff33784181 \ + # via pytest +paramiko==2.7.2 \ + --hash=sha256:4f3e316fef2ac628b05097a637af35685183111d4bc1b5979bd397c2ab7b5898 \ + --hash=sha256:7f36f4ba2c0d81d219f4595e35f70d56cc94f9ac40a6acdf51d6ca210ce65035 \ # via -r requirements-testinfra.in +pluggy==0.13.1 \ + --hash=sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0 \ + --hash=sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d \ + # via pytest prompt_toolkit==2.0.9 \ --hash=sha256:11adf3389a996a6d45cc277580d0d53e8a5afd281d0c9ec71b28e6f121463780 \ --hash=sha256:2519ad1d8038fd5fc8e770362237ad0364d16a7650fb5724af6997ed5515e3c1 \ @@ -141,7 +161,7 @@ prompt_toolkit==2.0.9 \ py==1.9.0 \ --hash=sha256:366389d1db726cd2fcfc79732e75410e5fe4d31db13692115529d34069a043c2 \ --hash=sha256:9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342 \ - # via pytest + # via pytest, pytest-forked pycparser==2.20 \ --hash=sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0 \ --hash=sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705 \ @@ -166,13 +186,22 @@ pynacl==1.4.0 \ --hash=sha256:ea6841bc3a76fa4942ce00f3bda7d436fda21e2d91602b9e21b7ca9ecab8f3ff \ --hash=sha256:f8851ab9041756003119368c1e6cd0b9c631f46d686b3904b18c0139f4419f80 \ # via paramiko -pytest-xdist==1.18.2 \ - --hash=sha256:10468377901b80255cf192c4603a94ffe8b1f071f5c912868da5f5cb91170dae \ +pyparsing==2.4.7 \ + --hash=sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1 \ + --hash=sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b \ + # via packaging +pytest-forked==1.3.0 \ + --hash=sha256:6aa9ac7e00ad1a539c41bec6d21011332de671e938c7637378ec9710204e37ca \ + --hash=sha256:dc4147784048e70ef5d437951728825a131b81714b398d5d52f17c7c144d8815 \ + # via pytest-xdist +pytest-xdist==2.1.0 \ + --hash=sha256:7c629016b3bb006b88ac68e2b31551e7becf173c76b977768848e2bbed594d90 \ + --hash=sha256:82d938f1a24186520e2d9d3a64ef7d9ac7ecdf1a0659e095d18e596b8cbd0672 \ # via -r requirements-testinfra.in -pytest==3.2.0 \ - --hash=sha256:0225cf10b9e173f84729d5f4648211458a222c6e53a77a85e104bc5f31c244ee \ - --hash=sha256:d994b4f28c6d449a467ad3d336544945a0dcf350e3b7b301219547ef5aa8125e \ - # via -r requirements-testinfra.in, pytest-xdist, testinfra +pytest==6.1.1 \ + --hash=sha256:7a8190790c17d79a11f847fba0b004ee9a8122582ebff4729a082c109e81a4c9 \ + --hash=sha256:8f593023c1a0f916110285b6efd7f99db07d59546e3d8c36fc60e2ab05d3be92 \ + # via -r requirements-testinfra.in, pytest-forked, pytest-xdist, testinfra pyyaml==5.3.1 \ --hash=sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97 \ --hash=sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76 \ @@ -189,18 +218,26 @@ pyyaml==5.3.1 \ six==1.15.0 \ --hash=sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259 \ --hash=sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced \ - # via -r requirements.in, bcrypt, cryptography, prompt-toolkit, pynacl, testinfra -testinfra==3.2.0 \ - --hash=sha256:16201d64659ec0c2d25f65d6ce1f5367668b7b4eb102450efd4f8983a399d7d0 \ - --hash=sha256:5cebf61fee13c2e83b5e177431e751e243fc779293377c5e0c3b43910bb7e870 \ + # via -r requirements.in, bcrypt, cryptography, packaging, prompt-toolkit, pynacl +testinfra==5.3.1 \ + --hash=sha256:9d3a01fb787253df76ac4ab46d18a84d4b01be877ed1b5812e590dcf480a627e \ + --hash=sha256:baf1d809ea2dc22c0cb5b9441bf4e17c1eb653e1ccc02cc63137d0ab467fa1de \ # via -r requirements-testinfra.in +toml==0.10.1 \ + --hash=sha256:926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f \ + --hash=sha256:bda89d5935c2eac546d648028b9901107a595863cb36bae0c73ac804a9b4ce88 \ + # via pytest wcwidth==0.2.5 \ --hash=sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784 \ --hash=sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83 \ # via prompt-toolkit +zipp==3.4.0 \ + --hash=sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108 \ + --hash=sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb \ + # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: setuptools==50.3.0 \ --hash=sha256:39060a59d91cf5cf403fa3bacbb52df4205a8c3585e0b9ba4b30e0e19d4c4b18 \ --hash=sha256:c77b3920663a435c9450d9d971c48f5a7478fca8881b2cd2564e59f970f03536 \ - # via -r requirements.in, pytest + # via -r requirements.in From a11647ae311c31a6a28266cff75716726fb0135b Mon Sep 17 00:00:00 2001 From: Kushal Das Date: Tue, 27 Oct 2020 19:28:30 +0530 Subject: [PATCH 9/9] Updates to new modulename for vagrant --- molecule/upgrade/create.yml | 2 +- molecule/upgrade/destroy.yml | 2 +- molecule/vagrant-packager/create.yml | 2 +- molecule/vagrant-packager/destroy.yml | 2 +- molecule/vagrant-packager/side_effect.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/molecule/upgrade/create.yml b/molecule/upgrade/create.yml index 8cf7a517de..af96c87eb3 100644 --- a/molecule/upgrade/create.yml +++ b/molecule/upgrade/create.yml @@ -11,7 +11,7 @@ tasks: - name: Create molecule instance(s) - molecule_vagrant: + vagrant: instance_name: "{{ item.name }}" instance_interfaces: "{{ item.interfaces | default(omit) }}" instance_raw_config_args: "{{ item.instance_raw_config_args | default(omit) }}" diff --git a/molecule/upgrade/destroy.yml b/molecule/upgrade/destroy.yml index 1ce71fc8f7..b98563c051 100644 --- a/molecule/upgrade/destroy.yml +++ b/molecule/upgrade/destroy.yml @@ -11,7 +11,7 @@ molecule_ephemeral_directory: "{{ lookup('env', 'MOLECULE_EPHEMERAL_DIRECTORY') }}" tasks: - name: Destroy molecule instance(s) - molecule_vagrant: + vagrant: instance_name: "{{ item.name }}" platform_box: "{{ item.box }}" provider_name: "{{ molecule_yml.driver.provider.name }}" diff --git a/molecule/vagrant-packager/create.yml b/molecule/vagrant-packager/create.yml index 4c732b695f..c2c13ee16f 100644 --- a/molecule/vagrant-packager/create.yml +++ b/molecule/vagrant-packager/create.yml @@ -11,7 +11,7 @@ tasks: - name: Create molecule instance(s) - molecule_vagrant: + vagrant: instance_name: "{{ item.name }}" instance_interfaces: "{{ item.interfaces | default(omit) }}" instance_raw_config_args: "{{ item.instance_raw_config_args | default(omit) }}" diff --git a/molecule/vagrant-packager/destroy.yml b/molecule/vagrant-packager/destroy.yml index 1ce71fc8f7..b98563c051 100644 --- a/molecule/vagrant-packager/destroy.yml +++ b/molecule/vagrant-packager/destroy.yml @@ -11,7 +11,7 @@ molecule_ephemeral_directory: "{{ lookup('env', 'MOLECULE_EPHEMERAL_DIRECTORY') }}" tasks: - name: Destroy molecule instance(s) - molecule_vagrant: + vagrant: instance_name: "{{ item.name }}" platform_box: "{{ item.box }}" provider_name: "{{ molecule_yml.driver.provider.name }}" diff --git a/molecule/vagrant-packager/side_effect.yml b/molecule/vagrant-packager/side_effect.yml index 982ddf9e1d..623aaf6646 100644 --- a/molecule/vagrant-packager/side_effect.yml +++ b/molecule/vagrant-packager/side_effect.yml @@ -32,7 +32,7 @@ connection: local tasks: - name: Halt vagrant instances - molecule_vagrant: + vagrant: instance_name: "{{ item.name }}" instance_raw_config_args: "{{ item.instance_raw_config_args | default(omit) }}" platform_box: "{{ item.box }}"