sssd_test_framework.topology

SSSD predefined well-known topologies.

Classes

KnownTopology(value[, names, module, ...])

Well-known topologies that can be given to pytest.mark.topology directly.

KnownTopologyGroup(value[, names, module, ...])

Groups of well-known topologies that can be given to pytest.mark.topology directly.

SSSDTopologyMark(name, topology, *[, ...])

Topology mark is used to describe test case requirements.

final class sssd_test_framework.topology.KnownTopology(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: KnownTopologyBase

Well-known topologies that can be given to pytest.mark.topology directly. It is expected to use these values in favor of providing custom marker values.

Example usage
@pytest.mark.topology(KnownTopology.LDAP)
def test_ldap(client: Client, ldap: LDAP):
    assert True
Client = <sssd_test_framework.topology.SSSDTopologyMark object>
name: client
fixtures:
  client: sssd.client[0]
  kdc: sssd.kdc[0]
topology:
- id: sssd
  hosts:
    client: 1
    kdc: 1
domains: {}
LDAP = <sssd_test_framework.topology.SSSDTopologyMark object>
name: ldap
fixtures:
  client: sssd.client[0]
  ldap: sssd.ldap[0]
  provider: sssd.ldap[0]
  nfs: sssd.nfs[0]
  kdc: sssd.kdc[0]
topology:
- id: sssd
  hosts:
    client: 1
    ldap: 1
    nfs: 1
    kdc: 1
domains:
  test: sssd.ldap[0]
IPA = <sssd_test_framework.topology.SSSDTopologyMark object>
name: ipa
fixtures:
  client: sssd.client[0]
  ipa: sssd.ipa[0]
  provider: sssd.ipa[0]
  nfs: sssd.nfs[0]
topology:
- id: sssd
  hosts:
    client: 1
    ipa: 1
    nfs: 1
domains:
  test: sssd.ipa[0]
AD = <sssd_test_framework.topology.SSSDTopologyMark object>
name: ad
fixtures:
  client: sssd.client[0]
  ad: sssd.ad[0]
  provider: sssd.ad[0]
  nfs: sssd.nfs[0]
topology:
- id: sssd
  hosts:
    client: 1
    ad: 1
    nfs: 1
domains:
  test: sssd.ad[0]
Samba = <sssd_test_framework.topology.SSSDTopologyMark object>
name: samba
fixtures:
  client: sssd.client[0]
  samba: sssd.samba[0]
  provider: sssd.samba[0]
  nfs: sssd.nfs[0]
topology:
- id: sssd
  hosts:
    client: 1
    samba: 1
    nfs: 1
domains:
  test: sssd.samba[0]
IPATrustAD = <sssd_test_framework.topology.SSSDTopologyMark object>
name: ipa-trust-ad
fixtures:
  client: sssd.client[0]
  ipa: sssd.ipa[0]
  ad: sssd.ad[0]
  trusted: sssd.ad[0]
topology:
- id: sssd
  hosts:
    client: 1
    ipa: 1
    ad: 1
domains:
  test: sssd.ipa[0]
IPATrustSamba = <sssd_test_framework.topology.SSSDTopologyMark object>
name: ipa-trust-samba
fixtures:
  client: sssd.client[0]
  ipa: sssd.ipa[0]
  samba: sssd.samba[0]
  trusted: sssd.samba[0]
topology:
- id: sssd
  hosts:
    client: 1
    ipa: 1
    samba: 1
domains:
  test: sssd.ipa[0]
class sssd_test_framework.topology.KnownTopologyGroup(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: KnownTopologyGroupBase

Groups of well-known topologies that can be given to pytest.mark.topology directly. It is expected to use these values in favor of providing custom marker values.

The test is parametrized and runs multiple times, once per each topology.

Example usage (runs on AD, IPA, LDAP and Samba topology)
@pytest.mark.topology(KnownTopologyGroup.AnyProvider)
def test_ldap(client: Client, provider: GenericProvider):
    assert True
AnyProvider = [KnownTopology.AD, KnownTopology.IPA, KnownTopology.LDAP, KnownTopology.Samba]
name: ad
fixtures:
  client: sssd.client[0]
  ad: sssd.ad[0]
  provider: sssd.ad[0]
  nfs: sssd.nfs[0]
topology:
- id: sssd
  hosts:
    client: 1
    ad: 1
    nfs: 1
domains:
  test: sssd.ad[0]

name: ipa
fixtures:
  client: sssd.client[0]
  ipa: sssd.ipa[0]
  provider: sssd.ipa[0]
  nfs: sssd.nfs[0]
topology:
- id: sssd
  hosts:
    client: 1
    ipa: 1
    nfs: 1
domains:
  test: sssd.ipa[0]

name: ldap
fixtures:
  client: sssd.client[0]
  ldap: sssd.ldap[0]
  provider: sssd.ldap[0]
  nfs: sssd.nfs[0]
  kdc: sssd.kdc[0]
topology:
- id: sssd
  hosts:
    client: 1
    ldap: 1
    nfs: 1
    kdc: 1
domains:
  test: sssd.ldap[0]

name: samba
fixtures:
  client: sssd.client[0]
  samba: sssd.samba[0]
  provider: sssd.samba[0]
  nfs: sssd.nfs[0]
topology:
- id: sssd
  hosts:
    client: 1
    samba: 1
    nfs: 1
domains:
  test: sssd.samba[0]
AnyAD = [KnownTopology.AD, KnownTopology.Samba]
name: ad
fixtures:
  client: sssd.client[0]
  ad: sssd.ad[0]
  provider: sssd.ad[0]
  nfs: sssd.nfs[0]
topology:
- id: sssd
  hosts:
    client: 1
    ad: 1
    nfs: 1
domains:
  test: sssd.ad[0]

name: samba
fixtures:
  client: sssd.client[0]
  samba: sssd.samba[0]
  provider: sssd.samba[0]
  nfs: sssd.nfs[0]
topology:
- id: sssd
  hosts:
    client: 1
    samba: 1
    nfs: 1
domains:
  test: sssd.samba[0]
IPATrust = [KnownTopology.IPATrustAD, KnownTopology.IPATrustSamba]
name: ipa-trust-ad
fixtures:
  client: sssd.client[0]
  ipa: sssd.ipa[0]
  ad: sssd.ad[0]
  trusted: sssd.ad[0]
topology:
- id: sssd
  hosts:
    client: 1
    ipa: 1
    ad: 1
domains:
  test: sssd.ipa[0]

name: ipa-trust-samba
fixtures:
  client: sssd.client[0]
  ipa: sssd.ipa[0]
  samba: sssd.samba[0]
  trusted: sssd.samba[0]
topology:
- id: sssd
  hosts:
    client: 1
    ipa: 1
    samba: 1
domains:
  test: sssd.ipa[0]