From 75bb98382b0a4ab15a17217c1157aaa371e260a0 Mon Sep 17 00:00:00 2001 From: Matthew Richards Date: Thu, 25 Nov 2021 16:48:16 +0000 Subject: [PATCH] test: move test config fixtures so they can be accessed by search API tests #258 --- test/conftest.py | 39 +++++++++++++++++++++++++++++++++++++++ test/test_config.py | 38 -------------------------------------- 2 files changed, 39 insertions(+), 38 deletions(-) diff --git a/test/conftest.py b/test/conftest.py index 9bf0fc90..83b2ab1a 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -1,4 +1,6 @@ from datetime import datetime, timedelta +import json +from unittest.mock import mock_open, patch from flask import Flask import pytest @@ -7,6 +9,7 @@ create_api_endpoints, create_app_infrastructure, ) +from datagateway_api.src.common.config import APIConfig from datagateway_api.src.datagateway_api.database.helpers import ( delete_row_by_id, insert_row_into_table, @@ -63,3 +66,39 @@ def valid_db_credentials_header(): yield {"Authorization": f"Bearer {session.id}"} delete_row_by_id(SESSION, "Test") + + +@pytest.fixture() +def test_config_data(): + return { + "datagateway_api": { + "extension": "/datagateway-api", + "backend": "db", + "client_cache_size": 5, + "client_pool_init_size": 2, + "client_pool_max_size": 5, + "db_url": "mysql+pymysql://icatdbuser:icatdbuserpw@localhost:3306/icatdb", + "icat_url": "https://localhost:8181", + "icat_check_cert": False, + }, + "search_api": { + "extension": "/search-api", + "icat_url": "https://localhost.testdomain:8181", + "icat_check_cert": True, + }, + "flask_reloader": False, + "log_level": "WARN", + "log_location": "/home/runner/work/datagateway-api/datagateway-api/logs.log", + "debug_mode": False, + "generate_swagger": False, + "host": "127.0.0.1", + "port": "5000", + "test_user_credentials": {"username": "root", "password": "pw"}, + "test_mechanism": "simple", + } + + +@pytest.fixture() +def test_config(test_config_data): + with patch("builtins.open", mock_open(read_data=json.dumps(test_config_data))): + return APIConfig.load("test/path") diff --git a/test/test_config.py b/test/test_config.py index 86c52750..717caaea 100644 --- a/test/test_config.py +++ b/test/test_config.py @@ -6,44 +6,6 @@ from datagateway_api.src.common.config import APIConfig -@pytest.fixture() -def test_config_data(): - return { - "datagateway_api": { - "extension": "/datagateway-api", - "backend": "db", - "client_cache_size": 5, - "client_pool_init_size": 2, - "client_pool_max_size": 5, - "db_url": "mysql+pymysql://icatdbuser:icatdbuserpw@localhost:3306/icatdb", - "icat_url": "https://localhost:8181", - "icat_check_cert": False, - }, - "search_api": { - "extension": "/search-api", - "icat_url": "https://localhost:8181", - "icat_check_cert": False, - "client_pool_init_size": 2, - "client_pool_max_size": 5, - }, - "flask_reloader": False, - "log_level": "WARN", - "log_location": "/home/runner/work/datagateway-api/datagateway-api/logs.log", - "debug_mode": False, - "generate_swagger": False, - "host": "127.0.0.1", - "port": "5000", - "test_user_credentials": {"username": "root", "password": "pw"}, - "test_mechanism": "simple", - } - - -@pytest.fixture() -def test_config(test_config_data): - with patch("builtins.open", mock_open(read_data=json.dumps(test_config_data))): - return APIConfig.load("test/path") - - class TestAPIConfig: def test_load_with_valid_config_data(self, test_config): backend_type = test_config.datagateway_api.backend