diff --git a/netbox/extras/tests/test_api.py b/netbox/extras/tests/test_api.py index 7a4d63549..4682ce6e2 100644 --- a/netbox/extras/tests/test_api.py +++ b/netbox/extras/tests/test_api.py @@ -763,6 +763,7 @@ class ConfigTemplateTest(APIViewTestCases.APIViewTestCase): { 'name': 'Config Template 6', 'template_code': 'Baz: {{ baz }}', + 'file_name': 'test_config_template_6', }, ] bulk_update_data = { @@ -778,7 +779,9 @@ class ConfigTemplateTest(APIViewTestCases.APIViewTestCase): ), ConfigTemplate( name='Config Template 2', - template_code='Bar: {{ bar }}' + template_code='Bar: {{ bar }}', + file_name='config_template_2', + file_extension='test', ), ConfigTemplate( name='Config Template 3', diff --git a/netbox/extras/tests/test_filtersets.py b/netbox/extras/tests/test_filtersets.py index eb3dc93de..ce4f16c44 100644 --- a/netbox/extras/tests/test_filtersets.py +++ b/netbox/extras/tests/test_filtersets.py @@ -1089,8 +1089,11 @@ class ConfigTemplateTestCase(TestCase, ChangeLoggedFilterSetTests): 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( + name='Config Template 2', template_code='TESTING', description='foobar2', + file_name='config_template_2', file_extension='nagios', + ), + ConfigTemplate(name='Config Template 3', template_code='TESTING', file_name='export_filename'), ) ConfigTemplate.objects.bulk_create(config_templates) @@ -1106,6 +1109,16 @@ class ConfigTemplateTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'description': ['foobar1', 'foobar2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_file_extension(self): + params = {'file_extension': ['nagios']} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + + params = {'file_name': ['config_template_2'], 'file_extension': ['nagios']} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + + params = {'file_name': 'export_filename', 'file_extension': ['nagios']} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0) + class TagTestCase(TestCase, ChangeLoggedFilterSetTests): queryset = Tag.objects.all() diff --git a/netbox/extras/tests/test_views.py b/netbox/extras/tests/test_views.py index 0688cd2c2..283b60168 100644 --- a/netbox/extras/tests/test_views.py +++ b/netbox/extras/tests/test_views.py @@ -301,10 +301,13 @@ class ExportTemplateTestCase(ViewTestCases.PrimaryObjectViewTestCase): def setUpTestData(cls): site_type = ObjectType.objects.get_for_model(Site) TEMPLATE_CODE = """{% for object in queryset %}{{ object }}{% endfor %}""" + ENVIRONMENT_PARAMS = """{"trim_blocks": true}""" export_templates = ( ExportTemplate(name='Export Template 1', template_code=TEMPLATE_CODE), - ExportTemplate(name='Export Template 2', template_code=TEMPLATE_CODE), + ExportTemplate( + name='Export Template 2', template_code=TEMPLATE_CODE, environment_params={"trim_blocks": True} + ), ExportTemplate(name='Export Template 3', template_code=TEMPLATE_CODE, file_name='export_template_3') ) ExportTemplate.objects.bulk_create(export_templates) @@ -315,6 +318,7 @@ class ExportTemplateTestCase(ViewTestCases.PrimaryObjectViewTestCase): 'name': 'Export Template X', 'object_types': [site_type.pk], 'template_code': TEMPLATE_CODE, + 'environment_params': ENVIRONMENT_PARAMS, 'file_name': 'template_x', } @@ -537,11 +541,14 @@ class ConfigTemplateTestCase( @classmethod def setUpTestData(cls): TEMPLATE_CODE = """Foo: {{ foo }}""" + ENVIRONMENT_PARAMS = """{"trim_blocks": true}""" 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( + name='Config Template 2', template_code=TEMPLATE_CODE, environment_params={"trim_blocks": True} + ), + ConfigTemplate(name='Config Template 3', template_code=TEMPLATE_CODE, file_name='config_template_3'), ) ConfigTemplate.objects.bulk_create(config_templates) @@ -549,17 +556,22 @@ class ConfigTemplateTestCase( 'name': 'Config Template X', 'description': 'Config template', 'template_code': TEMPLATE_CODE, + 'environment_params': ENVIRONMENT_PARAMS, + 'file_name': 'config_x', } 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", + "id,name,template_code,file_name", + f"{config_templates[0].pk},Config Template 7,{TEMPLATE_CODE},", + f"{config_templates[1].pk},Config Template 8,{TEMPLATE_CODE},config_8", + f"{config_templates[2].pk},Config Template 9,{TEMPLATE_CODE},", ) cls.bulk_edit_data = { 'description': 'New description', + 'mime_type': 'text/html', + 'file_extension': 'html', + 'as_attachment': True, }