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) 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 “”

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", netmask="255.255.255.0")
client.net.ip(name="dummy0").add_device(ip="172.16.2.40", netmask="24")
client.net.ip(name="dummy0").add_device(ip="172.16.2.40")

# 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, netmask: str = '255.255.255.0') IPUtils

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

Parameters:
  • ip (str) – IP address.

  • netmask (str, optional) – IP network mask, defaults to 255.255.255.0

Returns:

IPUtils object.

Return type:

IPUtils