sssd_test_framework.roles.client

Client multihost role.

Classes

Client(*args, **kwargs)

SSSD Client role.

class sssd_test_framework.roles.client.Client(*args, **kwargs)

Bases: BaseLinuxRole[ClientHost]

SSSD Client role.

Provides unified Python API for managing and testing SSSD.

Starting SSSD
@pytest.mark.topology(KnownTopology.Client)
def test_example(client: Client):
    client.sssd.start()

Note

The role object is instantiated automatically as a dynamic pytest fixture by the multihost plugin. You should not create the object manually.

sssd: SSSDUtils

Managing and configuring SSSD.

sssctl: SSSCTLUtils

Call commands from sssctl.

realm: RealmUtils

Call commands from realm.

adcli: AdcliUtils

Call commands from adcli.

ldb: LDBUtils

Utility for ldb functions.

automount: AutomountUtils

Methods for testing automount.

local: LocalUsersUtils

Managing local users and groups.

sss_override: SSSOverrideUtils

Managing local overrides users and groups.

ifp: DBUSDestination

The D-bus destination for infopipe.

smartcard: SmartCardUtils

Utility class for managing smart card operations using SoftHSM and PKCS#11.

gdm: GDM

Managing GDM interface from SCAutolib

vfido: Vfido

Managing virtual passkey device and service

setup() None

Called before execution of each test.

Setup client host:

  1. stop sssd

  2. clear sssd cache, logs and configuration

  3. import implicit domains from topology marker

sss_ssh_knownhosts(*args: str) ProcessResult

Execute sss_ssh_knownhosts.

Parameters:

*args (str) – Command arguments.

Returns:

Command result.

Return type:

ProcessResult

sss_ssh_authorizedkeys(*args: str) ProcessResult

Execute sss_ssh_authorizedkeys.

Parameters:

*args (str) – Command arguments.

Returns:

Command result.

Return type:

ProcessResult

user(name: str) LocalUser

Get user object.

Parameters:

name (str) – User name.

Returns:

New user object.

Return type:

LocalUser

group(name: str) LocalGroup

Get group object. :param name: Group name. :type name: str :return: New group object. :rtype: LocalGroup

sudoalias(name: str, kind: Literal['user', 'runas', 'host', 'command']) LocalSudoAlias

Get sudo alias object. :param name: Sudo alias name. :type name: str :param kind: Alias kind. :type kind: LocalSudoAliasKind :return: New sudo alias object. :rtype: LocalSudoAlias

netgroup(name: str) LocalNetgroup

Get netgroup object. :param name: Netgroup name. :type name: str :return: New netgroup object. :rtype: LocalNetgroup

sudorule(name: str) LocalSudoRule

Get sudo rule object. :param name: Sudo rule name. :type name: str :return: New sudo rule object. :rtype: LocalSudoRule