authentik.sources.ldap.tests.mock_ad

ldap testing utils

 1"""ldap testing utils"""
 2
 3from ldap3 import MOCK_SYNC, Connection, Server
 4from ldap3.strategy.mockSync import MockSyncStrategy
 5
 6from authentik.lib.generators import generate_id
 7from authentik.lib.tests.utils import load_fixture
 8
 9
10def mock_ad_connection() -> Connection:
11    """Create mock AD connection"""
12    server = Server.from_definition(
13        "my_fake_server",
14        dsa_info=load_fixture("fixtures/ms_ad_2025/info.json"),
15        dsa_schema=load_fixture("fixtures/ms_ad_2025/schema.json"),
16    )
17    connection = Connection(
18        server,
19        user="cn=ak-service-account,dc=t,dc=goauthentik,dc=io",
20        password=generate_id(),
21        client_strategy=MOCK_SYNC,
22    )
23    strategy: MockSyncStrategy = connection.strategy
24    strategy.entries_from_json(load_fixture("fixtures/ms_ad_2025/entries.json", path_only=True))
25    connection.bind()
26    return connection
def mock_ad_connection() -> ldap3.core.connection.Connection:
11def mock_ad_connection() -> Connection:
12    """Create mock AD connection"""
13    server = Server.from_definition(
14        "my_fake_server",
15        dsa_info=load_fixture("fixtures/ms_ad_2025/info.json"),
16        dsa_schema=load_fixture("fixtures/ms_ad_2025/schema.json"),
17    )
18    connection = Connection(
19        server,
20        user="cn=ak-service-account,dc=t,dc=goauthentik,dc=io",
21        password=generate_id(),
22        client_strategy=MOCK_SYNC,
23    )
24    strategy: MockSyncStrategy = connection.strategy
25    strategy.entries_from_json(load_fixture("fixtures/ms_ad_2025/entries.json", path_only=True))
26    connection.bind()
27    return connection

Create mock AD connection