mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-23 07:56:44 -06:00
8356 api tests
This commit is contained in:
parent
20b0d6f976
commit
30bcd3636b
@ -2,12 +2,13 @@ from drf_spectacular.utils import extend_schema_serializer
|
|||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
from netbox.api.serializers import WritableNestedSerializer
|
from netbox.api.serializers import WritableNestedSerializer
|
||||||
from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface
|
from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualDisk, VirtualMachine, VMInterface
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
'NestedClusterGroupSerializer',
|
'NestedClusterGroupSerializer',
|
||||||
'NestedClusterSerializer',
|
'NestedClusterSerializer',
|
||||||
'NestedClusterTypeSerializer',
|
'NestedClusterTypeSerializer',
|
||||||
|
'NestedVirtualDiskSerializer',
|
||||||
'NestedVMInterfaceSerializer',
|
'NestedVMInterfaceSerializer',
|
||||||
'NestedVirtualMachineSerializer',
|
'NestedVirtualMachineSerializer',
|
||||||
]
|
]
|
||||||
@ -72,3 +73,12 @@ class NestedVMInterfaceSerializer(WritableNestedSerializer):
|
|||||||
class Meta:
|
class Meta:
|
||||||
model = VMInterface
|
model = VMInterface
|
||||||
fields = ['id', 'url', 'display', 'virtual_machine', 'name']
|
fields = ['id', 'url', 'display', 'virtual_machine', 'name']
|
||||||
|
|
||||||
|
|
||||||
|
class NestedVirtualDiskSerializer(WritableNestedSerializer):
|
||||||
|
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:virtualdisk-detail')
|
||||||
|
virtual_machine = NestedVirtualMachineSerializer(read_only=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = VirtualDisk
|
||||||
|
fields = ['id', 'url', 'virtual_machine', 'name', 'size']
|
||||||
|
@ -167,11 +167,11 @@ class VMInterfaceSerializer(NetBoxModelSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class VirtualDiskSerializer(NetBoxModelSerializer):
|
class VirtualDiskSerializer(NetBoxModelSerializer):
|
||||||
|
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:virtualdisk-detail')
|
||||||
virtual_machine = NestedVirtualMachineSerializer()
|
virtual_machine = NestedVirtualMachineSerializer()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = VirtualDisk
|
model = VirtualDisk
|
||||||
fields = [
|
fields = [
|
||||||
'id', 'virtual_machine', 'size', 'tags', 'custom_fields',
|
'id', 'url', 'virtual_machine', 'name', 'size', 'tags', 'custom_fields', 'created', 'last_updated',
|
||||||
'created', 'last_updated',
|
|
||||||
]
|
]
|
||||||
|
@ -6,7 +6,7 @@ from dcim.models import Site
|
|||||||
from ipam.models import VLAN, VRF
|
from ipam.models import VLAN, VRF
|
||||||
from utilities.testing import APITestCase, APIViewTestCases, create_test_device
|
from utilities.testing import APITestCase, APIViewTestCases, create_test_device
|
||||||
from virtualization.choices import *
|
from virtualization.choices import *
|
||||||
from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface
|
from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualDisk, VirtualMachine, VMInterface
|
||||||
|
|
||||||
|
|
||||||
class AppTest(APITestCase):
|
class AppTest(APITestCase):
|
||||||
@ -293,3 +293,43 @@ class VMInterfaceTest(APIViewTestCases.APIViewTestCase):
|
|||||||
'vrf': vrfs[2].pk,
|
'vrf': vrfs[2].pk,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class VirtualDiskTest(APIViewTestCases.APIViewTestCase):
|
||||||
|
model = VirtualDisk
|
||||||
|
brief_fields = ['id', 'name', 'size', 'url', 'virtual_machine']
|
||||||
|
bulk_update_data = {
|
||||||
|
'name': 'New name',
|
||||||
|
}
|
||||||
|
graphql_base_name = 'virtual_disk'
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def setUpTestData(cls):
|
||||||
|
clustertype = ClusterType.objects.create(name='Test Cluster Type 1', slug='test-cluster-type-1')
|
||||||
|
cluster = Cluster.objects.create(name='Test Cluster 1', type=clustertype)
|
||||||
|
virtualmachine = VirtualMachine.objects.create(cluster=cluster, name='Test VM 1')
|
||||||
|
|
||||||
|
disks = (
|
||||||
|
VirtualDisk(virtual_machine=virtualmachine, name='Disk 1', size=123),
|
||||||
|
VirtualDisk(virtual_machine=virtualmachine, name='Disk 2', size=456),
|
||||||
|
VirtualDisk(virtual_machine=virtualmachine, name='Disk 3', size=789),
|
||||||
|
)
|
||||||
|
VirtualDisk.objects.bulk_create(disks)
|
||||||
|
|
||||||
|
cls.create_data = [
|
||||||
|
{
|
||||||
|
'virtual_machine': virtualmachine.pk,
|
||||||
|
'name': 'Disk 4',
|
||||||
|
'size': 111,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'virtual_machine': virtualmachine.pk,
|
||||||
|
'name': 'Disk 5',
|
||||||
|
'size': 222,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'virtual_machine': virtualmachine.pk,
|
||||||
|
'name': 'Disk 6',
|
||||||
|
'size': 333,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user