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

WS-543: fixed meaningful tests that had been disabled; discarded others

parent 2be6b1ff
No related branches found
No related tags found
1 merge request!370WS-543: fixed meaningful tests that had been disabled; discarded others
Pipeline #2305 passed
......@@ -11,8 +11,6 @@ from pathlib import Path
# pylint: disable=E0401, E0402, R1721, W0621
import pytest
from ingest_envoy.ingestion_manifest import (
IngestionManifestBuilder,
find_manifest,
......@@ -52,8 +50,7 @@ logger.addHandler(logging.StreamHandler(sys.stdout))
FAKE_LOCATOR = "uid://evla/calibration/doo-wah-ditty-ditty-af123"
# TODO:
@pytest.mark.skip("FIXME")
def test_filters_cal_input_files(ingest_path: Path):
"""
We'll be getting calibration/image/eb, etc. science products from a directory under
......@@ -101,8 +98,6 @@ def test_filters_cal_input_files(ingest_path: Path):
shutil.rmtree(ingest_path)
# TODO:
@pytest.mark.skip("FIXME")
def test_writes_expected_output_files(ingest_path: Path):
"""
Did the manifest builder produce the manifest file, the weblog, and the science product tar?
......@@ -132,8 +127,6 @@ def test_writes_expected_output_files(ingest_path: Path):
shutil.rmtree(ingest_path)
# TODO:
@pytest.mark.skip("FIXME")
def test_params_json_well_formed():
"""
Make sure our ManifestParameters makes nice JSON
......@@ -153,17 +146,6 @@ def test_params_json_well_formed():
json.dumps(params_json)
@pytest.mark.skip("TODO")
def test_params_properly_formatted():
"""
TODO
:return:
"""
raise NotImplementedError
# TODO:
@pytest.mark.skip("FIXME")
def test_input_sp_well_formed():
"""
Make sure our InputScienceProduct makes nice JSON
......@@ -180,8 +162,6 @@ def test_input_sp_well_formed():
assert sp_in.to_json() == sp_dict
# TODO:
@pytest.mark.skip("FIXME or get rid of me")
def test_input_group_well_formed():
"""
Make sure our InputGroup makes nice JSON
......@@ -189,39 +169,17 @@ def test_input_group_well_formed():
:return:
"""
sp1 = InputScienceProduct(locator="uid://evla/execblock/coffee_heath_bar_crunch_7a23f")
sp1_json = sp1.to_json()
sp2 = InputScienceProduct(locator="uid://evla/execblock/mint_oreo_omg_omg")
sp2_json = sp2.to_json()
expected = {
IngestionManifestKey.INPUT_GROUP.value: {
IngestionManifestKey.SCIENCE_PRODUCTS.value: [sp1_json, sp2_json]
}
}
ingroup = InputGroup(science_products=[sp1, sp2])
actual = ingroup.to_json()
actual = actual[IngestionManifestKey.INPUT_GROUP.value]
expected = expected[IngestionManifestKey.INPUT_GROUP.value]
assert actual.keys() == expected.keys()
actual = actual[IngestionManifestKey.SCIENCE_PRODUCTS.value]
expected = expected[IngestionManifestKey.SCIENCE_PRODUCTS.value]
assert len(actual) == len(expected) == 2
marvin = actual[0]
trillian = expected[0]
for key, _ in marvin.items():
assert trillian[key] == marvin[key]
input_group = InputGroup(science_products=[sp1, sp2])
assert IngestionManifestKey.SCIENCE_PRODUCTS.value in input_group.to_json().keys()
marvin = actual[1]
trillian = expected[1]
for key, _ in marvin.items():
assert trillian[key] == marvin[key]
sps_found = input_group.science_products
assert len(sps_found) == 2
assert sp1 in sps_found
assert sp2 in sps_found
# TODO:
@pytest.mark.skip("FIXME")
def test_ancillary_product_well_formed():
"""
The JSON shouldn't contain empty fields
......@@ -235,70 +193,30 @@ def test_ancillary_product_well_formed():
assert actual == expected
# TODO:
@pytest.mark.skip("FIXME or get rid of me")
def test_output_group_well_formed():
"""
Make sure our OutputScienceProduct makes nice JSON
:return:
"""
sp1 = OutputScienceProduct(type=ScienceProductType.IMAGE, filename="see_no_evil.fits")
sp2 = OutputScienceProduct(type=ScienceProductType.IMAGE, filename="hear_no_evil.fits")
osp = OutputScienceProduct(
type=ScienceProductType.EVLA_CAL, filename="im_a_lil_calibration.tar"
)
ap1 = AncillaryProduct(
type=AncillaryProductType.PIPELINE_ARTIFACTS, filename="without_feathers.tar"
)
ap2 = AncillaryProduct(
type=AncillaryProductType.PIPELINE_ARTIFACTS, filename="with_feathers.tar"
)
opg = OutputGroup(science_products=[sp1, sp2], ancillary_products=[ap1, ap2])
opg_json = opg.to_json()
dumped = json.dumps(opg_json)
assert (
dumped == '{"output_group": '
'{"science_products": '
'[{"type": "image", "filename": "see_no_evil.fits"}, '
'{"type": "image", "filename": "hear_no_evil.fits"}], '
'"ancillary_products": [{"type": "pipeline_artifacts", '
'"filename": "without_feathers.tar"}, '
'{"type": "pipeline_artifacts", "filename": "with_feathers.tar"}]}}'
)
@pytest.mark.skip("TODO, or maybe not")
def test_input_group_properly_formatted():
"""
Does the InputGroup get written to the file in the expected format?
:return:
"""
sp1 = InputScienceProduct(locator="uid://evla/execblock/coffee_heath_bar_crunch_7a23f")
ingroup = InputGroup(science_products=[sp1])
ig_dict = json.loads(ingroup.to_json())
ig_text = json.dumps(ig_dict, indent=4)
expected = """
"input_group": {
"science_products": [
{
"locator": "uid://evla/execblock/coffee_heath_bar_crunch_7a23f"
}
]
},
"""
assert ig_text == expected
@pytest.mark.skip("TODO")
def test_output_group_properly_formatted():
"""
TODO
Does the OutputGroup get written to the file in the expected format?
expected_json = {
IngestionManifestKey.SCIENCE_PRODUCTS.value: [osp.to_json()],
IngestionManifestKey.ANCILLARY_PRODUCTS.value: [ap1.to_json(), ap2.to_json()],
}
opg = OutputGroup(science_products=[osp], ancillary_products=[ap1, ap2])
actual_json = opg.to_json()
:return:
"""
raise NotImplementedError
assert actual_json == expected_json
def test_evla_cal_manifest_matches_example(ingest_path: Path):
......
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