# -*- coding: utf-8 -*- ''' Test the django module ''' # Import Salt Testing libs from salttesting import skipIf from salttesting.helpers import ensure_in_syspath from salttesting.mock import NO_MOCK, NO_MOCK_REASON, MagicMock, patch ensure_in_syspath('../../') # Import salt libs import integration from salt.modules import djangomod as django django.__salt__ = {} @skipIf(NO_MOCK, NO_MOCK_REASON) @patch('salt.utils.which', lambda exe: exe) class DjangoModuleTest(integration.ModuleCase): ''' Test the django module ''' def test_command(self): mock = MagicMock() with patch.dict(django.__salt__, {'cmd.run': mock}): django.command('settings.py', 'runserver') mock.assert_called_once_with( 'django-admin.py runserver --settings=settings.py', env=None ) def test_command_with_args(self): mock = MagicMock() with patch.dict(django.__salt__, {'cmd.run': mock}): django.command( 'settings.py', 'runserver', None, None, None, 'noinput', 'somethingelse' ) mock.assert_called_once_with( 'django-admin.py runserver --settings=settings.py ' '--noinput --somethingelse', env=None ) def test_command_with_kwargs(self): mock = MagicMock() with patch.dict(django.__salt__, {'cmd.run': mock}): django.command( 'settings.py', 'runserver', None, None, database='something' ) mock.assert_called_once_with( 'django-admin.py runserver --settings=settings.py ' '--database=something', env=None ) def test_command_with_kwargs_ignore_dunder(self): mock = MagicMock() with patch.dict(django.__salt__, {'cmd.run': mock}): django.command( 'settings.py', 'runserver', None, None, __ignore='something' ) mock.assert_called_once_with( 'django-admin.py runserver --settings=settings.py', env=None ) def test_syncdb(self): mock = MagicMock() with patch.dict(django.__salt__, {'cmd.run': mock}): django.syncdb('settings.py') mock.assert_called_once_with( 'django-admin.py syncdb --settings=settings.py --noinput', env=None ) def test_syncdb_migrate(self): mock = MagicMock() with patch.dict(django.__salt__, {'cmd.run': mock}): django.syncdb('settings.py', migrate=True) mock.assert_called_once_with( 'django-admin.py syncdb --settings=settings.py --migrate ' '--noinput', env=None ) def test_createsuperuser(self): mock = MagicMock() with patch.dict(django.__salt__, {'cmd.run': mock}): django.createsuperuser( 'settings.py', 'testuser', 'user@example.com' ) mock.assert_called_once_with( 'django-admin.py createsuperuser --settings=settings.py ' '--noinput --username=testuser --email=user@example.com', env=None ) def no_test_loaddata(self): mock = MagicMock() with patch.dict(django.__salt__, {'cmd.run': mock}): django.loaddata('settings.py', 'app1,app2') mock.assert_called_once_with( 'django-admin.py loaddata --settings=settings.py app1 app2', ) def test_collectstatic(self): mock = MagicMock() with patch.dict(django.__salt__, {'cmd.run': mock}): django.collectstatic( 'settings.py', None, True, 'something', True, True, True, True ) mock.assert_called_once_with( 'django-admin.py collectstatic --settings=settings.py ' '--noinput --no-post-process --dry-run --clear --link ' '--no-default-ignore --ignore=something', env=None ) if __name__ == '__main__': from integration import run_tests run_tests(DjangoModuleTest)