Coverage for tests/test_update_visit_summary.py: 17%
63 statements
« prev ^ index » next coverage.py v7.4.3, created at 2024-03-14 12:27 -0700
« prev ^ index » next coverage.py v7.4.3, created at 2024-03-14 12:27 -0700
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/>.
22import unittest
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)
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)}
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)
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)
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)
98if __name__ == "__main__": 98 ↛ 99line 98 didn't jump to line 99, because the condition on line 98 was never true
99 unittest.main()