2017-05-24 11:33:11 -04:00
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
2016-03-01 11:23:03 -05:00
|
|
|
from django.test import TestCase
|
2017-05-24 11:33:11 -04:00
|
|
|
|
2016-03-01 11:23:03 -05:00
|
|
|
from dcim.forms import *
|
|
|
|
from dcim.models import *
|
|
|
|
|
|
|
|
|
|
|
|
def get_id(model, slug):
|
|
|
|
return model.objects.get(slug=slug).id
|
|
|
|
|
|
|
|
|
|
|
|
class DeviceTestCase(TestCase):
|
|
|
|
|
|
|
|
fixtures = ['dcim', 'ipam']
|
|
|
|
|
|
|
|
def test_racked_device(self):
|
|
|
|
test = DeviceForm(data={
|
|
|
|
'name': 'test',
|
2016-08-10 16:04:44 -04:00
|
|
|
'device_role': get_id(DeviceRole, 'leaf-switch'),
|
|
|
|
'tenant': None,
|
|
|
|
'manufacturer': get_id(Manufacturer, 'juniper'),
|
|
|
|
'device_type': get_id(DeviceType, 'qfx5100-48s'),
|
2016-03-01 11:23:03 -05:00
|
|
|
'site': get_id(Site, 'test1'),
|
2016-08-10 16:04:44 -04:00
|
|
|
'rack': '1',
|
2016-03-01 11:23:03 -05:00
|
|
|
'face': RACK_FACE_FRONT,
|
|
|
|
'position': 41,
|
2016-08-10 16:04:44 -04:00
|
|
|
'platform': get_id(Platform, 'juniper-junos'),
|
2018-01-25 12:20:24 -05:00
|
|
|
'status': DEVICE_STATUS_ACTIVE,
|
2016-03-01 11:23:03 -05:00
|
|
|
})
|
|
|
|
self.assertTrue(test.is_valid(), test.fields['position'].choices)
|
|
|
|
self.assertTrue(test.save())
|
|
|
|
|
|
|
|
def test_racked_device_occupied(self):
|
|
|
|
test = DeviceForm(data={
|
|
|
|
'name': 'test',
|
2016-08-10 16:04:44 -04:00
|
|
|
'device_role': get_id(DeviceRole, 'leaf-switch'),
|
|
|
|
'tenant': None,
|
|
|
|
'manufacturer': get_id(Manufacturer, 'juniper'),
|
|
|
|
'device_type': get_id(DeviceType, 'qfx5100-48s'),
|
2016-03-01 11:23:03 -05:00
|
|
|
'site': get_id(Site, 'test1'),
|
2016-08-10 16:04:44 -04:00
|
|
|
'rack': '1',
|
2016-03-01 11:23:03 -05:00
|
|
|
'face': RACK_FACE_FRONT,
|
|
|
|
'position': 1,
|
2016-08-10 16:04:44 -04:00
|
|
|
'platform': get_id(Platform, 'juniper-junos'),
|
2018-01-25 12:20:24 -05:00
|
|
|
'status': DEVICE_STATUS_ACTIVE,
|
2016-03-01 11:23:03 -05:00
|
|
|
})
|
|
|
|
self.assertFalse(test.is_valid())
|
|
|
|
|
|
|
|
def test_non_racked_device(self):
|
|
|
|
test = DeviceForm(data={
|
|
|
|
'name': 'test',
|
2016-08-10 16:04:44 -04:00
|
|
|
'device_role': get_id(DeviceRole, 'pdu'),
|
|
|
|
'tenant': None,
|
|
|
|
'manufacturer': get_id(Manufacturer, 'servertech'),
|
|
|
|
'device_type': get_id(DeviceType, 'cwg-24vym415c9'),
|
2016-03-01 11:23:03 -05:00
|
|
|
'site': get_id(Site, 'test1'),
|
2016-08-10 16:04:44 -04:00
|
|
|
'rack': '1',
|
2016-03-01 11:23:03 -05:00
|
|
|
'face': None,
|
|
|
|
'position': None,
|
2016-08-10 16:04:44 -04:00
|
|
|
'platform': None,
|
2018-01-25 12:20:24 -05:00
|
|
|
'status': DEVICE_STATUS_ACTIVE,
|
2016-03-01 11:23:03 -05:00
|
|
|
})
|
|
|
|
self.assertTrue(test.is_valid())
|
|
|
|
self.assertTrue(test.save())
|
|
|
|
|
|
|
|
def test_non_racked_device_with_face(self):
|
|
|
|
test = DeviceForm(data={
|
|
|
|
'name': 'test',
|
2016-08-10 16:04:44 -04:00
|
|
|
'device_role': get_id(DeviceRole, 'pdu'),
|
|
|
|
'tenant': None,
|
|
|
|
'manufacturer': get_id(Manufacturer, 'servertech'),
|
|
|
|
'device_type': get_id(DeviceType, 'cwg-24vym415c9'),
|
2016-03-01 11:23:03 -05:00
|
|
|
'site': get_id(Site, 'test1'),
|
2016-08-10 16:04:44 -04:00
|
|
|
'rack': '1',
|
2016-03-01 11:23:03 -05:00
|
|
|
'face': RACK_FACE_REAR,
|
|
|
|
'position': None,
|
2016-08-10 16:04:44 -04:00
|
|
|
'platform': None,
|
2018-01-25 12:20:24 -05:00
|
|
|
'status': DEVICE_STATUS_ACTIVE,
|
2016-03-01 11:23:03 -05:00
|
|
|
})
|
|
|
|
self.assertTrue(test.is_valid())
|
|
|
|
self.assertTrue(test.save())
|