def test_covering_cidr(ips):
"""
covering_cidr() gets the minimal CIDR that covers given IPs.
In particular, that means any subnets should *not* cover all given IPs.
"""
cidr = telepresence.vpn.covering_cidr(ips)
assert isinstance(cidr, str)
cidr = ipaddress.IPv4Network(cidr)
assert cidr.prefixlen <= 24
# All IPs in given CIDR:
ips = [ipaddress.IPv4Address(i) for i in ips]
assert all([ip in cidr for ip in ips])
# Subnets do not contain all IPs if we're not in minimum 24 bit CIDR:
if cidr.prefixlen < 24:
for subnet in cidr.subnets():
assert not all([ip in subnet for ip in ips])
评论列表
文章目录