Set up basic testing framework with py.test

We're just testing that the about route works at all. We aren't even
testing that it does anything. But this represents wiring together a
bunch of things to get tests working including configuration
specifications, DB connections, table definitions, the app itself, etc
This commit is contained in:
Eli Ribble 2016-05-03 18:59:08 -06:00
parent 861b6f0f71
commit c84288eaac
3 changed files with 37 additions and 0 deletions

31
conftest.py Normal file
View File

@ -0,0 +1,31 @@
import logging
import pytest
import vanth.config
import vanth.tables
from vanth.server import create_app
LOGGER = logging.getLogger(__name__)
def pytest_cmdline_main():
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
@pytest.fixture(scope='session')
def tables():
return vanth.tables
@pytest.fixture
def app(configuration):
_app = create_app(configuration)
_app.config['TESTING'] = True
return _app
@pytest.fixture(scope="session")
def db_connection_uri(configuration):
return configuration.db
@pytest.fixture(scope='session')
def config_specification():
return vanth.config.SPECIFICATION

3
pytest.ini Normal file
View File

@ -0,0 +1,3 @@
[pytest]
norecursedirs = build ve node_modules
addopts=--tb=short

3
tests/api/test_about.py Normal file
View File

@ -0,0 +1,3 @@
def test_about(client):
response = client.get('/about/')
assert response.status_code == 200