sssd_test_framework.utils.network

Network utilities.

Classes

IPUtils(*args, **kwargs)

IP utilities.

NetworkUtils(*args, **kwargs)

class sssd_test_framework.utils.network.NetworkUtils(*args, **kwargs)

Bases: MultihostUtility[MultihostHost]

Parameters:
  • host (MultihostHost) – Remote host.

  • fs (LinuxFileSystem) – File system object.

ip(name: str | None = None) IPUtils

Run ip commands.

tcpdump(pcap_path: str, args: list[Any] | None = None) SSHKillableProcess

Run tcpdump. The packets are captured in pcap_path.

Parameters:
  • pcap_path (str) – Path to the capture file.

  • args (list[Any] | None, optional) – Arguments to tcpdump, defaults to None

Returns:

Killable process.

Return type:

SSHKillableProcess

tshark(args: list[Any] | None = None) ProcessResult

Execute tshark command with given arguments.

Parameters:

args (list[Any] | None, optional) – Arguments to tshark, defaults to None

Returns:

SSH Process result

Return type:

ProcessResult

dig(address: str, server: str | None = None, attempts: int = 30, delay: int = 2) list[dict] | None

Execute and parse dig command.

This returns a list of dicts with the following keys: {name, type, ttl, data, all_data}

Example usage
    # Assert the record exists
    assert client.net.dig(hostname, provider.server)
    assert any(r["data"] == ip for r in client.net.dig(hostname, provider.server))

    # Assert the reverse record exists
    assert client.net.dig(ip, provider.server)
    assert any(r["data"] == hostname for r in client.net.dig(ip, provider.server))
Parameters:
  • address (str) – Hostname or ip.

  • server (str = "") – DNS server, optional, defaults to “”

  • attempts (int) – Number of attempts, defaults to 5

  • delay (int) – Delay between attempts, defaults to 3

Returns:

List of dig results.

Return type:

list[dict]

class sssd_test_framework.utils.network.IPUtils(*args, **kwargs)

Bases: MultihostUtility[MultihostHost]

IP utilities.

Example usage
# Create dummy interfaces
client.net.ip(name="dummy0").add_device(ip="172.16.2.40")
client.net.ip(name="dummy0").add_device(ip="2001:db8::1")
client.net.ip(name="dummy0").add_device(ip=["172.16.2.40", "2001:db8::1"])

# Get default device
default_device  = client.net.ip().default_device

# Get default gateway
gateway_ip = client.net.ip().default_gateway
Parameters:
  • host (MultihostHost) – Remote host.

  • fs (LinuxFileSystem) – File system object.

  • name (str | None) – Name of interface.

default_device: Any | None

Default device.

default_gateway: Any | None

Default gateway.

property name: Any | None

Device name.

property nameservers: Any | None

Get nameservers.

property address: Any | None

Get ipv4 address.

property addresses: tuple[Any | None, Any | None]

Get ipv4 and ipv6 addresses.

property netmask: str | None

Get network mask.

add_device(ip: str | list[str]) IPUtils

Add and create a link to a dummy device.This is used by dyndns tests.

Parameters:

ip (str | list[str]) – IP address or list of IP addresses.

Returns:

IPUtils object.

Return type:

IPUtils