diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2011-01-15 06:31:38 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2011-01-15 06:31:38 +0000 |
| commit | d7fa33af78aeae8a6a6e8261c697c7a03a821595 (patch) | |
| tree | 198cc2be83335999406d4b8a2db9ccff911847ac /tests | |
| parent | df5c01b8c545b4e48ac48c51237566bd9200a4cf (diff) | |
Fixed #14928 -- Ensure that a fully qualified domain name can be used for runserver. Thanks to Karmel Allison for the report, Łukasz Rekucki for the patch, and claudep for the tests.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15215 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/regressiontests/admin_scripts/tests.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/regressiontests/admin_scripts/tests.py b/tests/regressiontests/admin_scripts/tests.py index 94d8f93809..ae37eb3a95 100644 --- a/tests/regressiontests/admin_scripts/tests.py +++ b/tests/regressiontests/admin_scripts/tests.py @@ -999,6 +999,61 @@ class ManageValidate(AdminScriptTestCase): self.assertNoOutput(err) self.assertOutput(out, '0 errors found') +class ManageRunserver(AdminScriptTestCase): + def setUp(self): + from django.core.management.commands.runserver import BaseRunserverCommand + def monkey_run(*args, **options): return + + self.cmd = BaseRunserverCommand() + self.cmd.run = monkey_run + + def assertServerSettings(self, addr, port, ipv6=None, raw_ipv6=False): + self.assertEqual(self.cmd.addr, addr) + self.assertEqual(self.cmd.port, port) + self.assertEqual(self.cmd.use_ipv6, ipv6) + self.assertEqual(self.cmd._raw_ipv6, raw_ipv6) + + def test_runserver_addrport(self): + self.cmd.handle() + self.assertServerSettings('127.0.0.1', '8000') + + self.cmd.handle(addrport="1.2.3.4:8000") + self.assertServerSettings('1.2.3.4', '8000') + + self.cmd.handle(addrport="7000") + self.assertServerSettings('127.0.0.1', '7000') + + # IPv6 + self.cmd.handle(addrport="", use_ipv6=True) + self.assertServerSettings('::1', '8000', ipv6=True) + + self.cmd.handle(addrport="7000", use_ipv6=True) + self.assertServerSettings('::1', '7000', ipv6=True) + + self.cmd.handle(addrport="[2001:0db8:1234:5678::9]:7000") + self.assertServerSettings('2001:0db8:1234:5678::9', '7000', ipv6=True, raw_ipv6=True) + + # Hostname + self.cmd.handle(addrport="localhost:8000") + self.assertServerSettings('localhost', '8000') + + self.cmd.handle(addrport="test.domain.local:7000") + self.assertServerSettings('test.domain.local', '7000') + + self.cmd.handle(addrport="test.domain.local:7000", use_ipv6=True) + self.assertServerSettings('test.domain.local', '7000', ipv6=True) + + # Potentially ambiguous + + # Only 4 characters, all of which coudl be in an ipv6 address + self.cmd.handle(addrport="beef:7654") + self.assertServerSettings('beef', '7654') + + # Uses only characters that could be in an ipv6 address + self.cmd.handle(addrport="deadbeef:7654") + self.assertServerSettings('deadbeef', '7654') + + ########################################################################## # COMMAND PROCESSING TESTS # Check that user-space commands are correctly handled - in particular, |
