18245 tests

This commit is contained in:
Arthur 2025-03-21 07:55:13 -07:00
parent f362522590
commit 32987cb2ac
4 changed files with 206 additions and 1 deletions

View File

@ -15,7 +15,7 @@ __all__ = (
class DeviceRoleGroupSerializer(NestedGroupModelSerializer):
parent = NestedDeviceRoleGroupSerializer(required=False, allow_null=True)
tenant_count = serializers.IntegerField(read_only=True, default=0)
role_count = serializers.IntegerField(read_only=True, default=0)
class Meta:
model = DeviceRoleGroup

View File

@ -1147,6 +1147,66 @@ class InventoryItemTemplateTest(APIViewTestCases.APIViewTestCase):
]
class DeviceRoleGroupTest(APIViewTestCases.APIViewTestCase):
model = DeviceRoleGroup
brief_fields = ['_depth', 'description', 'display', 'id', 'name', 'slug', 'role_count', 'url']
bulk_update_data = {
'description': 'New description',
'comments': 'New Comment',
}
@classmethod
def setUpTestData(cls):
parent_device_role_groups = (
DeviceRoleGroup.objects.create(
name='Parent Device Role Group 1',
slug='parent-device-role-group-1'
),
DeviceRoleGroup.objects.create(
name='Parent Device Role Group 2',
slug='parent-device-role-group-2',
comments='Parent Group 2 comment',
),
)
DeviceRoleGroup.objects.create(
name='Device Role Group 1',
slug='device-role-group-1',
parent=parent_device_role_groups[0]
)
DeviceRoleGroup.objects.create(
name='Device Role Group 2',
slug='device_role-group-2',
parent=parent_device_role_groups[0]
)
DeviceRoleGroup.objects.create(
name='Device Role Group 3',
slug='device-role-group-3',
parent=parent_device_role_groups[0],
comments='Device Role Group 3 comment'
)
cls.create_data = [
{
'name': 'Device Role Group 4',
'slug': 'device-role-group-4',
'parent': parent_device_role_groups[1].pk,
},
{
'name': 'Device Role Group 5',
'slug': 'device-role-group-5',
'parent': parent_device_role_groups[1].pk,
},
{
'name': 'Device Role Group 6',
'slug': 'device-role-group-6',
'parent': parent_device_role_groups[1].pk,
'comments': 'Device Role Group 6 comment',
},
]
class DeviceRoleTest(APIViewTestCases.APIViewTestCase):
model = DeviceRole
brief_fields = ['description', 'device_count', 'display', 'id', 'name', 'slug', 'url', 'virtualmachine_count']

View File

@ -2168,6 +2168,100 @@ class InventoryItemTemplateTestCase(TestCase, DeviceComponentTemplateFilterSetTe
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
class DeviceRoleGroupTestCase(TestCase, ChangeLoggedFilterSetTests):
queryset = DeviceRoleGroup.objects.all()
filterset = DeviceRoleGroupFilterSet
@classmethod
def setUpTestData(cls):
parent_device_role_groups = (
DeviceRoleGroup(name='Device Role Group 1', slug='device-role-group-1'),
DeviceRoleGroup(
name='Device Role Group 2',
slug='device-role-group-2',
comments='Parent group 2 comment'
),
DeviceRoleGroup(name='Device Role Group 3', slug='device-role-group-3'),
)
for device_role_group in parent_device_role_groups:
device_role_group.save()
device_role_groups = (
DeviceRoleGroup(
name='Device Role Group 1A',
slug='device-role-group-1a',
parent=parent_device_role_groups[0],
description='foobar1',
comments='Device Role Group 1A comment',
),
DeviceRoleGroup(
name='Device Role Group 2A',
slug='device-role-group-2a',
parent=parent_device_role_groups[1],
description='foobar2'
),
DeviceRoleGroup(
name='Device Role Group 3A',
slug='device-role-group-3a',
parent=parent_device_role_groups[2],
description='foobar3'
),
)
for device_role_group in device_role_groups:
device_role_group.save()
child_device_role_groups = (
DeviceRoleGroup(name='Device Role Group 1A1', slug='device-role-group-1a1', parent=device_role_groups[0]),
DeviceRoleGroup(name='Device Role Group 2A1', slug='device-role-group-2a1', parent=device_role_groups[1]),
DeviceRoleGroup(
name='Device Role Group 3A1',
slug='device-role-group-3a1',
parent=device_role_groups[2],
comments='Device Role Group 3A1 comment',
),
)
for device_role_group in child_device_role_groups:
device_role_group.save()
def test_q(self):
params = {'q': 'foobar1'}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
def test_q_comments(self):
params = {'q': 'parent'}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
params = {'q': 'comment'}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
def test_name(self):
params = {'name': ['Tenant Group 1', 'Tenant Group 2']}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_slug(self):
params = {'slug': ['tenant-group-1', 'tenant-group-2']}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_description(self):
params = {'description': ['foobar1', 'foobar2']}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_parent(self):
tenant_groups = TenantGroup.objects.filter(parent__isnull=True)[:2]
params = {'parent_id': [tenant_groups[0].pk, tenant_groups[1].pk]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
params = {'parent': [tenant_groups[0].slug, tenant_groups[1].slug]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_ancestor(self):
tenant_groups = TenantGroup.objects.filter(parent__isnull=True)[:2]
params = {'ancestor_id': [tenant_groups[0].pk, tenant_groups[1].pk]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
params = {'ancestor': [tenant_groups[0].slug, tenant_groups[1].slug]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
class DeviceRoleTestCase(TestCase, ChangeLoggedFilterSetTests):
queryset = DeviceRole.objects.all()
filterset = DeviceRoleFilterSet

View File

@ -1688,6 +1688,57 @@ class InventoryItemTemplateTestCase(ViewTestCases.DeviceComponentTemplateViewTes
}
class DeviceRoleGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
model = DeviceRoleGroup
@classmethod
def setUpTestData(cls):
device_role_groups = (
DeviceRoleGroup(name='Device Role Group 1', slug='device-role-group-1'),
DeviceRoleGroup(
name='Device Role Group 2',
slug='device-role-group-2',
comments='Device Role Group 2 comment'
),
DeviceRoleGroup(
name='Device Role Group 3',
slug='device-role-group-3',
),
)
for device_role_group in device_role_groups:
device_role_group.save()
tags = create_tags('Alpha', 'Bravo', 'Charlie')
cls.form_data = {
'name': 'Device Role Group X',
'slug': 'device-role-group-x',
'description': 'A new device role group',
'tags': [t.pk for t in tags],
'comments': 'Device Role Group X comment',
}
cls.csv_data = (
"name,slug,description,comments",
"Device Role Group 4,device-role-group-4,Fourth device role group,",
"Device Role Group 5,device-role-group-5,Fifth device role group,",
"Device Role Group 6,device-role-group-6,Sixth device role group,Sixth device role group comment",
)
cls.csv_update_data = (
"id,name,description,comments",
f"{device_role_groups[0].pk},Device Role Group 7,Fourth device role group7,Group 7 comment",
f"{device_role_groups[1].pk},Device Role Group 8,Fifth device role group8,",
f"{device_role_groups[2].pk},Device Role Group 0,Sixth device role group9,",
)
cls.bulk_edit_data = {
'description': 'New description',
'comments': 'New comment',
}
class DeviceRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
model = DeviceRole