From 8613258d9d7d5ea916bc6c864b5cd0cb7d4411bd Mon Sep 17 00:00:00 2001 From: David Caro Date: Wed, 27 Jul 2016 10:52:52 +0200 Subject: [PATCH] tests: repeated package different extras [WIP] * Adds a test to check the behavior when the same package is listed more than once with different extras selected. * Adds also ingnories for vim swapfiles. Signed-off-by: David Caro --- .gitignore | 3 +++ MANIFEST.in | 1 + tests/data/setup.py | 3 +++ tests/test_cli.py | 18 ++++++++++++++---- tests/test_requirements_builder.py | 22 +++++++++++++++------- 5 files changed, 36 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index ba74660..fc19326 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,6 @@ docs/_build/ # PyBuilder target/ + +# Vim swapfiles +.*.sw? diff --git a/MANIFEST.in b/MANIFEST.in index 9f07581..2dbcf2d 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -24,5 +24,6 @@ include run-tests.sh recursive-include tests * recursive-exclude * __pycache__ recursive-exclude * *.py[co] +recursive-exclude * .*.sw? recursive-include docs *.rst conf.py Makefile diff --git a/tests/data/setup.py b/tests/data/setup.py index 517974f..ff5ca78 100644 --- a/tests/data/setup.py +++ b/tests/data/setup.py @@ -14,6 +14,9 @@ requirements = [ 'click>=5.0.0', 'mock>=1.3.0', + 'invenio-db[versioning]>=1', + 'invenio-db[versioning,mysql]>=1', + 'invenio-db[versioning,postgresql]>=1', ] setup( diff --git a/tests/test_cli.py b/tests/test_cli.py index 79af12f..95a9f6b 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -27,11 +27,19 @@ def test_cli(): shutil.copytree(DATA, abspath(join(getcwd(), "data/"))) result = runner.invoke(cli, ['-l', 'min', 'data/setup.py']) assert result.exit_code == 0 - assert result.output == "click==5.0.0\nmock==1.3.0\n" + assert result.output == ( + "click==5.0.0\n" + "invenio-db[versioning,mysql]==1\n" + "mock==1.3.0\n" + ) result = runner.invoke(cli, ['-l', 'pypi', 'data/setup.py']) assert result.exit_code == 0 - assert result.output == "click>=5.0.0\nmock>=1.3.0\n" + assert result.output == ( + "click>=5.0.0\n" + "invenio-db[versioning,mysql]>=1\n" + "mock>=1.3.0\n" + ) result = runner.invoke(cli, ['-l', 'dev', 'data/setup.py']) assert result.exit_code == 2 @@ -39,6 +47,8 @@ def test_cli(): result = runner.invoke( cli, ['-l', 'dev', '-r', 'data/req.txt', 'data/setup.py']) assert result.exit_code == 0 - assert result.output == \ - "-e git+https://github.com/mitsuhiko/click.git#egg=click\n" \ + assert result.output == ( + "-e git+https://github.com/mitsuhiko/click.git#egg=click\n" + "invenio-db[versioning,mysql]>=1\n" "mock>=1.3.0\n" + ) diff --git a/tests/test_requirements_builder.py b/tests/test_requirements_builder.py index 0a141ad..f3cb45f 100755 --- a/tests/test_requirements_builder.py +++ b/tests/test_requirements_builder.py @@ -27,16 +27,24 @@ def test_iter_requirements(): """Test requirements-builder.""" # Min with open(SETUP) as f: - assert list(iter_requirements("min", [], '', f)) == \ - ['click==5.0.0', 'mock==1.3.0'] + assert list(iter_requirements("min", [], '', f)) == [ + 'click==5.0.0', + 'mock==1.3.0', + 'invenio-db[versioning,mysql,postgresql]==1', + ] # PyPI with open(SETUP) as f: - assert list(iter_requirements("pypi", [], '', f)) == \ - ['click>=5.0.0', 'mock>=1.3.0'] + assert list(iter_requirements("pypi", [], '', f)) == [ + 'click>=5.0.0', + 'mock>=1.3.0', + 'invenio-db[versioning,mysql,postgresql]>=1', + ] # Dev with open(SETUP) as f: - assert list(iter_requirements("dev", [], REQ, f)) == \ - ['-e git+https://github.com/mitsuhiko/click.git#egg=click', - 'mock>=1.3.0'] + assert list(iter_requirements("dev", [], REQ, f)) == [ + '-e git+https://github.com/mitsuhiko/click.git#egg=click', + 'mock>=1.3.0', + 'invenio-db[versioning,mysql,postgresql]>=1', + ]