Skip to content
Snippets Groups Projects
Commit 011a3e1c authored by Karel van Klink's avatar Karel van Klink :smiley_cat:
Browse files

Merge branch 'feature/add-config-test' into 'develop'

add config test

See merge request goat/gap/larp!3
parents 61bb8399 ac90dcfd
No related branches found
No related tags found
1 merge request!3add config test
import json
import os
import tempfile
import pytest
from fastapi.testclient import TestClient
import larp
@pytest.fixture
def good_config_data():
return {
'collection-uri': 'organisation.collection'
}
@pytest.fixture
def bad_config_data():
return {
'bogus-key': 'nothing useful'
}
@pytest.fixture
def config_file(good_config_data):
with tempfile.NamedTemporaryFile(mode='w') as f:
f.write(json.dumps(good_config_data))
f.flush()
os.environ['SETTINGS_FILENAME'] = f.name
yield f.name
@pytest.fixture
def invalid_config_file(bad_config_data):
with tempfile.NamedTemporaryFile(mode='w') as f:
f.write(json.dumps(bad_config_data))
f.flush()
os.environ['SETTINGS_FILENAME'] = f.name
yield f.name
@pytest.fixture
def client(config_file):
app = larp.create_app()
yield TestClient(app) # wait here until calling context ends
import io
import json
import pytest
from pydantic.error_wrappers import ValidationError
from larp import config
def test_config_with_file(config_file):
params = config.load()
assert params
def test_config_correct(good_config_data):
with io.StringIO(json.dumps(good_config_data)) as f:
f.seek(0) # rewind file position to the beginning
params = config.load_from_file(f)
assert params
def test_config_incorrect(bad_config_data):
with io.StringIO(json.dumps(bad_config_data)) as f:
f.seek(0)
with pytest.raises(Exception, match="'collection-uri' is a required property"):
config.load_from_file(f)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment