MCPcopy
hub / github.com/django/django / test_no_settings

Method test_no_settings

tests/shell/tests.py:52–110  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

50
51 @override_settings(INSTALLED_APPS=["shell"])
52 def test_no_settings(self):
53 test_environ = os.environ.copy()
54 if "DJANGO_SETTINGS_MODULE" in test_environ:
55 del test_environ["DJANGO_SETTINGS_MODULE"]
56 error = (
57 "Automatic imports are disabled since settings are not configured.\n"
58 "DJANGO_SETTINGS_MODULE value is None.\n"
59 "HINT: Ensure that the settings module is configured and set.\n\n"
60 )
61 for verbosity, assertError in [
62 ("0", self.assertNotIn),
63 ("1", self.assertIn),
64 ("2", self.assertIn),
65 ]:
66 with self.subTest(verbosity=verbosity, get_auto_imports="models"):
67 p = subprocess.run(
68 [
69 sys.executable,
70 "-m",
71 "django",
72 "shell",
73 "-c",
74 "print(globals())",
75 "-v",
76 verbosity,
77 ],
78 capture_output=True,
79 env=test_environ,
80 text=True,
81 umask=-1,
82 )
83 assertError(error, p.stdout)
84 self.assertNotIn("Marker", p.stdout)
85 self.assertNotIn("reset_queries", p.stdout)
86 self.assertNotIn("imported automatically", p.stdout)
87
88 with self.subTest(verbosity=verbosity, get_auto_imports="without-models"):
89 with mock.patch(
90 "django.core.management.commands.shell.Command.get_auto_imports",
91 return_value=["django.urls.resolve"],
92 ):
93 p = subprocess.run(
94 [
95 sys.executable,
96 "-m",
97 "django",
98 "shell",
99 "-c",
100 "print(globals())",
101 "-v",
102 verbosity,
103 ],
104 capture_output=True,
105 env=test_environ,
106 text=True,
107 umask=-1,
108 )
109 assertError(error, p.stdout)

Callers

nothing calls this directly

Calls 3

copyMethod · 0.45
runMethod · 0.45
patchMethod · 0.45

Tested by

no test coverage detected