Coverage for tests/test_update_visit_summary.py: 17%

63 statements  

« prev     ^ index     » next       coverage.py v7.3.0, created at 2023-08-31 11:19 +0000

1# This file is part of drp_tasks. 

2# 

3# LSST Data Management System 

4# This product includes software developed by the 

5# LSST Project (http://www.lsst.org/). 

6# See COPYRIGHT file at the top of the source tree. 

7# 

8# This program is free software: you can redistribute it and/or modify 

9# it under the terms of the GNU General Public License as published by 

10# the Free Software Foundation, either version 3 of the License, or 

11# (at your option) any later version. 

12# 

13# This program is distributed in the hope that it will be useful, 

14# but WITHOUT ANY WARRANTY; without even the implied warranty of 

15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

16# GNU General Public License for more details. 

17# 

18# You should have received a copy of the LSST License Statement and 

19# the GNU General Public License along with this program. If not, 

20# see <https://www.lsstcorp.org/LegalNotices/>. 

21 

22import unittest 

23 

24from lsst.afw.table import ExposureCatalog, ExposureTable 

25from lsst.afw.image import ExposureSummaryStats 

26from lsst.drp.tasks.update_visit_summary import ( 

27 UpdateVisitSummaryConfig, 

28 UpdateVisitSummaryConnections, 

29 UpdateVisitSummaryTask, 

30) 

31 

32 

33class UpdateVisitSummaryTestCase(unittest.TestCase): 

34 

35 def setUp(self) -> None: 

36 self.input_schema = ExposureTable.makeMinimalSchema() 

37 ExposureSummaryStats.update_schema(self.input_schema) 

38 self.init_inputs = {"input_summary_schema": ExposureCatalog(self.input_schema)} 

39 

40 def test_wcs_provider(self) -> None: 

41 """Test the wcs_provider config option's effect on connections. 

42 """ 

43 config = UpdateVisitSummaryConfig() 

44 config.wcs_provider = "input_summary" 

45 connections = UpdateVisitSummaryConnections(config=config) 

46 self.assertNotIn("wcs_overrides_tract", connections.inputs) 

47 self.assertNotIn("wcs_overrides_global", connections.inputs) 

48 task = UpdateVisitSummaryTask(config=config, initInputs=self.init_inputs) 

49 self.assertEqual(task.schema, self.input_schema) 

50 config.wcs_provider = "tract" 

51 connections = UpdateVisitSummaryConnections(config=config) 

52 self.assertIn("wcs_overrides_tract", connections.inputs) 

53 self.assertNotIn("wcs_overrides_global", connections.inputs) 

54 task = UpdateVisitSummaryTask(config=config, initInputs=self.init_inputs) 

55 self.assertTrue(task.schema.contains(self.input_schema)) 

56 self.assertIn("wcsTractId", task.schema.getNames()) 

57 config.wcs_provider = "global" 

58 connections = UpdateVisitSummaryConnections(config=config) 

59 self.assertNotIn("wcs_overrides_tract", connections.inputs) 

60 self.assertIn("wcs_overrides_global", connections.inputs) 

61 task = UpdateVisitSummaryTask(config=config, initInputs=self.init_inputs) 

62 self.assertEqual(task.schema, self.input_schema) 

63 

64 def test_photo_calib_provider(self) -> None: 

65 """Test the photo_calib_provider config option's effect on connections. 

66 """ 

67 config = UpdateVisitSummaryConfig() 

68 config.photo_calib_provider = "input_summary" 

69 connections = UpdateVisitSummaryConnections(config=config) 

70 self.assertNotIn("photo_calib_overrides_tract", connections.inputs) 

71 self.assertNotIn("photo_calib_overrides_global", connections.inputs) 

72 task = UpdateVisitSummaryTask(config=config, initInputs=self.init_inputs) 

73 self.assertEqual(task.schema, self.input_schema) 

74 config.photo_calib_provider = "tract" 

75 connections = UpdateVisitSummaryConnections(config=config) 

76 self.assertIn("photo_calib_overrides_tract", connections.inputs) 

77 self.assertNotIn("photo_calib_overrides_global", connections.inputs) 

78 task = UpdateVisitSummaryTask(config=config, initInputs=self.init_inputs) 

79 self.assertTrue(task.schema.contains(self.input_schema)) 

80 self.assertIn("photoCalibTractId", task.schema.getNames()) 

81 config.photo_calib_provider = "global" 

82 connections = UpdateVisitSummaryConnections(config=config) 

83 self.assertNotIn("photo_calib_overrides_tract", connections.inputs) 

84 self.assertIn("photo_calib_overrides_global", connections.inputs) 

85 task = UpdateVisitSummaryTask(config=config, initInputs=self.init_inputs) 

86 self.assertEqual(task.schema, self.input_schema) 

87 

88 def test_background_provider(self) -> None: 

89 """Test the background_provider config option's effect on connections. 

90 """ 

91 config = UpdateVisitSummaryConfig() 

92 config.background_provider = "input_summary" 

93 connections = UpdateVisitSummaryConnections(config=config) 

94 self.assertNotIn("background_overrides", connections.inputs) 

95 self.assertNotIn("background_originals", connections.inputs) 

96 config.background_provider = "replacement" 

97 connections = UpdateVisitSummaryConnections(config=config) 

98 self.assertIn("background_overrides", connections.inputs) 

99 self.assertIn("background_originals", connections.inputs) 

100 

101 

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

103 unittest.main()