Jelajahi Sumber

refactor(tests): Standardize test class naming to TestCase suffix

Rename all test classes from `*Test` to `*TestCase` for consistency with
Django conventions.

Fixes #22097
Martin Hauser 1 Minggu lalu
induk
melakukan
963306f338
62 mengubah file dengan 390 tambahan dan 390 penghapusan
  1. 12 12
      netbox/circuits/tests/test_api.py
  2. 11 11
      netbox/circuits/tests/test_tables.py
  3. 4 4
      netbox/core/tests/test_api.py
  4. 3 3
      netbox/core/tests/test_changelog.py
  5. 2 2
      netbox/core/tests/test_data_backends.py
  6. 2 2
      netbox/core/tests/test_models.py
  7. 5 5
      netbox/core/tests/test_tables.py
  8. 48 48
      netbox/dcim/tests/test_api.py
  9. 2 2
      netbox/dcim/tests/test_cable_profiles.py
  10. 1 1
      netbox/dcim/tests/test_cablepaths.py
  11. 1 1
      netbox/dcim/tests/test_cablepaths2.py
  12. 36 36
      netbox/dcim/tests/test_tables.py
  13. 22 22
      netbox/extras/tests/test_api.py
  14. 1 1
      netbox/extras/tests/test_conditions.py
  15. 4 4
      netbox/extras/tests/test_custom_validation.py
  16. 6 6
      netbox/extras/tests/test_customfields.py
  17. 3 3
      netbox/extras/tests/test_customvalidators.py
  18. 1 1
      netbox/extras/tests/test_dashboard.py
  19. 1 1
      netbox/extras/tests/test_event_rules.py
  20. 3 3
      netbox/extras/tests/test_forms.py
  21. 7 7
      netbox/extras/tests/test_models.py
  22. 1 1
      netbox/extras/tests/test_scripts.py
  23. 18 18
      netbox/extras/tests/test_tables.py
  24. 1 1
      netbox/extras/tests/test_tags.py
  25. 2 2
      netbox/extras/tests/test_utils.py
  26. 26 26
      netbox/extras/tests/test_views.py
  27. 19 19
      netbox/ipam/tests/test_api.py
  28. 1 1
      netbox/ipam/tests/test_lookups.py
  29. 19 19
      netbox/ipam/tests/test_tables.py
  30. 2 2
      netbox/netbox/tests/test_api.py
  31. 1 1
      netbox/netbox/tests/test_forms.py
  32. 3 3
      netbox/netbox/tests/test_jobs.py
  33. 1 1
      netbox/netbox/tests/test_models.py
  34. 1 1
      netbox/netbox/tests/test_object_actions.py
  35. 2 2
      netbox/netbox/tests/test_plugins.py
  36. 1 1
      netbox/netbox/tests/test_registry.py
  37. 2 2
      netbox/netbox/tests/test_tables.py
  38. 11 11
      netbox/netbox/tests/test_ui.py
  39. 7 7
      netbox/tenancy/tests/test_api.py
  40. 6 6
      netbox/tenancy/tests/test_tables.py
  41. 8 8
      netbox/users/tests/test_api.py
  42. 2 2
      netbox/users/tests/test_models.py
  43. 1 1
      netbox/users/tests/test_preferences.py
  44. 6 6
      netbox/users/tests/test_tables.py
  45. 1 1
      netbox/utilities/tests/test_api.py
  46. 1 1
      netbox/utilities/tests/test_conversions.py
  47. 1 1
      netbox/utilities/tests/test_counters.py
  48. 5 5
      netbox/utilities/tests/test_filter_modifiers.py
  49. 3 3
      netbox/utilities/tests/test_filters.py
  50. 6 6
      netbox/utilities/tests/test_forms.py
  51. 1 1
      netbox/utilities/tests/test_managers.py
  52. 3 3
      netbox/utilities/tests/test_permissions.py
  53. 1 1
      netbox/utilities/tests/test_prefetch.py
  54. 2 2
      netbox/utilities/tests/test_request.py
  55. 5 5
      netbox/utilities/tests/test_templatetags.py
  56. 3 3
      netbox/utilities/tests/test_utils.py
  57. 8 8
      netbox/virtualization/tests/test_api.py
  58. 6 6
      netbox/virtualization/tests/test_tables.py
  59. 11 11
      netbox/vpn/tests/test_api.py
  60. 10 10
      netbox/vpn/tests/test_tables.py
  61. 4 4
      netbox/wireless/tests/test_api.py
  62. 3 3
      netbox/wireless/tests/test_tables.py

+ 12 - 12
netbox/circuits/tests/test_api.py

@@ -8,7 +8,7 @@ from ipam.models import ASN, RIR
 from utilities.testing import APITestCase, APIViewTestCases
 from utilities.testing import APITestCase, APIViewTestCases
 
 
 
 
-class AppTest(APITestCase):
+class AppTestCase(APITestCase):
 
 
     def test_root(self):
     def test_root(self):
         url = reverse('circuits-api:api-root')
         url = reverse('circuits-api:api-root')
@@ -17,7 +17,7 @@ class AppTest(APITestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.status_code, 200)
 
 
 
 
-class ProviderTest(APIViewTestCases.APIViewTestCase):
+class ProviderTestCase(APIViewTestCases.APIViewTestCase):
     model = Provider
     model = Provider
     brief_fields = ['circuit_count', 'description', 'display', 'id', 'name', 'slug', 'url']
     brief_fields = ['circuit_count', 'description', 'display', 'id', 'name', 'slug', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -59,7 +59,7 @@ class ProviderTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class CircuitTypeTest(APIViewTestCases.APIViewTestCase):
+class CircuitTypeTestCase(APIViewTestCases.APIViewTestCase):
     model = CircuitType
     model = CircuitType
     brief_fields = ['circuit_count', 'description', 'display', 'id', 'name', 'slug', 'url']
     brief_fields = ['circuit_count', 'description', 'display', 'id', 'name', 'slug', 'url']
     create_data = (
     create_data = (
@@ -91,7 +91,7 @@ class CircuitTypeTest(APIViewTestCases.APIViewTestCase):
         CircuitType.objects.bulk_create(circuit_types)
         CircuitType.objects.bulk_create(circuit_types)
 
 
 
 
-class CircuitTest(APIViewTestCases.APIViewTestCase):
+class CircuitTestCase(APIViewTestCases.APIViewTestCase):
     model = Circuit
     model = Circuit
     brief_fields = ['cid', 'description', 'display', 'id', 'provider', 'url']
     brief_fields = ['cid', 'description', 'display', 'id', 'provider', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -155,7 +155,7 @@ class CircuitTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class CircuitTerminationTest(APIViewTestCases.APIViewTestCase):
+class CircuitTerminationTestCase(APIViewTestCases.APIViewTestCase):
     model = CircuitTermination
     model = CircuitTermination
     brief_fields = ['_occupied', 'cable', 'circuit', 'description', 'display', 'id', 'term_side', 'url']
     brief_fields = ['_occupied', 'cable', 'circuit', 'description', 'display', 'id', 'term_side', 'url']
     user_permissions = ('circuits.view_circuit', )
     user_permissions = ('circuits.view_circuit', )
@@ -217,7 +217,7 @@ class CircuitTerminationTest(APIViewTestCases.APIViewTestCase):
         }
         }
 
 
 
 
-class CircuitGroupTest(APIViewTestCases.APIViewTestCase):
+class CircuitGroupTestCase(APIViewTestCases.APIViewTestCase):
     model = CircuitGroup
     model = CircuitGroup
     brief_fields = ['display', 'id', 'name', 'url']
     brief_fields = ['display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -249,7 +249,7 @@ class CircuitGroupTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class ProviderAccountTest(APIViewTestCases.APIViewTestCase):
+class ProviderAccountTestCase(APIViewTestCases.APIViewTestCase):
     model = ProviderAccount
     model = ProviderAccount
     brief_fields = ['account', 'description', 'display', 'id', 'name', 'url']
     brief_fields = ['account', 'description', 'display', 'id', 'name', 'url']
     user_permissions = ('circuits.view_provider',)
     user_permissions = ('circuits.view_provider',)
@@ -293,7 +293,7 @@ class ProviderAccountTest(APIViewTestCases.APIViewTestCase):
         }
         }
 
 
 
 
-class CircuitGroupAssignmentTest(APIViewTestCases.APIViewTestCase):
+class CircuitGroupAssignmentTestCase(APIViewTestCases.APIViewTestCase):
     model = CircuitGroupAssignment
     model = CircuitGroupAssignment
     brief_fields = ['display', 'group', 'id', 'member', 'member_id', 'member_type', 'priority', 'url']
     brief_fields = ['display', 'group', 'id', 'member', 'member_id', 'member_type', 'priority', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -368,7 +368,7 @@ class CircuitGroupAssignmentTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class ProviderNetworkTest(APIViewTestCases.APIViewTestCase):
+class ProviderNetworkTestCase(APIViewTestCases.APIViewTestCase):
     model = ProviderNetwork
     model = ProviderNetwork
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     user_permissions = ('circuits.view_provider', )
     user_permissions = ('circuits.view_provider', )
@@ -409,7 +409,7 @@ class ProviderNetworkTest(APIViewTestCases.APIViewTestCase):
         }
         }
 
 
 
 
-class VirtualCircuitTypeTest(APIViewTestCases.APIViewTestCase):
+class VirtualCircuitTypeTestCase(APIViewTestCases.APIViewTestCase):
     model = VirtualCircuitType
     model = VirtualCircuitType
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url', 'virtual_circuit_count']
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url', 'virtual_circuit_count']
     create_data = (
     create_data = (
@@ -441,7 +441,7 @@ class VirtualCircuitTypeTest(APIViewTestCases.APIViewTestCase):
         VirtualCircuitType.objects.bulk_create(virtual_circuit_types)
         VirtualCircuitType.objects.bulk_create(virtual_circuit_types)
 
 
 
 
-class VirtualCircuitTest(APIViewTestCases.APIViewTestCase):
+class VirtualCircuitTestCase(APIViewTestCases.APIViewTestCase):
     model = VirtualCircuit
     model = VirtualCircuit
     brief_fields = ['cid', 'description', 'display', 'id', 'provider_network', 'url']
     brief_fields = ['cid', 'description', 'display', 'id', 'provider_network', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -505,7 +505,7 @@ class VirtualCircuitTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class VirtualCircuitTerminationTest(APIViewTestCases.APIViewTestCase):
+class VirtualCircuitTerminationTestCase(APIViewTestCases.APIViewTestCase):
     model = VirtualCircuitTermination
     model = VirtualCircuitTermination
     brief_fields = ['description', 'display', 'id', 'interface', 'role', 'url', 'virtual_circuit']
     brief_fields = ['description', 'display', 'id', 'interface', 'role', 'url', 'virtual_circuit']
     bulk_update_data = {
     bulk_update_data = {

+ 11 - 11
netbox/circuits/tests/test_tables.py

@@ -2,45 +2,45 @@ from circuits.tables import *
 from utilities.testing import TableTestCases
 from utilities.testing import TableTestCases
 
 
 
 
-class CircuitTypeTableTest(TableTestCases.StandardTableTestCase):
+class CircuitTypeTableTestCase(TableTestCases.StandardTableTestCase):
     table = CircuitTypeTable
     table = CircuitTypeTable
 
 
 
 
-class CircuitTableTest(TableTestCases.StandardTableTestCase):
+class CircuitTableTestCase(TableTestCases.StandardTableTestCase):
     table = CircuitTable
     table = CircuitTable
 
 
 
 
-class CircuitTerminationTableTest(TableTestCases.StandardTableTestCase):
+class CircuitTerminationTableTestCase(TableTestCases.StandardTableTestCase):
     table = CircuitTerminationTable
     table = CircuitTerminationTable
 
 
 
 
-class CircuitGroupTableTest(TableTestCases.StandardTableTestCase):
+class CircuitGroupTableTestCase(TableTestCases.StandardTableTestCase):
     table = CircuitGroupTable
     table = CircuitGroupTable
 
 
 
 
-class CircuitGroupAssignmentTableTest(TableTestCases.StandardTableTestCase):
+class CircuitGroupAssignmentTableTestCase(TableTestCases.StandardTableTestCase):
     table = CircuitGroupAssignmentTable
     table = CircuitGroupAssignmentTable
 
 
 
 
-class ProviderTableTest(TableTestCases.StandardTableTestCase):
+class ProviderTableTestCase(TableTestCases.StandardTableTestCase):
     table = ProviderTable
     table = ProviderTable
 
 
 
 
-class ProviderAccountTableTest(TableTestCases.StandardTableTestCase):
+class ProviderAccountTableTestCase(TableTestCases.StandardTableTestCase):
     table = ProviderAccountTable
     table = ProviderAccountTable
 
 
 
 
-class ProviderNetworkTableTest(TableTestCases.StandardTableTestCase):
+class ProviderNetworkTableTestCase(TableTestCases.StandardTableTestCase):
     table = ProviderNetworkTable
     table = ProviderNetworkTable
 
 
 
 
-class VirtualCircuitTypeTableTest(TableTestCases.StandardTableTestCase):
+class VirtualCircuitTypeTableTestCase(TableTestCases.StandardTableTestCase):
     table = VirtualCircuitTypeTable
     table = VirtualCircuitTypeTable
 
 
 
 
-class VirtualCircuitTableTest(TableTestCases.StandardTableTestCase):
+class VirtualCircuitTableTestCase(TableTestCases.StandardTableTestCase):
     table = VirtualCircuitTable
     table = VirtualCircuitTable
 
 
 
 
-class VirtualCircuitTerminationTableTest(TableTestCases.StandardTableTestCase):
+class VirtualCircuitTerminationTableTestCase(TableTestCases.StandardTableTestCase):
     table = VirtualCircuitTerminationTable
     table = VirtualCircuitTerminationTable

+ 4 - 4
netbox/core/tests/test_api.py

@@ -17,7 +17,7 @@ from utilities.testing.utils import disable_logging
 from ..models import *
 from ..models import *
 
 
 
 
-class AppTest(APITestCase):
+class AppTestCase(APITestCase):
 
 
     def test_root(self):
     def test_root(self):
         url = reverse('core-api:api-root')
         url = reverse('core-api:api-root')
@@ -26,7 +26,7 @@ class AppTest(APITestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.status_code, 200)
 
 
 
 
-class DataSourceTest(APIViewTestCases.APIViewTestCase):
+class DataSourceTestCase(APIViewTestCases.APIViewTestCase):
     model = DataSource
     model = DataSource
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -62,7 +62,7 @@ class DataSourceTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class DataFileTest(
+class DataFileTestCase(
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.ListObjectsViewTestCase,
     APIViewTestCases.ListObjectsViewTestCase,
     APIViewTestCases.GraphQLTestCase
     APIViewTestCases.GraphQLTestCase
@@ -105,7 +105,7 @@ class DataFileTest(
         DataFile.objects.bulk_create(data_files)
         DataFile.objects.bulk_create(data_files)
 
 
 
 
-class ObjectTypeTest(APITestCase):
+class ObjectTypeTestCase(APITestCase):
 
 
     def test_list_objects(self):
     def test_list_objects(self):
         object_type_count = ObjectType.objects.count()
         object_type_count = ObjectType.objects.count()

+ 3 - 3
netbox/core/tests/test_changelog.py

@@ -33,7 +33,7 @@ from utilities.testing.utils import create_tags, create_test_device, post_data
 from utilities.testing.views import ModelViewTestCase
 from utilities.testing.views import ModelViewTestCase
 
 
 
 
-class ChangeLogViewTest(ModelViewTestCase):
+class ChangeLogViewTestCase(ModelViewTestCase):
     model = Site
     model = Site
 
 
     @classmethod
     @classmethod
@@ -397,7 +397,7 @@ class ChangeLogViewTest(ModelViewTestCase):
         self.assertEqual(objectchanges.count(), 2)
         self.assertEqual(objectchanges.count(), 2)
 
 
 
 
-class ChangeLogAPITest(APITestCase):
+class ChangeLogAPITestCase(APITestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
@@ -703,7 +703,7 @@ class ChangeLogAPITest(APITestCase):
         self.assertEqual(changes[3].action, ObjectChangeActionChoices.ACTION_DELETE)
         self.assertEqual(changes[3].action, ObjectChangeActionChoices.ACTION_DELETE)
 
 
 
 
-class ChangelogPruneRetentionTest(TestCase):
+class ChangelogPruneRetentionTestCase(TestCase):
     """Test suite for Changelog pruning retention settings."""
     """Test suite for Changelog pruning retention settings."""
 
 
     @staticmethod
     @staticmethod

+ 2 - 2
netbox/core/tests/test_data_backends.py

@@ -12,7 +12,7 @@ except ImportError:
     DULWICH_AVAILABLE = False
     DULWICH_AVAILABLE = False
 
 
 
 
-class URLEmbeddedCredentialsTests(TestCase):
+class URLEmbeddedCredentialsTestCase(TestCase):
     def test_url_with_embedded_username(self):
     def test_url_with_embedded_username(self):
         self.assertTrue(url_has_embedded_credentials('https://myuser@bitbucket.org/workspace/repo.git'))
         self.assertTrue(url_has_embedded_credentials('https://myuser@bitbucket.org/workspace/repo.git'))
 
 
@@ -54,7 +54,7 @@ class URLEmbeddedCredentialsTests(TestCase):
 
 
 
 
 @skipIf(not DULWICH_AVAILABLE, "dulwich is not installed")
 @skipIf(not DULWICH_AVAILABLE, "dulwich is not installed")
-class GitBackendCredentialIntegrationTests(TestCase):
+class GitBackendCredentialIntegrationTestCase(TestCase):
     """
     """
     Integration tests that verify GitBackend correctly applies credential logic.
     Integration tests that verify GitBackend correctly applies credential logic.
 
 

+ 2 - 2
netbox/core/tests/test_models.py

@@ -150,7 +150,7 @@ class DataSourceChangeLoggingTestCase(TestCase):
         self.assertEqual(objectchange.postchange_data['parameters']['password'], CENSOR_TOKEN)
         self.assertEqual(objectchange.postchange_data['parameters']['password'], CENSOR_TOKEN)
 
 
 
 
-class ObjectTypeTest(TestCase):
+class ObjectTypeTestCase(TestCase):
 
 
     def test_create(self):
     def test_create(self):
         """
         """
@@ -227,7 +227,7 @@ class ObjectTypeTest(TestCase):
         self.assertNotIn(ObjectType.objects.get_by_natural_key('dcim', 'cabletermination'), bookmarks_ots)
         self.assertNotIn(ObjectType.objects.get_by_natural_key('dcim', 'cabletermination'), bookmarks_ots)
 
 
 
 
-class JobTest(TestCase):
+class JobTestCase(TestCase):
 
 
     def _make_job(self, user, notifications):
     def _make_job(self, user, notifications):
         """
         """

+ 5 - 5
netbox/core/tests/test_tables.py

@@ -3,24 +3,24 @@ from core.tables import *
 from utilities.testing import TableTestCases
 from utilities.testing import TableTestCases
 
 
 
 
-class DataSourceTableTest(TableTestCases.StandardTableTestCase):
+class DataSourceTableTestCase(TableTestCases.StandardTableTestCase):
     table = DataSourceTable
     table = DataSourceTable
 
 
 
 
-class DataFileTableTest(TableTestCases.StandardTableTestCase):
+class DataFileTableTestCase(TableTestCases.StandardTableTestCase):
     table = DataFileTable
     table = DataFileTable
 
 
 
 
-class JobTableTest(TableTestCases.StandardTableTestCase):
+class JobTableTestCase(TableTestCases.StandardTableTestCase):
     table = JobTable
     table = JobTable
 
 
 
 
-class ObjectChangeTableTest(TableTestCases.StandardTableTestCase):
+class ObjectChangeTableTestCase(TableTestCases.StandardTableTestCase):
     table = ObjectChangeTable
     table = ObjectChangeTable
     queryset_sources = [
     queryset_sources = [
         ('ObjectChangeListView', ObjectChange.objects.all()),
         ('ObjectChangeListView', ObjectChange.objects.all()),
     ]
     ]
 
 
 
 
-class ConfigRevisionTableTest(TableTestCases.StandardTableTestCase):
+class ConfigRevisionTableTestCase(TableTestCases.StandardTableTestCase):
     table = ConfigRevisionTable
     table = ConfigRevisionTable

+ 48 - 48
netbox/dcim/tests/test_api.py

@@ -29,7 +29,7 @@ from wireless.choices import WirelessChannelChoices
 from wireless.models import WirelessLAN
 from wireless.models import WirelessLAN
 
 
 
 
-class AppTest(APITestCase):
+class AppTestCase(APITestCase):
 
 
     def test_root(self):
     def test_root(self):
 
 
@@ -76,7 +76,7 @@ class Mixins:
             self.assertEqual(segment1[2][0]['name'], peer_obj.name)
             self.assertEqual(segment1[2][0]['name'], peer_obj.name)
 
 
 
 
-class RegionTest(APIViewTestCases.APIViewTestCase):
+class RegionTestCase(APIViewTestCases.APIViewTestCase):
     model = Region
     model = Region
     brief_fields = ['_depth', 'description', 'display', 'id', 'name', 'site_count', 'slug', 'url']
     brief_fields = ['_depth', 'description', 'display', 'id', 'name', 'site_count', 'slug', 'url']
     create_data = [
     create_data = [
@@ -107,7 +107,7 @@ class RegionTest(APIViewTestCases.APIViewTestCase):
         Region.objects.create(name='Region 3', slug='region-3')
         Region.objects.create(name='Region 3', slug='region-3')
 
 
 
 
-class SiteGroupTest(APIViewTestCases.APIViewTestCase):
+class SiteGroupTestCase(APIViewTestCases.APIViewTestCase):
     model = SiteGroup
     model = SiteGroup
     brief_fields = ['_depth', 'description', 'display', 'id', 'name', 'site_count', 'slug', 'url']
     brief_fields = ['_depth', 'description', 'display', 'id', 'name', 'site_count', 'slug', 'url']
     create_data = [
     create_data = [
@@ -140,7 +140,7 @@ class SiteGroupTest(APIViewTestCases.APIViewTestCase):
         SiteGroup.objects.create(name='Site Group 3', slug='site-group-3', comments='Hi!')
         SiteGroup.objects.create(name='Site Group 3', slug='site-group-3', comments='Hi!')
 
 
 
 
-class SiteTest(APIViewTestCases.APIViewTestCase):
+class SiteTestCase(APIViewTestCases.APIViewTestCase):
     model = Site
     model = Site
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -420,7 +420,7 @@ class SiteTest(APIViewTestCases.APIViewTestCase):
         self.assertHttpStatus(response, status.HTTP_400_BAD_REQUEST)
         self.assertHttpStatus(response, status.HTTP_400_BAD_REQUEST)
 
 
 
 
-class LocationTest(APIViewTestCases.APIViewTestCase):
+class LocationTestCase(APIViewTestCases.APIViewTestCase):
     model = Location
     model = Location
     brief_fields = ['_depth', 'description', 'display', 'id', 'name', 'rack_count', 'slug', 'url']
     brief_fields = ['_depth', 'description', 'display', 'id', 'name', 'rack_count', 'slug', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -504,7 +504,7 @@ class LocationTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class RackGroupTest(APIViewTestCases.APIViewTestCase):
+class RackGroupTestCase(APIViewTestCases.APIViewTestCase):
     model = RackGroup
     model = RackGroup
     brief_fields = ['description', 'display', 'id', 'name', 'rack_count', 'slug', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'rack_count', 'slug', 'url']
     create_data = [
     create_data = [
@@ -536,7 +536,7 @@ class RackGroupTest(APIViewTestCases.APIViewTestCase):
         RackGroup.objects.bulk_create(rack_groups)
         RackGroup.objects.bulk_create(rack_groups)
 
 
 
 
-class RackRoleTest(APIViewTestCases.APIViewTestCase):
+class RackRoleTestCase(APIViewTestCases.APIViewTestCase):
     model = RackRole
     model = RackRole
     brief_fields = ['description', 'display', 'id', 'name', 'rack_count', 'slug', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'rack_count', 'slug', 'url']
     create_data = [
     create_data = [
@@ -571,7 +571,7 @@ class RackRoleTest(APIViewTestCases.APIViewTestCase):
         RackRole.objects.bulk_create(rack_roles)
         RackRole.objects.bulk_create(rack_roles)
 
 
 
 
-class RackTypeTest(APIViewTestCases.APIViewTestCase):
+class RackTypeTestCase(APIViewTestCases.APIViewTestCase):
     model = RackType
     model = RackType
     brief_fields = ['description', 'display', 'id', 'manufacturer', 'model', 'rack_count', 'slug', 'url']
     brief_fields = ['description', 'display', 'id', 'manufacturer', 'model', 'rack_count', 'slug', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -631,7 +631,7 @@ class RackTypeTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class RackTest(APIViewTestCases.APIViewTestCase):
+class RackTestCase(APIViewTestCases.APIViewTestCase):
     model = Rack
     model = Rack
     brief_fields = ['description', 'device_count', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'device_count', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -729,7 +729,7 @@ class RackTest(APIViewTestCases.APIViewTestCase):
         self.assertEqual(response.get('Content-Type'), 'image/svg+xml')
         self.assertEqual(response.get('Content-Type'), 'image/svg+xml')
 
 
 
 
-class RackReservationTest(APIViewTestCases.APIViewTestCase):
+class RackReservationTestCase(APIViewTestCases.APIViewTestCase):
     model = RackReservation
     model = RackReservation
     brief_fields = ['description', 'display', 'id', 'status', 'units', 'url', 'user']
     brief_fields = ['description', 'display', 'id', 'status', 'units', 'url', 'user']
     bulk_update_data = {
     bulk_update_data = {
@@ -804,7 +804,7 @@ class RackReservationTest(APIViewTestCases.APIViewTestCase):
             self.assertEqual(result['unit_count'], len(result['units']))
             self.assertEqual(result['unit_count'], len(result['units']))
 
 
 
 
-class ManufacturerTest(APIViewTestCases.APIViewTestCase):
+class ManufacturerTestCase(APIViewTestCases.APIViewTestCase):
     model = Manufacturer
     model = Manufacturer
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url']
     create_data = [
     create_data = [
@@ -836,7 +836,7 @@ class ManufacturerTest(APIViewTestCases.APIViewTestCase):
         Manufacturer.objects.bulk_create(manufacturers)
         Manufacturer.objects.bulk_create(manufacturers)
 
 
 
 
-class DeviceTypeTest(APIViewTestCases.APIViewTestCase):
+class DeviceTypeTestCase(APIViewTestCases.APIViewTestCase):
     model = DeviceType
     model = DeviceType
     brief_fields = ['description', 'device_count', 'display', 'id', 'manufacturer', 'model', 'slug', 'url']
     brief_fields = ['description', 'device_count', 'display', 'id', 'manufacturer', 'model', 'slug', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -882,7 +882,7 @@ class DeviceTypeTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class ModuleTypeTest(APIViewTestCases.APIViewTestCase):
+class ModuleTypeTestCase(APIViewTestCases.APIViewTestCase):
     model = ModuleType
     model = ModuleType
     brief_fields = ['description', 'display', 'id', 'manufacturer', 'model', 'module_count', 'profile', 'url']
     brief_fields = ['description', 'display', 'id', 'manufacturer', 'model', 'module_count', 'profile', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -922,7 +922,7 @@ class ModuleTypeTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class ModuleTypeProfileTest(APIViewTestCases.APIViewTestCase):
+class ModuleTypeProfileTestCase(APIViewTestCases.APIViewTestCase):
     model = ModuleTypeProfile
     model = ModuleTypeProfile
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     SCHEMAS = [
     SCHEMAS = [
@@ -986,7 +986,7 @@ class ModuleTypeProfileTest(APIViewTestCases.APIViewTestCase):
         ModuleTypeProfile.objects.bulk_create(module_type_profiles)
         ModuleTypeProfile.objects.bulk_create(module_type_profiles)
 
 
 
 
-class ConsolePortTemplateTest(APIViewTestCases.APIViewTestCase):
+class ConsolePortTemplateTestCase(APIViewTestCases.APIViewTestCase):
     model = ConsolePortTemplate
     model = ConsolePortTemplate
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -1030,7 +1030,7 @@ class ConsolePortTemplateTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class ConsoleServerPortTemplateTest(APIViewTestCases.APIViewTestCase):
+class ConsoleServerPortTemplateTestCase(APIViewTestCases.APIViewTestCase):
     model = ConsoleServerPortTemplate
     model = ConsoleServerPortTemplate
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -1074,7 +1074,7 @@ class ConsoleServerPortTemplateTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class PowerPortTemplateTest(APIViewTestCases.APIViewTestCase):
+class PowerPortTemplateTestCase(APIViewTestCases.APIViewTestCase):
     model = PowerPortTemplate
     model = PowerPortTemplate
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -1118,7 +1118,7 @@ class PowerPortTemplateTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class PowerOutletTemplateTest(APIViewTestCases.APIViewTestCase):
+class PowerOutletTemplateTestCase(APIViewTestCases.APIViewTestCase):
     model = PowerOutletTemplate
     model = PowerOutletTemplate
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -1176,7 +1176,7 @@ class PowerOutletTemplateTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class InterfaceTemplateTest(APIViewTestCases.APIViewTestCase):
+class InterfaceTemplateTestCase(APIViewTestCases.APIViewTestCase):
     model = InterfaceTemplate
     model = InterfaceTemplate
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -1224,7 +1224,7 @@ class InterfaceTemplateTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class FrontPortTemplateTest(APIViewTestCases.APIViewTestCase):
+class FrontPortTemplateTestCase(APIViewTestCases.APIViewTestCase):
     model = FrontPortTemplate
     model = FrontPortTemplate
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -1341,7 +1341,7 @@ class FrontPortTemplateTest(APIViewTestCases.APIViewTestCase):
         )
         )
 
 
 
 
-class RearPortTemplateTest(APIViewTestCases.APIViewTestCase):
+class RearPortTemplateTestCase(APIViewTestCases.APIViewTestCase):
     model = RearPortTemplate
     model = RearPortTemplate
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -1457,7 +1457,7 @@ class RearPortTemplateTest(APIViewTestCases.APIViewTestCase):
         )
         )
 
 
 
 
-class ModuleBayTemplateTest(APIViewTestCases.APIViewTestCase):
+class ModuleBayTemplateTestCase(APIViewTestCases.APIViewTestCase):
     model = ModuleBayTemplate
     model = ModuleBayTemplate
     brief_fields = ['description', 'display', 'enabled', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'enabled', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -1499,7 +1499,7 @@ class ModuleBayTemplateTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class DeviceBayTemplateTest(APIViewTestCases.APIViewTestCase):
+class DeviceBayTemplateTestCase(APIViewTestCases.APIViewTestCase):
     model = DeviceBayTemplate
     model = DeviceBayTemplate
     brief_fields = ['description', 'display', 'enabled', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'enabled', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -1541,7 +1541,7 @@ class DeviceBayTemplateTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class InventoryItemTemplateTest(APIViewTestCases.APIViewTestCase):
+class InventoryItemTemplateTestCase(APIViewTestCases.APIViewTestCase):
     model = InventoryItemTemplate
     model = InventoryItemTemplate
     brief_fields = ['_depth', 'description', 'display', 'id', 'name', 'url']
     brief_fields = ['_depth', 'description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -1601,7 +1601,7 @@ class InventoryItemTemplateTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class DeviceRoleTest(APIViewTestCases.APIViewTestCase):
+class DeviceRoleTestCase(APIViewTestCases.APIViewTestCase):
     model = DeviceRole
     model = DeviceRole
     brief_fields = [
     brief_fields = [
         '_depth', 'description', 'device_count', 'display', 'id', 'name', 'slug', 'url', 'virtualmachine_count'
         '_depth', 'description', 'device_count', 'display', 'id', 'name', 'slug', 'url', 'virtualmachine_count'
@@ -1635,7 +1635,7 @@ class DeviceRoleTest(APIViewTestCases.APIViewTestCase):
         DeviceRole.objects.create(name='Device Role 3', slug='device-role-3', color='0000ff')
         DeviceRole.objects.create(name='Device Role 3', slug='device-role-3', color='0000ff')
 
 
 
 
-class PlatformTest(APIViewTestCases.APIViewTestCase):
+class PlatformTestCase(APIViewTestCases.APIViewTestCase):
     model = Platform
     model = Platform
     brief_fields = [
     brief_fields = [
         '_depth', 'description', 'device_count', 'display', 'id', 'name', 'slug', 'url', 'virtualmachine_count',
         '_depth', 'description', 'device_count', 'display', 'id', 'name', 'slug', 'url', 'virtualmachine_count',
@@ -1670,7 +1670,7 @@ class PlatformTest(APIViewTestCases.APIViewTestCase):
             platform.save()
             platform.save()
 
 
 
 
-class DeviceTest(APIViewTestCases.APIViewTestCase):
+class DeviceTestCase(APIViewTestCases.APIViewTestCase):
     model = Device
     model = Device
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -2020,7 +2020,7 @@ class DeviceTest(APIViewTestCases.APIViewTestCase):
         self.assertHttpStatus(response, status.HTTP_400_BAD_REQUEST)
         self.assertHttpStatus(response, status.HTTP_400_BAD_REQUEST)
 
 
 
 
-class ModuleTest(APIViewTestCases.APIViewTestCase):
+class ModuleTestCase(APIViewTestCases.APIViewTestCase):
     model = Module
     model = Module
     brief_fields = ['description', 'device', 'display', 'id', 'module_bay', 'module_type', 'url']
     brief_fields = ['description', 'device', 'display', 'id', 'module_bay', 'module_type', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -2355,7 +2355,7 @@ class ModuleTest(APIViewTestCases.APIViewTestCase):
         self.assertEqual(len(response.data['results']), 1)
         self.assertEqual(len(response.data['results']), 1)
 
 
 
 
-class ConsolePortTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase):
+class ConsolePortTestCase(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase):
     model = ConsolePort
     model = ConsolePort
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -2398,7 +2398,7 @@ class ConsolePortTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCa
         ]
         ]
 
 
 
 
-class ConsoleServerPortTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase):
+class ConsoleServerPortTestCase(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase):
     model = ConsoleServerPort
     model = ConsoleServerPort
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -2441,7 +2441,7 @@ class ConsoleServerPortTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIView
         ]
         ]
 
 
 
 
-class PowerPortTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase):
+class PowerPortTestCase(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase):
     model = PowerPort
     model = PowerPort
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -2481,7 +2481,7 @@ class PowerPortTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase
         ]
         ]
 
 
 
 
-class PowerOutletTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase):
+class PowerOutletTestCase(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase):
     model = PowerOutlet
     model = PowerOutlet
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -2530,7 +2530,7 @@ class PowerOutletTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCa
         ]
         ]
 
 
 
 
-class InterfaceTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase):
+class InterfaceTestCase(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase):
     model = Interface
     model = Interface
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -2739,7 +2739,7 @@ class InterfaceTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase
         self._perform_interface_test_with_invalid_data(InterfaceModeChoices.MODE_TAGGED_ALL, invalid_data)
         self._perform_interface_test_with_invalid_data(InterfaceModeChoices.MODE_TAGGED_ALL, invalid_data)
 
 
 
 
-class FrontPortTest(APIViewTestCases.APIViewTestCase):
+class FrontPortTestCase(APIViewTestCases.APIViewTestCase):
     model = FrontPort
     model = FrontPort
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -2858,7 +2858,7 @@ class FrontPortTest(APIViewTestCases.APIViewTestCase):
         self.assertHttpStatus(response, status.HTTP_200_OK)
         self.assertHttpStatus(response, status.HTTP_200_OK)
 
 
 
 
-class RearPortTest(APIViewTestCases.APIViewTestCase):
+class RearPortTestCase(APIViewTestCases.APIViewTestCase):
     model = RearPort
     model = RearPort
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     brief_fields = ['_occupied', 'cable', 'description', 'device', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -2974,7 +2974,7 @@ class RearPortTest(APIViewTestCases.APIViewTestCase):
         self.assertHttpStatus(response, status.HTTP_200_OK)
         self.assertHttpStatus(response, status.HTTP_200_OK)
 
 
 
 
-class ModuleBayTest(APIViewTestCases.APIViewTestCase):
+class ModuleBayTestCase(APIViewTestCases.APIViewTestCase):
     model = ModuleBay
     model = ModuleBay
     brief_fields = ['_occupied', 'description', 'display', 'enabled', 'id', 'installed_module', 'name', 'url']
     brief_fields = ['_occupied', 'description', 'display', 'enabled', 'id', 'installed_module', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -3016,7 +3016,7 @@ class ModuleBayTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class DeviceBayTest(APIViewTestCases.APIViewTestCase):
+class DeviceBayTestCase(APIViewTestCases.APIViewTestCase):
     model = DeviceBay
     model = DeviceBay
     brief_fields = ['_occupied', 'description', 'device', 'display', 'enabled', 'id', 'name', 'url']
     brief_fields = ['_occupied', 'description', 'device', 'display', 'enabled', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -3080,7 +3080,7 @@ class DeviceBayTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class InventoryItemTest(APIViewTestCases.APIViewTestCase):
+class InventoryItemTestCase(APIViewTestCases.APIViewTestCase):
     model = InventoryItem
     model = InventoryItem
     brief_fields = ['_depth', 'description', 'device', 'display', 'id', 'name', 'url']
     brief_fields = ['_depth', 'description', 'device', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -3147,7 +3147,7 @@ class InventoryItemTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class InventoryItemRoleTest(APIViewTestCases.APIViewTestCase):
+class InventoryItemRoleTestCase(APIViewTestCases.APIViewTestCase):
     model = InventoryItemRole
     model = InventoryItemRole
     brief_fields = ['description', 'display', 'id', 'inventoryitem_count', 'name', 'slug', 'url']
     brief_fields = ['description', 'display', 'id', 'inventoryitem_count', 'name', 'slug', 'url']
     create_data = [
     create_data = [
@@ -3182,7 +3182,7 @@ class InventoryItemRoleTest(APIViewTestCases.APIViewTestCase):
         InventoryItemRole.objects.bulk_create(roles)
         InventoryItemRole.objects.bulk_create(roles)
 
 
 
 
-class CableBundleTest(APIViewTestCases.APIViewTestCase):
+class CableBundleTestCase(APIViewTestCases.APIViewTestCase):
     model = CableBundle
     model = CableBundle
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     create_data = [
     create_data = [
@@ -3236,7 +3236,7 @@ class CableBundleTest(APIViewTestCases.APIViewTestCase):
         self.assertEqual(response.data['cable_count'], 2)
         self.assertEqual(response.data['cable_count'], 2)
 
 
 
 
-class CableTest(APIViewTestCases.APIViewTestCase):
+class CableTestCase(APIViewTestCases.APIViewTestCase):
     model = Cable
     model = Cable
     brief_fields = ['description', 'display', 'id', 'label', 'url']
     brief_fields = ['description', 'display', 'id', 'label', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -3445,7 +3445,7 @@ class CableTest(APIViewTestCases.APIViewTestCase):
                 self.assertSetEqual(set(ids), expected)
                 self.assertSetEqual(set(ids), expected)
 
 
 
 
-class CableTerminationTest(
+class CableTerminationTestCase(
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.ListObjectsViewTestCase,
     APIViewTestCases.ListObjectsViewTestCase,
 ):
 ):
@@ -3474,7 +3474,7 @@ class CableTerminationTest(
             cable.save()
             cable.save()
 
 
 
 
-class ConnectedDeviceTest(APITestCase):
+class ConnectedDeviceTestCase(APITestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
@@ -3511,7 +3511,7 @@ class ConnectedDeviceTest(APITestCase):
         self.assertHttpStatus(response, status.HTTP_404_NOT_FOUND)
         self.assertHttpStatus(response, status.HTTP_404_NOT_FOUND)
 
 
 
 
-class VirtualChassisTest(APIViewTestCases.APIViewTestCase):
+class VirtualChassisTestCase(APIViewTestCases.APIViewTestCase):
     model = VirtualChassis
     model = VirtualChassis
     brief_fields = ['description', 'display', 'id', 'master', 'member_count', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'master', 'member_count', 'name', 'url']
 
 
@@ -3592,7 +3592,7 @@ class VirtualChassisTest(APIViewTestCases.APIViewTestCase):
         }
         }
 
 
 
 
-class PowerPanelTest(APIViewTestCases.APIViewTestCase):
+class PowerPanelTestCase(APIViewTestCases.APIViewTestCase):
     model = PowerPanel
     model = PowerPanel
     brief_fields = ['description', 'display', 'id', 'name', 'powerfeed_count', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'powerfeed_count', 'url']
     user_permissions = ('dcim.view_site', )
     user_permissions = ('dcim.view_site', )
@@ -3642,7 +3642,7 @@ class PowerPanelTest(APIViewTestCases.APIViewTestCase):
         }
         }
 
 
 
 
-class PowerFeedTest(APIViewTestCases.APIViewTestCase):
+class PowerFeedTestCase(APIViewTestCases.APIViewTestCase):
     model = PowerFeed
     model = PowerFeed
     brief_fields = ['_occupied', 'cable', 'description', 'display', 'id', 'name', 'url']
     brief_fields = ['_occupied', 'cable', 'description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -3698,7 +3698,7 @@ class PowerFeedTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class VirtualDeviceContextTest(APIViewTestCases.APIViewTestCase):
+class VirtualDeviceContextTestCase(APIViewTestCases.APIViewTestCase):
     model = VirtualDeviceContext
     model = VirtualDeviceContext
     brief_fields = ['description', 'device', 'display', 'id', 'identifier', 'name', 'url']
     brief_fields = ['description', 'device', 'display', 'id', 'identifier', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -3752,7 +3752,7 @@ class VirtualDeviceContextTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class MACAddressTest(APIViewTestCases.APIViewTestCase):
+class MACAddressTestCase(APIViewTestCases.APIViewTestCase):
     model = MACAddress
     model = MACAddress
     brief_fields = ['description', 'display', 'id', 'mac_address', 'url']
     brief_fields = ['description', 'display', 'id', 'mac_address', 'url']
     bulk_update_data = {
     bulk_update_data = {

+ 2 - 2
netbox/dcim/tests/test_cable_profiles.py

@@ -12,7 +12,7 @@ from dcim.models import Cable, Interface, RearPort
 from dcim.tests.utils import CablePathTestCase
 from dcim.tests.utils import CablePathTestCase
 
 
 
 
-class CableProfileLinkPeerTests(CablePathTestCase):
+class CableProfileLinkPeerTestCase(CablePathTestCase):
     """
     """
     Tests for link peer resolution with cable profiles.
     Tests for link peer resolution with cable profiles.
     """
     """
@@ -75,7 +75,7 @@ class CableProfileLinkPeerTests(CablePathTestCase):
             self.assertEqual(interface.link_peers, [rear_ports[1]])
             self.assertEqual(interface.link_peers, [rear_ports[1]])
 
 
 
 
-class CableProfilePeerTerminationTests(CablePathTestCase):
+class CableProfilePeerTerminationTestCase(CablePathTestCase):
     """
     """
     Tests for BaseCableProfile.get_peer_termination() and get_peer_terminations().
     Tests for BaseCableProfile.get_peer_termination() and get_peer_terminations().
     Verifies that the batch method produces identical results to calling
     Verifies that the batch method produces identical results to calling

+ 1 - 1
netbox/dcim/tests/test_cablepaths.py

@@ -6,7 +6,7 @@ from dcim.tests.utils import CablePathTestCase
 from utilities.exceptions import AbortRequest
 from utilities.exceptions import AbortRequest
 
 
 
 
-class LegacyCablePathTests(CablePathTestCase):
+class LegacyCablePathTestCase(CablePathTestCase):
     """
     """
     Test NetBox's ability to trace and retrace CablePaths in response to data model changes, without cable profiles.
     Test NetBox's ability to trace and retrace CablePaths in response to data model changes, without cable profiles.
 
 

+ 1 - 1
netbox/dcim/tests/test_cablepaths2.py

@@ -7,7 +7,7 @@ from dcim.svg import CableTraceSVG
 from dcim.tests.utils import CablePathTestCase
 from dcim.tests.utils import CablePathTestCase
 
 
 
 
-class CablePathTests(CablePathTestCase):
+class CablePathTestCase(CablePathTestCase):
     """
     """
     Test the creation of CablePaths for Cables with different profiles applied.
     Test the creation of CablePaths for Cables with different profiles applied.
 
 

+ 36 - 36
netbox/dcim/tests/test_tables.py

@@ -7,19 +7,19 @@ from utilities.testing import TableTestCases
 #
 #
 
 
 
 
-class RegionTableTest(TableTestCases.StandardTableTestCase):
+class RegionTableTestCase(TableTestCases.StandardTableTestCase):
     table = RegionTable
     table = RegionTable
 
 
 
 
-class SiteGroupTableTest(TableTestCases.StandardTableTestCase):
+class SiteGroupTableTestCase(TableTestCases.StandardTableTestCase):
     table = SiteGroupTable
     table = SiteGroupTable
 
 
 
 
-class SiteTableTest(TableTestCases.StandardTableTestCase):
+class SiteTableTestCase(TableTestCases.StandardTableTestCase):
     table = SiteTable
     table = SiteTable
 
 
 
 
-class LocationTableTest(TableTestCases.StandardTableTestCase):
+class LocationTableTestCase(TableTestCases.StandardTableTestCase):
     table = LocationTable
     table = LocationTable
 
 
 
 
@@ -27,19 +27,19 @@ class LocationTableTest(TableTestCases.StandardTableTestCase):
 # Racks
 # Racks
 #
 #
 
 
-class RackRoleTableTest(TableTestCases.StandardTableTestCase):
+class RackRoleTableTestCase(TableTestCases.StandardTableTestCase):
     table = RackRoleTable
     table = RackRoleTable
 
 
 
 
-class RackTypeTableTest(TableTestCases.StandardTableTestCase):
+class RackTypeTableTestCase(TableTestCases.StandardTableTestCase):
     table = RackTypeTable
     table = RackTypeTable
 
 
 
 
-class RackTableTest(TableTestCases.StandardTableTestCase):
+class RackTableTestCase(TableTestCases.StandardTableTestCase):
     table = RackTable
     table = RackTable
 
 
 
 
-class RackReservationTableTest(TableTestCases.StandardTableTestCase):
+class RackReservationTableTestCase(TableTestCases.StandardTableTestCase):
     table = RackReservationTable
     table = RackReservationTable
 
 
 
 
@@ -47,11 +47,11 @@ class RackReservationTableTest(TableTestCases.StandardTableTestCase):
 # Device types
 # Device types
 #
 #
 
 
-class ManufacturerTableTest(TableTestCases.StandardTableTestCase):
+class ManufacturerTableTestCase(TableTestCases.StandardTableTestCase):
     table = ManufacturerTable
     table = ManufacturerTable
 
 
 
 
-class DeviceTypeTableTest(TableTestCases.StandardTableTestCase):
+class DeviceTypeTableTestCase(TableTestCases.StandardTableTestCase):
     table = DeviceTypeTable
     table = DeviceTypeTable
 
 
 
 
@@ -59,15 +59,15 @@ class DeviceTypeTableTest(TableTestCases.StandardTableTestCase):
 # Module types
 # Module types
 #
 #
 
 
-class ModuleTypeProfileTableTest(TableTestCases.StandardTableTestCase):
+class ModuleTypeProfileTableTestCase(TableTestCases.StandardTableTestCase):
     table = ModuleTypeProfileTable
     table = ModuleTypeProfileTable
 
 
 
 
-class ModuleTypeTableTest(TableTestCases.StandardTableTestCase):
+class ModuleTypeTableTestCase(TableTestCases.StandardTableTestCase):
     table = ModuleTypeTable
     table = ModuleTypeTable
 
 
 
 
-class ModuleTableTest(TableTestCases.StandardTableTestCase):
+class ModuleTableTestCase(TableTestCases.StandardTableTestCase):
     table = ModuleTable
     table = ModuleTable
 
 
     def test_profile_column_available(self):
     def test_profile_column_available(self):
@@ -78,15 +78,15 @@ class ModuleTableTest(TableTestCases.StandardTableTestCase):
 # Devices
 # Devices
 #
 #
 
 
-class DeviceRoleTableTest(TableTestCases.StandardTableTestCase):
+class DeviceRoleTableTestCase(TableTestCases.StandardTableTestCase):
     table = DeviceRoleTable
     table = DeviceRoleTable
 
 
 
 
-class PlatformTableTest(TableTestCases.StandardTableTestCase):
+class PlatformTableTestCase(TableTestCases.StandardTableTestCase):
     table = PlatformTable
     table = PlatformTable
 
 
 
 
-class DeviceTableTest(TableTestCases.StandardTableTestCase):
+class DeviceTableTestCase(TableTestCases.StandardTableTestCase):
     table = DeviceTable
     table = DeviceTable
 
 
 
 
@@ -94,47 +94,47 @@ class DeviceTableTest(TableTestCases.StandardTableTestCase):
 # Device components
 # Device components
 #
 #
 
 
-class ConsolePortTableTest(TableTestCases.StandardTableTestCase):
+class ConsolePortTableTestCase(TableTestCases.StandardTableTestCase):
     table = ConsolePortTable
     table = ConsolePortTable
 
 
 
 
-class ConsoleServerPortTableTest(TableTestCases.StandardTableTestCase):
+class ConsoleServerPortTableTestCase(TableTestCases.StandardTableTestCase):
     table = ConsoleServerPortTable
     table = ConsoleServerPortTable
 
 
 
 
-class PowerPortTableTest(TableTestCases.StandardTableTestCase):
+class PowerPortTableTestCase(TableTestCases.StandardTableTestCase):
     table = PowerPortTable
     table = PowerPortTable
 
 
 
 
-class PowerOutletTableTest(TableTestCases.StandardTableTestCase):
+class PowerOutletTableTestCase(TableTestCases.StandardTableTestCase):
     table = PowerOutletTable
     table = PowerOutletTable
 
 
 
 
-class InterfaceTableTest(TableTestCases.StandardTableTestCase):
+class InterfaceTableTestCase(TableTestCases.StandardTableTestCase):
     table = InterfaceTable
     table = InterfaceTable
 
 
 
 
-class FrontPortTableTest(TableTestCases.StandardTableTestCase):
+class FrontPortTableTestCase(TableTestCases.StandardTableTestCase):
     table = FrontPortTable
     table = FrontPortTable
 
 
 
 
-class RearPortTableTest(TableTestCases.StandardTableTestCase):
+class RearPortTableTestCase(TableTestCases.StandardTableTestCase):
     table = RearPortTable
     table = RearPortTable
 
 
 
 
-class ModuleBayTableTest(TableTestCases.StandardTableTestCase):
+class ModuleBayTableTestCase(TableTestCases.StandardTableTestCase):
     table = ModuleBayTable
     table = ModuleBayTable
 
 
 
 
-class DeviceBayTableTest(TableTestCases.StandardTableTestCase):
+class DeviceBayTableTestCase(TableTestCases.StandardTableTestCase):
     table = DeviceBayTable
     table = DeviceBayTable
 
 
 
 
-class InventoryItemTableTest(TableTestCases.StandardTableTestCase):
+class InventoryItemTableTestCase(TableTestCases.StandardTableTestCase):
     table = InventoryItemTable
     table = InventoryItemTable
 
 
 
 
-class InventoryItemRoleTableTest(TableTestCases.StandardTableTestCase):
+class InventoryItemRoleTableTestCase(TableTestCases.StandardTableTestCase):
     table = InventoryItemRoleTable
     table = InventoryItemRoleTable
 
 
 
 
@@ -142,21 +142,21 @@ class InventoryItemRoleTableTest(TableTestCases.StandardTableTestCase):
 # Connections
 # Connections
 #
 #
 
 
-class ConsoleConnectionTableTest(TableTestCases.StandardTableTestCase):
+class ConsoleConnectionTableTestCase(TableTestCases.StandardTableTestCase):
     table = ConsoleConnectionTable
     table = ConsoleConnectionTable
     queryset_sources = [
     queryset_sources = [
         ('ConsoleConnectionsListView', ConsolePort.objects.filter(_path__is_complete=True)),
         ('ConsoleConnectionsListView', ConsolePort.objects.filter(_path__is_complete=True)),
     ]
     ]
 
 
 
 
-class PowerConnectionTableTest(TableTestCases.StandardTableTestCase):
+class PowerConnectionTableTestCase(TableTestCases.StandardTableTestCase):
     table = PowerConnectionTable
     table = PowerConnectionTable
     queryset_sources = [
     queryset_sources = [
         ('PowerConnectionsListView', PowerPort.objects.filter(_path__is_complete=True)),
         ('PowerConnectionsListView', PowerPort.objects.filter(_path__is_complete=True)),
     ]
     ]
 
 
 
 
-class InterfaceConnectionTableTest(TableTestCases.StandardTableTestCase):
+class InterfaceConnectionTableTestCase(TableTestCases.StandardTableTestCase):
     table = InterfaceConnectionTable
     table = InterfaceConnectionTable
     queryset_sources = [
     queryset_sources = [
         ('InterfaceConnectionsListView', Interface.objects.filter(_path__is_complete=True)),
         ('InterfaceConnectionsListView', Interface.objects.filter(_path__is_complete=True)),
@@ -167,7 +167,7 @@ class InterfaceConnectionTableTest(TableTestCases.StandardTableTestCase):
 # Cables
 # Cables
 #
 #
 
 
-class CableTableTest(TableTestCases.StandardTableTestCase):
+class CableTableTestCase(TableTestCases.StandardTableTestCase):
     table = CableTable
     table = CableTable
 
 
 
 
@@ -175,11 +175,11 @@ class CableTableTest(TableTestCases.StandardTableTestCase):
 # Power
 # Power
 #
 #
 
 
-class PowerPanelTableTest(TableTestCases.StandardTableTestCase):
+class PowerPanelTableTestCase(TableTestCases.StandardTableTestCase):
     table = PowerPanelTable
     table = PowerPanelTable
 
 
 
 
-class PowerFeedTableTest(TableTestCases.StandardTableTestCase):
+class PowerFeedTableTestCase(TableTestCases.StandardTableTestCase):
     table = PowerFeedTable
     table = PowerFeedTable
 
 
 
 
@@ -187,7 +187,7 @@ class PowerFeedTableTest(TableTestCases.StandardTableTestCase):
 # Virtual chassis
 # Virtual chassis
 #
 #
 
 
-class VirtualChassisTableTest(TableTestCases.StandardTableTestCase):
+class VirtualChassisTableTestCase(TableTestCases.StandardTableTestCase):
     table = VirtualChassisTable
     table = VirtualChassisTable
 
 
 
 
@@ -195,7 +195,7 @@ class VirtualChassisTableTest(TableTestCases.StandardTableTestCase):
 # Virtual device contexts
 # Virtual device contexts
 #
 #
 
 
-class VirtualDeviceContextTableTest(TableTestCases.StandardTableTestCase):
+class VirtualDeviceContextTableTestCase(TableTestCases.StandardTableTestCase):
     table = VirtualDeviceContextTable
     table = VirtualDeviceContextTable
 
 
 
 
@@ -203,5 +203,5 @@ class VirtualDeviceContextTableTest(TableTestCases.StandardTableTestCase):
 # MAC addresses
 # MAC addresses
 #
 #
 
 
-class MACAddressTableTest(TableTestCases.StandardTableTestCase):
+class MACAddressTableTestCase(TableTestCases.StandardTableTestCase):
     table = MACAddressTable
     table = MACAddressTable

+ 22 - 22
netbox/extras/tests/test_api.py

@@ -22,7 +22,7 @@ from users.models import Group, Token, User
 from utilities.testing import APITestCase, APIViewTestCases
 from utilities.testing import APITestCase, APIViewTestCases
 
 
 
 
-class AppTest(APITestCase):
+class AppTestCase(APITestCase):
 
 
     def test_root(self):
     def test_root(self):
 
 
@@ -32,7 +32,7 @@ class AppTest(APITestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.status_code, 200)
 
 
 
 
-class WebhookTest(APIViewTestCases.APIViewTestCase):
+class WebhookTestCase(APIViewTestCases.APIViewTestCase):
     model = Webhook
     model = Webhook
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     create_data = [
     create_data = [
@@ -74,7 +74,7 @@ class WebhookTest(APIViewTestCases.APIViewTestCase):
         Webhook.objects.bulk_create(webhooks)
         Webhook.objects.bulk_create(webhooks)
 
 
 
 
-class EventRuleTest(APIViewTestCases.APIViewTestCase):
+class EventRuleTestCase(APIViewTestCases.APIViewTestCase):
     model = EventRule
     model = EventRule
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -152,7 +152,7 @@ class EventRuleTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class CustomFieldTest(APIViewTestCases.APIViewTestCase):
+class CustomFieldTestCase(APIViewTestCases.APIViewTestCase):
     model = CustomField
     model = CustomField
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     create_data = [
     create_data = [
@@ -204,7 +204,7 @@ class CustomFieldTest(APIViewTestCases.APIViewTestCase):
             cf.object_types.add(site_ct)
             cf.object_types.add(site_ct)
 
 
 
 
-class CustomFieldChoiceSetTest(APIViewTestCases.APIViewTestCase):
+class CustomFieldChoiceSetTestCase(APIViewTestCases.APIViewTestCase):
     model = CustomFieldChoiceSet
     model = CustomFieldChoiceSet
     brief_fields = ['choices_count', 'description', 'display', 'id', 'name', 'url']
     brief_fields = ['choices_count', 'description', 'display', 'id', 'name', 'url']
     create_data = [
     create_data = [
@@ -325,7 +325,7 @@ class CustomFieldChoiceSetTest(APIViewTestCases.APIViewTestCase):
         self.assertEqual(response.status_code, 400)
         self.assertEqual(response.status_code, 400)
 
 
 
 
-class CustomLinkTest(APIViewTestCases.APIViewTestCase):
+class CustomLinkTestCase(APIViewTestCases.APIViewTestCase):
     model = CustomLink
     model = CustomLink
     brief_fields = ['display', 'id', 'name', 'url']
     brief_fields = ['display', 'id', 'name', 'url']
     create_data = [
     create_data = [
@@ -385,7 +385,7 @@ class CustomLinkTest(APIViewTestCases.APIViewTestCase):
             custom_link.object_types.set([site_type])
             custom_link.object_types.set([site_type])
 
 
 
 
-class SavedFilterTest(APIViewTestCases.APIViewTestCase):
+class SavedFilterTestCase(APIViewTestCases.APIViewTestCase):
     model = SavedFilter
     model = SavedFilter
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url']
     create_data = [
     create_data = [
@@ -458,7 +458,7 @@ class SavedFilterTest(APIViewTestCases.APIViewTestCase):
             savedfilter.object_types.set([site_type])
             savedfilter.object_types.set([site_type])
 
 
 
 
-class BookmarkTest(
+class BookmarkTestCase(
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.ListObjectsViewTestCase,
     APIViewTestCases.ListObjectsViewTestCase,
     APIViewTestCases.CreateObjectViewTestCase,
     APIViewTestCases.CreateObjectViewTestCase,
@@ -510,7 +510,7 @@ class BookmarkTest(
         ]
         ]
 
 
 
 
-class ExportTemplateTest(APIViewTestCases.APIViewTestCase):
+class ExportTemplateTestCase(APIViewTestCases.APIViewTestCase):
     model = ExportTemplate
     model = ExportTemplate
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     create_data = [
     create_data = [
@@ -560,7 +560,7 @@ class ExportTemplateTest(APIViewTestCases.APIViewTestCase):
             et.object_types.set([device_object_type])
             et.object_types.set([device_object_type])
 
 
 
 
-class TagTest(APIViewTestCases.APIViewTestCase):
+class TagTestCase(APIViewTestCases.APIViewTestCase):
     model = Tag
     model = Tag
     brief_fields = ['color', 'description', 'display', 'id', 'name', 'slug', 'url']
     brief_fields = ['color', 'description', 'display', 'id', 'name', 'slug', 'url']
     create_data = [
     create_data = [
@@ -593,7 +593,7 @@ class TagTest(APIViewTestCases.APIViewTestCase):
         Tag.objects.bulk_create(tags)
         Tag.objects.bulk_create(tags)
 
 
 
 
-class TaggedItemTest(
+class TaggedItemTestCase(
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.ListObjectsViewTestCase
     APIViewTestCases.ListObjectsViewTestCase
 ):
 ):
@@ -622,7 +622,7 @@ class TaggedItemTest(
 
 
 
 
 # TODO: Standardize to APIViewTestCase (needs create & update tests)
 # TODO: Standardize to APIViewTestCase (needs create & update tests)
-class ImageAttachmentTest(
+class ImageAttachmentTestCase(
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.ListObjectsViewTestCase,
     APIViewTestCases.ListObjectsViewTestCase,
     APIViewTestCases.DeleteObjectViewTestCase,
     APIViewTestCases.DeleteObjectViewTestCase,
@@ -666,7 +666,7 @@ class ImageAttachmentTest(
         ImageAttachment.objects.bulk_create(image_attachments)
         ImageAttachment.objects.bulk_create(image_attachments)
 
 
 
 
-class JournalEntryTest(APIViewTestCases.APIViewTestCase):
+class JournalEntryTestCase(APIViewTestCases.APIViewTestCase):
     model = JournalEntry
     model = JournalEntry
     brief_fields = ['created', 'display', 'id', 'url']
     brief_fields = ['created', 'display', 'id', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -716,7 +716,7 @@ class JournalEntryTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class ConfigContextProfileTest(APIViewTestCases.APIViewTestCase):
+class ConfigContextProfileTestCase(APIViewTestCases.APIViewTestCase):
     model = ConfigContextProfile
     model = ConfigContextProfile
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     create_data = [
     create_data = [
@@ -825,7 +825,7 @@ class ConfigContextProfileTest(APIViewTestCases.APIViewTestCase):
         self.assertEqual(response.data['data_file']['id'], datafile.pk)
         self.assertEqual(response.data['data_file']['id'], datafile.pk)
 
 
 
 
-class ConfigContextTest(APIViewTestCases.APIViewTestCase):
+class ConfigContextTestCase(APIViewTestCases.APIViewTestCase):
     model = ConfigContext
     model = ConfigContext
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     create_data = [
     create_data = [
@@ -951,7 +951,7 @@ class ConfigContextTest(APIViewTestCases.APIViewTestCase):
         self.assertEqual(response.data['data_file']['id'], datafile.pk)
         self.assertEqual(response.data['data_file']['id'], datafile.pk)
 
 
 
 
-class ConfigTemplateTest(APIViewTestCases.APIViewTestCase):
+class ConfigTemplateTestCase(APIViewTestCases.APIViewTestCase):
     model = ConfigTemplate
     model = ConfigTemplate
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     create_data = [
     create_data = [
@@ -1036,7 +1036,7 @@ class ConfigTemplateTest(APIViewTestCases.APIViewTestCase):
         self.assertHttpStatus(response, status.HTTP_200_OK)
         self.assertHttpStatus(response, status.HTTP_200_OK)
 
 
 
 
-class ScriptTest(APITestCase):
+class ScriptTestCase(APITestCase):
 
 
     class TestScriptClass(PythonClass):
     class TestScriptClass(PythonClass):
         class Meta:
         class Meta:
@@ -1162,7 +1162,7 @@ class ScriptTest(APITestCase):
             self.TestScriptClass.Meta.scheduling_enabled = original
             self.TestScriptClass.Meta.scheduling_enabled = original
 
 
 
 
-class CreatedUpdatedFilterTest(APITestCase):
+class CreatedUpdatedFilterTestCase(APITestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
@@ -1236,7 +1236,7 @@ class CreatedUpdatedFilterTest(APITestCase):
         self.assertEqual(response.data['results'][0]['id'], rack2.pk)
         self.assertEqual(response.data['results'][0]['id'], rack2.pk)
 
 
 
 
-class SubscriptionTest(APIViewTestCases.APIViewTestCase):
+class SubscriptionTestCase(APIViewTestCases.APIViewTestCase):
     model = Subscription
     model = Subscription
     brief_fields = ['display', 'id', 'object_id', 'object_type', 'url', 'user']
     brief_fields = ['display', 'id', 'object_id', 'object_type', 'url', 'user']
 
 
@@ -1295,7 +1295,7 @@ class SubscriptionTest(APIViewTestCases.APIViewTestCase):
         }
         }
 
 
 
 
-class NotificationGroupTest(APIViewTestCases.APIViewTestCase):
+class NotificationGroupTestCase(APIViewTestCases.APIViewTestCase):
     model = NotificationGroup
     model = NotificationGroup
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     create_data = [
     create_data = [
@@ -1372,7 +1372,7 @@ class NotificationGroupTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class NotificationTest(APIViewTestCases.APIViewTestCase):
+class NotificationTestCase(APIViewTestCases.APIViewTestCase):
     model = Notification
     model = Notification
     brief_fields = ['display', 'event_type', 'id', 'object_id', 'object_type', 'read', 'url', 'user']
     brief_fields = ['display', 'event_type', 'id', 'object_id', 'object_type', 'read', 'url', 'user']
     bulk_update_data = {
     bulk_update_data = {
@@ -1436,7 +1436,7 @@ class NotificationTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class ScriptModuleTest(APITestCase):
+class ScriptModuleTestCase(APITestCase):
     """
     """
     Tests for the POST /api/extras/scripts/upload/ endpoint.
     Tests for the POST /api/extras/scripts/upload/ endpoint.
 
 

+ 1 - 1
netbox/extras/tests/test_conditions.py

@@ -134,7 +134,7 @@ class ConditionTestCase(TestCase):
         self.assertTrue(c.eval({'x': '123'}))
         self.assertTrue(c.eval({'x': '123'}))
 
 
 
 
-class ConditionSetTest(TestCase):
+class ConditionSetTestCase(TestCase):
 
 
     def test_empty(self):
     def test_empty(self):
         with self.assertRaises(ValueError):
         with self.assertRaises(ValueError):

+ 4 - 4
netbox/extras/tests/test_custom_validation.py

@@ -8,7 +8,7 @@ from netbox.choices import CSVDelimiterChoices, ImportFormatChoices
 from utilities.testing import APITestCase, ModelViewTestCase, create_tags, post_data
 from utilities.testing import APITestCase, ModelViewTestCase, create_tags, post_data
 
 
 
 
-class ModelFormCustomValidationTest(TestCase):
+class ModelFormCustomValidationTestCase(TestCase):
 
 
     @override_settings(CUSTOM_VALIDATORS={
     @override_settings(CUSTOM_VALIDATORS={
         'circuits.provider': [
         'circuits.provider': [
@@ -58,7 +58,7 @@ class ModelFormCustomValidationTest(TestCase):
         self.assertTrue(form.is_valid())
         self.assertTrue(form.is_valid())
 
 
 
 
-class BulkEditCustomValidationTest(ModelViewTestCase):
+class BulkEditCustomValidationTestCase(ModelViewTestCase):
     model = Provider
     model = Provider
 
 
     @classmethod
     @classmethod
@@ -155,7 +155,7 @@ class BulkEditCustomValidationTest(ModelViewTestCase):
             self.assertTrue(provider.asns.exists())
             self.assertTrue(provider.asns.exists())
 
 
 
 
-class BulkImportCustomValidationTest(ModelViewTestCase):
+class BulkImportCustomValidationTestCase(ModelViewTestCase):
     model = Provider
     model = Provider
 
 
     @classmethod
     @classmethod
@@ -214,7 +214,7 @@ class BulkImportCustomValidationTest(ModelViewTestCase):
         self.assertTrue(Provider.objects.exists())
         self.assertTrue(Provider.objects.exists())
 
 
 
 
-class APISerializerCustomValidationTest(APITestCase):
+class APISerializerCustomValidationTestCase(APITestCase):
 
 
     @override_settings(CUSTOM_VALIDATORS={
     @override_settings(CUSTOM_VALIDATORS={
         'circuits.provider': [
         'circuits.provider': [

+ 6 - 6
netbox/extras/tests/test_customfields.py

@@ -19,7 +19,7 @@ from utilities.testing import APITestCase, TestCase
 from virtualization.models import VirtualMachine
 from virtualization.models import VirtualMachine
 
 
 
 
-class CustomFieldTest(TestCase):
+class CustomFieldTestCase(TestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
@@ -762,7 +762,7 @@ class CustomFieldTest(TestCase):
             ).full_clean()
             ).full_clean()
 
 
 
 
-class CustomFieldManagerTest(TestCase):
+class CustomFieldManagerTestCase(TestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
@@ -776,7 +776,7 @@ class CustomFieldManagerTest(TestCase):
         self.assertEqual(CustomField.objects.get_for_model(VirtualMachine).count(), 0)
         self.assertEqual(CustomField.objects.get_for_model(VirtualMachine).count(), 0)
 
 
 
 
-class CustomFieldAPITest(APITestCase):
+class CustomFieldAPITestCase(APITestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
@@ -1564,7 +1564,7 @@ class CustomFieldAPITest(APITestCase):
         self.assertHttpStatus(response, status.HTTP_200_OK)
         self.assertHttpStatus(response, status.HTTP_200_OK)
 
 
 
 
-class CustomFieldImportTest(TestCase):
+class CustomFieldImportTestCase(TestCase):
     user_permissions = (
     user_permissions = (
         'dcim.view_site',
         'dcim.view_site',
         'dcim.add_site',
         'dcim.add_site',
@@ -1694,7 +1694,7 @@ class CustomFieldImportTest(TestCase):
         self.assertIn('cf_select', form.errors)
         self.assertIn('cf_select', form.errors)
 
 
 
 
-class CustomFieldModelTest(TestCase):
+class CustomFieldModelTestCase(TestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
@@ -1755,7 +1755,7 @@ class CustomFieldModelTest(TestCase):
         site.clean()
         site.clean()
 
 
 
 
-class CustomFieldModelFilterTest(TestCase):
+class CustomFieldModelFilterTestCase(TestCase):
     queryset = Site.objects.all()
     queryset = Site.objects.all()
     filterset = SiteFilterSet
     filterset = SiteFilterSet
 
 

+ 3 - 3
netbox/extras/tests/test_customvalidators.py

@@ -98,7 +98,7 @@ request_validator = CustomValidator({
 custom_validator = MyValidator()
 custom_validator = MyValidator()
 
 
 
 
-class CustomValidatorTest(TestCase):
+class CustomValidatorTestCase(TestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
@@ -207,7 +207,7 @@ class CustomValidatorTest(TestCase):
         request_validator(site, request)
         request_validator(site, request)
 
 
 
 
-class CustomValidatorConfigTest(TestCase):
+class CustomValidatorConfigTestCase(TestCase):
 
 
     @override_settings(
     @override_settings(
         CUSTOM_VALIDATORS={
         CUSTOM_VALIDATORS={
@@ -242,7 +242,7 @@ class CustomValidatorConfigTest(TestCase):
             Site(name='bar', slug='bar').clean()
             Site(name='bar', slug='bar').clean()
 
 
 
 
-class ProtectionRulesConfigTest(TestCase):
+class ProtectionRulesConfigTestCase(TestCase):
 
 
     @override_settings(
     @override_settings(
         PROTECTION_RULES={
         PROTECTION_RULES={

+ 1 - 1
netbox/extras/tests/test_dashboard.py

@@ -3,7 +3,7 @@ from django.test import TestCase, tag
 from extras.dashboard.widgets import ObjectListWidget
 from extras.dashboard.widgets import ObjectListWidget
 
 
 
 
-class ObjectListWidgetTests(TestCase):
+class ObjectListWidgetTestCase(TestCase):
     def test_widget_config_form_validates_model(self):
     def test_widget_config_form_validates_model(self):
         model_info = 'extras.notification'
         model_info = 'extras.notification'
         form = ObjectListWidget.ConfigForm({'model': model_info})
         form = ObjectListWidget.ConfigForm({'model': model_info})

+ 1 - 1
netbox/extras/tests/test_event_rules.py

@@ -24,7 +24,7 @@ from netbox.context_managers import event_tracking
 from utilities.testing import APITestCase
 from utilities.testing import APITestCase
 
 
 
 
-class EventRuleTest(APITestCase):
+class EventRuleTestCase(APITestCase):
 
 
     def setUp(self):
     def setUp(self):
         super().setUp()
         super().setUp()

+ 3 - 3
netbox/extras/tests/test_forms.py

@@ -9,7 +9,7 @@ from extras.forms.model_forms import CustomFieldChoiceSetForm
 from extras.models import CustomField, CustomFieldChoiceSet
 from extras.models import CustomField, CustomFieldChoiceSet
 
 
 
 
-class CustomFieldModelFormTest(TestCase):
+class CustomFieldModelFormTestCase(TestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
@@ -91,7 +91,7 @@ class CustomFieldModelFormTest(TestCase):
             self.assertIsNone(instance.custom_field_data[field_type])
             self.assertIsNone(instance.custom_field_data[field_type])
 
 
 
 
-class CustomFieldChoiceSetFormTest(TestCase):
+class CustomFieldChoiceSetFormTestCase(TestCase):
 
 
     def test_escaped_colons_preserved_on_edit(self):
     def test_escaped_colons_preserved_on_edit(self):
         choice_set = CustomFieldChoiceSet.objects.create(
         choice_set = CustomFieldChoiceSet.objects.create(
@@ -142,7 +142,7 @@ class CustomFieldChoiceSetFormTest(TestCase):
         self.assertEqual(updated.choice_colors, {'choice2': 'green', 'foo:bar': 'red'})
         self.assertEqual(updated.choice_colors, {'choice2': 'green', 'foo:bar': 'red'})
 
 
 
 
-class SavedFilterFormTest(TestCase):
+class SavedFilterFormTestCase(TestCase):
 
 
     def test_basic_submit(self):
     def test_basic_submit(self):
         """
         """

+ 7 - 7
netbox/extras/tests/test_models.py

@@ -67,7 +67,7 @@ class OverwriteStyleMemoryStorage(Storage):
         return f'https://example.invalid/{name}'
         return f'https://example.invalid/{name}'
 
 
 
 
-class ImageAttachmentTests(TestCase):
+class ImageAttachmentTestCase(TestCase):
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
         cls.ct_rack = ContentType.objects.get_by_natural_key('dcim', 'rack')
         cls.ct_rack = ContentType.objects.get_by_natural_key('dcim', 'rack')
@@ -185,7 +185,7 @@ class ImageAttachmentTests(TestCase):
         self.assertCountEqual(storage.files.keys(), {base_name, suffixed_name})
         self.assertCountEqual(storage.files.keys(), {base_name, suffixed_name})
 
 
 
 
-class TagTest(TestCase):
+class TagTestCase(TestCase):
 
 
     def test_default_ordering_weight_then_name_is_set(self):
     def test_default_ordering_weight_then_name_is_set(self):
         Tag.objects.create(name='Tag 1', slug='tag-1', weight=3000)
         Tag.objects.create(name='Tag 1', slug='tag-1', weight=3000)
@@ -244,7 +244,7 @@ class TagTest(TestCase):
             sitegroup.tags.add(tag)
             sitegroup.tags.add(tag)
 
 
 
 
-class ConfigContextTest(TestCase):
+class ConfigContextTestCase(TestCase):
     """
     """
     These test cases deal with the weighting, ordering, and deep merge logic of config context data.
     These test cases deal with the weighting, ordering, and deep merge logic of config context data.
 
 
@@ -792,7 +792,7 @@ class ConfigContextTest(TestCase):
         self.assertTrue(distinct_subqueries[0].distinct)
         self.assertTrue(distinct_subqueries[0].distinct)
 
 
 
 
-class ConfigTemplateTest(TestCase):
+class ConfigTemplateTestCase(TestCase):
     """
     """
     TODO: These test cases deal with the weighting, ordering, and deep merge logic of config context data.
     TODO: These test cases deal with the weighting, ordering, and deep merge logic of config context data.
     """
     """
@@ -905,7 +905,7 @@ class ConfigTemplateTest(TestCase):
             self.assertEqual(autosync_records.count(), 0, "AutoSyncRecord should be deleted after detaching")
             self.assertEqual(autosync_records.count(), 0, "AutoSyncRecord should be deleted after detaching")
 
 
 
 
-class ConfigTemplateDebugTest(TestCase):
+class ConfigTemplateDebugTestCase(TestCase):
     """
     """
     Tests for the ConfigTemplate debug field and its effect on template rendering error output.
     Tests for the ConfigTemplate debug field and its effect on template rendering error output.
     """
     """
@@ -953,7 +953,7 @@ class ConfigTemplateDebugTest(TestCase):
             render_jinja2("{% debug %}", {}, debug=False)
             render_jinja2("{% debug %}", {}, debug=False)
 
 
 
 
-class ExportTemplateContextTest(TestCase):
+class ExportTemplateContextTestCase(TestCase):
     """
     """
     Tests for ExportTemplate.get_context() including public model population.
     Tests for ExportTemplate.get_context() including public model population.
     """
     """
@@ -986,7 +986,7 @@ class ExportTemplateContextTest(TestCase):
         self.assertIs(ctx['dcim']['Site'], Site)
         self.assertIs(ctx['dcim']['Site'], Site)
 
 
 
 
-class EventRuleTest(TestCase):
+class EventRuleTestCase(TestCase):
 
 
     def test_action_data_clean_accepts_dict(self):
     def test_action_data_clean_accepts_dict(self):
         """
         """

+ 1 - 1
netbox/extras/tests/test_scripts.py

@@ -32,7 +32,7 @@ JSON_DATA = """
 """
 """
 
 
 
 
-class ScriptVariablesTest(TestCase):
+class ScriptVariablesTestCase(TestCase):
 
 
     def test_stringvar(self):
     def test_stringvar(self):
 
 

+ 18 - 18
netbox/extras/tests/test_tables.py

@@ -3,31 +3,31 @@ from extras.tables import *
 from utilities.testing import TableTestCases
 from utilities.testing import TableTestCases
 
 
 
 
-class CustomFieldTableTest(TableTestCases.StandardTableTestCase):
+class CustomFieldTableTestCase(TableTestCases.StandardTableTestCase):
     table = CustomFieldTable
     table = CustomFieldTable
 
 
 
 
-class CustomFieldChoiceSetTableTest(TableTestCases.StandardTableTestCase):
+class CustomFieldChoiceSetTableTestCase(TableTestCases.StandardTableTestCase):
     table = CustomFieldChoiceSetTable
     table = CustomFieldChoiceSetTable
 
 
 
 
-class CustomLinkTableTest(TableTestCases.StandardTableTestCase):
+class CustomLinkTableTestCase(TableTestCases.StandardTableTestCase):
     table = CustomLinkTable
     table = CustomLinkTable
 
 
 
 
-class ExportTemplateTableTest(TableTestCases.StandardTableTestCase):
+class ExportTemplateTableTestCase(TableTestCases.StandardTableTestCase):
     table = ExportTemplateTable
     table = ExportTemplateTable
 
 
 
 
-class SavedFilterTableTest(TableTestCases.StandardTableTestCase):
+class SavedFilterTableTestCase(TableTestCases.StandardTableTestCase):
     table = SavedFilterTable
     table = SavedFilterTable
 
 
 
 
-class TableConfigTableTest(TableTestCases.StandardTableTestCase):
+class TableConfigTableTestCase(TableTestCases.StandardTableTestCase):
     table = TableConfigTable
     table = TableConfigTable
 
 
 
 
-class BookmarkTableTest(TableTestCases.StandardTableTestCase):
+class BookmarkTableTestCase(TableTestCases.StandardTableTestCase):
     table = BookmarkTable
     table = BookmarkTable
 
 
     # The list view for this table lives in account.views (not extras.views),
     # The list view for this table lives in account.views (not extras.views),
@@ -37,11 +37,11 @@ class BookmarkTableTest(TableTestCases.StandardTableTestCase):
     ]
     ]
 
 
 
 
-class NotificationGroupTableTest(TableTestCases.StandardTableTestCase):
+class NotificationGroupTableTestCase(TableTestCases.StandardTableTestCase):
     table = NotificationGroupTable
     table = NotificationGroupTable
 
 
 
 
-class NotificationTableTest(TableTestCases.StandardTableTestCase):
+class NotificationTableTestCase(TableTestCases.StandardTableTestCase):
     table = NotificationTable
     table = NotificationTable
 
 
     # The list view for this table lives in account.views (not extras.views),
     # The list view for this table lives in account.views (not extras.views),
@@ -51,7 +51,7 @@ class NotificationTableTest(TableTestCases.StandardTableTestCase):
     ]
     ]
 
 
 
 
-class SubscriptionTableTest(TableTestCases.StandardTableTestCase):
+class SubscriptionTableTestCase(TableTestCases.StandardTableTestCase):
     table = SubscriptionTable
     table = SubscriptionTable
 
 
     # The list view for this table lives in account.views (not extras.views),
     # The list view for this table lives in account.views (not extras.views),
@@ -61,33 +61,33 @@ class SubscriptionTableTest(TableTestCases.StandardTableTestCase):
     ]
     ]
 
 
 
 
-class WebhookTableTest(TableTestCases.StandardTableTestCase):
+class WebhookTableTestCase(TableTestCases.StandardTableTestCase):
     table = WebhookTable
     table = WebhookTable
 
 
 
 
-class EventRuleTableTest(TableTestCases.StandardTableTestCase):
+class EventRuleTableTestCase(TableTestCases.StandardTableTestCase):
     table = EventRuleTable
     table = EventRuleTable
 
 
 
 
-class TagTableTest(TableTestCases.StandardTableTestCase):
+class TagTableTestCase(TableTestCases.StandardTableTestCase):
     table = TagTable
     table = TagTable
 
 
 
 
-class ConfigContextProfileTableTest(TableTestCases.StandardTableTestCase):
+class ConfigContextProfileTableTestCase(TableTestCases.StandardTableTestCase):
     table = ConfigContextProfileTable
     table = ConfigContextProfileTable
 
 
 
 
-class ConfigContextTableTest(TableTestCases.StandardTableTestCase):
+class ConfigContextTableTestCase(TableTestCases.StandardTableTestCase):
     table = ConfigContextTable
     table = ConfigContextTable
 
 
 
 
-class ConfigTemplateTableTest(TableTestCases.StandardTableTestCase):
+class ConfigTemplateTableTestCase(TableTestCases.StandardTableTestCase):
     table = ConfigTemplateTable
     table = ConfigTemplateTable
 
 
 
 
-class ImageAttachmentTableTest(TableTestCases.StandardTableTestCase):
+class ImageAttachmentTableTestCase(TableTestCases.StandardTableTestCase):
     table = ImageAttachmentTable
     table = ImageAttachmentTable
 
 
 
 
-class JournalEntryTableTest(TableTestCases.StandardTableTestCase):
+class JournalEntryTableTestCase(TableTestCases.StandardTableTestCase):
     table = JournalEntryTable
     table = JournalEntryTable

+ 1 - 1
netbox/extras/tests/test_tags.py

@@ -5,7 +5,7 @@ from dcim.models import Site
 from utilities.testing import APITestCase, create_tags
 from utilities.testing import APITestCase, create_tags
 
 
 
 
-class TaggedItemTest(APITestCase):
+class TaggedItemTestCase(APITestCase):
     """
     """
     Test the application of Tags to and item (a Site, for example) upon creation (POST) and modification (PATCH).
     Test the application of Tags to and item (a Site, for example) upon creation (POST) and modification (PATCH).
     """
     """

+ 2 - 2
netbox/extras/tests/test_utils.py

@@ -11,7 +11,7 @@ from tenancy.models import ContactGroup, TenantGroup
 from wireless.models import WirelessLANGroup
 from wireless.models import WirelessLANGroup
 
 
 
 
-class FilenameFromModelTests(TestCase):
+class FilenameFromModelTestCase(TestCase):
     def test_expected_output(self):
     def test_expected_output(self):
         cases = (
         cases = (
             (ExportTemplate, 'netbox_export_templates'),
             (ExportTemplate, 'netbox_export_templates'),
@@ -43,7 +43,7 @@ class OverwriteStyleStorage(Storage):
         return f'{file_root}_sdmmer4{file_ext}'
         return f'{file_root}_sdmmer4{file_ext}'
 
 
 
 
-class ImageUploadTests(TestCase):
+class ImageUploadTestCase(TestCase):
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
         # We only need a ContentType with model="rack" for the prefix;
         # We only need a ContentType with model="rack" for the prefix;

+ 26 - 26
netbox/extras/tests/test_views.py

@@ -181,6 +181,27 @@ class CustomLinkTestCase(ViewTestCases.PrimaryObjectViewTestCase):
         }
         }
 
 
 
 
+class CustomLinkRenderingTestCase(TestCase):
+    user_permissions = ['dcim.view_site']
+
+    def test_view_object_with_custom_link(self):
+        customlink = CustomLink(
+            name='Test',
+            link_text='FOO {{ object.name }} BAR',
+            link_url='http://example.com/?site={{ object.slug }}',
+            new_window=False
+        )
+        customlink.save()
+        customlink.object_types.set([ObjectType.objects.get_for_model(Site)])
+
+        site = Site(name='Test Site', slug='test-site')
+        site.save()
+
+        response = self.client.get(site.get_absolute_url(), follow=True)
+        self.assertEqual(response.status_code, 200)
+        self.assertIn(f'FOO {site.name} BAR', str(response.content))
+
+
 class SavedFilterTestCase(ViewTestCases.PrimaryObjectViewTestCase):
 class SavedFilterTestCase(ViewTestCases.PrimaryObjectViewTestCase):
     model = SavedFilter
     model = SavedFilter
 
 
@@ -703,27 +724,6 @@ class JournalEntryTestCase(
         }
         }
 
 
 
 
-class CustomLinkTest(TestCase):
-    user_permissions = ['dcim.view_site']
-
-    def test_view_object_with_custom_link(self):
-        customlink = CustomLink(
-            name='Test',
-            link_text='FOO {{ object.name }} BAR',
-            link_url='http://example.com/?site={{ object.slug }}',
-            new_window=False
-        )
-        customlink.save()
-        customlink.object_types.set([ObjectType.objects.get_for_model(Site)])
-
-        site = Site(name='Test Site', slug='test-site')
-        site.save()
-
-        response = self.client.get(site.get_absolute_url(), follow=True)
-        self.assertEqual(response.status_code, 200)
-        self.assertIn(f'FOO {site.name} BAR', str(response.content))
-
-
 class SubscriptionTestCase(
 class SubscriptionTestCase(
     ViewTestCases.CreateObjectViewTestCase,
     ViewTestCases.CreateObjectViewTestCase,
     ViewTestCases.DeleteObjectViewTestCase,
     ViewTestCases.DeleteObjectViewTestCase,
@@ -887,7 +887,7 @@ class NotificationTestCase(
         return
         return
 
 
 
 
-class ScriptListViewTest(TestCase):
+class ScriptListViewTestCase(TestCase):
     user_permissions = ['extras.view_script']
     user_permissions = ['extras.view_script']
 
 
     def test_script_list_embedded_parameter(self):
     def test_script_list_embedded_parameter(self):
@@ -905,7 +905,7 @@ class ScriptListViewTest(TestCase):
         self.assertTemplateUsed(response, 'extras/inc/script_list_content.html')
         self.assertTemplateUsed(response, 'extras/inc/script_list_content.html')
 
 
 
 
-class ScriptValidationErrorTest(TestCase):
+class ScriptValidationErrorTestCase(TestCase):
     user_permissions = ['extras.view_script', 'extras.run_script']
     user_permissions = ['extras.view_script', 'extras.run_script']
 
 
     class TestScriptMixin:
     class TestScriptMixin:
@@ -936,7 +936,7 @@ class ScriptValidationErrorTest(TestCase):
 
 
     def setUp(self):
     def setUp(self):
         super().setUp()
         super().setUp()
-        Script.python_class = property(lambda self: ScriptValidationErrorTest.TestScriptClass)
+        Script.python_class = property(lambda self: ScriptValidationErrorTestCase.TestScriptClass)
 
 
     @tag('regression')
     @tag('regression')
     def test_script_validation_error_displays_message(self):
     def test_script_validation_error_displays_message(self):
@@ -975,7 +975,7 @@ class ScriptValidationErrorTest(TestCase):
         self.assertEqual(len(messages), 0)
         self.assertEqual(len(messages), 0)
 
 
 
 
-class ScriptDefaultValuesTest(TestCase):
+class ScriptDefaultValuesTestCase(TestCase):
     user_permissions = ['extras.view_script', 'extras.run_script']
     user_permissions = ['extras.view_script', 'extras.run_script']
 
 
     class TestScriptClass(PythonClass):
     class TestScriptClass(PythonClass):
@@ -1005,7 +1005,7 @@ class ScriptDefaultValuesTest(TestCase):
 
 
     def setUp(self):
     def setUp(self):
         super().setUp()
         super().setUp()
-        Script.python_class = property(lambda self: ScriptDefaultValuesTest.TestScriptClass)
+        Script.python_class = property(lambda self: ScriptDefaultValuesTestCase.TestScriptClass)
 
 
     def test_default_values_are_used(self):
     def test_default_values_are_used(self):
         url = reverse('extras:script', kwargs={'pk': self.script.pk})
         url = reverse('extras:script', kwargs={'pk': self.script.pk})

+ 19 - 19
netbox/ipam/tests/test_api.py

@@ -14,7 +14,7 @@ from utilities.data import string_to_ranges
 from utilities.testing import APITestCase, APIViewTestCases, create_test_device, disable_logging
 from utilities.testing import APITestCase, APIViewTestCases, create_test_device, disable_logging
 
 
 
 
-class AppTest(APITestCase):
+class AppTestCase(APITestCase):
 
 
     def test_root(self):
     def test_root(self):
 
 
@@ -24,7 +24,7 @@ class AppTest(APITestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.status_code, 200)
 
 
 
 
-class ASNRangeTest(APIViewTestCases.APIViewTestCase):
+class ASNRangeTestCase(APIViewTestCases.APIViewTestCase):
     model = ASNRange
     model = ASNRange
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -136,7 +136,7 @@ class ASNRangeTest(APIViewTestCases.APIViewTestCase):
         self.assertEqual(len(response.data), 10)
         self.assertEqual(len(response.data), 10)
 
 
 
 
-class ASNTest(APIViewTestCases.APIViewTestCase):
+class ASNTestCase(APIViewTestCases.APIViewTestCase):
     model = ASN
     model = ASN
     brief_fields = ['asn', 'description', 'display', 'id', 'url']
     brief_fields = ['asn', 'description', 'display', 'id', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -200,7 +200,7 @@ class ASNTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class VRFTest(APIViewTestCases.APIViewTestCase):
+class VRFTestCase(APIViewTestCases.APIViewTestCase):
     model = VRF
     model = VRF
     brief_fields = ['description', 'display', 'id', 'name', 'prefix_count', 'rd', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'prefix_count', 'rd', 'url']
     create_data = [
     create_data = [
@@ -232,7 +232,7 @@ class VRFTest(APIViewTestCases.APIViewTestCase):
         VRF.objects.bulk_create(vrfs)
         VRF.objects.bulk_create(vrfs)
 
 
 
 
-class RouteTargetTest(APIViewTestCases.APIViewTestCase):
+class RouteTargetTestCase(APIViewTestCases.APIViewTestCase):
     model = RouteTarget
     model = RouteTarget
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     create_data = [
     create_data = [
@@ -261,7 +261,7 @@ class RouteTargetTest(APIViewTestCases.APIViewTestCase):
         RouteTarget.objects.bulk_create(route_targets)
         RouteTarget.objects.bulk_create(route_targets)
 
 
 
 
-class RIRTest(APIViewTestCases.APIViewTestCase):
+class RIRTestCase(APIViewTestCases.APIViewTestCase):
     model = RIR
     model = RIR
     brief_fields = ['aggregate_count', 'description', 'display', 'id', 'name', 'slug', 'url']
     brief_fields = ['aggregate_count', 'description', 'display', 'id', 'name', 'slug', 'url']
     create_data = [
     create_data = [
@@ -293,7 +293,7 @@ class RIRTest(APIViewTestCases.APIViewTestCase):
         RIR.objects.bulk_create(rirs)
         RIR.objects.bulk_create(rirs)
 
 
 
 
-class AggregateTest(APIViewTestCases.APIViewTestCase):
+class AggregateTestCase(APIViewTestCases.APIViewTestCase):
     model = Aggregate
     model = Aggregate
     brief_fields = ['description', 'display', 'family', 'id', 'prefix', 'url']
     brief_fields = ['description', 'display', 'family', 'id', 'prefix', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -381,7 +381,7 @@ class AggregateTest(APIViewTestCases.APIViewTestCase):
         # No exception occurred; invalid entries were ignored
         # No exception occurred; invalid entries were ignored
 
 
 
 
-class RoleTest(APIViewTestCases.APIViewTestCase):
+class RoleTestCase(APIViewTestCases.APIViewTestCase):
     model = Role
     model = Role
     brief_fields = ['asn_count', 'description', 'display', 'id', 'name', 'prefix_count', 'slug', 'url', 'vlan_count']
     brief_fields = ['asn_count', 'description', 'display', 'id', 'name', 'prefix_count', 'slug', 'url', 'vlan_count']
     create_data = [
     create_data = [
@@ -424,7 +424,7 @@ class RoleTest(APIViewTestCases.APIViewTestCase):
         ASN.objects.bulk_create(asns)
         ASN.objects.bulk_create(asns)
 
 
 
 
-class PrefixTest(APIViewTestCases.APIViewTestCase):
+class PrefixTestCase(APIViewTestCases.APIViewTestCase):
     model = Prefix
     model = Prefix
     brief_fields = ['_depth', 'description', 'display', 'family', 'id', 'prefix', 'url']
     brief_fields = ['_depth', 'description', 'display', 'family', 'id', 'prefix', 'url']
     create_data = [
     create_data = [
@@ -664,7 +664,7 @@ class PrefixTest(APIViewTestCases.APIViewTestCase):
         self.assertTrue(data['data']['tenant_list'])  # tenant returned
         self.assertTrue(data['data']['tenant_list'])  # tenant returned
 
 
 
 
-class IPRangeTest(APIViewTestCases.APIViewTestCase):
+class IPRangeTestCase(APIViewTestCases.APIViewTestCase):
     model = IPRange
     model = IPRange
     brief_fields = ['description', 'display', 'end_address', 'family', 'id', 'start_address', 'url']
     brief_fields = ['description', 'display', 'end_address', 'family', 'id', 'start_address', 'url']
     create_data = [
     create_data = [
@@ -822,7 +822,7 @@ class IPRangeTest(APIViewTestCases.APIViewTestCase):
         # No exception occurred; invalid entries were ignored
         # No exception occurred; invalid entries were ignored
 
 
 
 
-class IPAddressTest(APIViewTestCases.APIViewTestCase):
+class IPAddressTestCase(APIViewTestCases.APIViewTestCase):
     model = IPAddress
     model = IPAddress
     brief_fields = ['address', 'description', 'display', 'family', 'id', 'url']
     brief_fields = ['address', 'description', 'display', 'family', 'id', 'url']
     create_data = [
     create_data = [
@@ -977,7 +977,7 @@ class IPAddressTest(APIViewTestCases.APIViewTestCase):
         self.assertIn(str(device1.pk), ids)
         self.assertIn(str(device1.pk), ids)
 
 
 
 
-class FHRPGroupTest(APIViewTestCases.APIViewTestCase):
+class FHRPGroupTestCase(APIViewTestCases.APIViewTestCase):
     model = FHRPGroup
     model = FHRPGroup
     brief_fields = ['description', 'display', 'group_id', 'id', 'protocol', 'url']
     brief_fields = ['description', 'display', 'group_id', 'id', 'protocol', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -1028,7 +1028,7 @@ class FHRPGroupTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class FHRPGroupAssignmentTest(APIViewTestCases.APIViewTestCase):
+class FHRPGroupAssignmentTestCase(APIViewTestCases.APIViewTestCase):
     model = FHRPGroupAssignment
     model = FHRPGroupAssignment
     brief_fields = ['display', 'group', 'id', 'interface_id', 'interface_type', 'priority', 'url']
     brief_fields = ['display', 'group', 'id', 'interface_id', 'interface_type', 'priority', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -1108,7 +1108,7 @@ class FHRPGroupAssignmentTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class VLANGroupTest(APIViewTestCases.APIViewTestCase):
+class VLANGroupTestCase(APIViewTestCases.APIViewTestCase):
     model = VLANGroup
     model = VLANGroup
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url', 'vlan_count']
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url', 'vlan_count']
     create_data = [
     create_data = [
@@ -1231,7 +1231,7 @@ class VLANGroupTest(APIViewTestCases.APIViewTestCase):
         self.assertEqual(response.data[2]['vid'], 6)
         self.assertEqual(response.data[2]['vid'], 6)
 
 
 
 
-class VLANTest(APIViewTestCases.APIViewTestCase):
+class VLANTestCase(APIViewTestCases.APIViewTestCase):
     model = VLAN
     model = VLAN
     brief_fields = ['description', 'display', 'id', 'name', 'url', 'vid']
     brief_fields = ['description', 'display', 'id', 'name', 'url', 'vid']
     bulk_update_data = {
     bulk_update_data = {
@@ -1298,7 +1298,7 @@ class VLANTest(APIViewTestCases.APIViewTestCase):
         self.assertTrue(content['detail'].startswith('Unable to delete object.'))
         self.assertTrue(content['detail'].startswith('Unable to delete object.'))
 
 
 
 
-class VLANTranslationPolicyTest(APIViewTestCases.APIViewTestCase):
+class VLANTranslationPolicyTestCase(APIViewTestCases.APIViewTestCase):
     model = VLANTranslationPolicy
     model = VLANTranslationPolicy
     brief_fields = ['description', 'display', 'id', 'name', 'url',]
     brief_fields = ['description', 'display', 'id', 'name', 'url',]
     bulk_update_data = {
     bulk_update_data = {
@@ -1340,7 +1340,7 @@ class VLANTranslationPolicyTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class VLANTranslationRuleTest(APIViewTestCases.APIViewTestCase):
+class VLANTranslationRuleTestCase(APIViewTestCases.APIViewTestCase):
     model = VLANTranslationRule
     model = VLANTranslationRule
     brief_fields = ['description', 'display', 'id', 'local_vid', 'policy', 'remote_vid', 'url']
     brief_fields = ['description', 'display', 'id', 'local_vid', 'policy', 'remote_vid', 'url']
 
 
@@ -1409,7 +1409,7 @@ class VLANTranslationRuleTest(APIViewTestCases.APIViewTestCase):
         }
         }
 
 
 
 
-class ServiceTemplateTest(APIViewTestCases.APIViewTestCase):
+class ServiceTemplateTestCase(APIViewTestCases.APIViewTestCase):
     model = ServiceTemplate
     model = ServiceTemplate
     brief_fields = ['description', 'display', 'id', 'name', 'ports', 'protocol', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'ports', 'protocol', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -1445,7 +1445,7 @@ class ServiceTemplateTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class ServiceTest(APIViewTestCases.APIViewTestCase):
+class ServiceTestCase(APIViewTestCases.APIViewTestCase):
     model = Service
     model = Service
     brief_fields = ['description', 'display', 'id', 'name', 'ports', 'protocol', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'ports', 'protocol', 'url']
     bulk_update_data = {
     bulk_update_data = {

+ 1 - 1
netbox/ipam/tests/test_lookups.py

@@ -4,7 +4,7 @@ from django.test import TestCase
 from ipam.models import VLANGroup
 from ipam.models import VLANGroup
 
 
 
 
-class VLANGroupRangeContainsLookupTests(TestCase):
+class VLANGroupRangeContainsLookupTestCase(TestCase):
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
         # Two ranges: [1,11) and [20,31)
         # Two ranges: [1,11) and [20,31)

+ 19 - 19
netbox/ipam/tests/test_tables.py

@@ -7,7 +7,7 @@ from ipam.utils import annotate_ip_space
 from utilities.testing import TableTestCases
 from utilities.testing import TableTestCases
 
 
 
 
-class AnnotatedIPAddressTableTest(TestCase):
+class AnnotatedIPAddressTableTestCase(TestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
@@ -180,43 +180,43 @@ class AnnotatedIPAddressTableTest(TestCase):
 # Table ordering tests
 # Table ordering tests
 #
 #
 
 
-class VRFTableTest(TableTestCases.StandardTableTestCase):
+class VRFTableTestCase(TableTestCases.StandardTableTestCase):
     table = VRFTable
     table = VRFTable
 
 
 
 
-class RouteTargetTableTest(TableTestCases.StandardTableTestCase):
+class RouteTargetTableTestCase(TableTestCases.StandardTableTestCase):
     table = RouteTargetTable
     table = RouteTargetTable
 
 
 
 
-class RIRTableTest(TableTestCases.StandardTableTestCase):
+class RIRTableTestCase(TableTestCases.StandardTableTestCase):
     table = RIRTable
     table = RIRTable
 
 
 
 
-class AggregateTableTest(TableTestCases.StandardTableTestCase):
+class AggregateTableTestCase(TableTestCases.StandardTableTestCase):
     table = AggregateTable
     table = AggregateTable
 
 
 
 
-class RoleTableTest(TableTestCases.StandardTableTestCase):
+class RoleTableTestCase(TableTestCases.StandardTableTestCase):
     table = RoleTable
     table = RoleTable
 
 
 
 
-class PrefixTableTest(TableTestCases.StandardTableTestCase):
+class PrefixTableTestCase(TableTestCases.StandardTableTestCase):
     table = PrefixTable
     table = PrefixTable
 
 
 
 
-class IPRangeTableTest(TableTestCases.StandardTableTestCase):
+class IPRangeTableTestCase(TableTestCases.StandardTableTestCase):
     table = IPRangeTable
     table = IPRangeTable
 
 
 
 
-class IPAddressTableTest(TableTestCases.StandardTableTestCase):
+class IPAddressTableTestCase(TableTestCases.StandardTableTestCase):
     table = IPAddressTable
     table = IPAddressTable
 
 
 
 
-class FHRPGroupTableTest(TableTestCases.StandardTableTestCase):
+class FHRPGroupTableTestCase(TableTestCases.StandardTableTestCase):
     table = FHRPGroupTable
     table = FHRPGroupTable
 
 
 
 
-class FHRPGroupAssignmentTableTest(TableTestCases.StandardTableTestCase):
+class FHRPGroupAssignmentTableTestCase(TableTestCases.StandardTableTestCase):
     table = FHRPGroupAssignmentTable
     table = FHRPGroupAssignmentTable
 
 
     # No ObjectListView exists for this table; it is only rendered inline on
     # No ObjectListView exists for this table; it is only rendered inline on
@@ -226,33 +226,33 @@ class FHRPGroupAssignmentTableTest(TableTestCases.StandardTableTestCase):
     ]
     ]
 
 
 
 
-class VLANGroupTableTest(TableTestCases.StandardTableTestCase):
+class VLANGroupTableTestCase(TableTestCases.StandardTableTestCase):
     table = VLANGroupTable
     table = VLANGroupTable
 
 
 
 
-class VLANTableTest(TableTestCases.StandardTableTestCase):
+class VLANTableTestCase(TableTestCases.StandardTableTestCase):
     table = VLANTable
     table = VLANTable
 
 
 
 
-class VLANTranslationPolicyTableTest(TableTestCases.StandardTableTestCase):
+class VLANTranslationPolicyTableTestCase(TableTestCases.StandardTableTestCase):
     table = VLANTranslationPolicyTable
     table = VLANTranslationPolicyTable
 
 
 
 
-class VLANTranslationRuleTableTest(TableTestCases.StandardTableTestCase):
+class VLANTranslationRuleTableTestCase(TableTestCases.StandardTableTestCase):
     table = VLANTranslationRuleTable
     table = VLANTranslationRuleTable
 
 
 
 
-class ASNRangeTableTest(TableTestCases.StandardTableTestCase):
+class ASNRangeTableTestCase(TableTestCases.StandardTableTestCase):
     table = ASNRangeTable
     table = ASNRangeTable
 
 
 
 
-class ASNTableTest(TableTestCases.StandardTableTestCase):
+class ASNTableTestCase(TableTestCases.StandardTableTestCase):
     table = ASNTable
     table = ASNTable
 
 
 
 
-class ServiceTemplateTableTest(TableTestCases.StandardTableTestCase):
+class ServiceTemplateTableTestCase(TableTestCases.StandardTableTestCase):
     table = ServiceTemplateTable
     table = ServiceTemplateTable
 
 
 
 
-class ServiceTableTest(TableTestCases.StandardTableTestCase):
+class ServiceTableTestCase(TableTestCases.StandardTableTestCase):
     table = ServiceTable
     table = ServiceTable

+ 2 - 2
netbox/netbox/tests/test_api.py

@@ -11,7 +11,7 @@ from users.models import Token
 from utilities.testing import APITestCase
 from utilities.testing import APITestCase
 
 
 
 
-class AppTest(APITestCase):
+class AppTestCase(APITestCase):
 
 
     def test_http_headers(self):
     def test_http_headers(self):
         response = self.client.get(reverse('api-root'), **self.header)
         response = self.client.get(reverse('api-root'), **self.header)
@@ -46,7 +46,7 @@ class AppTest(APITestCase):
         self.assertEqual(response.data['id'], self.user.pk)
         self.assertEqual(response.data['id'], self.user.pk)
 
 
 
 
-class OptionalLimitOffsetPaginationTest(TestCase):
+class OptionalLimitOffsetPaginationTestCase(TestCase):
 
 
     def setUp(self):
     def setUp(self):
         self.paginator = NetBoxPagination()
         self.paginator = NetBoxPagination()

+ 1 - 1
netbox/netbox/tests/test_forms.py

@@ -5,7 +5,7 @@ from dcim.forms import InterfaceImportForm
 from dcim.models import Device, DeviceRole, DeviceType, Interface, Manufacturer, Site
 from dcim.models import Device, DeviceRole, DeviceType, Interface, Manufacturer, Site
 
 
 
 
-class NetBoxModelImportFormCleanTest(TestCase):
+class NetBoxModelImportFormCleanTestCase(TestCase):
     """
     """
     Test the clean() method of NetBoxModelImportForm to ensure it properly converts
     Test the clean() method of NetBoxModelImportForm to ensure it properly converts
     empty strings to None for nullable fields during CSV import.
     empty strings to None for nullable fields during CSV import.

+ 3 - 3
netbox/netbox/tests/test_jobs.py

@@ -39,7 +39,7 @@ class JobRunnerTestCase(TestCase):
         return timezone.now() + timedelta(weeks=offset)
         return timezone.now() + timedelta(weeks=offset)
 
 
 
 
-class JobRunnerTest(JobRunnerTestCase):
+class JobRunnerTestCase(JobRunnerTestCase):
     """
     """
     Test internal logic of `JobRunner`.
     Test internal logic of `JobRunner`.
     """
     """
@@ -92,7 +92,7 @@ class JobRunnerTest(JobRunnerTestCase):
         self.assertNotIn(_INSTALL_ROOT, tb_message)
         self.assertNotIn(_INSTALL_ROOT, tb_message)
 
 
 
 
-class EnqueueTest(JobRunnerTestCase):
+class EnqueueTestCase(JobRunnerTestCase):
     """
     """
     Test enqueuing of `JobRunner`.
     Test enqueuing of `JobRunner`.
     """
     """
@@ -168,7 +168,7 @@ class EnqueueTest(JobRunnerTestCase):
         self.assertEqual(TestJobRunner.get_jobs(instance).count(), 1)
         self.assertEqual(TestJobRunner.get_jobs(instance).count(), 1)
 
 
 
 
-class SystemJobTest(JobRunnerTestCase):
+class SystemJobTestCase(JobRunnerTestCase):
     """
     """
     Test that system jobs can be scheduled.
     Test that system jobs can be scheduled.
 
 

+ 1 - 1
netbox/netbox/tests/test_models.py

@@ -7,7 +7,7 @@ from core.models import ObjectChange
 from netbox.tests.dummy_plugin.models import DummyNetBoxModel
 from netbox.tests.dummy_plugin.models import DummyNetBoxModel
 
 
 
 
-class ModelTest(TestCase):
+class ModelTestCase(TestCase):
 
 
     def test_get_absolute_url(self):
     def test_get_absolute_url(self):
         m = ObjectChange()
         m = ObjectChange()

+ 1 - 1
netbox/netbox/tests/test_object_actions.py

@@ -7,7 +7,7 @@ from dcim.models import Device, DeviceType, Manufacturer
 from netbox.object_actions import AddObject, BulkEdit, BulkImport
 from netbox.object_actions import AddObject, BulkEdit, BulkImport
 
 
 
 
-class ObjectActionTest(TestCase):
+class ObjectActionTestCase(TestCase):
 
 
     def test_get_url_core_model(self):
     def test_get_url_core_model(self):
         """Test URL generation for core NetBox models"""
         """Test URL generation for core NetBox models"""

+ 2 - 2
netbox/netbox/tests/test_plugins.py

@@ -18,7 +18,7 @@ from netbox.tests.dummy_plugin.webhook_callbacks import set_context
 
 
 
 
 @skipIf('netbox.tests.dummy_plugin' not in settings.PLUGINS, "dummy_plugin not in settings.PLUGINS")
 @skipIf('netbox.tests.dummy_plugin' not in settings.PLUGINS, "dummy_plugin not in settings.PLUGINS")
-class PluginTest(TestCase):
+class PluginTestCase(TestCase):
 
 
     def test_config(self):
     def test_config(self):
 
 
@@ -229,7 +229,7 @@ class PluginTest(TestCase):
         self.assertIn(set_context, registry['webhook_callbacks'])
         self.assertIn(set_context, registry['webhook_callbacks'])
 
 
 
 
-class PluginNavigationTest(TestCase):
+class PluginNavigationTestCase(TestCase):
 
 
     def test_plugin_menu_item_independent_permissions(self):
     def test_plugin_menu_item_independent_permissions(self):
         item1 = PluginMenuItem(link='test1', link_text='Test 1')
         item1 = PluginMenuItem(link='test1', link_text='Test 1')

+ 1 - 1
netbox/netbox/tests/test_registry.py

@@ -3,7 +3,7 @@ from django.test import TestCase
 from netbox.registry import Registry
 from netbox.registry import Registry
 
 
 
 
-class RegistryTest(TestCase):
+class RegistryTestCase(TestCase):
 
 
     def test_set_store(self):
     def test_set_store(self):
         reg = Registry({
         reg = Registry({

+ 2 - 2
netbox/netbox/tests/test_tables.py

@@ -8,7 +8,7 @@ from netbox.tables import NetBoxTable, columns
 from utilities.testing import create_tags, create_test_device, create_test_user
 from utilities.testing import create_tags, create_test_device, create_test_user
 
 
 
 
-class BaseTableTest(TestCase):
+class BaseTableTestCase(TestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
@@ -99,7 +99,7 @@ class TagColumnTable(NetBoxTable):
         default_columns = fields
         default_columns = fields
 
 
 
 
-class TagColumnTest(TestCase):
+class TagColumnTestCase(TestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):

+ 11 - 11
netbox/netbox/tests/test_ui.py

@@ -29,7 +29,7 @@ from vpn.choices import (
 from vpn.models import IKEPolicy, IKEProposal, IPSecPolicy, IPSecProfile
 from vpn.models import IKEPolicy, IKEProposal, IPSecPolicy, IPSecProfile
 
 
 
 
-class ChoiceAttrTest(TestCase):
+class ChoiceAttrTestCase(TestCase):
     """
     """
     Test class for validating the behavior of ChoiceAttr attribute accessor.
     Test class for validating the behavior of ChoiceAttr attribute accessor.
 
 
@@ -112,7 +112,7 @@ class ChoiceAttrTest(TestCase):
         )
         )
 
 
 
 
-class RelatedObjectListAttrTest(TestCase):
+class RelatedObjectListAttrTestCase(TestCase):
     """
     """
     Test suite for RelatedObjectListAttr functionality.
     Test suite for RelatedObjectListAttr functionality.
 
 
@@ -222,7 +222,7 @@ class RelatedObjectListAttrTest(TestCase):
         self.assertIn('…', rendered)
         self.assertIn('…', rendered)
 
 
 
 
-class TextAttrTest(TestCase):
+class TextAttrTestCase(TestCase):
 
 
     def test_get_value_with_format_string(self):
     def test_get_value_with_format_string(self):
         attr = attrs.TextAttr('asn', format_string='AS{}')
         attr = attrs.TextAttr('asn', format_string='AS{}')
@@ -247,7 +247,7 @@ class TextAttrTest(TestCase):
         self.assertTrue(context['copy_button'])
         self.assertTrue(context['copy_button'])
 
 
 
 
-class NumericAttrTest(TestCase):
+class NumericAttrTestCase(TestCase):
 
 
     def test_get_context_with_unit_accessor(self):
     def test_get_context_with_unit_accessor(self):
         attr = attrs.NumericAttr('speed', unit_accessor='speed_unit')
         attr = attrs.NumericAttr('speed', unit_accessor='speed_unit')
@@ -268,7 +268,7 @@ class NumericAttrTest(TestCase):
         self.assertTrue(context['copy_button'])
         self.assertTrue(context['copy_button'])
 
 
 
 
-class BooleanAttrTest(TestCase):
+class BooleanAttrTestCase(TestCase):
 
 
     def test_false_value_shown_by_default(self):
     def test_false_value_shown_by_default(self):
         attr = attrs.BooleanAttr('enabled')
         attr = attrs.BooleanAttr('enabled')
@@ -286,7 +286,7 @@ class BooleanAttrTest(TestCase):
         self.assertIs(attr.get_value(obj), True)
         self.assertIs(attr.get_value(obj), True)
 
 
 
 
-class ImageAttrTest(TestCase):
+class ImageAttrTestCase(TestCase):
 
 
     def test_invalid_decoding_raises_value_error(self):
     def test_invalid_decoding_raises_value_error(self):
         with self.assertRaises(ValueError):
         with self.assertRaises(ValueError):
@@ -314,7 +314,7 @@ class ImageAttrTest(TestCase):
         self.assertFalse(context['load_lazy'])
         self.assertFalse(context['load_lazy'])
 
 
 
 
-class RelatedObjectAttrTest(TestCase):
+class RelatedObjectAttrTestCase(TestCase):
 
 
     def test_get_context_with_grouped_by(self):
     def test_get_context_with_grouped_by(self):
         region = SimpleNamespace(name='Region 1')
         region = SimpleNamespace(name='Region 1')
@@ -339,7 +339,7 @@ class RelatedObjectAttrTest(TestCase):
         self.assertTrue(context['linkify'])
         self.assertTrue(context['linkify'])
 
 
 
 
-class GenericForeignKeyAttrTest(TestCase):
+class GenericForeignKeyAttrTestCase(TestCase):
 
 
     class TreeNode:
     class TreeNode:
         def __init__(self, name, ancestors=()):
         def __init__(self, name, ancestors=()):
@@ -422,7 +422,7 @@ class GenericForeignKeyAttrTest(TestCase):
         self.assertIsNone(context['nodes'])
         self.assertIsNone(context['nodes'])
 
 
 
 
-class GPSCoordinatesAttrTest(TestCase):
+class GPSCoordinatesAttrTestCase(TestCase):
 
 
     def test_missing_latitude_returns_placeholder(self):
     def test_missing_latitude_returns_placeholder(self):
         attr = attrs.GPSCoordinatesAttr()
         attr = attrs.GPSCoordinatesAttr()
@@ -440,7 +440,7 @@ class GPSCoordinatesAttrTest(TestCase):
         self.assertEqual(attr.render(obj, {'name': 'coordinates'}), attr.placeholder)
         self.assertEqual(attr.render(obj, {'name': 'coordinates'}), attr.placeholder)
 
 
 
 
-class DateTimeAttrTest(TestCase):
+class DateTimeAttrTestCase(TestCase):
 
 
     def test_default_spec(self):
     def test_default_spec(self):
         attr = attrs.DateTimeAttr('created')
         attr = attrs.DateTimeAttr('created')
@@ -461,7 +461,7 @@ class DateTimeAttrTest(TestCase):
         self.assertEqual(context['spec'], 'minutes')
         self.assertEqual(context['spec'], 'minutes')
 
 
 
 
-class ObjectsTablePanelTest(TestCase):
+class ObjectsTablePanelTestCase(TestCase):
     """
     """
     Verify that ObjectsTablePanel.should_render() hides the panel when
     Verify that ObjectsTablePanel.should_render() hides the panel when
     the requesting user lacks view permission for the panel's model.
     the requesting user lacks view permission for the panel's model.

+ 7 - 7
netbox/tenancy/tests/test_api.py

@@ -6,7 +6,7 @@ from tenancy.models import *
 from utilities.testing import APITestCase, APIViewTestCases
 from utilities.testing import APITestCase, APIViewTestCases
 
 
 
 
-class AppTest(APITestCase):
+class AppTestCase(APITestCase):
 
 
     def test_root(self):
     def test_root(self):
 
 
@@ -16,7 +16,7 @@ class AppTest(APITestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.status_code, 200)
 
 
 
 
-class TenantGroupTest(APIViewTestCases.APIViewTestCase):
+class TenantGroupTestCase(APIViewTestCases.APIViewTestCase):
     model = TenantGroup
     model = TenantGroup
     brief_fields = ['_depth', 'description', 'display', 'id', 'name', 'slug', 'tenant_count', 'url']
     brief_fields = ['_depth', 'description', 'display', 'id', 'name', 'slug', 'tenant_count', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -61,7 +61,7 @@ class TenantGroupTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class TenantTest(APIViewTestCases.APIViewTestCase):
+class TenantTestCase(APIViewTestCases.APIViewTestCase):
     model = Tenant
     model = Tenant
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -103,7 +103,7 @@ class TenantTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class ContactGroupTest(APIViewTestCases.APIViewTestCase):
+class ContactGroupTestCase(APIViewTestCases.APIViewTestCase):
     model = ContactGroup
     model = ContactGroup
     brief_fields = ['_depth', 'contact_count', 'description', 'display', 'id', 'name', 'slug', 'url']
     brief_fields = ['_depth', 'contact_count', 'description', 'display', 'id', 'name', 'slug', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -148,7 +148,7 @@ class ContactGroupTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class ContactRoleTest(APIViewTestCases.APIViewTestCase):
+class ContactRoleTestCase(APIViewTestCases.APIViewTestCase):
     model = ContactRole
     model = ContactRole
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url']
     create_data = [
     create_data = [
@@ -180,7 +180,7 @@ class ContactRoleTest(APIViewTestCases.APIViewTestCase):
         ContactRole.objects.bulk_create(contact_roles)
         ContactRole.objects.bulk_create(contact_roles)
 
 
 
 
-class ContactTest(APIViewTestCases.APIViewTestCase):
+class ContactTestCase(APIViewTestCases.APIViewTestCase):
     model = Contact
     model = Contact
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -220,7 +220,7 @@ class ContactTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class ContactAssignmentTest(APIViewTestCases.APIViewTestCase):
+class ContactAssignmentTestCase(APIViewTestCases.APIViewTestCase):
     model = ContactAssignment
     model = ContactAssignment
     brief_fields = ['contact', 'display', 'id', 'priority', 'role', 'url']
     brief_fields = ['contact', 'display', 'id', 'priority', 'role', 'url']
     bulk_update_data = {
     bulk_update_data = {

+ 6 - 6
netbox/tenancy/tests/test_tables.py

@@ -2,25 +2,25 @@ from tenancy.tables import *
 from utilities.testing import TableTestCases
 from utilities.testing import TableTestCases
 
 
 
 
-class TenantGroupTableTest(TableTestCases.StandardTableTestCase):
+class TenantGroupTableTestCase(TableTestCases.StandardTableTestCase):
     table = TenantGroupTable
     table = TenantGroupTable
 
 
 
 
-class TenantTableTest(TableTestCases.StandardTableTestCase):
+class TenantTableTestCase(TableTestCases.StandardTableTestCase):
     table = TenantTable
     table = TenantTable
 
 
 
 
-class ContactGroupTableTest(TableTestCases.StandardTableTestCase):
+class ContactGroupTableTestCase(TableTestCases.StandardTableTestCase):
     table = ContactGroupTable
     table = ContactGroupTable
 
 
 
 
-class ContactRoleTableTest(TableTestCases.StandardTableTestCase):
+class ContactRoleTableTestCase(TableTestCases.StandardTableTestCase):
     table = ContactRoleTable
     table = ContactRoleTable
 
 
 
 
-class ContactTableTest(TableTestCases.StandardTableTestCase):
+class ContactTableTestCase(TableTestCases.StandardTableTestCase):
     table = ContactTable
     table = ContactTable
 
 
 
 
-class ContactAssignmentTableTest(TableTestCases.StandardTableTestCase):
+class ContactAssignmentTableTestCase(TableTestCases.StandardTableTestCase):
     table = ContactAssignmentTable
     table = ContactAssignmentTable

+ 8 - 8
netbox/users/tests/test_api.py

@@ -8,7 +8,7 @@ from utilities.data import deepmerge
 from utilities.testing import APITestCase, APIViewTestCases, create_test_user
 from utilities.testing import APITestCase, APIViewTestCases, create_test_user
 
 
 
 
-class AppTest(APITestCase):
+class AppTestCase(APITestCase):
 
 
     def test_root(self):
     def test_root(self):
 
 
@@ -17,7 +17,7 @@ class AppTest(APITestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.status_code, 200)
 
 
 
 
-class UserTest(APIViewTestCases.APIViewTestCase):
+class UserTestCase(APIViewTestCases.APIViewTestCase):
     model = User
     model = User
     brief_fields = ['display', 'id', 'url', 'username']
     brief_fields = ['display', 'id', 'url', 'username']
     validation_excluded_fields = ['password']
     validation_excluded_fields = ['password']
@@ -137,7 +137,7 @@ class UserTest(APIViewTestCases.APIViewTestCase):
         self.assertEqual(response.status_code, 400)
         self.assertEqual(response.status_code, 400)
 
 
 
 
-class GroupTest(APIViewTestCases.APIViewTestCase):
+class GroupTestCase(APIViewTestCases.APIViewTestCase):
     model = Group
     model = Group
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
 
 
@@ -189,7 +189,7 @@ class GroupTest(APIViewTestCases.APIViewTestCase):
         return
         return
 
 
 
 
-class TokenTest(
+class TokenTestCase(
     # No GraphQL support for Token
     # No GraphQL support for Token
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.ListObjectsViewTestCase,
     APIViewTestCases.ListObjectsViewTestCase,
@@ -330,7 +330,7 @@ class TokenTest(
         self.assertEqual(token1.user, user1, "Token's user should not have changed")
         self.assertEqual(token1.user, user1, "Token's user should not have changed")
 
 
 
 
-class ObjectPermissionTest(
+class ObjectPermissionTestCase(
     # No GraphQL support for ObjectPermission
     # No GraphQL support for ObjectPermission
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.GetObjectViewTestCase,
     APIViewTestCases.ListObjectsViewTestCase,
     APIViewTestCases.ListObjectsViewTestCase,
@@ -403,7 +403,7 @@ class ObjectPermissionTest(
         }
         }
 
 
 
 
-class UserConfigTest(APITestCase):
+class UserConfigTestCase(APITestCase):
 
 
     def test_get(self):
     def test_get(self):
         """
         """
@@ -456,7 +456,7 @@ class UserConfigTest(APITestCase):
         self.assertDictEqual(userconfig.data, new_data)
         self.assertDictEqual(userconfig.data, new_data)
 
 
 
 
-class OwnerGroupTest(APIViewTestCases.APIViewTestCase):
+class OwnerGroupTestCase(APIViewTestCases.APIViewTestCase):
     model = OwnerGroup
     model = OwnerGroup
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -488,7 +488,7 @@ class OwnerGroupTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class OwnerTest(APIViewTestCases.APIViewTestCase):
+class OwnerTestCase(APIViewTestCases.APIViewTestCase):
     model = Owner
     model = Owner
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
 
 

+ 2 - 2
netbox/users/tests/test_models.py

@@ -9,7 +9,7 @@ from users.models import Token, User
 from utilities.testing import create_test_user
 from utilities.testing import create_test_user
 
 
 
 
-class TokenTest(TestCase):
+class TokenTestCase(TestCase):
     """
     """
     Test class for testing the functionality of the Token model.
     Test class for testing the functionality of the Token model.
     """
     """
@@ -105,7 +105,7 @@ class TokenTest(TestCase):
             token.clean()
             token.clean()
 
 
 
 
-class UserConfigTest(TestCase):
+class UserConfigTestCase(TestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):

+ 1 - 1
netbox/users/tests/test_preferences.py

@@ -15,7 +15,7 @@ DEFAULT_USER_PREFERENCES = {
 }
 }
 
 
 
 
-class UserPreferencesTest(TestCase):
+class UserPreferencesTestCase(TestCase):
     user_permissions = ['dcim.view_site']
     user_permissions = ['dcim.view_site']
 
 
     def test_userpreference(self):
     def test_userpreference(self):

+ 6 - 6
netbox/users/tests/test_tables.py

@@ -2,25 +2,25 @@ from users.tables import *
 from utilities.testing import TableTestCases
 from utilities.testing import TableTestCases
 
 
 
 
-class TokenTableTest(TableTestCases.StandardTableTestCase):
+class TokenTableTestCase(TableTestCases.StandardTableTestCase):
     table = TokenTable
     table = TokenTable
 
 
 
 
-class UserTableTest(TableTestCases.StandardTableTestCase):
+class UserTableTestCase(TableTestCases.StandardTableTestCase):
     table = UserTable
     table = UserTable
 
 
 
 
-class GroupTableTest(TableTestCases.StandardTableTestCase):
+class GroupTableTestCase(TableTestCases.StandardTableTestCase):
     table = GroupTable
     table = GroupTable
 
 
 
 
-class ObjectPermissionTableTest(TableTestCases.StandardTableTestCase):
+class ObjectPermissionTableTestCase(TableTestCases.StandardTableTestCase):
     table = ObjectPermissionTable
     table = ObjectPermissionTable
 
 
 
 
-class OwnerGroupTableTest(TableTestCases.StandardTableTestCase):
+class OwnerGroupTableTestCase(TableTestCases.StandardTableTestCase):
     table = OwnerGroupTable
     table = OwnerGroupTable
 
 
 
 
-class OwnerTableTest(TableTestCases.StandardTableTestCase):
+class OwnerTableTestCase(TableTestCases.StandardTableTestCase):
     table = OwnerTable
     table = OwnerTable

+ 1 - 1
netbox/utilities/tests/test_api.py

@@ -14,7 +14,7 @@ from utilities.api import get_prefetches_for_serializer, get_view_name
 from utilities.testing import APITestCase, disable_warnings
 from utilities.testing import APITestCase, disable_warnings
 
 
 
 
-class WritableNestedSerializerTest(APITestCase):
+class WritableNestedSerializerTestCase(APITestCase):
     """
     """
     Test the operation of WritableNestedSerializer using VLANSerializer as our test subject.
     Test the operation of WritableNestedSerializer using VLANSerializer as our test subject.
     """
     """

+ 1 - 1
netbox/utilities/tests/test_conversions.py

@@ -6,7 +6,7 @@ from utilities.conversion import to_grams, to_meters
 from utilities.testing.base import TestCase
 from utilities.testing.base import TestCase
 
 
 
 
-class ConversionsTest(TestCase):
+class ConversionsTestCase(TestCase):
 
 
     def test_to_grams(self):
     def test_to_grams(self):
         self.assertEqual(
         self.assertEqual(

+ 1 - 1
netbox/utilities/tests/test_counters.py

@@ -7,7 +7,7 @@ from utilities.testing.base import TestCase
 from utilities.testing.utils import create_test_device
 from utilities.testing.utils import create_test_device
 
 
 
 
-class CountersTest(TestCase):
+class CountersTestCase(TestCase):
     """
     """
     Validate the operation of the CounterCacheField (tracking counters).
     Validate the operation of the CounterCacheField (tracking counters).
     """
     """

+ 5 - 5
netbox/utilities/tests/test_filter_modifiers.py

@@ -43,7 +43,7 @@ class TestFilterSet(BaseFilterSet):
         fields = ['char_field', 'integer_field', 'decimal_field', 'date_field', 'boolean_field']
         fields = ['char_field', 'integer_field', 'decimal_field', 'date_field', 'boolean_field']
 
 
 
 
-class FilterModifierWidgetTest(TestCase):
+class FilterModifierWidgetTestCase(TestCase):
     """Tests for FilterModifierWidget value extraction and rendering."""
     """Tests for FilterModifierWidget value extraction and rendering."""
 
 
     def test_value_from_datadict_finds_value_in_lookup_variant(self):
     def test_value_from_datadict_finds_value_in_lookup_variant(self):
@@ -170,7 +170,7 @@ class FilterModifierWidgetTest(TestCase):
         self.assertIn('value="test"', html)
         self.assertIn('value="test"', html)
 
 
 
 
-class FilterModifierMixinTest(TestCase):
+class FilterModifierMixinTestCase(TestCase):
     """Tests for FilterModifierMixin form field enhancement."""
     """Tests for FilterModifierMixin form field enhancement."""
 
 
     def test_mixin_enhances_char_field_with_modifiers(self):
     def test_mixin_enhances_char_field_with_modifiers(self):
@@ -250,7 +250,7 @@ class FilterModifierMixinTest(TestCase):
         self.assertEqual(lookup_codes, expected_lookups)
         self.assertEqual(lookup_codes, expected_lookups)
 
 
 
 
-class ExtendedLookupFilterPillsTest(TestCase):
+class ExtendedLookupFilterPillsTestCase(TestCase):
     """Tests for filter pill rendering of extended lookups."""
     """Tests for filter pill rendering of extended lookups."""
 
 
     @classmethod
     @classmethod
@@ -307,7 +307,7 @@ class ExtendedLookupFilterPillsTest(TestCase):
         self.assertIn('ABC123', filter_pill['link_text'])
         self.assertIn('ABC123', filter_pill['link_text'])
 
 
 
 
-class EmptyLookupTest(TestCase):
+class EmptyLookupTestCase(TestCase):
     """Tests for empty (is empty/not empty) lookup support."""
     """Tests for empty (is empty/not empty) lookup support."""
 
 
     @classmethod
     @classmethod
@@ -343,7 +343,7 @@ class EmptyLookupTest(TestCase):
         self.assertIn('not empty', filter_pill['link_text'].lower())
         self.assertIn('not empty', filter_pill['link_text'].lower())
 
 
 
 
-class ObjectCustomFieldEmptyLookupTest(TestCase):
+class ObjectCustomFieldEmptyLookupTestCase(TestCase):
     """
     """
     Regression test for https://github.com/netbox-community/netbox/issues/21535.
     Regression test for https://github.com/netbox-community/netbox/issues/21535.
 
 

+ 3 - 3
netbox/utilities/tests/test_filters.py

@@ -37,7 +37,7 @@ from utilities.filters import (
 from wireless.choices import WirelessRoleChoices
 from wireless.choices import WirelessRoleChoices
 
 
 
 
-class TreeNodeMultipleChoiceFilterTest(TestCase):
+class TreeNodeMultipleChoiceFilterTestCase(TestCase):
 
 
     class SiteFilterSet(django_filters.FilterSet):
     class SiteFilterSet(django_filters.FilterSet):
         region = TreeNodeMultipleChoiceFilter(
         region = TreeNodeMultipleChoiceFilter(
@@ -121,7 +121,7 @@ class DummyModel(models.Model):
     tags = TaggableManager(through=TaggedItem)
     tags = TaggableManager(through=TaggedItem)
 
 
 
 
-class BaseFilterSetTest(TestCase):
+class BaseFilterSetTestCase(TestCase):
     """
     """
     Ensure that a BaseFilterSet automatically creates the expected set of filters for each filter type.
     Ensure that a BaseFilterSet automatically creates the expected set of filters for each filter type.
     """
     """
@@ -387,7 +387,7 @@ class BaseFilterSetTest(TestCase):
         self.assertEqual(self.filters['treeforeignkeyfield__n'].exclude, True)
         self.assertEqual(self.filters['treeforeignkeyfield__n'].exclude, True)
 
 
 
 
-class DynamicFilterLookupExpressionTest(TestCase):
+class DynamicFilterLookupExpressionTestCase(TestCase):
     """
     """
     Validate function of automatically generated filters using the Device model as an example.
     Validate function of automatically generated filters using the Device model as an example.
     """
     """

+ 6 - 6
netbox/utilities/tests/test_forms.py

@@ -304,7 +304,7 @@ class ExpandAlphanumeric(TestCase):
             sorted(expand_alphanumeric_pattern('r[a,,b]a'))
             sorted(expand_alphanumeric_pattern('r[a,,b]a'))
 
 
 
 
-class ImportFormTest(TestCase):
+class ImportFormTestCase(TestCase):
 
 
     def test_format_detection(self):
     def test_format_detection(self):
         form = BulkImportForm()
         form = BulkImportForm()
@@ -384,7 +384,7 @@ class ImportFormTest(TestCase):
         ])
         ])
 
 
 
 
-class BulkRenameFormTest(TestCase):
+class BulkRenameFormTestCase(TestCase):
     def test_no_strip_whitespace(self):
     def test_no_strip_whitespace(self):
         # Tests to make sure Bulk Rename Form isn't stripping whitespaces
         # Tests to make sure Bulk Rename Form isn't stripping whitespaces
         # See: https://github.com/netbox-community/netbox/issues/13791
         # See: https://github.com/netbox-community/netbox/issues/13791
@@ -397,7 +397,7 @@ class BulkRenameFormTest(TestCase):
         self.assertEqual(form.cleaned_data["replace"], " world ")
         self.assertEqual(form.cleaned_data["replace"], " world ")
 
 
 
 
-class GetFieldValueTest(TestCase):
+class GetFieldValueTestCase(TestCase):
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
@@ -457,7 +457,7 @@ class GetFieldValueTest(TestCase):
         )
         )
 
 
 
 
-class CSVSelectWidgetTest(TestCase):
+class CSVSelectWidgetTestCase(TestCase):
     """
     """
     Validate that CSVSelectWidget treats blank values as omitted.
     Validate that CSVSelectWidget treats blank values as omitted.
     This allows model defaults to be applied when CSV fields are present but empty.
     This allows model defaults to be applied when CSV fields are present but empty.
@@ -489,7 +489,7 @@ class CSVSelectWidgetTest(TestCase):
         self.assertFalse(widget.value_omitted_from_data(data, {}, 'test_field'))
         self.assertFalse(widget.value_omitted_from_data(data, {}, 'test_field'))
 
 
 
 
-class SelectMultipleWidgetTest(TestCase):
+class SelectMultipleWidgetTestCase(TestCase):
     """
     """
     Validate filtering behavior of AvailableOptions and SelectedOptions widgets.
     Validate filtering behavior of AvailableOptions and SelectedOptions widgets.
     """
     """
@@ -557,7 +557,7 @@ class SelectMultipleWidgetTest(TestCase):
         self.assertEqual(widget.choices[1][1], [(3, 'Option 3')])
         self.assertEqual(widget.choices[1][1], [(3, 'Option 3')])
 
 
 
 
-class GetCapacityUnitLabelTest(TestCase):
+class GetCapacityUnitLabelTestCase(TestCase):
     """
     """
     Test the get_capacity_unit_label function for correct base unit label.
     Test the get_capacity_unit_label function for correct base unit label.
     """
     """

+ 1 - 1
netbox/utilities/tests/test_managers.py

@@ -3,7 +3,7 @@ from django.test import TestCase
 from dcim.models import Site
 from dcim.models import Site
 
 
 
 
-class NaturalOrderByManagerTest(TestCase):
+class NaturalOrderByManagerTestCase(TestCase):
     """
     """
     Ensure consistent natural ordering given myriad sample data. We use dcim.Site as our guinea pig because it's simple.
     Ensure consistent natural ordering given myriad sample data. We use dcim.Site as our guinea pig because it's simple.
     """
     """

+ 3 - 3
netbox/utilities/tests/test_permissions.py

@@ -9,7 +9,7 @@ from utilities.permissions import ModelAction, register_model_actions
 from virtualization.models import VirtualMachine
 from virtualization.models import VirtualMachine
 
 
 
 
-class ModelActionTest(TestCase):
+class ModelActionTestCase(TestCase):
 
 
     def test_hash(self):
     def test_hash(self):
         action1 = ModelAction(name='sync')
         action1 = ModelAction(name='sync')
@@ -36,7 +36,7 @@ class ModelActionTest(TestCase):
         self.assertEqual(len(actions), 2)
         self.assertEqual(len(actions), 2)
 
 
 
 
-class RegisterModelActionsTest(TestCase):
+class RegisterModelActionsTestCase(TestCase):
 
 
     def setUp(self):
     def setUp(self):
         self._original_actions = dict(registry['model_actions'])
         self._original_actions = dict(registry['model_actions'])
@@ -107,7 +107,7 @@ class RegisterModelActionsTest(TestCase):
         self.assertEqual(action_fields.count('action_render_config'), 1)
         self.assertEqual(action_fields.count('action_render_config'), 1)
 
 
 
 
-class ObjectPermissionFormTest(TestCase):
+class ObjectPermissionFormTestCase(TestCase):
 
 
     def setUp(self):
     def setUp(self):
         self._original_actions = dict(registry['model_actions'])
         self._original_actions = dict(registry['model_actions'])

+ 1 - 1
netbox/utilities/tests/test_prefetch.py

@@ -3,7 +3,7 @@ from utilities.prefetch import get_prefetchable_fields
 from utilities.testing.base import TestCase
 from utilities.testing.base import TestCase
 
 
 
 
-class GetPrefetchableFieldsTest(TestCase):
+class GetPrefetchableFieldsTestCase(TestCase):
     """
     """
     Verify the operation of get_prefetchable_fields()
     Verify the operation of get_prefetchable_fields()
     """
     """

+ 2 - 2
netbox/utilities/tests/test_request.py

@@ -5,7 +5,7 @@ from netaddr import IPAddress
 from utilities.request import copy_safe_request, get_client_ip
 from utilities.request import copy_safe_request, get_client_ip
 
 
 
 
-class CopySafeRequestTests(TestCase):
+class CopySafeRequestTestCase(TestCase):
     def setUp(self):
     def setUp(self):
         self.factory = RequestFactory()
         self.factory = RequestFactory()
 
 
@@ -39,7 +39,7 @@ class CopySafeRequestTests(TestCase):
         self.assertNotIn('HTTP_X_CUSTOM_INT', fake.META)
         self.assertNotIn('HTTP_X_CUSTOM_INT', fake.META)
 
 
 
 
-class GetClientIPTests(TestCase):
+class GetClientIPTestCase(TestCase):
     def setUp(self):
     def setUp(self):
         self.factory = RequestFactory()
         self.factory = RequestFactory()
 
 

+ 5 - 5
netbox/utilities/tests/test_templatetags.py

@@ -11,7 +11,7 @@ from utilities.templatetags.builtins.tags import badge, customfield_value, stati
 from utilities.templatetags.helpers import _humanize_capacity, humanize_speed
 from utilities.templatetags.helpers import _humanize_capacity, humanize_speed
 
 
 
 
-class CustomFieldValueTagTest(TestCase):
+class CustomFieldValueTagTestCase(TestCase):
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
         object_type = ObjectType.objects.get_for_model(Site)
         object_type = ObjectType.objects.get_for_model(Site)
@@ -60,7 +60,7 @@ class CustomFieldValueTagTest(TestCase):
         self.assertEqual(context['value'], ['Option B'])
         self.assertEqual(context['value'], ['Option B'])
 
 
 
 
-class StaticWithParamsTest(TestCase):
+class StaticWithParamsTestCase(TestCase):
     """
     """
     Test the static_with_params template tag functionality.
     Test the static_with_params template tag functionality.
     """
     """
@@ -103,7 +103,7 @@ class StaticWithParamsTest(TestCase):
                 self.assertNotIn('v=old_version', result)
                 self.assertNotIn('v=old_version', result)
 
 
 
 
-class BadgeTest(TestCase):
+class BadgeTestCase(TestCase):
     """
     """
     Test the badge template tag functionality.
     Test the badge template tag functionality.
     """
     """
@@ -117,7 +117,7 @@ class BadgeTest(TestCase):
         self.assertIn('>Role<', html)
         self.assertIn('>Role<', html)
 
 
 
 
-class HumanizeCapacityTest(TestCase):
+class HumanizeCapacityTestCase(TestCase):
     """
     """
     Test the _humanize_capacity function for correct SI/IEC unit label selection.
     Test the _humanize_capacity function for correct SI/IEC unit label selection.
     """
     """
@@ -160,7 +160,7 @@ class HumanizeCapacityTest(TestCase):
         self.assertEqual(_humanize_capacity(2000), '2.00 GB')
         self.assertEqual(_humanize_capacity(2000), '2.00 GB')
 
 
 
 
-class HumanizeSpeedTest(TestCase):
+class HumanizeSpeedTestCase(TestCase):
     """
     """
     Test the humanize_speed filter for correct unit selection and decimal formatting.
     Test the humanize_speed filter for correct unit selection and decimal formatting.
     """
     """

+ 3 - 3
netbox/utilities/tests/test_utils.py

@@ -6,7 +6,7 @@ from utilities.query import dict_to_filter_params
 from utilities.querydict import normalize_querydict
 from utilities.querydict import normalize_querydict
 
 
 
 
-class DictToFilterParamsTest(TestCase):
+class DictToFilterParamsTestCase(TestCase):
     """
     """
     Validate the operation of dict_to_filter_params().
     Validate the operation of dict_to_filter_params().
     """
     """
@@ -39,7 +39,7 @@ class DictToFilterParamsTest(TestCase):
         self.assertNotEqual(dict_to_filter_params(input), output)
         self.assertNotEqual(dict_to_filter_params(input), output)
 
 
 
 
-class NormalizeQueryDictTest(TestCase):
+class NormalizeQueryDictTestCase(TestCase):
     """
     """
     Validate normalize_querydict() utility function.
     Validate normalize_querydict() utility function.
     """
     """
@@ -50,7 +50,7 @@ class NormalizeQueryDictTest(TestCase):
         )
         )
 
 
 
 
-class DeepMergeTest(TestCase):
+class DeepMergeTestCase(TestCase):
     """
     """
     Validate the behavior of the deepmerge() utility.
     Validate the behavior of the deepmerge() utility.
     """
     """

+ 8 - 8
netbox/virtualization/tests/test_api.py

@@ -26,7 +26,7 @@ from virtualization.choices import *
 from virtualization.models import *
 from virtualization.models import *
 
 
 
 
-class AppTest(APITestCase):
+class AppTestCase(APITestCase):
 
 
     def test_root(self):
     def test_root(self):
 
 
@@ -36,7 +36,7 @@ class AppTest(APITestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.status_code, 200)
 
 
 
 
-class ClusterTypeTest(APIViewTestCases.APIViewTestCase):
+class ClusterTypeTestCase(APIViewTestCases.APIViewTestCase):
     model = ClusterType
     model = ClusterType
     brief_fields = ['cluster_count', 'description', 'display', 'id', 'name', 'slug', 'url']
     brief_fields = ['cluster_count', 'description', 'display', 'id', 'name', 'slug', 'url']
     create_data = [
     create_data = [
@@ -68,7 +68,7 @@ class ClusterTypeTest(APIViewTestCases.APIViewTestCase):
         ClusterType.objects.bulk_create(cluster_types)
         ClusterType.objects.bulk_create(cluster_types)
 
 
 
 
-class ClusterGroupTest(APIViewTestCases.APIViewTestCase):
+class ClusterGroupTestCase(APIViewTestCases.APIViewTestCase):
     model = ClusterGroup
     model = ClusterGroup
     brief_fields = ['cluster_count', 'description', 'display', 'id', 'name', 'slug', 'url']
     brief_fields = ['cluster_count', 'description', 'display', 'id', 'name', 'slug', 'url']
     create_data = [
     create_data = [
@@ -100,7 +100,7 @@ class ClusterGroupTest(APIViewTestCases.APIViewTestCase):
         ClusterGroup.objects.bulk_create(cluster_Groups)
         ClusterGroup.objects.bulk_create(cluster_Groups)
 
 
 
 
-class ClusterTest(APIViewTestCases.APIViewTestCase):
+class ClusterTestCase(APIViewTestCases.APIViewTestCase):
     model = Cluster
     model = Cluster
     brief_fields = ['description', 'display', 'id', 'name', 'url', 'virtualmachine_count']
     brief_fields = ['description', 'display', 'id', 'name', 'url', 'virtualmachine_count']
     bulk_update_data = {
     bulk_update_data = {
@@ -168,7 +168,7 @@ class ClusterTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class VirtualMachineTypeTest(APIViewTestCases.APIViewTestCase):
+class VirtualMachineTypeTestCase(APIViewTestCases.APIViewTestCase):
     model = VirtualMachineType
     model = VirtualMachineType
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url']
     user_permissions = ('dcim.view_platform', 'virtualization.view_virtualmachine')
     user_permissions = ('dcim.view_platform', 'virtualization.view_virtualmachine')
@@ -237,7 +237,7 @@ class VirtualMachineTypeTest(APIViewTestCases.APIViewTestCase):
         }
         }
 
 
 
 
-class VirtualMachineTest(APIViewTestCases.APIViewTestCase):
+class VirtualMachineTestCase(APIViewTestCases.APIViewTestCase):
     model = VirtualMachine
     model = VirtualMachine
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -596,7 +596,7 @@ class VirtualMachineTest(APIViewTestCases.APIViewTestCase):
         self.assertHttpStatus(response, status.HTTP_400_BAD_REQUEST)
         self.assertHttpStatus(response, status.HTTP_400_BAD_REQUEST)
 
 
 
 
-class VMInterfaceTest(APIViewTestCases.APIViewTestCase):
+class VMInterfaceTestCase(APIViewTestCases.APIViewTestCase):
     model = VMInterface
     model = VMInterface
     brief_fields = ['description', 'display', 'id', 'name', 'url', 'virtual_machine']
     brief_fields = ['description', 'display', 'id', 'name', 'url', 'virtual_machine']
     bulk_update_data = {
     bulk_update_data = {
@@ -727,7 +727,7 @@ class VMInterfaceTest(APIViewTestCases.APIViewTestCase):
         self.assertEqual(virtual_machine.interfaces.count(), 2)  # Child & parent were both deleted
         self.assertEqual(virtual_machine.interfaces.count(), 2)  # Child & parent were both deleted
 
 
 
 
-class VirtualDiskTest(APIViewTestCases.APIViewTestCase):
+class VirtualDiskTestCase(APIViewTestCases.APIViewTestCase):
     model = VirtualDisk
     model = VirtualDisk
     brief_fields = ['description', 'display', 'id', 'name', 'size', 'url', 'virtual_machine']
     brief_fields = ['description', 'display', 'id', 'name', 'size', 'url', 'virtual_machine']
     bulk_update_data = {
     bulk_update_data = {

+ 6 - 6
netbox/virtualization/tests/test_tables.py

@@ -2,25 +2,25 @@ from utilities.testing import TableTestCases
 from virtualization.tables import *
 from virtualization.tables import *
 
 
 
 
-class ClusterTypeTableTest(TableTestCases.StandardTableTestCase):
+class ClusterTypeTableTestCase(TableTestCases.StandardTableTestCase):
     table = ClusterTypeTable
     table = ClusterTypeTable
 
 
 
 
-class ClusterGroupTableTest(TableTestCases.StandardTableTestCase):
+class ClusterGroupTableTestCase(TableTestCases.StandardTableTestCase):
     table = ClusterGroupTable
     table = ClusterGroupTable
 
 
 
 
-class ClusterTableTest(TableTestCases.StandardTableTestCase):
+class ClusterTableTestCase(TableTestCases.StandardTableTestCase):
     table = ClusterTable
     table = ClusterTable
 
 
 
 
-class VirtualMachineTableTest(TableTestCases.StandardTableTestCase):
+class VirtualMachineTableTestCase(TableTestCases.StandardTableTestCase):
     table = VirtualMachineTable
     table = VirtualMachineTable
 
 
 
 
-class VMInterfaceTableTest(TableTestCases.StandardTableTestCase):
+class VMInterfaceTableTestCase(TableTestCases.StandardTableTestCase):
     table = VMInterfaceTable
     table = VMInterfaceTable
 
 
 
 
-class VirtualDiskTableTest(TableTestCases.StandardTableTestCase):
+class VirtualDiskTableTestCase(TableTestCases.StandardTableTestCase):
     table = VirtualDiskTable
     table = VirtualDiskTable

+ 11 - 11
netbox/vpn/tests/test_api.py

@@ -9,7 +9,7 @@ from vpn.choices import *
 from vpn.models import *
 from vpn.models import *
 
 
 
 
-class AppTest(APITestCase):
+class AppTestCase(APITestCase):
 
 
     def test_root(self):
     def test_root(self):
         url = reverse('vpn-api:api-root')
         url = reverse('vpn-api:api-root')
@@ -18,7 +18,7 @@ class AppTest(APITestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.status_code, 200)
 
 
 
 
-class TunnelGroupTest(APIViewTestCases.APIViewTestCase):
+class TunnelGroupTestCase(APIViewTestCases.APIViewTestCase):
     model = TunnelGroup
     model = TunnelGroup
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'tunnel_count', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'slug', 'tunnel_count', 'url']
     create_data = (
     create_data = (
@@ -50,7 +50,7 @@ class TunnelGroupTest(APIViewTestCases.APIViewTestCase):
         TunnelGroup.objects.bulk_create(tunnel_groups)
         TunnelGroup.objects.bulk_create(tunnel_groups)
 
 
 
 
-class TunnelTest(APIViewTestCases.APIViewTestCase):
+class TunnelTestCase(APIViewTestCases.APIViewTestCase):
     model = Tunnel
     model = Tunnel
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -111,7 +111,7 @@ class TunnelTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class TunnelTerminationTest(APIViewTestCases.APIViewTestCase):
+class TunnelTerminationTestCase(APIViewTestCases.APIViewTestCase):
     model = TunnelTermination
     model = TunnelTermination
     brief_fields = ['display', 'id', 'url']
     brief_fields = ['display', 'id', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -179,7 +179,7 @@ class TunnelTerminationTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class IKEProposalTest(APIViewTestCases.APIViewTestCase):
+class IKEProposalTestCase(APIViewTestCases.APIViewTestCase):
     model = IKEProposal
     model = IKEProposal
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -243,7 +243,7 @@ class IKEProposalTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class IKEPolicyTest(APIViewTestCases.APIViewTestCase):
+class IKEPolicyTestCase(APIViewTestCases.APIViewTestCase):
     model = IKEPolicy
     model = IKEPolicy
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -317,7 +317,7 @@ class IKEPolicyTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class IPSecProposalTest(APIViewTestCases.APIViewTestCase):
+class IPSecProposalTestCase(APIViewTestCases.APIViewTestCase):
     model = IPSecProposal
     model = IPSecProposal
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -367,7 +367,7 @@ class IPSecProposalTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class IPSecPolicyTest(APIViewTestCases.APIViewTestCase):
+class IPSecPolicyTestCase(APIViewTestCases.APIViewTestCase):
     model = IPSecPolicy
     model = IPSecPolicy
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     bulk_update_data = {
     bulk_update_data = {
@@ -429,7 +429,7 @@ class IPSecPolicyTest(APIViewTestCases.APIViewTestCase):
         ]
         ]
 
 
 
 
-class IPSecProfileTest(APIViewTestCases.APIViewTestCase):
+class IPSecProfileTestCase(APIViewTestCases.APIViewTestCase):
     model = IPSecProfile
     model = IPSecProfile
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     brief_fields = ['description', 'display', 'id', 'name', 'url']
     user_permissions = ('vpn.view_ikepolicy', 'vpn.view_ipsecpolicy')
     user_permissions = ('vpn.view_ikepolicy', 'vpn.view_ipsecpolicy')
@@ -520,7 +520,7 @@ class IPSecProfileTest(APIViewTestCases.APIViewTestCase):
         }
         }
 
 
 
 
-class L2VPNTest(APIViewTestCases.APIViewTestCase):
+class L2VPNTestCase(APIViewTestCases.APIViewTestCase):
     model = L2VPN
     model = L2VPN
     brief_fields = ['description', 'display', 'id', 'identifier', 'name', 'slug', 'type', 'url']
     brief_fields = ['description', 'display', 'id', 'identifier', 'name', 'slug', 'type', 'url']
     create_data = [
     create_data = [
@@ -602,7 +602,7 @@ class L2VPNTest(APIViewTestCases.APIViewTestCase):
         self.assertEqual(response_data['count'], 1)
         self.assertEqual(response_data['count'], 1)
 
 
 
 
-class L2VPNTerminationTest(APIViewTestCases.APIViewTestCase):
+class L2VPNTerminationTestCase(APIViewTestCases.APIViewTestCase):
     model = L2VPNTermination
     model = L2VPNTermination
     brief_fields = ['display', 'id', 'l2vpn', 'url']
     brief_fields = ['display', 'id', 'l2vpn', 'url']
     user_permissions = ('dcim.view_location', 'vpn.view_l2vpn')
     user_permissions = ('dcim.view_location', 'vpn.view_l2vpn')

+ 10 - 10
netbox/vpn/tests/test_tables.py

@@ -2,41 +2,41 @@ from utilities.testing import TableTestCases
 from vpn.tables import *
 from vpn.tables import *
 
 
 
 
-class TunnelGroupTableTest(TableTestCases.StandardTableTestCase):
+class TunnelGroupTableTestCase(TableTestCases.StandardTableTestCase):
     table = TunnelGroupTable
     table = TunnelGroupTable
 
 
 
 
-class TunnelTableTest(TableTestCases.StandardTableTestCase):
+class TunnelTableTestCase(TableTestCases.StandardTableTestCase):
     table = TunnelTable
     table = TunnelTable
 
 
 
 
-class TunnelTerminationTableTest(TableTestCases.StandardTableTestCase):
+class TunnelTerminationTableTestCase(TableTestCases.StandardTableTestCase):
     table = TunnelTerminationTable
     table = TunnelTerminationTable
 
 
 
 
-class IKEProposalTableTest(TableTestCases.StandardTableTestCase):
+class IKEProposalTableTestCase(TableTestCases.StandardTableTestCase):
     table = IKEProposalTable
     table = IKEProposalTable
 
 
 
 
-class IKEPolicyTableTest(TableTestCases.StandardTableTestCase):
+class IKEPolicyTableTestCase(TableTestCases.StandardTableTestCase):
     table = IKEPolicyTable
     table = IKEPolicyTable
 
 
 
 
-class IPSecProposalTableTest(TableTestCases.StandardTableTestCase):
+class IPSecProposalTableTestCase(TableTestCases.StandardTableTestCase):
     table = IPSecProposalTable
     table = IPSecProposalTable
 
 
 
 
-class IPSecPolicyTableTest(TableTestCases.StandardTableTestCase):
+class IPSecPolicyTableTestCase(TableTestCases.StandardTableTestCase):
     table = IPSecPolicyTable
     table = IPSecPolicyTable
 
 
 
 
-class IPSecProfileTableTest(TableTestCases.StandardTableTestCase):
+class IPSecProfileTableTestCase(TableTestCases.StandardTableTestCase):
     table = IPSecProfileTable
     table = IPSecProfileTable
 
 
 
 
-class L2VPNTableTest(TableTestCases.StandardTableTestCase):
+class L2VPNTableTestCase(TableTestCases.StandardTableTestCase):
     table = L2VPNTable
     table = L2VPNTable
 
 
 
 
-class L2VPNTerminationTableTest(TableTestCases.StandardTableTestCase):
+class L2VPNTerminationTableTestCase(TableTestCases.StandardTableTestCase):
     table = L2VPNTerminationTable
     table = L2VPNTerminationTable

+ 4 - 4
netbox/wireless/tests/test_api.py

@@ -8,7 +8,7 @@ from wireless.choices import *
 from wireless.models import *
 from wireless.models import *
 
 
 
 
-class AppTest(APITestCase):
+class AppTestCase(APITestCase):
 
 
     def test_root(self):
     def test_root(self):
         url = reverse('wireless-api:api-root')
         url = reverse('wireless-api:api-root')
@@ -17,7 +17,7 @@ class AppTest(APITestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.status_code, 200)
 
 
 
 
-class WirelessLANGroupTest(APIViewTestCases.APIViewTestCase):
+class WirelessLANGroupTestCase(APIViewTestCases.APIViewTestCase):
     model = WirelessLANGroup
     model = WirelessLANGroup
     brief_fields = ['_depth', 'description', 'display', 'id', 'name', 'slug', 'url', 'wirelesslan_count']
     brief_fields = ['_depth', 'description', 'display', 'id', 'name', 'slug', 'url', 'wirelesslan_count']
     create_data = [
     create_data = [
@@ -49,7 +49,7 @@ class WirelessLANGroupTest(APIViewTestCases.APIViewTestCase):
         WirelessLANGroup.objects.create(name='Wireless LAN Group 3', slug='wireless-lan-group-3')
         WirelessLANGroup.objects.create(name='Wireless LAN Group 3', slug='wireless-lan-group-3')
 
 
 
 
-class WirelessLANTest(APIViewTestCases.APIViewTestCase):
+class WirelessLANTestCase(APIViewTestCases.APIViewTestCase):
     model = WirelessLAN
     model = WirelessLAN
     brief_fields = ['description', 'display', 'id', 'ssid', 'url']
     brief_fields = ['description', 'display', 'id', 'ssid', 'url']
 
 
@@ -119,7 +119,7 @@ class WirelessLANTest(APIViewTestCases.APIViewTestCase):
         }
         }
 
 
 
 
-class WirelessLinkTest(APIViewTestCases.APIViewTestCase):
+class WirelessLinkTestCase(APIViewTestCases.APIViewTestCase):
     model = WirelessLink
     model = WirelessLink
     brief_fields = ['description', 'display', 'id', 'ssid', 'url']
     brief_fields = ['description', 'display', 'id', 'ssid', 'url']
     bulk_update_data = {
     bulk_update_data = {

+ 3 - 3
netbox/wireless/tests/test_tables.py

@@ -2,13 +2,13 @@ from utilities.testing import TableTestCases
 from wireless.tables import *
 from wireless.tables import *
 
 
 
 
-class WirelessLANGroupTableTest(TableTestCases.StandardTableTestCase):
+class WirelessLANGroupTableTestCase(TableTestCases.StandardTableTestCase):
     table = WirelessLANGroupTable
     table = WirelessLANGroupTable
 
 
 
 
-class WirelessLANTableTest(TableTestCases.StandardTableTestCase):
+class WirelessLANTableTestCase(TableTestCases.StandardTableTestCase):
     table = WirelessLANTable
     table = WirelessLANTable
 
 
 
 
-class WirelessLinkTableTest(TableTestCases.StandardTableTestCase):
+class WirelessLinkTableTestCase(TableTestCases.StandardTableTestCase):
     table = WirelessLinkTable
     table = WirelessLinkTable