mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 17:09:03 +00:00
144 lines
4.5 KiB
Python
144 lines
4.5 KiB
Python
# -*- 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)
|