62 lines
1.8 KiB
Python
62 lines
1.8 KiB
Python
from __future__ import unicode_literals
|
|
|
|
from django.utils.six import StringIO
|
|
|
|
from django.core import management
|
|
from django.test import TestCase
|
|
|
|
from ..classes import PlatformTemplate
|
|
|
|
TEST_TEMPLATE_LABEL = 'test template label'
|
|
TEST_TEMPLATE_NAME = 'test_template_name'
|
|
TEST_TEMPLATE_STRING = '''
|
|
test template string
|
|
test template variable: {{ test_template_variable }}
|
|
'''
|
|
TEST_TEMPLATE_VARIABLE_VALUE = 'test_variable_value'
|
|
TEST_TEMPLATE_VARIABLE_VALUE_ALT = 'test_variable_value_alt'
|
|
TEST_TEMPLATE_STRING_RENDER = '''
|
|
test template string
|
|
test template variable: {}
|
|
'''.format(TEST_TEMPLATE_VARIABLE_VALUE)
|
|
TEST_TEMPLATE_STRING_RENDER_ALT = '''
|
|
test template string
|
|
test template variable: {}
|
|
'''.format(TEST_TEMPLATE_VARIABLE_VALUE_ALT)
|
|
|
|
|
|
class TestPlatformTemplate(PlatformTemplate):
|
|
context = {'test_template_variable': TEST_TEMPLATE_VARIABLE_VALUE}
|
|
label = TEST_TEMPLATE_LABEL
|
|
name = TEST_TEMPLATE_NAME
|
|
template_string = TEST_TEMPLATE_STRING
|
|
|
|
|
|
PlatformTemplate.register(klass=TestPlatformTemplate)
|
|
|
|
|
|
class PlatformTemplateManagementCommandTestCase(TestCase):
|
|
|
|
def test_platform_template_simple(self):
|
|
output = StringIO()
|
|
args = (TEST_TEMPLATE_NAME,)
|
|
options = {
|
|
'stdout': output
|
|
}
|
|
management.call_command('platformtemplate', *args, **options)
|
|
self.assertEqual(output.getvalue(), TEST_TEMPLATE_STRING_RENDER)
|
|
|
|
def test_platform_template_context(self):
|
|
output = StringIO()
|
|
args = (
|
|
TEST_TEMPLATE_NAME, '--context',
|
|
'test_template_variable: {}'.format(
|
|
TEST_TEMPLATE_VARIABLE_VALUE_ALT
|
|
)
|
|
)
|
|
options = {
|
|
'stdout': output
|
|
}
|
|
management.call_command('platformtemplate', *args, **options)
|
|
self.assertEqual(output.getvalue(), TEST_TEMPLATE_STRING_RENDER_ALT)
|