Coverage for tests/test_update_visit_summary.py: 17%

63 statements  

« prev     ^ index     » next       coverage.py v7.3.2, created at 2023-11-29 11:52 +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.image import ExposureSummaryStats 

25from lsst.afw.table import ExposureCatalog, ExposureTable 

26from lsst.drp.tasks.update_visit_summary import ( 

27 UpdateVisitSummaryConfig, 

28 UpdateVisitSummaryConnections, 

29 UpdateVisitSummaryTask, 

30) 

31 

32 

33class UpdateVisitSummaryTestCase(unittest.TestCase): 

34 def setUp(self) -> None: 

35 self.input_schema = ExposureTable.makeMinimalSchema() 

36 ExposureSummaryStats.update_schema(self.input_schema) 

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

38 

39 def test_wcs_provider(self) -> None: 

40 """Test the wcs_provider config's effect on connections.""" 

41 config = UpdateVisitSummaryConfig() 

42 config.wcs_provider = "input_summary" 

43 connections = UpdateVisitSummaryConnections(config=config) 

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

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

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

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

48 config.wcs_provider = "tract" 

49 connections = UpdateVisitSummaryConnections(config=config) 

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

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

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

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

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

55 config.wcs_provider = "global" 

56 connections = UpdateVisitSummaryConnections(config=config) 

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

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

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

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

61 

62 def test_photo_calib_provider(self) -> None: 

63 """Test the photo_calib_provider config's effect on connections.""" 

64 config = UpdateVisitSummaryConfig() 

65 config.photo_calib_provider = "input_summary" 

66 connections = UpdateVisitSummaryConnections(config=config) 

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

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

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

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

71 config.photo_calib_provider = "tract" 

72 connections = UpdateVisitSummaryConnections(config=config) 

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

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

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

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

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

78 config.photo_calib_provider = "global" 

79 connections = UpdateVisitSummaryConnections(config=config) 

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

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

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

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

84 

85 def test_background_provider(self) -> None: 

86 """Test the background_provider config's effect on connections.""" 

87 config = UpdateVisitSummaryConfig() 

88 config.background_provider = "input_summary" 

89 connections = UpdateVisitSummaryConnections(config=config) 

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

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

92 config.background_provider = "replacement" 

93 connections = UpdateVisitSummaryConnections(config=config) 

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

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

96 

97 

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

99 unittest.main()