Skip to content

Commit b0e159f

Browse files
Tests: Add tests for IPV6_only lookup family
Signed-off-by: Madhuri Upadhye <[email protected]>
1 parent ae59f29 commit b0e159f

File tree

1 file changed

+34
-1
lines changed

1 file changed

+34
-1
lines changed

src/tests/system/tests/test_failover.py

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from sssd_test_framework.roles.ipa import IPA
1414
from sssd_test_framework.roles.ldap import LDAP
1515
from sssd_test_framework.roles.samba import Samba
16-
from sssd_test_framework.topology import KnownTopologyGroup
16+
from sssd_test_framework.topology import KnownTopology, KnownTopologyGroup
1717

1818

1919
@pytest.mark.parametrize("value, expected", [(None, 31), (15, 31), (60, 60)])
@@ -106,3 +106,36 @@ def test_failover__connect_using_ipv4_second_family(client: Client, provider: Ge
106106

107107
result = client.tools.id(user.name)
108108
assert result is not None, f"{user.name} was not found, SSSD did not switch to IPv4 family!"
109+
110+
111+
@pytest.mark.importance("low")
112+
@pytest.mark.topology(KnownTopology.IPA)
113+
@pytest.mark.topology(KnownTopology.LDAP)
114+
@pytest.mark.parametrize("sssd_service_user", ("root", "sssd"))
115+
@pytest.mark.require(
116+
lambda client, sssd_service_user: (client.features["ipv6"]),
117+
"SSSD was built without support for running under non-root",
118+
)
119+
def test_failover__connect_using_ipv6_only(client: Client, provider: GenericProvider, sssd_service_user: str):
120+
"""
121+
:title: Only attempt to resolve hostnames to IPv6 address
122+
:setup:
123+
1. Create user
124+
2. Set family_order to "ipv6_only"
125+
3. Set IPv6 address in /etc/hosts
126+
4. Start SSSD
127+
:steps:
128+
1. Resolve user
129+
:expectedresults:
130+
1. SSSD goes online and the user is resolved
131+
:customerscenario: False
132+
"""
133+
user = provider.user("testuser").add()
134+
client.sssd.domain["lookup_family_order"] = "ipv6_only"
135+
ipv6_add = provider.host.conn.run("ip -6 addr show scope global | grep -oE 'inet6 [0-9a-f:]+' | awk '{print $2}'")
136+
print(ipv6_add.stdout)
137+
client.fs.append("/etc/hosts", f"{ipv6_add.stdout}\t{provider.host.hostname}")
138+
client.sssd.start()
139+
140+
result = client.tools.id(user.name)
141+
assert result is not None, f"{user.name} was not found, SSSD did not switch to IPv6 family!"

0 commit comments

Comments
 (0)