示例#1
0
 def test_change_dynamic_to_reserved(self):
     subnet = make_plain_subnet()
     iprange = IPRange(
         subnet=subnet,
         type=IPRANGE_TYPE.DYNAMIC,
         start_ip="192.168.0.2",
         end_ip="192.168.0.5",
     )
     iprange.save()
     # Reserved should save OK overlapping gateway IP.
     iprange.type = IPRANGE_TYPE.RESERVED
     iprange.start_ip = "192.168.0.1"
     iprange.save()
示例#2
0
    def test_change_reserved_to_dynamic(self):
        subnet = make_plain_subnet()
        iprange = IPRange(
            subnet=subnet,
            type=IPRANGE_TYPE.RESERVED,
            start_ip="192.168.0.1",
            end_ip="192.168.0.5",
        )
        # Reserved should save OK overlapping gateway IP.
        iprange.save()

        # Dynamic should not save overlapping gateway IP.
        iprange.type = IPRANGE_TYPE.DYNAMIC
        with ExpectedException(ValidationError, self.dynamic_overlaps):
            iprange.save()
        # Fix start_ip and now it should save.
        iprange.start_ip = "192.168.0.2"
        iprange.save()
示例#3
0
 def test_no_save_range_overlap_begin(self):
     subnet = make_plain_subnet()
     IPRange(
         subnet=subnet,
         type=IPRANGE_TYPE.DYNAMIC,
         start_ip="192.168.0.100",
         end_ip="192.168.0.150",
     ).save()
     # Make an overlapping range across start_ip, should fail to save.
     iprange = IPRange(
         subnet=subnet,
         type=IPRANGE_TYPE.DYNAMIC,
         start_ip="192.168.0.90",
         end_ip="192.168.0.100",
     )
     with ExpectedException(ValidationError, self.dynamic_overlaps):
         iprange.save()
     # Try as reserved range.
     iprange.type = IPRANGE_TYPE.RESERVED
     with ExpectedException(ValidationError, self.reserved_overlaps):
         iprange.save()