mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-27 02:48:38 -06:00
18245 tests
This commit is contained in:
parent
f362522590
commit
32987cb2ac
@ -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
|
||||
|
@ -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']
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user