Hide keyboard shortcuts

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/>. 

21 

22"""Unit tests for Gen3 HSC raw data ingest. 

23""" 

24 

25import unittest 

26import os 

27import lsst.utils.tests 

28 

29from lsst.daf.butler import DataCoordinate 

30from lsst.obs.base.ingest_tests import IngestTestBase 

31from lsst.obs.subaru import HyperSuprimeCam 

32 

33testDataPackage = "testdata_subaru" 

34try: 

35 testDataDirectory = lsst.utils.getPackageDir(testDataPackage) 

36except LookupError: 

37 testDataDirectory = None 

38 

39 

40@unittest.skipIf(testDataDirectory is None, "testdata_subaru must be set up") 

41class HscIngestTestCase(IngestTestBase, lsst.utils.tests.TestCase): 

42 

43 curatedCalibrationDatasetTypes = ("defects", "camera", "bfKernel", "transmission_optics", 

44 "transmission_sensor", "transmission_filter", "transmission_atmosphere") 

45 

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)] 

51 

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 } 

66 

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") 

73 

74 

75def setup_module(module): 

76 lsst.utils.tests.init() 

77 

78 

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()