Files
ahriman/tests/ahriman/core/auth/conftest.py
Evgenii Alekseev 4d9e06156d feat: add support of pam authentication
Add naive implementation of user password check by calling su command.
Also change some authentication method to require username to be string
instead of optional string
2024-08-20 16:44:40 +03:00

55 lines
1.3 KiB
Python

import pytest
from ahriman.core.auth.mapping import Mapping
from ahriman.core.auth.oauth import OAuth
from ahriman.core.auth.pam import PAM
from ahriman.core.configuration import Configuration
from ahriman.core.database import SQLite
@pytest.fixture
def mapping(configuration: Configuration, database: SQLite) -> Mapping:
"""
auth provider fixture
Args:
configuration(Configuration): configuration fixture
database(SQLite): database fixture
Returns:
Mapping: auth service instance
"""
return Mapping(configuration, database)
@pytest.fixture
def oauth(configuration: Configuration, database: SQLite) -> OAuth:
"""
OAuth provider fixture
Args:
configuration(Configuration): configuration fixture
database(SQLite): database fixture
Returns:
OAuth: OAuth2 service instance
"""
configuration.set("web", "address", "https://example.com")
return OAuth(configuration, database)
@pytest.fixture
def pam(configuration: Configuration, database: SQLite) -> PAM:
"""
PAM provider fixture
Args:
configuration(Configuration): configuration fixture
database(SQLite): database fixture
Returns:
PAM: PAM service instance
"""
configuration.set_option("auth", "full_access_group", "wheel")
return PAM(configuration, database)