|
|
@@ -8,9 +8,9 @@ from dcim.choices import *
|
|
|
from dcim.constants import *
|
|
|
from dcim.models import (
|
|
|
Cable, ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay,
|
|
|
- DeviceBayTemplate, DeviceRole, DeviceType, FrontPort, Interface, InterfaceTemplate, Manufacturer,
|
|
|
+ DeviceBayTemplate, DeviceRole, DeviceType, FrontPort, FrontPortTemplate, Interface, InterfaceTemplate, Manufacturer,
|
|
|
InventoryItem, Platform, PowerFeed, PowerPort, PowerPortTemplate, PowerOutlet, PowerOutletTemplate, PowerPanel,
|
|
|
- Rack, RackGroup, RackReservation, RackRole, RearPort, Region, Site, VirtualChassis,
|
|
|
+ Rack, RackGroup, RackReservation, RackRole, RearPort, RearPortTemplate, Region, Site, VirtualChassis,
|
|
|
)
|
|
|
from ipam.models import VLAN
|
|
|
from extras.models import Graph
|
|
|
@@ -578,6 +578,111 @@ class InterfaceTemplateTest(APIViewTestCases.APIViewTestCase):
|
|
|
]
|
|
|
|
|
|
|
|
|
+class FrontPortTemplateTest(APIViewTestCases.APIViewTestCase):
|
|
|
+ model = FrontPortTemplate
|
|
|
+ brief_fields = ['id', 'name', 'url']
|
|
|
+
|
|
|
+ @classmethod
|
|
|
+ def setUpTestData(cls):
|
|
|
+ manufacturer = Manufacturer.objects.create(name='Test Manufacturer 1', slug='test-manufacturer-1')
|
|
|
+ devicetype = DeviceType.objects.create(
|
|
|
+ manufacturer=manufacturer, model='Device Type 1', slug='device-type-1'
|
|
|
+ )
|
|
|
+
|
|
|
+ rear_port_templates = (
|
|
|
+ RearPortTemplate(device_type=devicetype, name='Rear Port Template 1', type=PortTypeChoices.TYPE_8P8C),
|
|
|
+ RearPortTemplate(device_type=devicetype, name='Rear Port Template 2', type=PortTypeChoices.TYPE_8P8C),
|
|
|
+ RearPortTemplate(device_type=devicetype, name='Rear Port Template 3', type=PortTypeChoices.TYPE_8P8C),
|
|
|
+ RearPortTemplate(device_type=devicetype, name='Rear Port Template 4', type=PortTypeChoices.TYPE_8P8C),
|
|
|
+ RearPortTemplate(device_type=devicetype, name='Rear Port Template 5', type=PortTypeChoices.TYPE_8P8C),
|
|
|
+ RearPortTemplate(device_type=devicetype, name='Rear Port Template 6', type=PortTypeChoices.TYPE_8P8C),
|
|
|
+ )
|
|
|
+ RearPortTemplate.objects.bulk_create(rear_port_templates)
|
|
|
+
|
|
|
+ front_port_templates = (
|
|
|
+ FrontPortTemplate(
|
|
|
+ device_type=devicetype,
|
|
|
+ name='Front Port Template 1',
|
|
|
+ type=PortTypeChoices.TYPE_8P8C,
|
|
|
+ rear_port=rear_port_templates[0]
|
|
|
+ ),
|
|
|
+ FrontPortTemplate(
|
|
|
+ device_type=devicetype,
|
|
|
+ name='Front Port Template 2',
|
|
|
+ type=PortTypeChoices.TYPE_8P8C,
|
|
|
+ rear_port=rear_port_templates[1]
|
|
|
+ ),
|
|
|
+ FrontPortTemplate(
|
|
|
+ device_type=devicetype,
|
|
|
+ name='Front Port Template 3',
|
|
|
+ type=PortTypeChoices.TYPE_8P8C,
|
|
|
+ rear_port=rear_port_templates[2]
|
|
|
+ ),
|
|
|
+ )
|
|
|
+ FrontPortTemplate.objects.bulk_create(front_port_templates)
|
|
|
+
|
|
|
+ cls.create_data = [
|
|
|
+ {
|
|
|
+ 'device_type': devicetype.pk,
|
|
|
+ 'name': 'Front Port Template 4',
|
|
|
+ 'type': PortTypeChoices.TYPE_8P8C,
|
|
|
+ 'rear_port': rear_port_templates[3].pk,
|
|
|
+ 'position': 1,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'device_type': devicetype.pk,
|
|
|
+ 'name': 'Front Port Template 5',
|
|
|
+ 'type': PortTypeChoices.TYPE_8P8C,
|
|
|
+ 'rear_port': rear_port_templates[4].pk,
|
|
|
+ 'position': 1,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'device_type': devicetype.pk,
|
|
|
+ 'name': 'Front Port Template 6',
|
|
|
+ 'type': PortTypeChoices.TYPE_8P8C,
|
|
|
+ 'rear_port': rear_port_templates[5].pk,
|
|
|
+ 'position': 1,
|
|
|
+ },
|
|
|
+ ]
|
|
|
+
|
|
|
+
|
|
|
+class RearPortTemplateTest(APIViewTestCases.APIViewTestCase):
|
|
|
+ model = RearPortTemplate
|
|
|
+ brief_fields = ['id', 'name', 'url']
|
|
|
+
|
|
|
+ @classmethod
|
|
|
+ def setUpTestData(cls):
|
|
|
+ manufacturer = Manufacturer.objects.create(name='Test Manufacturer 1', slug='test-manufacturer-1')
|
|
|
+ devicetype = DeviceType.objects.create(
|
|
|
+ manufacturer=manufacturer, model='Device Type 1', slug='device-type-1'
|
|
|
+ )
|
|
|
+
|
|
|
+ rear_port_templates = (
|
|
|
+ RearPortTemplate(device_type=devicetype, name='Rear Port Template 1', type=PortTypeChoices.TYPE_8P8C),
|
|
|
+ RearPortTemplate(device_type=devicetype, name='Rear Port Template 2', type=PortTypeChoices.TYPE_8P8C),
|
|
|
+ RearPortTemplate(device_type=devicetype, name='Rear Port Template 3', type=PortTypeChoices.TYPE_8P8C),
|
|
|
+ )
|
|
|
+ RearPortTemplate.objects.bulk_create(rear_port_templates)
|
|
|
+
|
|
|
+ cls.create_data = [
|
|
|
+ {
|
|
|
+ 'device_type': devicetype.pk,
|
|
|
+ 'name': 'Rear Port Template 4',
|
|
|
+ 'type': PortTypeChoices.TYPE_8P8C,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'device_type': devicetype.pk,
|
|
|
+ 'name': 'Rear Port Template 5',
|
|
|
+ 'type': PortTypeChoices.TYPE_8P8C,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'device_type': devicetype.pk,
|
|
|
+ 'name': 'Rear Port Template 6',
|
|
|
+ 'type': PortTypeChoices.TYPE_8P8C,
|
|
|
+ },
|
|
|
+ ]
|
|
|
+
|
|
|
+
|
|
|
class DeviceBayTemplateTest(APIViewTestCases.APIViewTestCase):
|
|
|
model = DeviceBayTemplate
|
|
|
brief_fields = ['id', 'name', 'url']
|