Skip to content
Snippets Groups Projects
Commit 236adcce authored by Janet Goldstein's avatar Janet Goldstein
Browse files

Gripe: fix broken solicitor tests

parent 97d52d0b
No related branches found
No related tags found
1 merge request!829Gripe: fix broken solicitor tests
Pipeline #4532 passed
Pipeline: workspaces

#4533

    ......@@ -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",
    ......@@ -35,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",
    }
    ......@@ -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",
    ......@@ -67,9 +77,44 @@ 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,
    }
    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 = "initial_version_dir"
    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://eenie/meanie/miney/moe",
    "projectMetadata": {
    "projectCode": "Operations",
    "title": "",
    "telescope": "EVLA",
    "startTime": "58099.6710792824",
    "observer": "Just Us Chickens",
    },
    "destinationDirectory": "/lustre/aoc/cluster/pipeline/docker/workspaces/spool/" + initial_version_dir,
    "calibrationSourceDirectory": f"/my/stuff/{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
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment