Hide keyboard shortcuts

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

import os 

import unittest 

import lsst.sims.maf.db as db 

import lsst.utils.tests 

import tempfile 

import shutil 

 

class TestTrackingDb(unittest.TestCase): 

 

def setUp(self): 

self.opsimRun = 'testopsim' 

self.opsimGroup = 'test' 

self.opsimComment = 'opsimcomment' 

self.mafComment = 'mafcomment' 

self.mafDir = 'mafdir' 

self.mafVersion = '1.0' 

self.mafDate = '2017-01-01' 

self.opsimVersion = '4.0' 

self.opsimDate = '2017-02-01' 

self.dbFile = None 

 

def test_testTrackingDbCreation(self): 

"""Test tracking database creation.""" 

tempdir = tempfile.mkdtemp(prefix='trackDb') 

trackingDbFile = os.path.join(tempdir, 'tracking.db') 

trackingdb = db.TrackingDb(database=trackingDbFile) 

self.assertTrue(os.path.isfile(trackingDbFile)) 

trackingdb.close() 

shutil.rmtree(tempdir) 

 

def test_testAddRun(self): 

"""Test adding a run to the tracking database.""" 

tempdir = tempfile.mkdtemp(prefix='trackDb') 

trackingDbFile = os.path.join(tempdir, 'tracking.db') 

trackingdb = db.TrackingDb(database=trackingDbFile) 

trackId = trackingdb.addRun(opsimGroup=self.opsimGroup, opsimRun=self.opsimRun, 

opsimComment=self.opsimComment, 

opsimVersion=self.opsimVersion, opsimDate=self.opsimDate, 

mafComment=self.mafComment, mafDir=self.mafDir, 

mafVersion=self.mafVersion, mafDate=self.mafDate, 

dbFile=self.dbFile) 

tdb = db.Database(database=trackingDbFile) 

res = tdb.query_arbitrary('select * from runs') 

self.assertEqual(res['mafRunId'][0], trackId) 

# Try adding this run again. Should return previous trackId. 

trackId2 = trackingdb.addRun(mafDir=self.mafDir) 

self.assertEqual(trackId, trackId2) 

# Test will add additional run, with new trackId. 

trackId3 = trackingdb.addRun(mafDir='test2') 

self.assertNotEqual(trackId, trackId3) 

trackingdb.close() 

tdb.close() 

shutil.rmtree(tempdir) 

 

def test_testDelRun(self): 

"""Test removing a run from the tracking database.""" 

tempdir = tempfile.mkdtemp(prefix='trackDb') 

trackingDbFile = os.path.join(tempdir, 'tracking.db') 

trackingdb = db.TrackingDb(database=trackingDbFile) 

tdb = db.Database(database=trackingDbFile) 

# Add two runs. 

trackId = trackingdb.addRun(mafDir=self.mafDir) 

trackId2 = trackingdb.addRun(mafDir=self.mafDir+'test2') 

res = tdb.query_arbitrary('select * from runs') 

self.assertEqual(res['mafRunId'][0], trackId) 

# Test removal works. 

trackingdb.delRun(trackId) 

res = tdb.query_arbitrary('select * from runs') 

self.assertEqual(len(res), 1) 

# Test cannot remove run which does not exist. 

self.assertRaises(Exception, trackingdb.delRun, trackId) 

trackingdb.close() 

tdb.close() 

shutil.rmtree(tempdir) 

 

 

class TestMemory(lsst.utils.tests.MemoryTestCase): 

pass 

 

 

def setup_module(module): 

lsst.utils.tests.init() 

 

 

85 ↛ 86line 85 didn't jump to line 86, because the condition on line 85 was never trueif __name__ == "__main__": 

lsst.utils.tests.init() 

unittest.main()