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 app = brian_polling_manager.create_app() app.testing = True with 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)