Introduce create_test_device() to reduce test setup boilerplate

This commit is contained in:
Jeremy Stretch 2020-02-04 11:58:52 -05:00
parent cbe090cd3c
commit bece1155ee

View File

@ -13,6 +13,19 @@ from dcim.models import *
from utilities.testing import StandardTestCases, TestCase from utilities.testing import StandardTestCases, TestCase
def create_test_device(name):
"""
Convenience method for creating a Device (e.g. for component testing).
"""
site = Site.objects.create(name='Site 1', slug='site-1')
manufacturer = Manufacturer.objects.create(name='Manufacturer 1', slug='manufacturer-1')
devicetype = DeviceType.objects.create(model='Device Type 1', manufacturer=manufacturer)
devicerole = DeviceRole.objects.create(name='Device Role 1', slug='device-role-1')
device = Device.objects.create(name='Device 1', site=site, device_type=devicetype, device_role=devicerole)
return device
class RegionTestCase(StandardTestCases.Views): class RegionTestCase(StandardTestCases.Views):
model = Region model = Region
@ -671,21 +684,7 @@ class ConsolePortTestCase(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
device = create_test_device('Device 1')
site = Site(name='Site 1', slug='site-1')
site.save()
manufacturer = Manufacturer(name='Manufacturer 1', slug='manufacturer-1')
manufacturer.save()
devicetype = DeviceType(model='Device Type 1', manufacturer=manufacturer)
devicetype.save()
devicerole = DeviceRole(name='Device Role 1', slug='device-role-1')
devicerole.save()
device = Device(name='Device 1', site=site, device_type=devicetype, device_role=devicerole)
device.save()
ConsolePort.objects.bulk_create([ ConsolePort.objects.bulk_create([
ConsolePort(device=device, name='Console Port 1'), ConsolePort(device=device, name='Console Port 1'),
@ -724,21 +723,7 @@ class ConsoleServerPortTestCase(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
device = create_test_device('Device 1')
site = Site(name='Site 1', slug='site-1')
site.save()
manufacturer = Manufacturer(name='Manufacturer 1', slug='manufacturer-1')
manufacturer.save()
devicetype = DeviceType(model='Device Type 1', manufacturer=manufacturer)
devicetype.save()
devicerole = DeviceRole(name='Device Role 1', slug='device-role-1')
devicerole.save()
device = Device(name='Device 1', site=site, device_type=devicetype, device_role=devicerole)
device.save()
ConsoleServerPort.objects.bulk_create([ ConsoleServerPort.objects.bulk_create([
ConsoleServerPort(device=device, name='Console Server Port 1'), ConsoleServerPort(device=device, name='Console Server Port 1'),
@ -777,21 +762,7 @@ class PowerPortTestCase(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
device = create_test_device('Device 1')
site = Site(name='Site 1', slug='site-1')
site.save()
manufacturer = Manufacturer(name='Manufacturer 1', slug='manufacturer-1')
manufacturer.save()
devicetype = DeviceType(model='Device Type 1', manufacturer=manufacturer)
devicetype.save()
devicerole = DeviceRole(name='Device Role 1', slug='device-role-1')
devicerole.save()
device = Device(name='Device 1', site=site, device_type=devicetype, device_role=devicerole)
device.save()
PowerPort.objects.bulk_create([ PowerPort.objects.bulk_create([
PowerPort(device=device, name='Power Port 1'), PowerPort(device=device, name='Power Port 1'),
@ -830,21 +801,7 @@ class PowerOutletTestCase(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
device = create_test_device('Device 1')
site = Site(name='Site 1', slug='site-1')
site.save()
manufacturer = Manufacturer(name='Manufacturer 1', slug='manufacturer-1')
manufacturer.save()
devicetype = DeviceType(model='Device Type 1', manufacturer=manufacturer)
devicetype.save()
devicerole = DeviceRole(name='Device Role 1', slug='device-role-1')
devicerole.save()
device = Device(name='Device 1', site=site, device_type=devicetype, device_role=devicerole)
device.save()
PowerOutlet.objects.bulk_create([ PowerOutlet.objects.bulk_create([
PowerOutlet(device=device, name='Power Outlet 1'), PowerOutlet(device=device, name='Power Outlet 1'),
@ -883,21 +840,7 @@ class InterfaceTestCase(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
device = create_test_device('Device 1')
site = Site(name='Site 1', slug='site-1')
site.save()
manufacturer = Manufacturer(name='Manufacturer 1', slug='manufacturer-1')
manufacturer.save()
devicetype = DeviceType(model='Device Type 1', manufacturer=manufacturer)
devicetype.save()
devicerole = DeviceRole(name='Device Role 1', slug='device-role-1')
devicerole.save()
device = Device(name='Device 1', site=site, device_type=devicetype, device_role=devicerole)
device.save()
Interface.objects.bulk_create([ Interface.objects.bulk_create([
Interface(device=device, name='Interface 1'), Interface(device=device, name='Interface 1'),
@ -936,21 +879,7 @@ class FrontPortTestCase(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
device = create_test_device('Device 1')
site = Site(name='Site 1', slug='site-1')
site.save()
manufacturer = Manufacturer(name='Manufacturer 1', slug='manufacturer-1')
manufacturer.save()
devicetype = DeviceType(model='Device Type 1', manufacturer=manufacturer)
devicetype.save()
devicerole = DeviceRole(name='Device Role 1', slug='device-role-1')
devicerole.save()
device = Device(name='Device 1', site=site, device_type=devicetype, device_role=devicerole)
device.save()
rearport1 = RearPort(device=device, name='Rear Port 1') rearport1 = RearPort(device=device, name='Rear Port 1')
rearport1.save() rearport1.save()
@ -1001,21 +930,7 @@ class RearPortTestCase(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
device = create_test_device('Device 1')
site = Site(name='Site 1', slug='site-1')
site.save()
manufacturer = Manufacturer(name='Manufacturer 1', slug='manufacturer-1')
manufacturer.save()
devicetype = DeviceType(model='Device Type 1', manufacturer=manufacturer)
devicetype.save()
devicerole = DeviceRole(name='Device Role 1', slug='device-role-1')
devicerole.save()
device = Device(name='Device 1', site=site, device_type=devicetype, device_role=devicerole)
device.save()
RearPort.objects.bulk_create([ RearPort.objects.bulk_create([
RearPort(device=device, name='Rear Port 1'), RearPort(device=device, name='Rear Port 1'),
@ -1054,25 +969,7 @@ class DeviceBayTestCase(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
device = create_test_device('Device 1')
site = Site(name='Site 1', slug='site-1')
site.save()
manufacturer = Manufacturer(name='Manufacturer 1', slug='manufacturer-1')
manufacturer.save()
devicetype = DeviceType(
model='Device Type 1',
manufacturer=manufacturer,
subdevice_role=SubdeviceRoleChoices.ROLE_PARENT
)
devicetype.save()
devicerole = DeviceRole(name='Device Role 1', slug='device-role-1')
devicerole.save()
device = Device(name='Device 1', site=site, device_type=devicetype, device_role=devicerole)
device.save()
DeviceBay.objects.bulk_create([ DeviceBay.objects.bulk_create([
DeviceBay(device=device, name='Device Bay 1'), DeviceBay(device=device, name='Device Bay 1'),
@ -1111,21 +1008,7 @@ class InventoryItemTestCase(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
device = create_test_device('Device 1')
site = Site(name='Site 1', slug='site-1')
site.save()
manufacturer = Manufacturer(name='Manufacturer 1', slug='manufacturer-1')
manufacturer.save()
devicetype = DeviceType(model='Device Type 1', manufacturer=manufacturer)
devicetype.save()
devicerole = DeviceRole(name='Device Role 1', slug='device-role-1')
devicerole.save()
device = Device(name='Device 1', site=site, device_type=devicetype, device_role=devicerole)
device.save()
InventoryItem.objects.bulk_create([ InventoryItem.objects.bulk_create([
InventoryItem(device=device, name='Inventory Item 1'), InventoryItem(device=device, name='Inventory Item 1'),