def setUp(self): self.sample_dev = DeviceFactory() self.sample_ip_1 = IPAddressFactory( address="127.0.0.1", device=self.sample_dev, ) self.sample_ip_2 = IPAddressFactory(address="127.0.0.2")
def setUp(self): self.sample_dev = DeviceFactory() self.sample_ip_1 = IPAddressFactory( address="10.0.0.1", device=self.sample_dev, hostname="dev1.dc", ) self.sample_ip_2 = IPAddressFactory( address="10.0.0.2", hostname='dev2.dc', )
def setUp(self): self.device = DeviceFactory() self.regular_ipaddr = IPAddressFactory() self.management_ipaddr = IPAddressFactory(is_management=True) self.device.ipaddress_set.add(self.regular_ipaddr) self.device.ipaddress_set.add(self.management_ipaddr) self.url = reverse('search', kwargs={ 'details': 'addresses', 'device': str(self.device.pk), }) self.client = login_as_su()
def setUp(self): self.entry_1 = DHCPEntryFactory( ip="10.10.0.1", mac="aa:cc:bb:11:22:33", ) self.entry_2 = DHCPEntryFactory( ip="10.10.0.2", mac="aa:cc:bb:11:22:44", ) self.sample_ip_1 = IPAddressFactory(address="10.10.0.1", ) self.sample_ip_2 = IPAddressFactory(address="10.10.0.2", ) self.sample_ip_3 = IPAddressFactory(address="10.10.0.3", )
def test_migrate(self): """Resetting the management_ip should migrate the data from legacy way to the preferred way""" dev = DeviceFactory() dev.management = IPAddressFactory(is_management=True) dev.management_ip = dev.management_ip self.assertEqual(dev.ipaddress_set.all()[0], dev.management_ip) self.assertIsNone(dev.management)
def test_edit_via_form(self): """You can add regular IP address via form.""" other_address = IPAddressFactory() other_address.save() data = { 'ip': 'Save', 'ip-0-address': self.regular_ipaddr.address, 'ip-0-hostname': self.regular_ipaddr.hostname, 'ip-0-id': self.regular_ipaddr.id, 'ip-1-address': other_address.address, 'ip-1-hostname': 'hostname.dc1', 'ip-1-id': '', 'ip-INITIAL_FORMS': '1', 'ip-TOTAL_FORMS': '2', } self.client.post(self.url, data) other_address = IPAddress.objects.get(pk=other_address.pk) self.assertEquals(other_address.hostname, 'hostname.dc1') self.assertIn(other_address, self.device.ipaddress_set.all())
def test_try_edit_management_via_form(self): """You can't add management IP address via form.""" other_address = IPAddressFactory(is_management=True) other_address.save() data = { 'ip': 'Save', 'ip-0-address': self.regular_ipaddr.address, 'ip-0-hostname': self.regular_ipaddr.hostname, 'ip-0-id': self.regular_ipaddr.id, 'ip-1-address': other_address.address, 'ip-1-hostname': 'hostname.dc1', 'ip-1-id': '', 'ip-INITIAL_FORMS': '1', 'ip-TOTAL_FORMS': '2', } response = self.client.post(self.url, data) self.assertContains( response, 'To assign management IP to this device use the linked asset') self.assertNotIn(other_address, self.device.ipaddress_set.all())
def test_try_edit_management_via_form(self): """You can't add management IP address via form.""" other_address = IPAddressFactory(is_management=True) other_address.save() data = { 'ip': 'Save', 'ip-0-address': self.regular_ipaddr.address, 'ip-0-hostname': self.regular_ipaddr.hostname, 'ip-0-id': self.regular_ipaddr.id, 'ip-1-address': other_address.address, 'ip-1-hostname': 'hostname.dc1', 'ip-1-id': '', 'ip-INITIAL_FORMS': '1', 'ip-TOTAL_FORMS': '2', } response=self.client.post(self.url, data) self.assertContains( response, 'To assign management IP to this device use the linked asset' ) self.assertNotIn(other_address, self.device.ipaddress_set.all())
def setUp(self): super(TestChangeIPAddress, self).setUp() self.user = create_user() self.sample_dev = DeviceFactory() self.sample_ip_1 = IPAddressFactory( address="10.0.1.1", device=self.sample_dev, hostname="d001.dc", ) self.sample_dhcp_entry_1 = DHCPEntryFactory( ip="10.0.1.1", mac="aa:cc:bb:11:22:33", ) self.sample_dns_domain = DNSDomainFactory(name='dc') self.sample_dns_record = DNSRecordFactory( name='d001.dc', type='A', content='10.0.1.1', domain=self.sample_dns_domain, )
def test_preferred(self): """Preferred way of setting management_ip is readable.""" dev = DeviceFactory() management = IPAddressFactory(is_management=True) dev.ipaddress_set.add(management) self.assertEqual(management, dev.management_ip)
def test_legacy(self): """Legacy way of setting management_ip is readable.""" dev = DeviceFactory() dev.management = IPAddressFactory(is_management=True) self.assertEqual(dev.management, dev.management_ip)
def test_mass_deployment(self): ip = '10.80.80.101' self.test_prepare_mass_deployment() ip_address = IPAddressFactory() device_model = DeviceModelFactory( type=DeviceType.rack, name="testrack", ) device = DeviceFactory( name="testdevice", model=device_model, sn="testsn", ) device.ipaddress.add(ip_address) ethernet = EthernetFactory.create( mac="0022b0000000", device=device, ) self.network.racks.add(device) mass_deployment = MassDeployment.objects.all()[0] dns_domain = DNSDomainFactory(name='dc') dns_record = DNSRecordFactory( name='d001.dc', type='A', content=ip_address.address, domain=dns_domain, ) url = reverse( 'mass_deploy', kwargs={"deployment": mass_deployment.id}, ) csv = ('{0}; {1}; {2}; ' '{3}; 10.80.80.102; {4}; {5} ; {6} ; {7} ; {8} ; {9}'.format( dns_record.name, ip, device.sn, ethernet.mac, self.network.name, self.venture_role.venture.symbol.upper(), self.venture_role.name, self.service.name, self.device_environment.name, self.preboot.name, )) response = self.client.post(url, { 'csv': csv, }) self._base_check_for_mass_deployment(response, 'generated_csv', csv) deployment = Deployment.objects.get(device=device) self.assertEqual(deployment.venture, self.venture_role.venture) self.assertEqual(deployment.venture_role, self.venture_role) self.assertEqual(deployment.service, self.service) self.assertEqual( deployment.device_environment, self.device_environment, ) self.assertEqual(deployment.preboot, self.preboot) self.assertEqual(deployment.ip, ip) self.assertEqual( deployment.mac, MACAddressField.normalize(ethernet.mac), )
def setUp(self): self.sample_ip = IPAddressFactory(address="127.0.0.1")