diff --git a/test/conftest.py b/test/conftest.py index ed7459f9f4ec2386f75f85631837b085fdf0f537..54343abf6a6456b2fd91f326ea12dacd1e01532d 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -1,4 +1,5 @@ import contextlib +import ipaddress import logging import os from pathlib import Path @@ -41,6 +42,23 @@ class UseJuniperSide(strEnum): class FakerProvider(BaseProvider): + def ipv4_network(self, *, min_subnet=1, max_subnet=32) -> ipaddress.IPv4Network: + subnet = str(self.generator.random_int(min=min_subnet, max=max_subnet)) + ipv4 = self.generator.ipv4() + interface = ipaddress.IPv4Interface(ipv4 + "/" + subnet) + # Extra step for converting ``10.53.92.39/24`` to ``10.53.92.0/24`` + network = interface.network.network_address + + return ipaddress.IPv4Network(str(network) + "/" + subnet) + + def ipv6_network(self, *, min_subnet=1, max_subnet=128) -> ipaddress.IPv6Network: + subnet = str(self.generator.random_int(min=min_subnet, max=max_subnet)) + ipv6 = self.generator.ipv6() + interface = ipaddress.IPv6Interface(ipv6 + "/" + subnet) + network = interface.network.network_address + + return ipaddress.IPv6Network(str(network) + "/" + subnet) + def tt_number(self) -> str: random_date = self.generator.date(pattern="%Y%m%d") random_int = self.generator.random_int(min=10000000, max=99999999)