Skip to content

Commit

Permalink
Add tests for MatplotlibStorage.
Browse files Browse the repository at this point in the history
  • Loading branch information
TallJimbo committed May 8, 2018
1 parent 54bfcd9 commit ae50bf8
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 0 deletions.
5 changes: 5 additions & 0 deletions policy/testMapper.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -197,3 +197,8 @@ datasets:
template: deepDiff/v%(visit)d_kernelSrc_f%(filter)s.fits
apPipe_metadata:
template: apPipe_metadata/v%(visit)d_f%(filter)s.boost
test_plot:
template: test_plot/v%(visit)d_f%(filter)s.png
persistable: ignored
python: matplotlib.figure.Figure
storage: MatplotlibStorage
71 changes: 71 additions & 0 deletions tests/test_matplotlibStorage.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# This file is part of obs_test.
#
# Developed for the LSST Data Management System.
# This product includes software developed by the LSST Project
# (http://www.lsst.org).
# See the COPYRIGHT file at the top-level directory of this distribution
# for details of code ownership.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#

import os
import tempfile
import unittest

# we only import lsst.obs.test.TestMapper from lsst.obs.test, but use the namespace to hide it from pytest
import lsst.obs.test
import lsst.utils.tests
from lsst.utils import getPackageDir
from lsst.daf.persistence import Butler
import shutil


ROOT = getPackageDir('obs_test')


class MatplotlibStorageTestCase(lsst.utils.tests.TestCase):

def setUp(self):
inputDir = os.path.join(ROOT, "data", "input")
self.testDir = tempfile.mkdtemp(dir=os.path.join(ROOT, 'tests'), prefix=type(self).__name__+'-')
self.butler = Butler(inputs=inputDir, outputs={"root": self.testDir, "mode": 'rw'})

def tearDown(self):
del self.butler
if os.path.exists(self.testDir):
shutil.rmtree(self.testDir)

def testWriteFigure(self):
import matplotlib
matplotlib.use("Agg")
from matplotlib import pyplot
fig = pyplot.figure()
pyplot.plot([0, 1], [0, 1], "k")
self.butler.put(fig, "test_plot", visit=1, filter="g")
self.assertTrue(self.butler.datasetExists("test_plot", visit=1, filter="g"))
self.assertTrue(os.path.exists(self.butler.getUri("test_plot", visit=1, filter="g")))


class MemoryTester(lsst.utils.tests.MemoryTestCase):
pass


def setup_module(module):
lsst.utils.tests.init()


if __name__ == "__main__":
lsst.utils.tests.init()
unittest.main()

0 comments on commit ae50bf8

Please sign in to comment.