summaryrefslogtreecommitdiff
path: root/tests/admin_scripts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/admin_scripts')
-rw-r--r--tests/admin_scripts/tests.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/admin_scripts/tests.py b/tests/admin_scripts/tests.py
index 57fbc454ff..7f39d7fcfc 100644
--- a/tests/admin_scripts/tests.py
+++ b/tests/admin_scripts/tests.py
@@ -2447,6 +2447,28 @@ class StartProject(LiveServerTestCase, AdminScriptTestCase):
)
self.assertFalse(os.path.exists(testproject_dir))
+ def test_command_does_not_import(self):
+ """
+ startproject doesn't import modules (and cannot be fooled by a module
+ raising ImportError).
+ """
+ bad_name = "raises_import_error"
+ args = ["startproject", bad_name]
+ testproject_dir = os.path.join(self.test_dir, bad_name)
+
+ with open(os.path.join(self.test_dir, "raises_import_error.py"), "w") as f:
+ f.write("raise ImportError")
+
+ out, err = self.run_django_admin(args)
+ self.assertOutput(
+ err,
+ "CommandError: 'raises_import_error' conflicts with the name of an "
+ "existing Python module and cannot be used as a project name. Please try "
+ "another name.",
+ )
+ self.assertNoOutput(out)
+ self.assertFalse(os.path.exists(testproject_dir))
+
def test_simple_project_different_directory(self):
"""
The startproject management command creates a project in a specific