diff options
| author | Hasan Ramezani <hasan.r67@gmail.com> | 2018-05-17 18:54:36 +0430 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-05-27 19:24:07 -0400 |
| commit | e0ff88be4f3a40d07d94d974c64a490d2ecb3e78 (patch) | |
| tree | 725f74faa45f1ca83d4adc535c42476a8f0ff11e /tests | |
| parent | 4ab1f559e8d1264bcb20bb497988973194f5d8f2 (diff) | |
Added test for createsuperuser's handling of KeyboardInterrupt.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/auth_tests/test_management.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/auth_tests/test_management.py b/tests/auth_tests/test_management.py index b0c5c6204b..b3772b1501 100644 --- a/tests/auth_tests/test_management.py +++ b/tests/auth_tests/test_management.py @@ -51,6 +51,8 @@ def mock_inputs(inputs): assert '__proxy__' not in prompt response = None for key, val in inputs.items(): + if val == 'KeyboardInterrupt': + raise KeyboardInterrupt # get() fallback because sometimes 'key' is the actual # prompt rather than a shortcut name. prompt_msgs = MOCK_INPUT_KEY_TO_PROMPTS.get(key, key) @@ -626,6 +628,19 @@ class CreatesuperuserManagementCommandTestCase(TestCase): test(self) + @mock_inputs({'username': 'KeyboardInterrupt'}) + def test_keyboard_interrupt(self): + new_io = StringIO() + with self.assertRaises(SystemExit): + call_command( + 'createsuperuser', + interactive=True, + stdin=MockTTY(), + stdout=new_io, + stderr=new_io, + ) + self.assertEqual(new_io.getvalue(), '\nOperation cancelled.\n') + def test_existing_username(self): """Creation fails if the username already exists.""" user = User.objects.create(username='janet') |
