|
|
@@ -50,6 +50,13 @@ class RegionTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
"Region 6,region-6,Sixth region",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{regions[0].pk},Region 7,Fourth region7",
|
|
|
+ f"{regions[1].pk},Region 8,Fifth region8",
|
|
|
+ f"{regions[2].pk},Region 0,Sixth region9",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'description': 'New description',
|
|
|
}
|
|
|
@@ -87,6 +94,13 @@ class SiteGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
"Site Group 6,site-group-6,Sixth site group",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{sitegroups[0].pk},Site Group 7,Fourth site group7",
|
|
|
+ f"{sitegroups[1].pk},Site Group 8,Fifth site group8",
|
|
|
+ f"{sitegroups[2].pk},Site Group 0,Sixth site group9",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'description': 'New description',
|
|
|
}
|
|
|
@@ -156,6 +170,13 @@ class SiteTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|
|
"Site 6,site-6,staging",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,status",
|
|
|
+ f"{sites[0].pk},Site 7,staging",
|
|
|
+ f"{sites[1].pk},Site 8,planned",
|
|
|
+ f"{sites[2].pk},Site 9,active",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'status': SiteStatusChoices.STATUS_PLANNED,
|
|
|
'region': regions[1].pk,
|
|
|
@@ -202,6 +223,13 @@ class LocationTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
"Site 1,Tenant 1,Location 6,location-6,planned,Sixth location",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{locations[0].pk},Location 7,Fourth location7",
|
|
|
+ f"{locations[1].pk},Location 8,Fifth location8",
|
|
|
+ f"{locations[2].pk},Location 0,Sixth location9",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'description': 'New description',
|
|
|
}
|
|
|
@@ -213,11 +241,12 @@ class RackRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
@classmethod
|
|
|
def setUpTestData(cls):
|
|
|
|
|
|
- RackRole.objects.bulk_create([
|
|
|
+ rack_roles = (
|
|
|
RackRole(name='Rack Role 1', slug='rack-role-1'),
|
|
|
RackRole(name='Rack Role 2', slug='rack-role-2'),
|
|
|
RackRole(name='Rack Role 3', slug='rack-role-3'),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ RackRole.objects.bulk_create(rack_roles)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -236,6 +265,13 @@ class RackRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
"Rack Role 6,rack-role-6,0000ff",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{rack_roles[0].pk},Rack Role 7,New description7",
|
|
|
+ f"{rack_roles[1].pk},Rack Role 8,New description8",
|
|
|
+ f"{rack_roles[2].pk},Rack Role 9,New description9",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'color': '00ff00',
|
|
|
'description': 'New description',
|
|
|
@@ -259,11 +295,12 @@ class RackReservationTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|
|
rack = Rack(name='Rack 1', site=site, location=location)
|
|
|
rack.save()
|
|
|
|
|
|
- RackReservation.objects.bulk_create([
|
|
|
+ rack_reservations = (
|
|
|
RackReservation(rack=rack, user=user2, units=[1, 2, 3], description='Reservation 1'),
|
|
|
RackReservation(rack=rack, user=user2, units=[4, 5, 6], description='Reservation 2'),
|
|
|
RackReservation(rack=rack, user=user2, units=[7, 8, 9], description='Reservation 3'),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ RackReservation.objects.bulk_create(rack_reservations)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -283,6 +320,13 @@ class RackReservationTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|
|
'Site 1,Location 1,Rack 1,"16,17,18",Reservation 3',
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ 'id,description',
|
|
|
+ f'{rack_reservations[0].pk},New description1',
|
|
|
+ f'{rack_reservations[1].pk},New description2',
|
|
|
+ f'{rack_reservations[2].pk},New description3',
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'user': user3.pk,
|
|
|
'tenant': None,
|
|
|
@@ -315,11 +359,12 @@ class RackTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|
|
)
|
|
|
RackRole.objects.bulk_create(rackroles)
|
|
|
|
|
|
- Rack.objects.bulk_create((
|
|
|
+ racks = (
|
|
|
Rack(name='Rack 1', site=sites[0]),
|
|
|
Rack(name='Rack 2', site=sites[0]),
|
|
|
Rack(name='Rack 3', site=sites[0]),
|
|
|
- ))
|
|
|
+ )
|
|
|
+ Rack.objects.bulk_create(racks)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -351,6 +396,13 @@ class RackTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|
|
"Site 2,Location 2,Rack 6,active,19,42",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,status",
|
|
|
+ f"{racks[0].pk},Rack 7,{RackStatusChoices.STATUS_DEPRECATED}",
|
|
|
+ f"{racks[1].pk},Rack 8,{RackStatusChoices.STATUS_DEPRECATED}",
|
|
|
+ f"{racks[2].pk},Rack 9,{RackStatusChoices.STATUS_DEPRECATED}",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'site': sites[1].pk,
|
|
|
'location': locations[1].pk,
|
|
|
@@ -383,11 +435,12 @@ class ManufacturerTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
@classmethod
|
|
|
def setUpTestData(cls):
|
|
|
|
|
|
- Manufacturer.objects.bulk_create([
|
|
|
+ manufacturers = (
|
|
|
Manufacturer(name='Manufacturer 1', slug='manufacturer-1'),
|
|
|
Manufacturer(name='Manufacturer 2', slug='manufacturer-2'),
|
|
|
Manufacturer(name='Manufacturer 3', slug='manufacturer-3'),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ Manufacturer.objects.bulk_create(manufacturers)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -405,6 +458,13 @@ class ManufacturerTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
"Manufacturer 6,manufacturer-6,Sixth manufacturer",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{manufacturers[0].pk},Manufacturer 7,Fourth manufacturer7",
|
|
|
+ f"{manufacturers[1].pk},Manufacturer 8,Fifth manufacturer8",
|
|
|
+ f"{manufacturers[2].pk},Manufacturer 9,Sixth manufacturer9",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'description': 'New description',
|
|
|
}
|
|
|
@@ -1444,11 +1504,12 @@ class DeviceRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
@classmethod
|
|
|
def setUpTestData(cls):
|
|
|
|
|
|
- DeviceRole.objects.bulk_create([
|
|
|
+ device_roles = (
|
|
|
DeviceRole(name='Device Role 1', slug='device-role-1'),
|
|
|
DeviceRole(name='Device Role 2', slug='device-role-2'),
|
|
|
DeviceRole(name='Device Role 3', slug='device-role-3'),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ DeviceRole.objects.bulk_create(device_roles)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -1468,6 +1529,13 @@ class DeviceRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
"Device Role 6,device-role-6,0000ff",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{device_roles[0].pk},Device Role 7,New description7",
|
|
|
+ f"{device_roles[1].pk},Device Role 8,New description8",
|
|
|
+ f"{device_roles[2].pk},Device Role 9,New description9",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'color': '00ff00',
|
|
|
'description': 'New description',
|
|
|
@@ -1482,11 +1550,12 @@ class PlatformTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
|
|
|
manufacturer = Manufacturer.objects.create(name='Manufacturer 1', slug='manufacturer-1')
|
|
|
|
|
|
- Platform.objects.bulk_create([
|
|
|
+ platforms = (
|
|
|
Platform(name='Platform 1', slug='platform-1', manufacturer=manufacturer),
|
|
|
Platform(name='Platform 2', slug='platform-2', manufacturer=manufacturer),
|
|
|
Platform(name='Platform 3', slug='platform-3', manufacturer=manufacturer),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ Platform.objects.bulk_create(platforms)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -1507,6 +1576,13 @@ class PlatformTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
"Platform 6,platform-6,Sixth platform",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{platforms[0].pk},Platform 7,Fourth platform7",
|
|
|
+ f"{platforms[1].pk},Platform 8,Fifth platform8",
|
|
|
+ f"{platforms[2].pk},Platform 9,Sixth platform9",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'napalm_driver': 'ios',
|
|
|
'description': 'New description',
|
|
|
@@ -1554,11 +1630,12 @@ class DeviceTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|
|
)
|
|
|
Platform.objects.bulk_create(platforms)
|
|
|
|
|
|
- Device.objects.bulk_create([
|
|
|
+ devices = (
|
|
|
Device(name='Device 1', site=sites[0], rack=racks[0], device_type=devicetypes[0], device_role=deviceroles[0], platform=platforms[0]),
|
|
|
Device(name='Device 2', site=sites[0], rack=racks[0], device_type=devicetypes[0], device_role=deviceroles[0], platform=platforms[0]),
|
|
|
Device(name='Device 3', site=sites[0], rack=racks[0], device_type=devicetypes[0], device_role=deviceroles[0], platform=platforms[0]),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ Device.objects.bulk_create(devices)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -1595,6 +1672,13 @@ class DeviceTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|
|
"Device Role 1,Manufacturer 1,Device Type 1,active,Device 6,Site 1,Location 1,Rack 1,30,front,Virtual Chassis 1,3,30",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,status",
|
|
|
+ f"{devices[0].pk},{DeviceStatusChoices.STATUS_DECOMMISSIONING}",
|
|
|
+ f"{devices[1].pk},{DeviceStatusChoices.STATUS_DECOMMISSIONING}",
|
|
|
+ f"{devices[2].pk},{DeviceStatusChoices.STATUS_DECOMMISSIONING}",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'device_type': devicetypes[1].pk,
|
|
|
'device_role': deviceroles[1].pk,
|
|
|
@@ -1815,6 +1899,13 @@ class ModuleTestCase(
|
|
|
"Device 2,Module Bay 3,Module Type 3,C,C",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,serial",
|
|
|
+ f"{modules[0].pk},Serial 2",
|
|
|
+ f"{modules[1].pk},Serial 3",
|
|
|
+ f"{modules[2].pk},Serial 1",
|
|
|
+ )
|
|
|
+
|
|
|
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
|
|
|
def test_module_component_replication(self):
|
|
|
self.add_permissions('dcim.add_module')
|
|
|
@@ -1894,11 +1985,12 @@ class ConsolePortTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
def setUpTestData(cls):
|
|
|
device = create_test_device('Device 1')
|
|
|
|
|
|
- ConsolePort.objects.bulk_create([
|
|
|
+ console_ports = (
|
|
|
ConsolePort(device=device, name='Console Port 1'),
|
|
|
ConsolePort(device=device, name='Console Port 2'),
|
|
|
ConsolePort(device=device, name='Console Port 3'),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ ConsolePort.objects.bulk_create(console_ports)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -1932,6 +2024,13 @@ class ConsolePortTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
"Device 1,Console Port 6",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{console_ports[0].pk},Console Port 7,New description7",
|
|
|
+ f"{console_ports[1].pk},Console Port 8,New description8",
|
|
|
+ f"{console_ports[2].pk},Console Port 9,New description9",
|
|
|
+ )
|
|
|
+
|
|
|
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
|
|
|
def test_trace(self):
|
|
|
consoleport = ConsolePort.objects.first()
|
|
|
@@ -1953,11 +2052,12 @@ class ConsoleServerPortTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
def setUpTestData(cls):
|
|
|
device = create_test_device('Device 1')
|
|
|
|
|
|
- ConsoleServerPort.objects.bulk_create([
|
|
|
+ console_server_ports = (
|
|
|
ConsoleServerPort(device=device, name='Console Server Port 1'),
|
|
|
ConsoleServerPort(device=device, name='Console Server Port 2'),
|
|
|
ConsoleServerPort(device=device, name='Console Server Port 3'),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ ConsoleServerPort.objects.bulk_create(console_server_ports)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -1989,6 +2089,13 @@ class ConsoleServerPortTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
"Device 1,Console Server Port 6",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{console_server_ports[0].pk},Console Server Port 7,New description 7",
|
|
|
+ f"{console_server_ports[1].pk},Console Server Port 8,New description 8",
|
|
|
+ f"{console_server_ports[2].pk},Console Server Port 9,New description 9",
|
|
|
+ )
|
|
|
+
|
|
|
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
|
|
|
def test_trace(self):
|
|
|
consoleserverport = ConsoleServerPort.objects.first()
|
|
|
@@ -2010,11 +2117,12 @@ class PowerPortTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
def setUpTestData(cls):
|
|
|
device = create_test_device('Device 1')
|
|
|
|
|
|
- PowerPort.objects.bulk_create([
|
|
|
+ power_ports = (
|
|
|
PowerPort(device=device, name='Power Port 1'),
|
|
|
PowerPort(device=device, name='Power Port 2'),
|
|
|
PowerPort(device=device, name='Power Port 3'),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ PowerPort.objects.bulk_create(power_ports)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -2052,6 +2160,13 @@ class PowerPortTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
"Device 1,Power Port 6",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{power_ports[0].pk},Power Port 7,New description7",
|
|
|
+ f"{power_ports[1].pk},Power Port 8,New description8",
|
|
|
+ f"{power_ports[2].pk},Power Port 9,New description9",
|
|
|
+ )
|
|
|
+
|
|
|
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
|
|
|
def test_trace(self):
|
|
|
powerport = PowerPort.objects.first()
|
|
|
@@ -2079,11 +2194,12 @@ class PowerOutletTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
)
|
|
|
PowerPort.objects.bulk_create(powerports)
|
|
|
|
|
|
- PowerOutlet.objects.bulk_create([
|
|
|
+ power_outlets = (
|
|
|
PowerOutlet(device=device, name='Power Outlet 1', power_port=powerports[0]),
|
|
|
PowerOutlet(device=device, name='Power Outlet 2', power_port=powerports[0]),
|
|
|
PowerOutlet(device=device, name='Power Outlet 3', power_port=powerports[0]),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ PowerOutlet.objects.bulk_create(power_outlets)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -2121,6 +2237,13 @@ class PowerOutletTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
"Device 1,Power Outlet 6",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{power_outlets[0].pk},Power Outlet 7,New description7",
|
|
|
+ f"{power_outlets[1].pk},Power Outlet 8,New description8",
|
|
|
+ f"{power_outlets[2].pk},Power Outlet 9,New description9",
|
|
|
+ )
|
|
|
+
|
|
|
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
|
|
|
def test_trace(self):
|
|
|
poweroutlet = PowerOutlet.objects.first()
|
|
|
@@ -2247,6 +2370,13 @@ class InterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
f"Device 1,Interface 6,1000base-t,{vrfs[0].pk},pse,type1-ieee802.3af",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{interfaces[0].pk},Interface 7,New description7",
|
|
|
+ f"{interfaces[1].pk},Interface 8,New description8",
|
|
|
+ f"{interfaces[2].pk},Interface 9,New description9",
|
|
|
+ )
|
|
|
+
|
|
|
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
|
|
|
def test_trace(self):
|
|
|
interface1, interface2 = Interface.objects.all()[:2]
|
|
|
@@ -2274,11 +2404,12 @@ class FrontPortTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
)
|
|
|
RearPort.objects.bulk_create(rearports)
|
|
|
|
|
|
- FrontPort.objects.bulk_create([
|
|
|
+ front_ports = (
|
|
|
FrontPort(device=device, name='Front Port 1', rear_port=rearports[0]),
|
|
|
FrontPort(device=device, name='Front Port 2', rear_port=rearports[1]),
|
|
|
FrontPort(device=device, name='Front Port 3', rear_port=rearports[2]),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ FrontPort.objects.bulk_create(front_ports)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -2313,6 +2444,13 @@ class FrontPortTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
"Device 1,Front Port 6,8p8c,Rear Port 6,1",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{front_ports[0].pk},Front Port 7,New description7",
|
|
|
+ f"{front_ports[1].pk},Front Port 8,New description8",
|
|
|
+ f"{front_ports[2].pk},Front Port 9,New description9",
|
|
|
+ )
|
|
|
+
|
|
|
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
|
|
|
def test_trace(self):
|
|
|
frontport = FrontPort.objects.first()
|
|
|
@@ -2334,11 +2472,12 @@ class RearPortTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
def setUpTestData(cls):
|
|
|
device = create_test_device('Device 1')
|
|
|
|
|
|
- RearPort.objects.bulk_create([
|
|
|
+ rear_ports = (
|
|
|
RearPort(device=device, name='Rear Port 1'),
|
|
|
RearPort(device=device, name='Rear Port 2'),
|
|
|
RearPort(device=device, name='Rear Port 3'),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ RearPort.objects.bulk_create(rear_ports)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -2372,6 +2511,13 @@ class RearPortTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
"Device 1,Rear Port 6,8p8c,1",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{rear_ports[0].pk},Rear Port 7,New description7",
|
|
|
+ f"{rear_ports[1].pk},Rear Port 8,New description8",
|
|
|
+ f"{rear_ports[2].pk},Rear Port 9,New description9",
|
|
|
+ )
|
|
|
+
|
|
|
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
|
|
|
def test_trace(self):
|
|
|
rearport = RearPort.objects.first()
|
|
|
@@ -2393,11 +2539,12 @@ class ModuleBayTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
def setUpTestData(cls):
|
|
|
device = create_test_device('Device 1')
|
|
|
|
|
|
- ModuleBay.objects.bulk_create([
|
|
|
+ module_bays = (
|
|
|
ModuleBay(device=device, name='Module Bay 1'),
|
|
|
ModuleBay(device=device, name='Module Bay 2'),
|
|
|
ModuleBay(device=device, name='Module Bay 3'),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ ModuleBay.objects.bulk_create(module_bays)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -2426,6 +2573,13 @@ class ModuleBayTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
"Device 1,Module Bay 6",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{module_bays[0].pk},Module Bay 7,New description7",
|
|
|
+ f"{module_bays[1].pk},Module Bay 8,New description8",
|
|
|
+ f"{module_bays[2].pk},Module Bay 9,New description9",
|
|
|
+ )
|
|
|
+
|
|
|
|
|
|
class DeviceBayTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
model = DeviceBay
|
|
|
@@ -2438,11 +2592,12 @@ class DeviceBayTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
# Update the DeviceType subdevice role to allow adding DeviceBays
|
|
|
DeviceType.objects.update(subdevice_role=SubdeviceRoleChoices.ROLE_PARENT)
|
|
|
|
|
|
- DeviceBay.objects.bulk_create([
|
|
|
+ device_bays = (
|
|
|
DeviceBay(device=device, name='Device Bay 1'),
|
|
|
DeviceBay(device=device, name='Device Bay 2'),
|
|
|
DeviceBay(device=device, name='Device Bay 3'),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ DeviceBay.objects.bulk_create(device_bays)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -2471,6 +2626,13 @@ class DeviceBayTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
"Device 1,Device Bay 6",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{device_bays[0].pk},Device Bay 7,New description7",
|
|
|
+ f"{device_bays[1].pk},Device Bay 8,New description8",
|
|
|
+ f"{device_bays[2].pk},Device Bay 9,New description9",
|
|
|
+ )
|
|
|
+
|
|
|
|
|
|
class InventoryItemTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
model = InventoryItem
|
|
|
@@ -2487,9 +2649,9 @@ class InventoryItemTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
)
|
|
|
InventoryItemRole.objects.bulk_create(roles)
|
|
|
|
|
|
- InventoryItem.objects.create(device=device, name='Inventory Item 1', role=roles[0], manufacturer=manufacturer)
|
|
|
- InventoryItem.objects.create(device=device, name='Inventory Item 2', role=roles[0], manufacturer=manufacturer)
|
|
|
- InventoryItem.objects.create(device=device, name='Inventory Item 3', role=roles[0], manufacturer=manufacturer)
|
|
|
+ inventory_item1 = InventoryItem.objects.create(device=device, name='Inventory Item 1', role=roles[0], manufacturer=manufacturer)
|
|
|
+ inventory_item2 = InventoryItem.objects.create(device=device, name='Inventory Item 2', role=roles[0], manufacturer=manufacturer)
|
|
|
+ inventory_item3 = InventoryItem.objects.create(device=device, name='Inventory Item 3', role=roles[0], manufacturer=manufacturer)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -2533,6 +2695,13 @@ class InventoryItemTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|
|
"Device 1,Inventory Item 6,Inventory Item 3",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{inventory_item1.pk},Inventory Item 7,New description7",
|
|
|
+ f"{inventory_item2.pk},Inventory Item 8,New description8",
|
|
|
+ f"{inventory_item3.pk},Inventory Item 9,New description9",
|
|
|
+ )
|
|
|
+
|
|
|
|
|
|
class InventoryItemRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
model = InventoryItemRole
|
|
|
@@ -2540,11 +2709,12 @@ class InventoryItemRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
@classmethod
|
|
|
def setUpTestData(cls):
|
|
|
|
|
|
- InventoryItemRole.objects.bulk_create([
|
|
|
+ inventory_item_roles = (
|
|
|
InventoryItemRole(name='Inventory Item Role 1', slug='inventory-item-role-1'),
|
|
|
InventoryItemRole(name='Inventory Item Role 2', slug='inventory-item-role-2'),
|
|
|
InventoryItemRole(name='Inventory Item Role 3', slug='inventory-item-role-3'),
|
|
|
- ])
|
|
|
+ )
|
|
|
+ InventoryItemRole.objects.bulk_create(inventory_item_roles)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -2563,6 +2733,13 @@ class InventoryItemRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
|
|
"Inventory Item Role 6,inventory-item-role-6,0000ff",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,description",
|
|
|
+ f"{inventory_item_roles[0].pk},Inventory Item Role 7,New description7",
|
|
|
+ f"{inventory_item_roles[1].pk},Inventory Item Role 8,New description8",
|
|
|
+ f"{inventory_item_roles[2].pk},Inventory Item Role 9,New description9",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'color': '00ff00',
|
|
|
'description': 'New description',
|
|
|
@@ -2615,9 +2792,12 @@ class CableTestCase(
|
|
|
)
|
|
|
Interface.objects.bulk_create(interfaces)
|
|
|
|
|
|
- Cable(a_terminations=[interfaces[0]], b_terminations=[interfaces[3]], type=CableTypeChoices.TYPE_CAT6).save()
|
|
|
- Cable(a_terminations=[interfaces[1]], b_terminations=[interfaces[4]], type=CableTypeChoices.TYPE_CAT6).save()
|
|
|
- Cable(a_terminations=[interfaces[2]], b_terminations=[interfaces[5]], type=CableTypeChoices.TYPE_CAT6).save()
|
|
|
+ cable1 = Cable(a_terminations=[interfaces[0]], b_terminations=[interfaces[3]], type=CableTypeChoices.TYPE_CAT6)
|
|
|
+ cable1.save()
|
|
|
+ cable2 = Cable(a_terminations=[interfaces[1]], b_terminations=[interfaces[4]], type=CableTypeChoices.TYPE_CAT6)
|
|
|
+ cable2.save()
|
|
|
+ cable3 = Cable(a_terminations=[interfaces[2]], b_terminations=[interfaces[5]], type=CableTypeChoices.TYPE_CAT6)
|
|
|
+ cable3.save()
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -2643,6 +2823,13 @@ class CableTestCase(
|
|
|
"Device 3,dcim.interface,Interface 3,Device 4,dcim.interface,Interface 3",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,label,color",
|
|
|
+ f"{cable1.pk},New label7,00ff00",
|
|
|
+ f"{cable2.pk},New label8,00ff00",
|
|
|
+ f"{cable3.pk},New label9,00ff00",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'type': CableTypeChoices.TYPE_CAT5E,
|
|
|
'status': LinkStatusChoices.STATUS_CONNECTED,
|
|
|
@@ -2726,6 +2913,13 @@ class VirtualChassisTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|
|
"VC6,Domain 6,Device 12",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,domain",
|
|
|
+ f"{vc1.pk},VC7,Domain 7",
|
|
|
+ f"{vc2.pk},VC8,Domain 8",
|
|
|
+ f"{vc3.pk},VC9,Domain 9",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'domain': 'domain-x',
|
|
|
}
|
|
|
@@ -2750,11 +2944,12 @@ class PowerPanelTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|
|
for location in locations:
|
|
|
location.save()
|
|
|
|
|
|
- PowerPanel.objects.bulk_create((
|
|
|
+ power_panels = (
|
|
|
PowerPanel(site=sites[0], location=locations[0], name='Power Panel 1'),
|
|
|
PowerPanel(site=sites[0], location=locations[0], name='Power Panel 2'),
|
|
|
PowerPanel(site=sites[0], location=locations[0], name='Power Panel 3'),
|
|
|
- ))
|
|
|
+ )
|
|
|
+ PowerPanel.objects.bulk_create(power_panels)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -2772,6 +2967,13 @@ class PowerPanelTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|
|
"Site 1,Location 1,Power Panel 6",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name",
|
|
|
+ f"{power_panels[0].pk},Power Panel 7",
|
|
|
+ f"{power_panels[1].pk},Power Panel 8",
|
|
|
+ f"{power_panels[2].pk},Power Panel 9",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'site': sites[1].pk,
|
|
|
'location': locations[1].pk,
|
|
|
@@ -2798,11 +3000,12 @@ class PowerFeedTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|
|
)
|
|
|
Rack.objects.bulk_create(racks)
|
|
|
|
|
|
- PowerFeed.objects.bulk_create((
|
|
|
+ power_feeds = (
|
|
|
PowerFeed(name='Power Feed 1', power_panel=powerpanels[0], rack=racks[0]),
|
|
|
PowerFeed(name='Power Feed 2', power_panel=powerpanels[0], rack=racks[0]),
|
|
|
PowerFeed(name='Power Feed 3', power_panel=powerpanels[0], rack=racks[0]),
|
|
|
- ))
|
|
|
+ )
|
|
|
+ PowerFeed.objects.bulk_create(power_feeds)
|
|
|
|
|
|
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
|
|
|
|
|
@@ -2828,6 +3031,13 @@ class PowerFeedTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|
|
"Site 1,Power Panel 1,Power Feed 6,active,primary,ac,single-phase,120,20,80",
|
|
|
)
|
|
|
|
|
|
+ cls.csv_update_data = (
|
|
|
+ "id,name,status",
|
|
|
+ f"{power_feeds[0].pk},Power Feed 7,{PowerFeedStatusChoices.STATUS_PLANNED}",
|
|
|
+ f"{power_feeds[1].pk},Power Feed 8,{PowerFeedStatusChoices.STATUS_PLANNED}",
|
|
|
+ f"{power_feeds[2].pk},Power Feed 9,{PowerFeedStatusChoices.STATUS_PLANNED}",
|
|
|
+ )
|
|
|
+
|
|
|
cls.bulk_edit_data = {
|
|
|
'power_panel': powerpanels[1].pk,
|
|
|
'rack': racks[1].pk,
|