sssd_test_framework.utils.sss_override

Classes

SSSOverrideGroup(util, group)

Management of local override for group.

SSSOverrideUser(util, user)

Management of local override for users using sss_override.

SSSOverrideUtils(*args, **kwargs)

Management of local override users and groups, using sss_override.

class sssd_test_framework.utils.sss_override.SSSOverrideUtils(*args, **kwargs)

Bases: MultihostUtility[MultihostHost]

Management of local override users and groups, using sss_override.

Parameters:
  • host (MultihostHost) – Remote host instance.

  • fs (LinuxFileSystem) – Linux file system

user(name: str) SSSOverrideUser

Get local override user object.

Example usage
@pytest.mark.topology(KnownTopology.LDAP)
def test_example(client: Client, ldap: LDAP):
    # Add user
    ldap.user("user-1").add(uid=10001, gid=10001, gecos="gecos")

    # SSSD must be running for sss_override to work
    client.sssd.start()

    # Create local override for the user
    client.sss_override.user("user-1").add(name="o-user-1", uid=20001, gid=20001, gecos="o-gecos")

    # SSSD must be restarted so newly created view can be applied
    client.sssd.restart()

    # Check the result
    result = client.tools.getent.passwd("o-user-1")
    assert result is not None
    assert result.name == "o-user-1"
    assert result.uid == 20001
    assert result.gid == 20001
    assert result.gecos == "o-gecos"
Parameters:

name (str) – User.

Returns:

New user local override object.

Return type:

SSSOverrideUser

group(group: str) SSSOverrideGroup

Get local override group object.

Example usage
@pytest.mark.topology(KnownTopology.LDAP)
def test_example(client: Client, ldap: LDAP):
    # Add group
    ldap.group("group-1").add(gid=10001)

    # SSSD must be running for sss_override to work
    client.sssd.start()

    # Create local override for the user
    client.sss_override.group("group-1").add(name="o-group-1", gid=20001)

    # SSSD must be restarted so newly created view can be applied
    client.sssd.restart()

    # Check the result
    result = client.tools.getent.group("o-group-1")
    assert result is not None
    assert result.name == "o-group-1"
    assert result.gid == 20001
Parameters:

group (str) – Group name.

Returns:

New group object.

Return type:

SSSOverrideGroup

export_data(*, users: str | None = '/tmp/sss_override_users.bak', groups: str | None = '/tmp/sss_override_groups.bak') None

Exports local override data for all users and groups.

Parameters:
  • users (str | None) – File location where users will be exported, if None then user export is omitted. Defaults to /tmp/sss_override_users.bak.

  • groups (str | None) – File location where groups will be exported, if None then group export is omitted. Defaults to /tmp/sss_override_groups.bak.

import_data(*, users: str | None = '/tmp/sss_override_users.bak', groups: str | None = '/tmp/sss_override_groups.bak') None

Import users and groups local override data.

Parameters:
  • users (str | None) – File location with user overrides that will be imported, if None then user import is omitted. Defaults to /tmp/sss_override_users.bak.

  • groups (str | None) – File location with group overrides that will be imported, if None then group import is omitted. Defaults to /tmp/sss_override_groups.bak.

class sssd_test_framework.utils.sss_override.SSSOverrideUser(util: SSSOverrideUtils, user: str)

Bases: object

Management of local override for users using sss_override.

Parameters:
  • util (SSSOverrideUser) – OverrideUser object.

  • user (str) – User name.

add(*, uid: int | None = None, gid: int | None = None, name: str | None = None, home: str | None = None, gecos: str | None = None, shell: str | None = None, certificate: str | None = None) SSSOverrideUser

Create new local override for user.

Parameters:
  • uid (int | None, optional) – User id, defaults to None

  • gid (int | None, optional) – Primary group id, defaults to None

  • name (str | None, optional) –

    None, optional

  • home (str | None, optional) – Home directory, defaults to None

  • gecos (str | None, optional) – GECOS, defaults to None

  • shell (str | None, optional) – Login shell, defaults to None

  • certificate (str | None, optional) – PKI certificate defaults to None

Returns:

Self.

Return type:

SSSOverrideUser

delete() SSSOverrideUser

Delete the local override for user.

get(attrs: list[str] | None = None) dict[str, list[str]] | None

Get local override data for user.

Parameters:

attrs (list[str] | None, optional) – If set, only requested attributes are returned, defaults to None, returning all attributes

Returns:

Dictionary with attribute name as a key.

Return type:

dict[str, list[str]]

class sssd_test_framework.utils.sss_override.SSSOverrideGroup(util: SSSOverrideUtils, group: str)

Bases: object

Management of local override for group.

Parameters:
  • util (SSSOverrideUtils) – SSSOverrideUtils utility object.

  • group (str) – Group name.

add(*, name: str | None = None, gid: int | None = None) SSSOverrideGroup

Create new local override for group.

Parameters:
  • name (str | None, required) – Group local override name, defaults to None

  • gid (int | None, optional) – Group id, defaults to None

Returns:

Self.

Return type:

SSSOverrideGroup

delete() SSSOverrideGroup

Delete the local override for group.

get(attrs: list[str] | None = None) dict[str, list[str]] | None

Get local override attributes for group.

Parameters:

attrs (list[str] | None, optional) – If set, only requested attributes are returned, defaults to None, returning all attributes

Returns:

Dictionary with attribute name as a key.

Return type:

dict[str, list[str]]