Migrate view tests to use new TestCase class

This commit is contained in:
Jeremy Stretch 2020-01-30 16:37:40 -05:00
parent 43b2c36066
commit 61ac7c44ba
6 changed files with 271 additions and 383 deletions

View File

@ -1,23 +1,18 @@
import urllib.parse import urllib.parse
from django.test import Client, TestCase
from django.urls import reverse from django.urls import reverse
from circuits.models import Circuit, CircuitType, Provider from circuits.models import Circuit, CircuitType, Provider
from utilities.testing import create_test_user from utilities.testing import TestCase
class ProviderTestCase(TestCase): class ProviderTestCase(TestCase):
user_permissions = (
'circuits.view_provider',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'circuits.view_provider',
'circuits.add_provider',
]
)
self.client = Client()
self.client.force_login(user)
Provider.objects.bulk_create([ Provider.objects.bulk_create([
Provider(name='Provider 1', slug='provider-1', asn=65001), Provider(name='Provider 1', slug='provider-1', asn=65001),
@ -42,6 +37,7 @@ class ProviderTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_provider_import(self): def test_provider_import(self):
self.add_permissions('circuits.add_provider')
csv_data = ( csv_data = (
"name,slug", "name,slug",
@ -57,16 +53,12 @@ class ProviderTestCase(TestCase):
class CircuitTypeTestCase(TestCase): class CircuitTypeTestCase(TestCase):
user_permissions = (
'circuits.view_circuittype',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'circuits.view_circuittype',
'circuits.add_circuittype',
]
)
self.client = Client()
self.client.force_login(user)
CircuitType.objects.bulk_create([ CircuitType.objects.bulk_create([
CircuitType(name='Circuit Type 1', slug='circuit-type-1'), CircuitType(name='Circuit Type 1', slug='circuit-type-1'),
@ -82,6 +74,7 @@ class CircuitTypeTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_circuittype_import(self): def test_circuittype_import(self):
self.add_permissions('circuits.add_circuittype')
csv_data = ( csv_data = (
"name,slug", "name,slug",
@ -97,16 +90,12 @@ class CircuitTypeTestCase(TestCase):
class CircuitTestCase(TestCase): class CircuitTestCase(TestCase):
user_permissions = (
'circuits.view_circuit',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'circuits.view_circuit',
'circuits.add_circuit',
]
)
self.client = Client()
self.client.force_login(user)
provider = Provider(name='Provider 1', slug='provider-1', asn=65001) provider = Provider(name='Provider 1', slug='provider-1', asn=65001)
provider.save() provider.save()
@ -138,6 +127,7 @@ class CircuitTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_circuit_import(self): def test_circuit_import(self):
self.add_permissions('circuits.add_circuit')
csv_data = ( csv_data = (
"cid,provider,type", "cid,provider,type",

View File

@ -1,26 +1,22 @@
import urllib.parse import urllib.parse
import yaml import yaml
from django.test import Client, TestCase from django.contrib.auth.models import User
from django.urls import reverse from django.urls import reverse
from dcim.choices import * from dcim.choices import *
from dcim.constants import * from dcim.constants import *
from dcim.models import * from dcim.models import *
from utilities.testing import create_test_user from utilities.testing import TestCase
class RegionTestCase(TestCase): class RegionTestCase(TestCase):
user_permissions = (
'dcim.view_region',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_region',
'dcim.add_region',
]
)
self.client = Client()
self.client.force_login(user)
# Create three Regions # Create three Regions
for i in range(1, 4): for i in range(1, 4):
@ -34,6 +30,7 @@ class RegionTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_region_import(self): def test_region_import(self):
self.add_permissions('dcim.add_region')
csv_data = ( csv_data = (
"name,slug", "name,slug",
@ -49,16 +46,12 @@ class RegionTestCase(TestCase):
class SiteTestCase(TestCase): class SiteTestCase(TestCase):
user_permissions = (
'dcim.view_site',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_site',
'dcim.add_site',
]
)
self.client = Client()
self.client.force_login(user)
region = Region(name='Region 1', slug='region-1') region = Region(name='Region 1', slug='region-1')
region.save() region.save()
@ -86,6 +79,7 @@ class SiteTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_site_import(self): def test_site_import(self):
self.add_permissions('dcim.add_site')
csv_data = ( csv_data = (
"name,slug", "name,slug",
@ -101,16 +95,12 @@ class SiteTestCase(TestCase):
class RackGroupTestCase(TestCase): class RackGroupTestCase(TestCase):
user_permissions = (
'dcim.view_rackgroup',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_rackgroup',
'dcim.add_rackgroup',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -129,6 +119,7 @@ class RackGroupTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_rackgroup_import(self): def test_rackgroup_import(self):
self.add_permissions('dcim.add_rackgroup')
csv_data = ( csv_data = (
"site,name,slug", "site,name,slug",
@ -144,16 +135,12 @@ class RackGroupTestCase(TestCase):
class RackRoleTestCase(TestCase): class RackRoleTestCase(TestCase):
user_permissions = (
'dcim.view_rackrole',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_rackrole',
'dcim.add_rackrole',
]
)
self.client = Client()
self.client.force_login(user)
RackRole.objects.bulk_create([ RackRole.objects.bulk_create([
RackRole(name='Rack Role 1', slug='rack-role-1'), RackRole(name='Rack Role 1', slug='rack-role-1'),
@ -169,6 +156,7 @@ class RackRoleTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_rackrole_import(self): def test_rackrole_import(self):
self.add_permissions('dcim.add_rackrole')
csv_data = ( csv_data = (
"name,slug,color", "name,slug,color",
@ -184,11 +172,14 @@ class RackRoleTestCase(TestCase):
class RackReservationTestCase(TestCase): class RackReservationTestCase(TestCase):
user_permissions = (
'dcim.view_rackreservation',
)
def setUp(self): @classmethod
user = create_test_user(permissions=['dcim.view_rackreservation']) def setUpTestData(cls):
self.client = Client()
self.client.force_login(user) user = User.objects.create_user(username='testuser2')
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -211,16 +202,12 @@ class RackReservationTestCase(TestCase):
class RackTestCase(TestCase): class RackTestCase(TestCase):
user_permissions = (
'dcim.view_rack',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_rack',
'dcim.add_rack',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -248,6 +235,7 @@ class RackTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_rack_import(self): def test_rack_import(self):
self.add_permissions('dcim.add_rack')
csv_data = ( csv_data = (
"site,name,width,u_height", "site,name,width,u_height",
@ -263,16 +251,12 @@ class RackTestCase(TestCase):
class ManufacturerTypeTestCase(TestCase): class ManufacturerTypeTestCase(TestCase):
user_permissions = (
'dcim.view_manufacturer',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_manufacturer',
'dcim.add_manufacturer',
]
)
self.client = Client()
self.client.force_login(user)
Manufacturer.objects.bulk_create([ Manufacturer.objects.bulk_create([
Manufacturer(name='Manufacturer 1', slug='manufacturer-1'), Manufacturer(name='Manufacturer 1', slug='manufacturer-1'),
@ -288,6 +272,7 @@ class ManufacturerTypeTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_manufacturer_import(self): def test_manufacturer_import(self):
self.add_permissions('dcim.add_manufacturer')
csv_data = ( csv_data = (
"name,slug", "name,slug",
@ -303,11 +288,12 @@ class ManufacturerTypeTestCase(TestCase):
class DeviceTypeTestCase(TestCase): class DeviceTypeTestCase(TestCase):
user_permissions = (
'dcim.view_devicetype',
)
def setUp(self): @classmethod
user = create_test_user(permissions=['dcim.view_devicetype']) def setUpTestData(cls):
self.client = Client()
self.client.force_login(user)
manufacturer = Manufacturer(name='Manufacturer 1', slug='manufacturer-1') manufacturer = Manufacturer(name='Manufacturer 1', slug='manufacturer-1')
manufacturer.save() manufacturer.save()
@ -420,9 +406,8 @@ device-bays:
# Create the manufacturer # Create the manufacturer
Manufacturer(name='Generic', slug='generic').save() Manufacturer(name='Generic', slug='generic').save()
# Authenticate as user with necessary permissions # Add all required permissions to the test user
user = create_test_user(username='testuser2', permissions=[ self.add_permissions(
'dcim.view_devicetype',
'dcim.add_devicetype', 'dcim.add_devicetype',
'dcim.add_consoleporttemplate', 'dcim.add_consoleporttemplate',
'dcim.add_consoleserverporttemplate', 'dcim.add_consoleserverporttemplate',
@ -432,8 +417,7 @@ device-bays:
'dcim.add_frontporttemplate', 'dcim.add_frontporttemplate',
'dcim.add_rearporttemplate', 'dcim.add_rearporttemplate',
'dcim.add_devicebaytemplate', 'dcim.add_devicebaytemplate',
]) )
self.client.force_login(user)
form_data = { form_data = {
'data': IMPORT_DATA, 'data': IMPORT_DATA,
@ -489,16 +473,12 @@ device-bays:
class DeviceRoleTestCase(TestCase): class DeviceRoleTestCase(TestCase):
user_permissions = (
'dcim.view_devicerole',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_devicerole',
'dcim.add_devicerole',
]
)
self.client = Client()
self.client.force_login(user)
DeviceRole.objects.bulk_create([ DeviceRole.objects.bulk_create([
DeviceRole(name='Device Role 1', slug='device-role-1'), DeviceRole(name='Device Role 1', slug='device-role-1'),
@ -514,6 +494,7 @@ class DeviceRoleTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_devicerole_import(self): def test_devicerole_import(self):
self.add_permissions('dcim.add_devicerole')
csv_data = ( csv_data = (
"name,slug,color", "name,slug,color",
@ -529,16 +510,12 @@ class DeviceRoleTestCase(TestCase):
class PlatformTestCase(TestCase): class PlatformTestCase(TestCase):
user_permissions = (
'dcim.view_platform',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_platform',
'dcim.add_platform',
]
)
self.client = Client()
self.client.force_login(user)
Platform.objects.bulk_create([ Platform.objects.bulk_create([
Platform(name='Platform 1', slug='platform-1'), Platform(name='Platform 1', slug='platform-1'),
@ -554,6 +531,7 @@ class PlatformTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_platform_import(self): def test_platform_import(self):
self.add_permissions('dcim.add_platform')
csv_data = ( csv_data = (
"name,slug", "name,slug",
@ -569,16 +547,12 @@ class PlatformTestCase(TestCase):
class DeviceTestCase(TestCase): class DeviceTestCase(TestCase):
user_permissions = (
'dcim.view_device',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_device',
'dcim.add_device',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -616,6 +590,7 @@ class DeviceTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_device_import(self): def test_device_import(self):
self.add_permissions('dcim.add_device')
csv_data = ( csv_data = (
"device_role,manufacturer,model_name,status,site,name", "device_role,manufacturer,model_name,status,site,name",
@ -631,16 +606,12 @@ class DeviceTestCase(TestCase):
class ConsolePortTestCase(TestCase): class ConsolePortTestCase(TestCase):
user_permissions = (
'dcim.view_consoleport',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_consoleport',
'dcim.add_consoleport',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -671,6 +642,7 @@ class ConsolePortTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_consoleport_import(self): def test_consoleport_import(self):
self.add_permissions('dcim.add_consoleport')
csv_data = ( csv_data = (
"device,name", "device,name",
@ -686,16 +658,12 @@ class ConsolePortTestCase(TestCase):
class ConsoleServerPortTestCase(TestCase): class ConsoleServerPortTestCase(TestCase):
user_permissions = (
'dcim.view_consoleserverport',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_consoleserverport',
'dcim.add_consoleserverport',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -726,6 +694,7 @@ class ConsoleServerPortTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_consoleserverport_import(self): def test_consoleserverport_import(self):
self.add_permissions('dcim.add_consoleserverport')
csv_data = ( csv_data = (
"device,name", "device,name",
@ -741,16 +710,12 @@ class ConsoleServerPortTestCase(TestCase):
class PowerPortTestCase(TestCase): class PowerPortTestCase(TestCase):
user_permissions = (
'dcim.view_powerport',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_powerport',
'dcim.add_powerport',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -781,6 +746,7 @@ class PowerPortTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_powerport_import(self): def test_powerport_import(self):
self.add_permissions('dcim.add_powerport')
csv_data = ( csv_data = (
"device,name", "device,name",
@ -796,16 +762,12 @@ class PowerPortTestCase(TestCase):
class PowerOutletTestCase(TestCase): class PowerOutletTestCase(TestCase):
user_permissions = (
'dcim.view_poweroutlet',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_poweroutlet',
'dcim.add_poweroutlet',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -836,6 +798,7 @@ class PowerOutletTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_poweroutlet_import(self): def test_poweroutlet_import(self):
self.add_permissions('dcim.add_poweroutlet')
csv_data = ( csv_data = (
"device,name", "device,name",
@ -851,16 +814,12 @@ class PowerOutletTestCase(TestCase):
class InterfaceTestCase(TestCase): class InterfaceTestCase(TestCase):
user_permissions = (
'dcim.view_interface',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_interface',
'dcim.add_interface',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -891,6 +850,7 @@ class InterfaceTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_interface_import(self): def test_interface_import(self):
self.add_permissions('dcim.add_interface')
csv_data = ( csv_data = (
"device,name,type", "device,name,type",
@ -906,16 +866,12 @@ class InterfaceTestCase(TestCase):
class FrontPortTestCase(TestCase): class FrontPortTestCase(TestCase):
user_permissions = (
'dcim.view_frontport',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_frontport',
'dcim.add_frontport',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -958,6 +914,7 @@ class FrontPortTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_frontport_import(self): def test_frontport_import(self):
self.add_permissions('dcim.add_frontport')
csv_data = ( csv_data = (
"device,name,type,rear_port,rear_port_position", "device,name,type,rear_port,rear_port_position",
@ -973,16 +930,12 @@ class FrontPortTestCase(TestCase):
class RearPortTestCase(TestCase): class RearPortTestCase(TestCase):
user_permissions = (
'dcim.view_rearport',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_rearport',
'dcim.add_rearport',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -1013,6 +966,7 @@ class RearPortTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_rearport_import(self): def test_rearport_import(self):
self.add_permissions('dcim.add_rearport')
csv_data = ( csv_data = (
"device,name,type,positions", "device,name,type,positions",
@ -1028,16 +982,12 @@ class RearPortTestCase(TestCase):
class DeviceBayTestCase(TestCase): class DeviceBayTestCase(TestCase):
user_permissions = (
'dcim.view_devicebay',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_devicebay',
'dcim.add_devicebay',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -1072,6 +1022,7 @@ class DeviceBayTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_devicebay_import(self): def test_devicebay_import(self):
self.add_permissions('dcim.add_devicebay')
csv_data = ( csv_data = (
"device,name", "device,name",
@ -1087,16 +1038,12 @@ class DeviceBayTestCase(TestCase):
class InventoryItemTestCase(TestCase): class InventoryItemTestCase(TestCase):
user_permissions = (
'dcim.view_inventoryitem',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_inventoryitem',
'dcim.add_inventoryitem',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -1130,6 +1077,7 @@ class InventoryItemTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_inventoryitem_import(self): def test_inventoryitem_import(self):
self.add_permissions('dcim.add_inventoryitem')
csv_data = ( csv_data = (
"device,name", "device,name",
@ -1145,16 +1093,12 @@ class InventoryItemTestCase(TestCase):
class CableTestCase(TestCase): class CableTestCase(TestCase):
user_permissions = (
'dcim.view_cable',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'dcim.view_cable',
'dcim.add_cable',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -1219,6 +1163,7 @@ class CableTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_cable_import(self): def test_cable_import(self):
self.add_permissions('dcim.add_cable')
csv_data = ( csv_data = (
"side_a_device,side_a_type,side_a_name,side_b_device,side_b_type,side_b_name", "side_a_device,side_a_type,side_a_name,side_b_device,side_b_type,side_b_name",
@ -1234,11 +1179,12 @@ class CableTestCase(TestCase):
class VirtualChassisTestCase(TestCase): class VirtualChassisTestCase(TestCase):
user_permissions = (
'dcim.view_virtualchassis',
)
def setUp(self): @classmethod
user = create_test_user(permissions=['dcim.view_virtualchassis']) def setUpTestData(cls):
self.client = Client()
self.client.force_login(user)
site = Site.objects.create(name='Site 1', slug='site-1') site = Site.objects.create(name='Site 1', slug='site-1')
manufacturer = Manufacturer.objects.create(name='Manufacturer', slug='manufacturer-1') manufacturer = Manufacturer.objects.create(name='Manufacturer', slug='manufacturer-1')

View File

@ -1,26 +1,21 @@
from netaddr import IPNetwork from netaddr import IPNetwork
import urllib.parse import urllib.parse
from django.test import Client, TestCase
from django.urls import reverse from django.urls import reverse
from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Site from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Site
from ipam.choices import ServiceProtocolChoices from ipam.choices import ServiceProtocolChoices
from ipam.models import Aggregate, IPAddress, Prefix, RIR, Role, Service, VLAN, VLANGroup, VRF from ipam.models import Aggregate, IPAddress, Prefix, RIR, Role, Service, VLAN, VLANGroup, VRF
from utilities.testing import create_test_user from utilities.testing import TestCase
class VRFTestCase(TestCase): class VRFTestCase(TestCase):
user_permissions = (
'ipam.view_vrf',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'ipam.view_vrf',
'ipam.add_vrf',
]
)
self.client = Client()
self.client.force_login(user)
VRF.objects.bulk_create([ VRF.objects.bulk_create([
VRF(name='VRF 1', rd='65000:1'), VRF(name='VRF 1', rd='65000:1'),
@ -45,6 +40,7 @@ class VRFTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_vrf_import(self): def test_vrf_import(self):
self.add_permissions('ipam.add_vrf')
csv_data = ( csv_data = (
"name", "name",
@ -60,16 +56,12 @@ class VRFTestCase(TestCase):
class RIRTestCase(TestCase): class RIRTestCase(TestCase):
user_permissions = (
'ipam.view_rir',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'ipam.view_rir',
'ipam.add_rir',
]
)
self.client = Client()
self.client.force_login(user)
RIR.objects.bulk_create([ RIR.objects.bulk_create([
RIR(name='RIR 1', slug='rir-1'), RIR(name='RIR 1', slug='rir-1'),
@ -85,6 +77,7 @@ class RIRTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_rir_import(self): def test_rir_import(self):
self.add_permissions('ipam.add_rir')
csv_data = ( csv_data = (
"name,slug", "name,slug",
@ -100,16 +93,12 @@ class RIRTestCase(TestCase):
class AggregateTestCase(TestCase): class AggregateTestCase(TestCase):
user_permissions = (
'ipam.view_aggregate',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'ipam.view_aggregate',
'ipam.add_aggregate',
]
)
self.client = Client()
self.client.force_login(user)
rir = RIR(name='RIR 1', slug='rir-1') rir = RIR(name='RIR 1', slug='rir-1')
rir.save() rir.save()
@ -137,6 +126,7 @@ class AggregateTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_aggregate_import(self): def test_aggregate_import(self):
self.add_permissions('ipam.add_aggregate')
csv_data = ( csv_data = (
"prefix,rir", "prefix,rir",
@ -152,16 +142,12 @@ class AggregateTestCase(TestCase):
class RoleTestCase(TestCase): class RoleTestCase(TestCase):
user_permissions = (
'ipam.view_role',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'ipam.view_role',
'ipam.add_role',
]
)
self.client = Client()
self.client.force_login(user)
Role.objects.bulk_create([ Role.objects.bulk_create([
Role(name='Role 1', slug='role-1'), Role(name='Role 1', slug='role-1'),
@ -177,6 +163,7 @@ class RoleTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_role_import(self): def test_role_import(self):
self.add_permissions('ipam.add_role')
csv_data = ( csv_data = (
"name,slug,weight", "name,slug,weight",
@ -192,16 +179,12 @@ class RoleTestCase(TestCase):
class PrefixTestCase(TestCase): class PrefixTestCase(TestCase):
user_permissions = (
'ipam.view_prefix',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'ipam.view_prefix',
'ipam.add_prefix',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -229,6 +212,7 @@ class PrefixTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_prefix_import(self): def test_prefix_import(self):
self.add_permissions('ipam.add_prefix')
csv_data = ( csv_data = (
"prefix,status", "prefix,status",
@ -244,16 +228,12 @@ class PrefixTestCase(TestCase):
class IPAddressTestCase(TestCase): class IPAddressTestCase(TestCase):
user_permissions = (
'ipam.view_ipaddress',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'ipam.view_ipaddress',
'ipam.add_ipaddress',
]
)
self.client = Client()
self.client.force_login(user)
vrf = VRF(name='VRF 1', rd='65000:1') vrf = VRF(name='VRF 1', rd='65000:1')
vrf.save() vrf.save()
@ -281,6 +261,7 @@ class IPAddressTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_ipaddress_import(self): def test_ipaddress_import(self):
self.add_permissions('ipam.add_ipaddress')
csv_data = ( csv_data = (
"address,status", "address,status",
@ -296,16 +277,12 @@ class IPAddressTestCase(TestCase):
class VLANGroupTestCase(TestCase): class VLANGroupTestCase(TestCase):
user_permissions = (
'ipam.view_vlangroup',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'ipam.view_vlangroup',
'ipam.add_vlangroup',
]
)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -327,6 +304,7 @@ class VLANGroupTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_vlangroup_import(self): def test_vlangroup_import(self):
self.add_permissions('ipam.add_vlangroup')
csv_data = ( csv_data = (
"name,slug", "name,slug",
@ -342,16 +320,12 @@ class VLANGroupTestCase(TestCase):
class VLANTestCase(TestCase): class VLANTestCase(TestCase):
user_permissions = (
'ipam.view_vlan',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'ipam.view_vlan',
'ipam.add_vlan',
]
)
self.client = Client()
self.client.force_login(user)
vlangroup = VLANGroup(name='VLAN Group 1', slug='vlan-group-1') vlangroup = VLANGroup(name='VLAN Group 1', slug='vlan-group-1')
vlangroup.save() vlangroup.save()
@ -379,6 +353,7 @@ class VLANTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_vlan_import(self): def test_vlan_import(self):
self.add_permissions('ipam.add_vlan')
csv_data = ( csv_data = (
"vid,name,status", "vid,name,status",
@ -394,11 +369,12 @@ class VLANTestCase(TestCase):
class ServiceTestCase(TestCase): class ServiceTestCase(TestCase):
user_permissions = (
'ipam.view_service',
)
def setUp(self): @classmethod
user = create_test_user(permissions=['ipam.view_service']) def setUpTestData(cls):
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()

View File

@ -1,26 +1,21 @@
import base64 import base64
import urllib.parse import urllib.parse
from django.test import Client, TestCase
from django.urls import reverse from django.urls import reverse
from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Site from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Site
from secrets.models import Secret, SecretRole, SessionKey, UserKey from secrets.models import Secret, SecretRole, SessionKey, UserKey
from utilities.testing import create_test_user from utilities.testing import TestCase
from .constants import PRIVATE_KEY, PUBLIC_KEY from .constants import PRIVATE_KEY, PUBLIC_KEY
class SecretRoleTestCase(TestCase): class SecretRoleTestCase(TestCase):
user_permissions = (
'secrets.view_secretrole',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'secrets.view_secretrole',
'secrets.add_secretrole',
]
)
self.client = Client()
self.client.force_login(user)
SecretRole.objects.bulk_create([ SecretRole.objects.bulk_create([
SecretRole(name='Secret Role 1', slug='secret-role-1'), SecretRole(name='Secret Role 1', slug='secret-role-1'),
@ -36,6 +31,7 @@ class SecretRoleTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_secretrole_import(self): def test_secretrole_import(self):
self.add_permissions('secrets.add_secretrole')
csv_data = ( csv_data = (
"name,slug", "name,slug",
@ -51,24 +47,12 @@ class SecretRoleTestCase(TestCase):
class SecretTestCase(TestCase): class SecretTestCase(TestCase):
user_permissions = (
'secrets.view_secret',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'secrets.view_secret',
'secrets.add_secret',
]
)
# Set up a master key
userkey = UserKey(user=user, public_key=PUBLIC_KEY)
userkey.save()
master_key = userkey.get_master_key(PRIVATE_KEY)
self.session_key = SessionKey(userkey=userkey)
self.session_key.save(master_key)
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -94,6 +78,17 @@ class SecretTestCase(TestCase):
Secret(device=device, role=secretrole, name='Secret 3', ciphertext=b'1234567890'), Secret(device=device, role=secretrole, name='Secret 3', ciphertext=b'1234567890'),
]) ])
def setUp(self):
super().setUp()
# Set up a master key for the test user
userkey = UserKey(user=self.user, public_key=PUBLIC_KEY)
userkey.save()
master_key = userkey.get_master_key(PRIVATE_KEY)
self.session_key = SessionKey(userkey=userkey)
self.session_key.save(master_key)
def test_secret_list(self): def test_secret_list(self):
url = reverse('secrets:secret_list') url = reverse('secrets:secret_list')
@ -111,6 +106,7 @@ class SecretTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_secret_import(self): def test_secret_import(self):
self.add_permissions('secrets.add_secret')
csv_data = ( csv_data = (
"device,role,name,plaintext", "device,role,name,plaintext",

View File

@ -1,23 +1,18 @@
import urllib.parse import urllib.parse
from django.test import Client, TestCase
from django.urls import reverse from django.urls import reverse
from tenancy.models import Tenant, TenantGroup from tenancy.models import Tenant, TenantGroup
from utilities.testing import create_test_user from utilities.testing import TestCase
class TenantGroupTestCase(TestCase): class TenantGroupTestCase(TestCase):
user_permissions = (
'tenancy.view_tenantgroup',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'tenancy.view_tenantgroup',
'tenancy.add_tenantgroup',
]
)
self.client = Client()
self.client.force_login(user)
TenantGroup.objects.bulk_create([ TenantGroup.objects.bulk_create([
TenantGroup(name='Tenant Group 1', slug='tenant-group-1'), TenantGroup(name='Tenant Group 1', slug='tenant-group-1'),
@ -33,6 +28,7 @@ class TenantGroupTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_tenantgroup_import(self): def test_tenantgroup_import(self):
self.add_permissions('tenancy.add_tenantgroup')
csv_data = ( csv_data = (
"name,slug", "name,slug",
@ -48,16 +44,12 @@ class TenantGroupTestCase(TestCase):
class TenantTestCase(TestCase): class TenantTestCase(TestCase):
user_permissions = (
'tenancy.view_tenant',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'tenancy.view_tenant',
'tenancy.add_tenant',
]
)
self.client = Client()
self.client.force_login(user)
tenantgroup = TenantGroup(name='Tenant Group 1', slug='tenant-group-1') tenantgroup = TenantGroup(name='Tenant Group 1', slug='tenant-group-1')
tenantgroup.save() tenantgroup.save()
@ -85,6 +77,7 @@ class TenantTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_tenant_import(self): def test_tenant_import(self):
self.add_permissions('tenancy.add_tenant')
csv_data = ( csv_data = (
"name,slug", "name,slug",

View File

@ -1,23 +1,18 @@
import urllib.parse import urllib.parse
from django.test import Client, TestCase
from django.urls import reverse from django.urls import reverse
from utilities.testing import create_test_user from utilities.testing import TestCase
from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine
class ClusterGroupTestCase(TestCase): class ClusterGroupTestCase(TestCase):
user_permissions = (
'virtualization.view_clustergroup',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'virtualization.view_clustergroup',
'virtualization.add_clustergroup',
]
)
self.client = Client()
self.client.force_login(user)
ClusterGroup.objects.bulk_create([ ClusterGroup.objects.bulk_create([
ClusterGroup(name='Cluster Group 1', slug='cluster-group-1'), ClusterGroup(name='Cluster Group 1', slug='cluster-group-1'),
@ -33,6 +28,7 @@ class ClusterGroupTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_clustergroup_import(self): def test_clustergroup_import(self):
self.add_permissions('virtualization.add_clustergroup')
csv_data = ( csv_data = (
"name,slug", "name,slug",
@ -48,16 +44,12 @@ class ClusterGroupTestCase(TestCase):
class ClusterTypeTestCase(TestCase): class ClusterTypeTestCase(TestCase):
user_permissions = (
'virtualization.view_clustertype',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'virtualization.view_clustertype',
'virtualization.add_clustertype',
]
)
self.client = Client()
self.client.force_login(user)
ClusterType.objects.bulk_create([ ClusterType.objects.bulk_create([
ClusterType(name='Cluster Type 1', slug='cluster-type-1'), ClusterType(name='Cluster Type 1', slug='cluster-type-1'),
@ -73,6 +65,7 @@ class ClusterTypeTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_clustertype_import(self): def test_clustertype_import(self):
self.add_permissions('virtualization.add_clustertype')
csv_data = ( csv_data = (
"name,slug", "name,slug",
@ -88,16 +81,12 @@ class ClusterTypeTestCase(TestCase):
class ClusterTestCase(TestCase): class ClusterTestCase(TestCase):
user_permissions = (
'virtualization.view_cluster',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'virtualization.view_cluster',
'virtualization.add_cluster',
]
)
self.client = Client()
self.client.force_login(user)
clustergroup = ClusterGroup(name='Cluster Group 1', slug='cluster-group-1') clustergroup = ClusterGroup(name='Cluster Group 1', slug='cluster-group-1')
clustergroup.save() clustergroup.save()
@ -129,6 +118,7 @@ class ClusterTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_cluster_import(self): def test_cluster_import(self):
self.add_permissions('virtualization.add_cluster')
csv_data = ( csv_data = (
"name,type", "name,type",
@ -144,16 +134,12 @@ class ClusterTestCase(TestCase):
class VirtualMachineTestCase(TestCase): class VirtualMachineTestCase(TestCase):
user_permissions = (
'virtualization.view_virtualmachine',
)
def setUp(self): @classmethod
user = create_test_user( def setUpTestData(cls):
permissions=[
'virtualization.view_virtualmachine',
'virtualization.add_virtualmachine',
]
)
self.client = Client()
self.client.force_login(user)
clustertype = ClusterType(name='Cluster Type 1', slug='cluster-type-1') clustertype = ClusterType(name='Cluster Type 1', slug='cluster-type-1')
clustertype.save() clustertype.save()
@ -184,6 +170,7 @@ class VirtualMachineTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_virtualmachine_import(self): def test_virtualmachine_import(self):
self.add_permissions('virtualization.add_virtualmachine')
csv_data = ( csv_data = (
"name,cluster", "name,cluster",