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 Butler, DataCoordinate 

30from lsst.obs.base.ingest_tests import IngestTestBase 

31 

32testDataPackage = "testdata_subaru" 

33try: 

34 testDataDirectory = lsst.utils.getPackageDir(testDataPackage) 

35except LookupError: 

36 testDataDirectory = None 

37 

38 

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

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

41 

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

43 "transmission_sensor", "transmission_filter", "transmission_atmosphere") 

44 

45 def setUp(self): 

46 self.ingestDir = os.path.dirname(__file__) 

47 self.instrument = "lsst.obs.subaru.HyperSuprimeCam" 

48 self.instrumentName = "HSC" 

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.butler = Butler(self.root, run=self.outputRun) 

54 self.visits = { 

55 DataCoordinate.standardize( 

56 instrument="HSC", 

57 visit=904024, 

58 universe=self.butler.registry.dimensions 

59 ): [ 

60 DataCoordinate.standardize( 

61 instrument="HSC", 

62 exposure=904024, 

63 universe=self.butler.registry.dimensions 

64 ) 

65 ] 

66 } 

67 

68 def checkRepo(self, files=None): 

69 # We ignore `files` because there's only one raw file in 

70 # testdata_subaru, and we know it's a science frame. 

71 # If we ever add more, this test will need to change. 

72 expanded = self.butler.registry.expandDataId(self.dataIds[0]) 

73 self.assertEqual(expanded.records["exposure"].observation_type, "science") 

74 

75 

76def setup_module(module): 

77 lsst.utils.tests.init() 

78 

79 

80if __name__ == "__main__": 80 ↛ 81line 80 didn't jump to line 81, because the condition on line 80 was never true

81 lsst.utils.tests.init() 

82 unittest.main()