def test1_create_ipv4_interface_network_str(self): v, _ = Vlan.objects.get_or_create(name="12db", number=3) s, _ = Site.objects.get_or_create(name="12scl3") d, _ = Domain.objects.get_or_create(name="12scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="12db.12scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="arpa") d, _ = Domain.objects.get_or_create(name="in-addr.arpa") d, _ = Domain.objects.get_or_create(name="12.in-addr.arpa") n = Network(network_str="12.0.0.0/24", ip_type="4") n.clean() n.site = s n.vlan = v n.save() n1 = Network(network_str="12.0.1.0/24", ip_type="4") n1.clean() n1.site = s n1.vlan = v n1.save() r = Range(start_str="12.0.0.0", end_str="12.0.0.2", network=n, ip_type='4') r.clean() r.save() r1 = Range(start_str="12.0.1.0", end_str="12.0.1.2", network=n1, ip_type='4') r1.clean() r1.save() intr, errors = create_ipv4_interface("foo", "12db", "12scl3", self.system, "11:22:33:4e:55:66", "mozilla.com") self.assertTrue('network' in errors) self.assertTrue( errors['network'][0].find("too many networks associated") != -1) # Look for a non-existant network intr, errors = create_ipv4_interface("foo", "12db", "12scl3", self.system, "11:22:33:4e:55:66", "mozilla.com", network_str="12.0.99.0/24") self.assertTrue('network' in errors) intr, errors = create_ipv4_interface("foo", "12db", "12scl3", self.system, "11:22:33:4e:55:66", "mozilla.com", network_str="12.0.0.0/24") self.assertFalse(errors) self.assertTrue(isinstance(intr, StaticInterface))
def create_objects(nvars): # There needs to be major exception handling here. Things can go pretty # wrong. ip_type = nvars.get('ip_type', None) network_str = nvars.get('network_str', None) network = Network(network_str=network_str, ip_type=ip_type) network.update_network() site_pk = nvars.get('site_pk', '') if not site_pk: site = None else: site = Site.objects.get(pk=site_pk) network.site = site if nvars.get('vlan_action', '') == "new": vlan_name = nvars.get('vlan_name', None) vlan_number = nvars.get('vlan_number', None) vlan = Vlan(name=vlan_name, number=vlan_number) elif nvars.get('vlan_action', '') == "existing": vlan_number = nvars.get('vlan_pk', '') if not vlan_number: raise ValidationError("You selected to use an existing vlan. " "Pleasechoose a vlan.") vlan = Vlan.objects.get(pk=vlan_number) else: vlan = None network.vlan = vlan return site, network, vlan
def test8_create_ipv4_interface(self): v, _ = Vlan.objects.get_or_create(name="8db", number=3) s, _ = Site.objects.get_or_create(name="8scl3") s1, _ = Site.objects.get_or_create(name="8dmz", parent=s) d, _ = Domain.objects.get_or_create(name="8scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="8dmz.8scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="8db.8dmz.8scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="arpa") d, _ = Domain.objects.get_or_create(name="in-addr.arpa") d, _ = Domain.objects.get_or_create(name="15.in-addr.arpa") n = Network(network_str="15.0.0.0/8", ip_type="4") n.clean() n.site = s1 n.vlan = v n.save() r = Range(start_str="15.0.0.0", end_str="15.0.0.2", network=n, ip_type='4') r.clean() r.save() intr, errors = create_ipv4_interface(label="foo", vlan_str="8db", site_str="8dmz.8scl3", system=self.system, mac="11:22:33:44:55:66", domain_suffix="mozilla.com") self.assertEqual(errors, None) self.assertTrue(isinstance(intr, StaticInterface))
def test2_create_ipv4_interface_from_domain(self): v, _ = Vlan.objects.get_or_create(name="private", number=3) s, _ = Site.objects.get_or_create(name="phx1") s1, _ = Site.objects.get_or_create(name="corp", parent=s) d, _ = Domain.objects.get_or_create(name="phx1.mozilla.com") d1, _ = Domain.objects.get_or_create(name="corp.phx1.mozilla.com") d2, _ = Domain.objects.get_or_create( name="private.corp.phx1.mozilla.com") d, _ = Domain.objects.get_or_create(name="arpa") d, _ = Domain.objects.get_or_create(name="in-addr.arpa") d, _ = Domain.objects.get_or_create(name="14.in-addr.arpa") n = Network(network_str="14.0.0.0/8", ip_type="4") n.clean() n.site = s1 n.vlan = v n.save() r = Range(start_str="14.0.0.0", end_str="14.0.0.2", network=n, ip_type='4') r.clean() r.save() intr, errors = create_ipv4_intr_from_domain("foo", "private.corp.phx1", self.system, "11:22:33:44:55:66") self.assertEqual(errors, None) self.assertTrue(isinstance(intr, StaticInterface))
def setUp(self): self.system = System() self.system.save() d1 = create_fake_zone("oregonstate.com", suffix="") soa = d1.soa self.soa = soa v, _ = Vlan.objects.get_or_create(name="private", number=3) s, _ = Site.objects.get_or_create(name="phx1") s1, _ = Site.objects.get_or_create(name="corp", parent=s) d, _ = Domain.objects.get_or_create(name="phx1.oregonstate.com") d.soa = soa d.save() d1, _ = Domain.objects.get_or_create(name="corp.phx1.oregonstate.com") d1.soa = soa d1.save() d2, _ = Domain.objects.get_or_create( name="private.corp.phx1.oregonstate.com") d2.soa = soa d2.save() d, _ = Domain.objects.get_or_create(name="arpa") d, _ = Domain.objects.get_or_create(name="in-addr.arpa") d, _ = Domain.objects.get_or_create(name="15.in-addr.arpa") n = Network(network_str="15.0.0.0/8", ip_type="4") n.clean() n.site = s1 n.vlan = v n.save() r = Range(start_str="15.0.0.0", end_str="15.0.0.10", network=n, ip_type='4') r.clean() r.save()
def test2_create_ipv4_interface_from_domain(self): v, _ = Vlan.objects.get_or_create(name="private", number=3) s, _ = Site.objects.get_or_create(name="phx1") s1, _ = Site.objects.get_or_create(name="corp", parent=s) d, _ = Domain.objects.get_or_create(name="phx1.mozilla.com") d1, _ = Domain.objects.get_or_create(name="corp.phx1.mozilla.com") d2, _ = Domain.objects.get_or_create( name="private.corp.phx1.mozilla.com") d, _ = Domain.objects.get_or_create(name="arpa") d, _ = Domain.objects.get_or_create(name="in-addr.arpa") d, _ = Domain.objects.get_or_create(name="14.in-addr.arpa") n = Network(network_str="14.0.0.0/8", ip_type="4") n.clean() n.site = s1 n.vlan = v n.save() r = Range(start_str="14.0.0.0", end_str="14.0.0.2", network=n) r.clean() r.save() intr, errors = create_ipv4_intr_from_domain( "foo", "private.corp.phx1", self.system, "11:22:33:44:55:66") self.assertEqual(errors, None) self.assertTrue(isinstance(intr, StaticInterface))
def test1_create_ipv4_interface_from_domain(self): v, _ = Vlan.objects.get_or_create(name="private", number=3) s, _ = Site.objects.get_or_create(name="phx1") d, _ = Domain.objects.get_or_create(name="phx1.mozilla.com") d, _ = Domain.objects.get_or_create(name="private.phx1.mozilla.com") d, _ = Domain.objects.get_or_create(name="arpa") d, _ = Domain.objects.get_or_create(name="in-addr.arpa") d, _ = Domain.objects.get_or_create(name="13.in-addr.arpa") n = Network(network_str="13.0.0.0/8", ip_type="4") n.clean() n.site = s n.vlan = v n.save() r = Range(start_str="13.0.0.0", end_str="13.0.0.2", network=n, ip_type='4') r.clean() r.save() intr, errors = create_ipv4_intr_from_domain( label="foo", domain_name="private.phx1", system=self.system, mac="11:22:33:44:55:66") self.assertEqual(errors, None) self.assertTrue(isinstance(intr, StaticInterface))
def create_objects(nvars): # There needs to be major exception handling here. Things can go pretty # wrong. ip_type = nvars.get('ip_type', None) network_str = nvars.get('network_str', None) network = Network(network_str=network_str, ip_type=ip_type) network.update_network() site_pk = nvars.get('site_pk', '') if not site_pk: site = None else: site = Site.objects.get(pk=site_pk) network.site = site if nvars.get('vlan_action', '') == "new": vlan_name = nvars.get('vlan_name', None) vlan_number = nvars.get('vlan_number', None) vlan = Vlan(name=vlan_name, number=vlan_number) elif nvars.get('vlan_action', '') == "existing": vlan_number = nvars.get('vlan_pk', '') if not vlan_number: raise ValidationError("You selected to use an existing vlan. " "Pleasechoose a vlan.") vlan = Vlan.objects.get(pk=vlan_number) else: vlan = None network.vlan = vlan return site, network, vlan
def test8_create_ipv4_interface(self): v, _ = Vlan.objects.get_or_create(name="8db", number=3) s, _ = Site.objects.get_or_create(name="8scl3") s1, _ = Site.objects.get_or_create(name="8dmz", parent=s) d, _ = Domain.objects.get_or_create(name="8scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="8dmz.8scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="8db.8dmz.8scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="arpa") d, _ = Domain.objects.get_or_create(name="in-addr.arpa") d, _ = Domain.objects.get_or_create(name="15.in-addr.arpa") n = Network(network_str="15.0.0.0/8", ip_type="4") n.clean() n.site = s1 n.vlan = v n.save() r = Range(start_str="15.0.0.0", end_str="15.0.0.2", network=n) r.clean() r.save() intr, errors = create_ipv4_interface( "foo", "8db", "8dmz.8scl3", self.system, "11:22:33:44:55:66", "mozilla.com") self.assertEqual(errors, None) self.assertTrue(isinstance(intr, StaticInterface))
def test1_create_ipv4_interface_network_str(self): v, _ = Vlan.objects.get_or_create(name="12db", number=3) s, _ = Site.objects.get_or_create(name="12scl3") d, _ = Domain.objects.get_or_create(name="12scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="12db.12scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="arpa") d, _ = Domain.objects.get_or_create(name="in-addr.arpa") d, _ = Domain.objects.get_or_create(name="12.in-addr.arpa") n = Network(network_str="12.0.0.0/24", ip_type="4") n.clean() n.site = s n.vlan = v n.save() n1 = Network(network_str="12.0.1.0/24", ip_type="4") n1.clean() n1.site = s n1.vlan = v n1.save() r = Range(start_str="12.0.0.0", end_str="12.0.0.2", network=n) r.clean() r.save() r1 = Range(start_str="12.0.1.0", end_str="12.0.1.2", network=n1) r1.clean() r1.save() intr, errors = create_ipv4_interface( "foo", "12db", "12scl3", self.system, "11:22:33:4e:55:66", "mozilla.com") self.assertTrue('network' in errors) self.assertTrue( errors['network'][0].find("too many networks associated") != -1) # Look for a non-existant network intr, errors = create_ipv4_interface( "foo", "12db", "12scl3", self.system, "11:22:33:4e:55:66", "mozilla.com", network_str="12.0.99.0/24") self.assertTrue('network' in errors) intr, errors = create_ipv4_interface( "foo", "12db", "12scl3", self.system, "11:22:33:4e:55:66", "mozilla.com", network_str="12.0.0.0/24") self.assertFalse(errors) self.assertTrue(isinstance(intr, StaticInterface))
def test6_create_ipv4_interface(self): v, _ = Vlan.objects.get_or_create(name="6db", number=3) s, _ = Site.objects.get_or_create(name="6scl3") d, _ = Domain.objects.get_or_create(name="6scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="6db.6scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="arpa") d, _ = Domain.objects.get_or_create(name="in-addr.arpa") d, _ = Domain.objects.get_or_create(name="11.in-addr.arpa") n = Network(network_str="11.0.0.0/8", ip_type="4") n.clean() n.site = s n.vlan = v n.save() r = Range(start_str="11.0.0.0", end_str="11.0.0.2", network=n, ip_type='4') r.clean() r.save() s = StaticInterface(label="fab", domain=d, ip_type="4", ip_str="11.0.0.0", system=self.system, mac="00:00:00:00:00:00") s.clean() s.save() s = StaticInterface(label="fab", domain=d, ip_type="4", ip_str="11.0.0.1", system=self.system, mac="00:00:00:00:00:00") s.clean() s.save() s = StaticInterface(label="fab", domain=d, ip_type="4", ip_str="11.0.0.2", system=self.system, mac="00:00:00:00:00:00") s.clean() s.save() intr, errors = create_ipv4_interface("foo", "6db", "6scl3", self.system, "11:22:33:44:55:66", "mozilla.com") self.assertEqual(intr, None) self.assertTrue("vlan" not in errors) self.assertTrue("site" not in errors) self.assertTrue("domain" not in errors) self.assertTrue("network" not in errors) self.assertTrue("range" not in errors) self.assertTrue("ip" in errors)
def test6_create_ipv4_interface(self): v, _ = Vlan.objects.get_or_create(name="6db", number=3) s, _ = Site.objects.get_or_create(name="6scl3") d, _ = Domain.objects.get_or_create(name="6scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="6db.6scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="arpa") d, _ = Domain.objects.get_or_create(name="in-addr.arpa") d, _ = Domain.objects.get_or_create(name="11.in-addr.arpa") n = Network(network_str="11.0.0.0/8", ip_type="4") n.clean() n.site = s n.vlan = v n.save() r = Range(start_str="11.0.0.0", end_str="11.0.0.2", network=n, ip_type='4') r.clean() r.save() s = StaticInterface(label="fab", domain=d, ip_type="4", ip_str="11.0.0.0", system=self.system, mac="00:00:00:00:00:00") s.clean() s.save() s = StaticInterface(label="fab", domain=d, ip_type="4", ip_str="11.0.0.1", system=self.system, mac="00:00:00:00:00:00") s.clean() s.save() s = StaticInterface(label="fab", domain=d, ip_type="4", ip_str="11.0.0.2", system=self.system, mac="00:00:00:00:00:00") s.clean() s.save() intr, errors = create_ipv4_interface( "foo", "6db", "6scl3", self.system, "11:22:33:44:55:66", "mozilla.com") self.assertEqual(intr, None) self.assertTrue("vlan" not in errors) self.assertTrue("site" not in errors) self.assertTrue("domain" not in errors) self.assertTrue("network" not in errors) self.assertTrue("range" not in errors) self.assertTrue("ip" in errors)
def test5_create_ipv4_interface(self): v, _ = Vlan.objects.get_or_create(name="5db", number=3) s, _ = Site.objects.get_or_create(name="5scl3") d, _ = Domain.objects.get_or_create(name="5scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="5db.5scl3.mozilla.com") n = Network(network_str="10.0.0.0/8", ip_type="4") n.clean() n.site = s n.vlan = v n.save() intr, errors = create_ipv4_interface("foo", "5db", "5scl3", self.system, "11:22:33:44:55:66", "mozilla.com") self.assertEqual(intr, None) self.assertTrue("vlan" not in errors) self.assertTrue("site" not in errors) self.assertTrue("domain" not in errors) self.assertTrue("network" not in errors) self.assertTrue("range" in errors)
def test5_create_ipv4_interface(self): v, _ = Vlan.objects.get_or_create(name="5db", number=3) s, _ = Site.objects.get_or_create(name="5scl3") d, _ = Domain.objects.get_or_create(name="5scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="5db.5scl3.mozilla.com") n = Network(network_str="10.0.0.0/8", ip_type="4") n.clean() n.site = s n.vlan = v n.save() intr, errors = create_ipv4_interface( "foo", "5db", "5scl3", self.system, "11:22:33:44:55:66", "mozilla.com") self.assertEqual(intr, None) self.assertTrue("vlan" not in errors) self.assertTrue("site" not in errors) self.assertTrue("domain" not in errors) self.assertTrue("network" not in errors) self.assertTrue("range" in errors)
def setUp(self): self.system = System() Domain.objects.get_or_create(name="com") d1, _ = Domain.objects.get_or_create(name="mozilla.com") soa, _ = SOA.objects.get_or_create( primary="fo.bar", contact="foo.bar.com", comment="foo bar") self.s = soa d1.soa = soa d1.save() v, _ = Vlan.objects.get_or_create(name="private", number=3) s, _ = Site.objects.get_or_create(name="phx1") s1, _ = Site.objects.get_or_create(name="corp", parent=s) d, _ = Domain.objects.get_or_create(name="phx1.mozilla.com") d.soa = soa d.save() d1, _ = Domain.objects.get_or_create(name="corp.phx1.mozilla.com") d1.soa = soa d1.save() d2, _ = Domain.objects.get_or_create( name="private.corp.phx1.mozilla.com") d2.soa = soa d2.save() d, _ = Domain.objects.get_or_create(name="arpa") d, _ = Domain.objects.get_or_create(name="in-addr.arpa") d, _ = Domain.objects.get_or_create(name="ipv6.arpa") d, _ = Domain.objects.get_or_create(name="15.in-addr.arpa") d, _ = Domain.objects.get_or_create(name="2.in-addr.arpa") n = Network(network_str="15.0.0.0/8", ip_type="4") n.clean() n.site = s1 n.vlan = v n.save() r = Range(start_str="15.0.0.0", end_str="15.0.0.10", network=n) r.clean() r.save()
def setUp(self): self.system = System() Domain.objects.get_or_create(name="com") d1, _ = Domain.objects.get_or_create(name="mozilla.com") soa, _ = SOA.objects.get_or_create(primary="fo.bar", contact="foo.bar.com", comment="foo bar") self.s = soa d1.soa = soa d1.save() v, _ = Vlan.objects.get_or_create(name="private", number=3) s, _ = Site.objects.get_or_create(name="phx1") s1, _ = Site.objects.get_or_create(name="corp", parent=s) d, _ = Domain.objects.get_or_create(name="phx1.mozilla.com") d.soa = soa d.save() d1, _ = Domain.objects.get_or_create(name="corp.phx1.mozilla.com") d1.soa = soa d1.save() d2, _ = Domain.objects.get_or_create( name="private.corp.phx1.mozilla.com") d2.soa = soa d2.save() d, _ = Domain.objects.get_or_create(name="arpa") d, _ = Domain.objects.get_or_create(name="in-addr.arpa") d, _ = Domain.objects.get_or_create(name="ipv6.arpa") d, _ = Domain.objects.get_or_create(name="15.in-addr.arpa") d, _ = Domain.objects.get_or_create(name="2.in-addr.arpa") n = Network(network_str="15.0.0.0/8", ip_type="4") n.clean() n.site = s1 n.vlan = v n.save() r = Range(start_str="15.0.0.0", end_str="15.0.0.10", network=n) r.clean() r.save()
def test7_create_ipv4_interface(self): v, _ = Vlan.objects.get_or_create(name="7db", number=3) s, _ = Site.objects.get_or_create(name="7scl3") d, _ = Domain.objects.get_or_create(name="7scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="7db.7scl3.mozilla.com") d, _ = Domain.objects.get_or_create(name="arpa") d, _ = Domain.objects.get_or_create(name="in-addr.arpa") d, _ = Domain.objects.get_or_create(name="12.in-addr.arpa") n = Network(network_str="12.0.0.0/8", ip_type="4") n.clean() n.site = s n.vlan = v n.save() r = Range(start_str="12.0.0.0", end_str="12.0.0.2", network=n) r.clean() r.save() intr, errors = create_ipv4_interface("foo", "7db", "7scl3", self.system, "11:22:33:44:55:66", "mozilla.com") self.assertEqual(errors, None) self.assertTrue(isinstance(intr, StaticInterface))