"""Tests for the script utilities.""" import pytest from scripts import script_util as util @pytest.mark.parametrize("environment", ["qa", "prod"]) def test_art_relations_connection(environment, mocker): """Test getting an art_relations connection in prod/qa.""" mock_secrets = mocker.MagicMock() mock_secrets.get_cred.side_effect = lambda x: x mock_secrets_manager = mocker.patch.object( util, "FlaskSecretsManager", return_value=mock_secrets ) mock_pymysql = mocker.patch.object(util, "pymysql") mock_pymysql.connect.return_value = "CONNECTION" result = util.art_relations_connection(environment) assert result == "CONNECTION" mock_secrets_manager.assert_called_with( application_context=False, environment=environment, service_name="ows-collaborator", ) mock_pymysql.connect.assert_called_with( host="ART_DB_HOST", user="ART_DB_USER", password="ART_DB_PASSWORD", database="ART_DB_DATABASE", cursorclass=mock_pymysql.cursors.DictCursor, ) def test_art_relations_connection_dev(mocker): """Test getting an art_relations connection in dev.""" mocker.patch.object(util.os.environ, "get", side_effect=(lambda x: x)) mock_secrets_manager = mocker.patch.object(util, "FlaskSecretsManager") mock_pymysql = mocker.patch.object(util, "pymysql") mock_pymysql.connect.return_value = "CONNECTION" result = util.art_relations_connection("dev") assert result == "CONNECTION" mock_secrets_manager.assert_not_called() mock_pymysql.connect.assert_called_with( host="ART_DB_HOST", user="ART_DB_USER", password="ART_DB_PASSWORD", database="ART_DB_DATABASE", cursorclass=mock_pymysql.cursors.DictCursor, )