64 lines
2.1 KiB
Python
64 lines
2.1 KiB
Python
# py-scopes/tests/config.py
|
|
|
|
import logging
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
class Settings(BaseSettings):
|
|
model_config = SettingsConfigDict(env_file='.env')
|
|
|
|
base_url: str = 'https://test.cy7.eu'
|
|
|
|
log_file: str = 'scopes/tests/log/scopes-test.log'
|
|
log_level: str = 'INFO'
|
|
log_format: str = '%(asctime)s %(levelname)s %(name)s %(message)s'
|
|
log_dateformat: str = '%Y-%m-%dT%H:%M:%S'
|
|
|
|
|
|
dbengine: str = 'sqlite'
|
|
dbname: str = 'var/test.db'
|
|
dbuser: str | None = None
|
|
dbpassword: str | None = None
|
|
dbschema: str | None = None
|
|
|
|
settings = Settings()
|
|
|
|
from os import getenv
|
|
import sys
|
|
|
|
base_url = settings.base_url
|
|
|
|
logging.basicConfig(filename=settings.log_file, level=settings.log_level,
|
|
format=settings.log_format, datefmt=settings.log_dateformat)
|
|
|
|
# SQLite storage settings
|
|
dbengine = settings.dbengine
|
|
dbname = settings.dbname
|
|
dbuser = settings.dbuser
|
|
dbpassword = settings.dbpassword
|
|
dbschema = settings.dbschema
|
|
|
|
# special testing stuff
|
|
from scopes.tests import data_auth # add oidc URIs and keys to dummy_requests data
|
|
from scopes.tests import dummy_requests
|
|
sys.modules['requests'] = dummy_requests
|
|
|
|
# authentication settings
|
|
oidc_provider = 'test://oidc'
|
|
oidc_client_id = getenv('OIDC_CLIENT_ID', '12345')
|
|
oidc_params = dict(
|
|
op_config_url=oidc_provider + '/.well-known/openid-configuration',
|
|
op_uris=None,
|
|
op_keys=None,
|
|
op_project_scope='urn:zitadel:iam:org:project:id:zitadel:aud',
|
|
callback_url=getenv('OIDC_CALLBACK_URL', base_url + '/auth/callback'),
|
|
client_id=oidc_client_id,
|
|
principal_prefix=getenv('OIDC_PRINCIPAL_PREFIX', 'loops.'),
|
|
cookie_name=getenv('OIDC_COOKIE_NAME', 'oidc_' + oidc_client_id),
|
|
cookie_domain=getenv('OIDC_COOKIE_DOMAIN', None),
|
|
cookie_lifetime=getenv('OIDC_COOKIE_LIFETIME', '86400'),
|
|
cookie_crypt=getenv('OIDC_COOKIE_CRYPT', None),
|
|
private_key_file=getenv('OIDC_SERVICE_USER_PRIVATE_KEY_FILE',
|
|
'scopes/tests/test-private-key.json'),
|
|
organization_id=getenv('OIDC_ORGANIZATION_ID', '12346'),
|
|
project_id=getenv('OIDC_PROJECT_ID', None),
|
|
)
|