Coverage for tests/test_translate_header.py : 19%

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
# This file is part of astro_metadata_translator. # # Developed for the LSST Data Management System. # This product includes software developed by the LSST Project # (http://www.lsst.org). # See the LICENSE file at the top-level directory of this distribution # for details of code ownership. # # Use of this source code is governed by a 3-clause BSD-style # license that can be found in the LICENSE file.
"""Test that the translate_header CLI logic works."""
"""Return the lines written to the stream.
Parameters ---------- stream : `io.StringIO` The stream to read.
Returns ------- lines : `list` of `str` The lines contained in the stream. """ stream.seek(0) return [ll.rstrip() for ll in stream.readlines()]
"""Translate some header files.""" with io.StringIO() as out: with io.StringIO() as err: okay, failed = process_files([TESTDATA], r"^fitsheader.*yaml$", 0, False, outstream=out, errstream=err, output_mode="none") self.assertEqual(self._readlines(out), []) lines = self._readlines(err) self.assertEqual(len(lines), 10) self.assertTrue(lines[0].startswith("Analyzing"), f"Line: '{lines[0]}'")
self.assertEqual(len(okay), 10) self.assertEqual(len(failed), 0)
"""Translate some header files with table output.""" with io.StringIO() as out: with io.StringIO() as err: okay, failed = process_files([TESTDATA], r"^fitsheader.*yaml$", 0, False, outstream=out, errstream=err) output = self._readlines(out) self.assertTrue(output[0].startswith("ObsId")) self.assertTrue(output[1].startswith("-------")) self.assertEqual(len(output), 12) errlines = self._readlines(err) self.assertEqual(len(errlines), 0)
self.assertEqual(len(okay), 10) self.assertEqual(len(failed), 0)
"""Translate some header files that fail.""" with io.StringIO() as out: with io.StringIO() as err: okay, failed = process_files([TESTDATA], r"^.*yaml$", 0, False, outstream=out, errstream=err, output_mode="none")
lines = self._readlines(out) self.assertEqual(len(lines), len(failed)) self.assertTrue(lines[0].startswith("ValueError"), f"Line: '{lines[0]}'")
lines = self._readlines(err) self.assertEqual(len(lines), 12) self.assertTrue(lines[0].startswith("Analyzing"), f"Line: '{lines[0]}'")
self.assertEqual(len(okay), 10) self.assertEqual(len(failed), 2)
"""Translate some header files that fail and trigger traceback""" with io.StringIO() as out: with io.StringIO() as err: okay, failed = process_files([TESTDATA], r"^.*yaml$", 0, True, outstream=out, errstream=err, output_mode="none")
lines = self._readlines(out) self.assertEqual(len(lines), 16) self.assertTrue(lines[0].startswith("Traceback"), f"Line '{lines[0]}'")
lines = self._readlines(err) self.assertEqual(len(lines), 12) self.assertTrue(lines[0].startswith("Analyzing"), f"Line: '{lines[0]}'")
self.assertEqual(len(okay), 10) self.assertEqual(len(failed), 2)
"""Check that a header is dumped""" with io.StringIO() as out: with io.StringIO() as err: okay, failed = process_files([os.path.join(TESTDATA, "fitsheader-decam.yaml")], r"^fitsheader.*yaml$", 0, False, outstream=out, errstream=err, output_mode="yaml")
lines = self._readlines(out) # Look for a DECam header in the output header = "\n".join(lines) self.assertIn("DTINSTRU", header)
lines = self._readlines(err) self.assertEqual(len(lines), 1) self.assertTrue(lines[0], "Analyzing tests/data/fitsheader-decam.yaml...")
self.assertEqual(len(okay), 1) self.assertEqual(len(failed), 0)
"""Check that ObservationInfo content is displayed""" with io.StringIO() as out: with io.StringIO() as err: okay, failed = process_files([os.path.join(TESTDATA, "fitsheader-decam.yaml")], r"^fitsheader.*yaml$", 0, False, outstream=out, errstream=err, output_mode="verbose")
lines = self._readlines(out) # Look for the translated DECam header in the output self.assertEqual(lines[2], "datetime_begin: 2013-09-01T06:02:55.754")
lines = self._readlines(err) self.assertEqual(len(lines), 1) self.assertTrue(lines[0], "Analyzing tests/data/fitsheader-decam.yaml...")
self.assertEqual(len(okay), 1) self.assertEqual(len(failed), 0)
unittest.main() |