Skip to content
Snippets Groups Projects
Commit f60dcd17 authored by Erik Reid's avatar Erik Reid
Browse files

added api tests

parent 756470ac
Branches
Tags
No related merge requests found
......@@ -23,7 +23,7 @@ import pkg_resources
from flask import Blueprint, current_app, request, Response, jsonify
from brian_polling_manager import CONFIG_KEY
from brian_polling_manager.main import refresh
from brian_polling_manager import main
routes = Blueprint("api-routes", __name__)
logger = logging.getLogger(__name__)
......@@ -159,5 +159,5 @@ def update():
:return:
"""
response = refresh(config=current_app.config[CONFIG_KEY])
response = main.refresh(config=current_app.config[CONFIG_KEY])
return jsonify(response)
......@@ -55,6 +55,14 @@ def config():
}
@pytest.fixture
def config_filename(config):
with tempfile.NamedTemporaryFile(mode='w') as f:
f.write(json.dumps(config))
f.flush()
yield f.name
@pytest.fixture
def mocked_sensu():
......
import json
import os
import jsonschema
import pytest
import responses
import brian_polling_manager
from brian_polling_manager.api import VERSION_SCHEMA
from brian_polling_manager.main import REFRESH_RESULT_SCHEMA
@pytest.fixture
def client(config_filename, mocked_sensu, mocked_inventory):
os.environ['CONFIG_FILENAME'] = config_filename
with brian_polling_manager.create_app().test_client() as c:
yield c
def test_version(client):
rv = client.get(
'/api/version',
headers={'Accept': ['application/json']})
assert rv.status_code == 200
assert rv.is_json
response_data = json.loads(rv.data.decode('utf-8'))
jsonschema.validate(response_data, VERSION_SCHEMA)
@responses.activate
def test_update(client):
rv = client.get(
'/api/update',
headers={'Accept': ['application/json']})
assert rv.status_code == 200
assert rv.is_json
response_data = json.loads(rv.data.decode('utf-8'))
jsonschema.validate(response_data, REFRESH_RESULT_SCHEMA)
......@@ -8,15 +8,11 @@ from brian_polling_manager import main
@responses.activate
def test_run_flashtest(config, mocked_sensu, mocked_inventory):
def test_run_flashtest(config_filename, mocked_sensu, mocked_inventory):
with tempfile.NamedTemporaryFile(mode='w') as f:
f.write(json.dumps(config))
f.flush()
runner = CliRunner()
result = runner.invoke(
main.cli,
['--config', f.name, '--force']
)
assert result.exit_code == 0
runner = CliRunner()
result = runner.invoke(
main.cli,
['--config', config_filename, '--force']
)
assert result.exit_code == 0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment