summaryrefslogtreecommitdiff
path: root/tests/test_extras.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_extras.py')
-rw-r--r--tests/test_extras.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/test_extras.py b/tests/test_extras.py
new file mode 100644
index 000000000..163893e87
--- /dev/null
+++ b/tests/test_extras.py
@@ -0,0 +1,27 @@
+from os.path import join
+
+from tests.test_pip import reset_env, run_pip
+
+
+def test_simple_extras_install_from_pypi():
+ """
+ Test installing a package from PyPI using extras dependency Paste[openid].
+ """
+ e = reset_env()
+ result = run_pip('install', 'Paste[openid]==1.7.5.1', expect_stderr=True)
+ initools_folder = e.site_packages / 'openid'
+ assert initools_folder in result.files_created, result.files_created
+
+
+def test_no_extras_uninstall():
+ """
+ No extras dependency gets uninstalled when the root package is uninstalled
+ """
+ env = reset_env()
+ result = run_pip('install', 'Paste[openid]==1.7.5.1', expect_stderr=True)
+ assert join(env.site_packages, 'paste') in result.files_created, sorted(result.files_created.keys())
+ assert join(env.site_packages, 'openid') in result.files_created, sorted(result.files_created.keys())
+ result2 = run_pip('uninstall', 'Paste', '-y')
+ # openid should not be uninstalled
+ initools_folder = env.site_packages / 'openid'
+ assert not initools_folder in result2.files_deleted, result.files_deleted