mirror of
https://github.com/django/django.git
synced 2025-08-03 18:38:50 +00:00
Merged regressiontests and modeltests into the test root.
This commit is contained in:
parent
b3d2ccb5bf
commit
89f40e3624
1050 changed files with 0 additions and 0 deletions
0
tests/user_commands/__init__.py
Normal file
0
tests/user_commands/__init__.py
Normal file
0
tests/user_commands/management/__init__.py
Normal file
0
tests/user_commands/management/__init__.py
Normal file
0
tests/user_commands/management/commands/__init__.py
Normal file
0
tests/user_commands/management/commands/__init__.py
Normal file
20
tests/user_commands/management/commands/dance.py
Normal file
20
tests/user_commands/management/commands/dance.py
Normal file
|
@ -0,0 +1,20 @@
|
|||
from optparse import make_option
|
||||
|
||||
from django.core.management.base import BaseCommand, CommandError
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = "Dance around like a madman."
|
||||
args = ''
|
||||
requires_model_validation = True
|
||||
|
||||
option_list = BaseCommand.option_list + (
|
||||
make_option("-s", "--style", default="Rock'n'Roll"),
|
||||
make_option("-x", "--example")
|
||||
)
|
||||
|
||||
def handle(self, *args, **options):
|
||||
example = options["example"]
|
||||
if example == "raise":
|
||||
raise CommandError()
|
||||
self.stdout.write("I don't feel like dancing %s." % options["style"])
|
|
@ -0,0 +1,10 @@
|
|||
from django.core.management.base import BaseCommand
|
||||
from django.utils import translation
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
||||
can_import_settings = True
|
||||
leave_locale_alone = False
|
||||
|
||||
def handle(self, *args, **options):
|
||||
return translation.get_language()
|
|
@ -0,0 +1,10 @@
|
|||
from django.core.management.base import BaseCommand
|
||||
from django.utils import translation
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
||||
can_import_settings = True
|
||||
leave_locale_alone = True
|
||||
|
||||
def handle(self, *args, **options):
|
||||
return translation.get_language()
|
14
tests/user_commands/models.py
Normal file
14
tests/user_commands/models.py
Normal file
|
@ -0,0 +1,14 @@
|
|||
"""
|
||||
38. User-registered management commands
|
||||
|
||||
The ``manage.py`` utility provides a number of useful commands for managing a
|
||||
Django project. If you want to add a utility command of your own, you can.
|
||||
|
||||
The user-defined command ``dance`` is defined in the management/commands
|
||||
subdirectory of this test application. It is a simple command that responds
|
||||
with a printed message when invoked.
|
||||
|
||||
For more details on how to define your own ``manage.py`` commands, look at the
|
||||
``django.core.management.commands`` directory. This directory contains the
|
||||
definitions for the base Django ``manage.py`` commands.
|
||||
"""
|
60
tests/user_commands/tests.py
Normal file
60
tests/user_commands/tests.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
import sys
|
||||
|
||||
from django.core import management
|
||||
from django.core.management.base import CommandError
|
||||
from django.test import TestCase
|
||||
from django.utils import translation
|
||||
from django.utils.six import StringIO
|
||||
|
||||
|
||||
class CommandTests(TestCase):
|
||||
def test_command(self):
|
||||
out = StringIO()
|
||||
management.call_command('dance', stdout=out)
|
||||
self.assertEqual(out.getvalue(),
|
||||
"I don't feel like dancing Rock'n'Roll.\n")
|
||||
|
||||
def test_command_style(self):
|
||||
out = StringIO()
|
||||
management.call_command('dance', style='Jive', stdout=out)
|
||||
self.assertEqual(out.getvalue(),
|
||||
"I don't feel like dancing Jive.\n")
|
||||
|
||||
def test_language_preserved(self):
|
||||
out = StringIO()
|
||||
with translation.override('fr'):
|
||||
management.call_command('dance', stdout=out)
|
||||
self.assertEqual(translation.get_language(), 'fr')
|
||||
|
||||
def test_explode(self):
|
||||
""" Test that an unknown command raises CommandError """
|
||||
self.assertRaises(CommandError, management.call_command, ('explode',))
|
||||
|
||||
def test_system_exit(self):
|
||||
""" Exception raised in a command should raise CommandError with
|
||||
call_command, but SystemExit when run from command line
|
||||
"""
|
||||
with self.assertRaises(CommandError):
|
||||
management.call_command('dance', example="raise")
|
||||
old_stderr = sys.stderr
|
||||
sys.stderr = err = StringIO()
|
||||
try:
|
||||
with self.assertRaises(SystemExit):
|
||||
management.ManagementUtility(['manage.py', 'dance', '--example=raise']).execute()
|
||||
finally:
|
||||
sys.stderr = old_stderr
|
||||
self.assertIn("CommandError", err.getvalue())
|
||||
|
||||
def test_default_en_us_locale_set(self):
|
||||
# Forces en_us when set to true
|
||||
out = StringIO()
|
||||
with translation.override('pl'):
|
||||
management.call_command('leave_locale_alone_false', stdout=out)
|
||||
self.assertEqual(out.getvalue(), "en-us\n")
|
||||
|
||||
def test_configured_locale_preserved(self):
|
||||
# Leaves locale from settings when set to false
|
||||
out = StringIO()
|
||||
with translation.override('pl'):
|
||||
management.call_command('leave_locale_alone_true', stdout=out)
|
||||
self.assertEqual(out.getvalue(), "pl\n")
|
Loading…
Add table
Add a link
Reference in a new issue