Exemple #1
0
 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")
Exemple #2
0
 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',
     )
Exemple #3
0
 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()
Exemple #4
0
 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", )
Exemple #5
0
 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)
Exemple #6
0
 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())
Exemple #7
0
 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())
Exemple #8
0
 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())
Exemple #9
0
 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())
Exemple #10
0
 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,
     )
Exemple #11
0
 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)
Exemple #12
0
 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),
        )
Exemple #14
0
 def setUp(self):
     self.sample_ip = IPAddressFactory(address="127.0.0.1")