1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Add tests for ConfigTemplate

This commit is contained in:
jeremystretch
2023-04-11 15:25:48 -04:00
parent f68a63255b
commit 46d7bf02ac
4 changed files with 102 additions and 1 deletions

View File

@ -25,7 +25,7 @@ class ConfigContextType(ObjectType):
filterset_class = filtersets.ConfigContextFilterSet
class ConfigTemplateType(ObjectType):
class ConfigTemplateType(TagsMixin, ObjectType):
class Meta:
model = models.ConfigTemplate

View File

@ -513,6 +513,46 @@ class ConfigContextTest(APIViewTestCases.APIViewTestCase):
self.assertEqual(rendered_context['bar'], 456)
class ConfigTemplateTest(APIViewTestCases.APIViewTestCase):
model = ConfigTemplate
brief_fields = ['display', 'id', 'name', 'url']
create_data = [
{
'name': 'Config Template 4',
'template_code': 'Foo: {{ foo }}',
},
{
'name': 'Config Template 5',
'template_code': 'Bar: {{ bar }}',
},
{
'name': 'Config Template 6',
'template_code': 'Baz: {{ baz }}',
},
]
bulk_update_data = {
'description': 'New description',
}
@classmethod
def setUpTestData(cls):
config_templates = (
ConfigTemplate(
name='Config Template 1',
template_code='Foo: {{ foo }}'
),
ConfigTemplate(
name='Config Template 2',
template_code='Bar: {{ bar }}'
),
ConfigTemplate(
name='Config Template 3',
template_code='Baz: {{ baz }}'
),
)
ConfigTemplate.objects.bulk_create(config_templates)
class ReportTest(APITestCase):
class TestReport(Report):

View File

@ -790,6 +790,28 @@ class ConfigContextTestCase(TestCase, ChangeLoggedFilterSetTests):
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
class ConfigTemplateTestCase(TestCase, BaseFilterSetTests):
queryset = ConfigTemplate.objects.all()
filterset = ConfigTemplateFilterSet
@classmethod
def setUpTestData(cls):
config_templates = (
ConfigTemplate(name='Config Template 1', template_code='TESTING', description='foobar1'),
ConfigTemplate(name='Config Template 2', template_code='TESTING', description='foobar2'),
ConfigTemplate(name='Config Template 3', template_code='TESTING'),
)
ConfigTemplate.objects.bulk_create(config_templates)
def test_name(self):
params = {'name': ['Config Template 1', 'Config Template 2']}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_description(self):
params = {'description': ['foobar1', 'foobar2']}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
class TagTestCase(TestCase, ChangeLoggedFilterSetTests):
queryset = Tag.objects.all()
filterset = TagFilterSet

View File

@ -360,6 +360,45 @@ class ConfigContextTestCase(
}
class ConfigTemplateTestCase(
ViewTestCases.GetObjectViewTestCase,
ViewTestCases.GetObjectChangelogViewTestCase,
ViewTestCases.DeleteObjectViewTestCase,
ViewTestCases.ListObjectsViewTestCase,
ViewTestCases.BulkEditObjectsViewTestCase,
ViewTestCases.BulkDeleteObjectsViewTestCase
):
model = ConfigTemplate
@classmethod
def setUpTestData(cls):
TEMPLATE_CODE = """Foo: {{ foo }}"""
config_templates = (
ConfigTemplate(name='Config Template 1', template_code=TEMPLATE_CODE),
ConfigTemplate(name='Config Template 2', template_code=TEMPLATE_CODE),
ConfigTemplate(name='Config Template 3', template_code=TEMPLATE_CODE),
)
ConfigTemplate.objects.bulk_create(config_templates)
cls.form_data = {
'name': 'Config Template X',
'description': 'Config template',
'template_code': TEMPLATE_CODE,
}
cls.csv_update_data = (
"id,name",
f"{config_templates[0].pk},Config Template 7",
f"{config_templates[1].pk},Config Template 8",
f"{config_templates[2].pk},Config Template 9",
)
cls.bulk_edit_data = {
'description': 'New description',
}
# TODO: Convert to StandardTestCases.Views
class ObjectChangeTestCase(TestCase):
user_permissions = (