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

WS-507: Lay the groundwork for implementation of the ingestion manifest...

WS-507: Lay the groundwork for implementation of the ingestion manifest builder, using existing archive-metaproject ingestion builder as a guide.
parent 38ee15e6
No related branches found
No related tags found
1 merge request!310WS-507: Ingestion Manifest Builder prenatal exam
Pipeline #2031 passed
# Ingestion Envoy
This is a Python port of the ingestion manifest builder in archive-metaproject.
See https://open-confluence.nrao.edu/display/SSA/Ingestion+Manifests.
""" Objects pertaining to the various ingestion manifests """
from enum import Enum
class Telescope(Enum):
"""Codifying the names of our telescopes, because Janet can't abide magic strings"""
VLA = 1
EVLA = 2
ALMA = 3
VLBA = 4
GBT = 5
NONE = 6
class IngestionType(Enum):
"""Types of ingestion we'll have to do"""
# ALMA products
ALMA_SDM = Telescope.ALMA
ALMA_CAL = Telescope.ALMA
ALMA_AUDI = Telescope.ALMA
# EVLA products
EVLA_SDM = Telescope.EVLA
EVLA_BDF = Telescope.EVLA
EVLA_CAL = Telescope.EVLA
# RealFast projects
REALFAST_SDM = Telescope.EVLA
# VLASS projects
VLASS_QUICKLOOK = Telescope.EVLA
# VLBA ingestion. (IDI and UVFITS products are treated the same.)
VLBA_FITS = Telescope.VLBA
# Coming Real Soon Now: VLBA Mark 4 product ingestion
VLBA_MARK4 = Telescope.VLBA
# Also coming Real Soon: GBT execution block ingestion
GBT_EB = Telescope.GBT
# Hot on its heels: LVLA execution block ingestion
LVLA_EB = Telescope.VLA
# When we just don't know what we're dealing with
UNKNOWN = Telescope.NONE
......@@ -20,6 +20,7 @@ setup(
url="TBD",
license="GPL",
install_requires=requires,
tests_require=["pytest"],
keywords=[],
packages=find_packages(),
classifiers=["Programming Language :: Python :: 3.8"],
......
""" Test for the various types of ALMA ingestion manifests """
import pytest
@pytest.mark.skip("TODO: test_builds_alma_sdm_manifest")
def test_builds_alma_sdm_manifest():
"""
Have we built a well-formed ALMA SDM ingestion manifest?
:return:
"""
raise NotImplementedError
@pytest.mark.skip("TODO: test_builds_alma_cal_manifest")
def test_builds_alma_cal_manifest():
"""
Have we built a well-formed ALMA calibration ingestion manifest?
:return:
"""
raise NotImplementedError
@pytest.mark.skip("TODO: test_builds_alma_cal_manifest")
def test_builds_alma_audi_manifest():
"""
Have we built a well-formed ALMA image ingestion manifest?
:return:
"""
raise NotImplementedError
""" Test for the various types of EVLA ingestion manifests """
import pytest
@pytest.mark.skip("TODO: test_builds_evla_sdm_manifest")
def test_builds_evla_sdm_manifest():
"""
Have we built a well-formed EVLA SDM ingestion manifest?
:return:
"""
raise NotImplementedError
@pytest.mark.skip("TODO: test_builds_evla_bdf_manifest")
def test_builds_evla_bdf_manifest():
"""
Have we built a well-formed EVLA BDF ingestion manifest?
:return:
"""
raise NotImplementedError
@pytest.mark.skip("TODO: test_builds_evla_cal_manifest")
def test_builds_evla_cal_manifest():
"""
Have we built a well-formed EVLA calibration ingestion manifest?
:return:
"""
raise NotImplementedError
""" Tests for all the other types of ingestion manifests """
import pytest
@pytest.mark.skip("TODO: test_builds_realfast_sdm_manifest")
def test_builds_realfast_sdm_manifest():
"""
Have we built a well-formed RealFast product ingestion manifest?
:return:
"""
raise NotImplementedError
@pytest.mark.skip("TODO: test_builds_vlass_quicklook_manifest")
def test_builds_vlass_quicklook_manifest():
"""
Have we built a well-formed VLASS quicklook product ingestion manifest?
:return:
"""
raise NotImplementedError
@pytest.mark.skip("TODO: test_builds_gbt_manifest")
def test_builds_gbt_manifest():
"""
Not yet in use, but sooner or later we'll need to create manifests
for ingestion of GBT products.
:return:
"""
raise NotImplementedError
@pytest.mark.skip("TODO: test_builds_lvla_eb_manifest")
def test_builds_lvla_eb_manifest():
"""
Not yet in use, but one of these days we'll need to create manifests
for ingestion of LVLA execution blocks.
:return:
"""
raise NotImplementedError
""" Tests for VLBA product ingestion manifests """
import pytest
@pytest.mark.skip("TODO: test_builds_vlba_fits_manifest")
def test_builds_vlba_fits_manifest():
"""
Have we built a well-formed VLBA IDI/UVFITS ingestion manifest?
:return:
"""
raise NotImplementedError
@pytest.mark.skip("TODO: test_builds_vlba_mark4_manifest")
def test_builds_vlba_mark4_manifest():
"""
Unused, but coming: Have we built a well-formed VLBA Mark 4 ingestion manifest?
:return:
"""
raise NotImplementedError
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