Skip to content
test_facility_level1.py 2.22 KiB
Newer Older
Wei Shoulin's avatar
c3
Wei Shoulin committed
import os
import unittest
from astropy.io import fits

Wei Shoulin's avatar
Wei Shoulin committed
from csst_dfs_api.facility.level1 import Level1DataApi
Wei Shoulin's avatar
c3
Wei Shoulin committed

Wei Shoulin's avatar
Wei Shoulin committed
class Level1DataTestCase(unittest.TestCase):
Wei Shoulin's avatar
c3
Wei Shoulin committed

    def setUp(self):
        self.api = Level1DataApi()

Wei Shoulin's avatar
Wei Shoulin committed
    def test_find(self):
        recs = self.api.find(
            level0_id='101091002323',
            module_id = "MSC",
            create_time = ("2024-01-01 11:12:13","2024-07-08 11:12:13"))
        print('find:', recs)
Wei Shoulin's avatar
c3
Wei Shoulin committed

Wei Shoulin's avatar
Wei Shoulin committed
    def test_find_by_ids(self):
        recs = self.api.find_by_ids(
            module_id = "MSC",
            ids=[42]
        )
        print('find_by_ids:', recs)
Wei Shoulin's avatar
Wei Shoulin committed

    def test_find_refs_by_ids(self):
        recs = self.api.find_refs_by_ids(
Wei Shoulin's avatar
C9  
Wei Shoulin committed
            ids=[16]
Wei Shoulin's avatar
Wei Shoulin committed
        )
Wei Shoulin's avatar
Wei Shoulin committed
        print('test_find_refs_by_ids:', recs)
Wei Shoulin's avatar
Wei Shoulin committed

Wei Shoulin's avatar
C9  
Wei Shoulin committed
    def test_find_by_brick_ids(self):
        recs = self.api.find_by_brick_ids(
            brick_ids=[1,2,3,4]
        )
        print('find_by_brick_ids:', recs)

    def test_sls_find_by_qc1_status(self):
        recs = self.api.sls_find_by_qc1_status(
            qc1_status = 1,
            limit = 1
        )
        print('sls_find_by_qc1_status:', recs)

Wei Shoulin's avatar
c3
Wei Shoulin committed
    def test_get(self):
Wei Shoulin's avatar
Wei Shoulin committed
        rec = self.api.get(id = 16)
Wei Shoulin's avatar
c3
Wei Shoulin committed
        print('get:', rec)

    def test_update_proc_status(self):
        rec = self.api.update_proc_status(id = 2, status = 4)
        print('update_proc_status:', rec)

    def test_update_qc1_status(self):
        rec = self.api.update_qc1_status(id = 2, status = 7)
        print('update_qc1_status:', rec)

    def test_write(self):
Wei Shoulin's avatar
Wei Shoulin committed
        rec = self.api.write(
Wei Shoulin's avatar
Wei Shoulin committed
            level0_id = '1010910023236625', 
Wei Shoulin's avatar
Wei Shoulin committed
            module_id = "MSC",
Wei Shoulin's avatar
Wei Shoulin committed
            file_type = "SCI",
Wei Shoulin's avatar
c3
Wei Shoulin committed
            prc_status = 3,
Wei Shoulin's avatar
Wei Shoulin committed
            prc_time = '2021-10-22 11:12:13',
Wei Shoulin's avatar
Wei Shoulin committed
            filename = "CSST_MSC_MS_SCI_20250408112519_20250408112749_10109100232366_25_L1_V01.fits",
            file_path = "/opt/temp/csst/L1/CSST_MSC_MS_SCI_20250408112519_20250408112749_10109100232366_25_L1_V01.fits",
Wei Shoulin's avatar
Wei Shoulin committed
            pipeline_id = "P1",
Wei Shoulin's avatar
C9  
Wei Shoulin committed
            build_id = 123,
Wei Shoulin's avatar
Wei Shoulin committed
            refs = [{'file_type':'dark', 'id': 'csst_msc_dark_001.rmap'},
                {'file_type':'bias', 'id': 'csst_msc_bias_001.rmap'}, 
                {'file_type':'flat', 'id': 'csst_msc_flat_001.rmap'}]
Wei Shoulin's avatar
C9  
Wei Shoulin committed
        )
Wei Shoulin's avatar
c3
Wei Shoulin committed
        print('write:', rec)