Coverage for tests/test_ingest.py : 65%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1# This file is part of obs_subaru.
2#
3# Developed for the LSST Data Management System.
4# This product includes software developed by the LSST Project
5# (http://www.lsst.org).
6# See the COPYRIGHT file at the top-level directory of this distribution
7# for details of code ownership.
8#
9# This program is free software: you can redistribute it and/or modify
10# it under the terms of the GNU General Public License as published by
11# the Free Software Foundation, either version 3 of the License, or
12# (at your option) any later version.
13#
14# This program is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17# GNU General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this program. If not, see <http://www.gnu.org/licenses/>.
22"""Unit tests for Gen3 HSC raw data ingest.
23"""
25import unittest
26import os
27import lsst.utils.tests
29from lsst.daf.butler import DataCoordinate
30from lsst.obs.base.ingest_tests import IngestTestBase
31from lsst.obs.subaru import HyperSuprimeCam
33testDataPackage = "testdata_subaru"
34try:
35 testDataDirectory = lsst.utils.getPackageDir(testDataPackage)
36except LookupError:
37 testDataDirectory = None
40@unittest.skipIf(testDataDirectory is None, "testdata_subaru must be set up")
41class HscIngestTestCase(IngestTestBase, lsst.utils.tests.TestCase):
43 curatedCalibrationDatasetTypes = ("defects", "camera", "bfKernel", "transmission_optics",
44 "transmission_sensor", "transmission_filter", "transmission_atmosphere")
46 def setUp(self):
47 self.ingestDir = os.path.dirname(__file__)
48 self.instrument = HyperSuprimeCam()
49 self.file = os.path.join(testDataDirectory, "hsc", "raw", "HSCA90402512.fits.gz")
50 self.dataIds = [dict(instrument="HSC", exposure=904024, detector=50)]
52 super().setUp()
53 self.visits = {
54 DataCoordinate.standardize(
55 instrument="HSC",
56 visit=904024,
57 universe=self.butler.registry.dimensions
58 ): [
59 DataCoordinate.standardize(
60 instrument="HSC",
61 exposure=904024,
62 universe=self.butler.registry.dimensions
63 )
64 ]
65 }
67 def checkRepo(self, files=None):
68 # We ignore `files` because there's only one raw file in
69 # testdata_subaru, and we know it's a science frame.
70 # If we ever add more, this test will need to change.
71 expanded = self.butler.registry.expandDataId(self.dataIds[0])
72 self.assertEqual(expanded.records["exposure"].observation_type, "science")
75def setup_module(module):
76 lsst.utils.tests.init()
79if __name__ == "__main__": 79 ↛ 80line 79 didn't jump to line 80, because the condition on line 79 was never true
80 lsst.utils.tests.init()
81 unittest.main()