From 2a698055ca5d47504bcb6139656dc4a95961e59f Mon Sep 17 00:00:00 2001 From: "Janet L. Goldstein" <jgoldste@nrao.edu> Date: Tue, 1 Mar 2022 09:06:38 -0700 Subject: [PATCH 1/2] gripe-fix-remaining-tests: broken solicitor tests fixed --- .../ingest_envoy/test/test_solicitor.py | 75 +++++++++++++++---- 1 file changed, 61 insertions(+), 14 deletions(-) diff --git a/apps/cli/executables/pexable/ingest_envoy/test/test_solicitor.py b/apps/cli/executables/pexable/ingest_envoy/test/test_solicitor.py index f9e51b42b..bfe06a9f6 100644 --- a/apps/cli/executables/pexable/ingest_envoy/test/test_solicitor.py +++ b/apps/cli/executables/pexable/ingest_envoy/test/test_solicitor.py @@ -18,12 +18,22 @@ """ Tests for solicitor.py """ -from ingest_envoy.solicitor import Solicitor +# pylint: disable=E0401, C0301, C0116, R0201, W0621 +from unittest.mock import patch + import pytest +from ingest_envoy.solicitor import Solicitor + +SOLICIT_WORKFLOWS_PATCH = "ingest_envoy.solicitor.Solicitor.solicit_contents" + + +@pytest.fixture(scope="function") +def solicitor() -> Solicitor: + with patch(SOLICIT_WORKFLOWS_PATCH) as mock_content: + mock_content.return_value = expected_metadata + return Solicitor("", "calibration", ["http://capability:3457", "http://workflow:3456"]) + -solicitor = Solicitor( - "test/input_files/test-metadata.json", "calibration", ["http://capability:3457", "http://workflow:3456"] -) expected_metadata = { "fileSetIds": "16B-069_sb32814386_1_001.57685.66193635417", "workflowName": "std_calibration", @@ -43,23 +53,23 @@ expected_metadata = { class TestSolicitor: def test_solicit_contents(self): - metadata = solicitor.solicit_contents() - assert metadata == expected_metadata + with patch(SOLICIT_WORKFLOWS_PATCH) as mock_content: + mock_content.return_value = expected_metadata + solicitor = Solicitor("", "calibration", ["http://capability:3457", "http://workflow:3456"]) + mock_content.assert_called() + assert solicitor.metadata == expected_metadata - def test_solicit_workflow_directory_name(self): + def test_solicit_workflow_directory_name(self, solicitor: Solicitor): expected_workflow_dir_name = "tmp576dknjp" - name = solicitor.solicit_workflow_directory_name() assert name == expected_workflow_dir_name - def test_solicit_processing_creation_time(self): + def test_solicit_processing_creation_time(self, solicitor: Solicitor): expected_corrected_time = "2021_07_06T21_50_48" - time_string = solicitor.solicit_processing_creation_time() assert time_string == expected_corrected_time - @pytest.mark.skip("Broken by multiversion changes") - def test_solicit_parameters(self): + def test_solicit_parameters_std_cal(self, solicitor: Solicitor): expected_parameters = { "sdmId": "16B-069_sb32814386_1_001.57685.66193635417", "telescope": "EVLA", @@ -69,7 +79,44 @@ class TestSolicitor: "processingStart": "2021_07_06T21_50_48", "destinationDir": "/lustre/aoc/cluster/pipeline/docker/workspaces/spool/tmp576dknjp", "workflowDir": "tmp576dknjp", + "initialVersionDir": "tmp24i4o1yl", + "multiVersion": True, } + with patch(SOLICIT_WORKFLOWS_PATCH): + with patch("ingest_envoy.solicitor.Solicitor.solicit_initial_directory_name", return_value="tmp24i4o1yl"): + parameters = solicitor.solicit_parameters() + assert parameters["workflowDir"] == expected_parameters["workflowDir"] + assert parameters["initialVersionDir"] == expected_parameters["initialVersionDir"] - parameters = solicitor.solicit_parameters() - assert parameters == expected_parameters + def test_solicit_parameters_image(self, solicitor: Solicitor): + initial_version_dir = "tmprb1se376" + cal_source_dir = "tmp576dknjp" + metadata = { + "fileSetIds": "brain_000.58099.67095825232", + "workflowName": "std_cms_imaging", + "systemId": "12", + "creationTime": "2021-07-29T14:26:31", + "productLocator": "uid://evla/execblock/ec082e65-452d-4fec-ad88-f5b4af1f9e36", + "calProductLocator": "uid://evla/calibration/c78ccfd6-fe4e-43c6-a5c5-70e5bcfde16b", + "projectMetadata": { + "projectCode": "Operations", + "title": "", + "telescope": "EVLA", + "startTime": "58099.6710792824", + "observer": "VLA Operations", + }, + "destinationDirectory": "/lustre/aoc/cluster/pipeline/docker/workspaces/spool/" + initial_version_dir, + "calibrationSourceDirectory": "/lustre/aoc/cluster/pipeline/docker/workspaces/spool/" + + cal_source_dir + + "/working", + "cmsName": "brain_000.58099.67095825232.ms", + } + with patch(SOLICIT_WORKFLOWS_PATCH, return_value=metadata): + with patch( + "ingest_envoy.solicitor.Solicitor.solicit_initial_directory_name", return_value=initial_version_dir + ): + solicitor.argument = "image" + parameters = solicitor.solicit_parameters() + assert parameters["workflowDir"] == cal_source_dir + assert parameters["calSpl"] == metadata["calProductLocator"] + assert parameters["multiVersion"] is True -- GitLab From 720d6d059e87aa1cab9ecb91d2757e5af99effa9 Mon Sep 17 00:00:00 2001 From: "Janet L. Goldstein" <jgoldste@nrao.edu> Date: Tue, 1 Mar 2022 09:14:15 -0700 Subject: [PATCH 2/2] gripe-fix-remaining-tests: broken solicitor tests fixed --- .../pexable/ingest_envoy/test/test_solicitor.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/apps/cli/executables/pexable/ingest_envoy/test/test_solicitor.py b/apps/cli/executables/pexable/ingest_envoy/test/test_solicitor.py index bfe06a9f6..0b8cbf0e7 100644 --- a/apps/cli/executables/pexable/ingest_envoy/test/test_solicitor.py +++ b/apps/cli/executables/pexable/ingest_envoy/test/test_solicitor.py @@ -45,7 +45,7 @@ expected_metadata = { "title": "JVLA monitoring of an in-progress extreme scattering event", "telescope": "EVLA", "startTime": "57685.661952546296", - "observer": "Keith Bannister", + "observer": "Mickey Mouse", }, "destinationDirectory": "/lustre/aoc/cluster/pipeline/docker/workspaces/spool/tmp576dknjp", } @@ -77,7 +77,7 @@ class TestSolicitor: "workflowRequestId": "2", "spl": "uid://evla/execblock/48ba4c9d-d7c7-4a8f-9803-1115cd52459b", "processingStart": "2021_07_06T21_50_48", - "destinationDir": "/lustre/aoc/cluster/pipeline/docker/workspaces/spool/tmp576dknjp", + "destinationDir": "/somewhere/over/the/rainbow/tmp576dknjp", "workflowDir": "tmp576dknjp", "initialVersionDir": "tmp24i4o1yl", "multiVersion": True, @@ -89,7 +89,7 @@ class TestSolicitor: assert parameters["initialVersionDir"] == expected_parameters["initialVersionDir"] def test_solicit_parameters_image(self, solicitor: Solicitor): - initial_version_dir = "tmprb1se376" + initial_version_dir = "initial_version_dir" cal_source_dir = "tmp576dknjp" metadata = { "fileSetIds": "brain_000.58099.67095825232", @@ -97,18 +97,16 @@ class TestSolicitor: "systemId": "12", "creationTime": "2021-07-29T14:26:31", "productLocator": "uid://evla/execblock/ec082e65-452d-4fec-ad88-f5b4af1f9e36", - "calProductLocator": "uid://evla/calibration/c78ccfd6-fe4e-43c6-a5c5-70e5bcfde16b", + "calProductLocator": "uid://eenie/meanie/miney/moe", "projectMetadata": { "projectCode": "Operations", "title": "", "telescope": "EVLA", "startTime": "58099.6710792824", - "observer": "VLA Operations", + "observer": "Just Us Chickens", }, "destinationDirectory": "/lustre/aoc/cluster/pipeline/docker/workspaces/spool/" + initial_version_dir, - "calibrationSourceDirectory": "/lustre/aoc/cluster/pipeline/docker/workspaces/spool/" - + cal_source_dir - + "/working", + "calibrationSourceDirectory": f"/my/stuff/{cal_source_dir}/working", "cmsName": "brain_000.58099.67095825232.ms", } with patch(SOLICIT_WORKFLOWS_PATCH, return_value=metadata): -- GitLab