mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-07 08:08:15 -06:00
Add test cases for device site/location
This commit is contained in:
parent
fd309a0003
commit
f5e8e53283
@ -589,6 +589,45 @@ class DeviceTestCase(TestCase):
|
||||
device2.full_clean()
|
||||
device2.save()
|
||||
|
||||
def test_device_mismatched_site_location(self):
|
||||
sites = (
|
||||
Site(name='Site 1', slug='site-1'),
|
||||
Site(name='Site 2', slug='site-2'),
|
||||
)
|
||||
Site.objects.bulk_create(sites)
|
||||
|
||||
locations = (
|
||||
Location(name='Location 1', slug='location-1', site=sites[0]),
|
||||
Location(name='Location 2', slug='location-2', site=sites[1]),
|
||||
)
|
||||
for location in locations:
|
||||
location.save()
|
||||
|
||||
device_type = DeviceType.objects.first()
|
||||
device_role = DeviceRole.objects.first()
|
||||
|
||||
# Same site, should pass
|
||||
Device(name='device1', site=sites[0], location=locations[0], device_type=device_type, role=device_role).full_clean()
|
||||
|
||||
# Mismatched site, should fail
|
||||
with self.assertRaises(ValidationError):
|
||||
Device(name='device2', site=sites[0], location=locations[1], device_type=device_type, role=device_role).full_clean()
|
||||
|
||||
def test_device_rack_clone_fields(self):
|
||||
site = Site.objects.first()
|
||||
location = Location(name='Location 1', slug='location-1', site=site)
|
||||
location.save()
|
||||
|
||||
rack = Rack.objects.create(name='Rack 1', site=site, location=location)
|
||||
|
||||
device_type = DeviceType.objects.first()
|
||||
device_role = DeviceRole.objects.first()
|
||||
|
||||
# Device should use site and location from rack
|
||||
device = Device.objects.create(name='device1', rack=rack, device_type=device_type, role=device_role)
|
||||
self.assertEqual(device.site, site)
|
||||
self.assertEqual(device.location, location)
|
||||
|
||||
def test_device_mismatched_site_cluster(self):
|
||||
cluster_type = ClusterType.objects.create(name='Cluster Type 1', slug='cluster-type-1')
|
||||
Cluster.objects.create(name='Cluster 1', type=cluster_type)
|
||||
|
Loading…
Reference in New Issue
Block a user