You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
stacosys/tests/test_config.py

49 lines
1.3 KiB
Python

11 months ago
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import pytest
6 months ago
from stacosys.service.configuration import Config, ConfigParameter
2 years ago
EXPECTED_DB = "sqlite://db.sqlite"
EXPECTED_HTTP_PORT = 8080
3 years ago
EXPECTED_LANG = "fr"
6 months ago
config = Config()
6 months ago
@pytest.fixture
def init_config():
2 years ago
config.put(ConfigParameter.DB, EXPECTED_DB)
config.put(ConfigParameter.HTTP_PORT, EXPECTED_HTTP_PORT)
def test_split_key():
section, param = config._split_key(ConfigParameter.HTTP_PORT)
assert section == "http" and param == "port"
def test_exists(init_config):
assert config.exists(ConfigParameter.DB)
2 years ago
def test_get(init_config):
2 years ago
assert config.get(ConfigParameter.DB) == EXPECTED_DB
assert config.get(ConfigParameter.HTTP_HOST) == ""
assert config.get(ConfigParameter.HTTP_PORT) == str(EXPECTED_HTTP_PORT)
assert config.get_int(ConfigParameter.HTTP_PORT) == EXPECTED_HTTP_PORT
2 years ago
with pytest.raises(AssertionError):
config.get_bool(ConfigParameter.DB)
2 years ago
def test_put(init_config):
assert not config.exists(ConfigParameter.LANG)
config.put(ConfigParameter.LANG, EXPECTED_LANG)
assert config.exists(ConfigParameter.LANG)
assert config.get(ConfigParameter.LANG) == EXPECTED_LANG
2 years ago
def test_check(init_config):
success, error = config.check()
assert not success and error