Coverage for tests/testTrackingDb.py : 24%

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
1import os
2import unittest
3import lsst.sims.maf.db as db
4import lsst.utils.tests
5import tempfile
6import shutil
9class TestTrackingDb(unittest.TestCase):
11 def setUp(self):
12 self.opsimRun = 'testopsim'
13 self.opsimGroup = 'test'
14 self.opsimComment = 'opsimcomment'
15 self.mafComment = 'mafcomment'
16 self.mafDir = 'mafdir'
17 self.mafVersion = '1.0'
18 self.mafDate = '2017-01-01'
19 self.opsimVersion = '4.0'
20 self.opsimDate = '2017-02-01'
21 self.dbFile = None
23 def test_testTrackingDbCreation(self):
24 """Test tracking database creation."""
25 tempdir = tempfile.mkdtemp(prefix='trackDb')
26 trackingDbFile = os.path.join(tempdir, 'tracking.db')
27 trackingdb = db.TrackingDb(database=trackingDbFile)
28 self.assertTrue(os.path.isfile(trackingDbFile))
29 trackingdb.close()
30 shutil.rmtree(tempdir)
32 def test_testAddRun(self):
33 """Test adding a run to the tracking database."""
34 tempdir = tempfile.mkdtemp(prefix='trackDb')
35 trackingDbFile = os.path.join(tempdir, 'tracking.db')
36 trackingdb = db.TrackingDb(database=trackingDbFile)
37 trackId = trackingdb.addRun(opsimGroup=self.opsimGroup, opsimRun=self.opsimRun,
38 opsimComment=self.opsimComment,
39 opsimVersion=self.opsimVersion, opsimDate=self.opsimDate,
40 mafComment=self.mafComment, mafDir=self.mafDir,
41 mafVersion=self.mafVersion, mafDate=self.mafDate,
42 dbFile=self.dbFile)
43 tdb = db.Database(database=trackingDbFile)
44 res = tdb.query_arbitrary('select * from runs')
45 self.assertEqual(res['mafRunId'][0], trackId)
46 # Try adding this run again. Should return previous trackId.
47 trackId2 = trackingdb.addRun(mafDir=self.mafDir)
48 self.assertEqual(trackId, trackId2)
49 # Test will add additional run, with new trackId.
50 trackId3 = trackingdb.addRun(mafDir='test2')
51 self.assertNotEqual(trackId, trackId3)
52 trackingdb.close()
53 tdb.close()
54 shutil.rmtree(tempdir)
56 def test_testDelRun(self):
57 """Test removing a run from the tracking database."""
58 tempdir = tempfile.mkdtemp(prefix='trackDb')
59 trackingDbFile = os.path.join(tempdir, 'tracking.db')
60 trackingdb = db.TrackingDb(database=trackingDbFile)
61 tdb = db.Database(database=trackingDbFile)
62 trackId = trackingdb.addRun(mafDir=self.mafDir)
63 trackId2 = trackingdb.addRun(mafDir=self.mafDir + 'test2')
64 res = tdb.query_arbitrary('select * from runs')
65 self.assertEqual(res['mafRunId'][0], trackId)
66 # Test removal works.
67 trackingdb.delRun(trackId)
68 res = tdb.query_arbitrary('select * from runs')
69 # The run returned here is trackId2
70 self.assertEqual(len(res), 1)
71 self.assertEqual(res[0][0], trackId2)
72 # Test cannot remove run which does not exist.
73 self.assertRaises(Exception, trackingdb.delRun, trackId)
74 trackingdb.close()
75 tdb.close()
76 shutil.rmtree(tempdir)
79class TestMemory(lsst.utils.tests.MemoryTestCase):
80 pass
83def setup_module(module):
84 lsst.utils.tests.init()
87if __name__ == "__main__": 87 ↛ 88line 87 didn't jump to line 88, because the condition on line 87 was never true
88 lsst.utils.tests.init()
89 unittest.main()