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

1import matplotlib 

2matplotlib.use("Agg") 

3import os 

4import unittest 

5import lsst.sims.maf.db as db 

6import lsst.utils.tests 

7from lsst.sims.utils.CodeUtilities import sims_clean_up 

8from lsst.utils import getPackageDir 

9 

10 

11class TestDb(unittest.TestCase): 

12 

13 @classmethod 

14 def tearDownClass(cls): 

15 sims_clean_up() 

16 

17 def setUp(self): 

18 self.database = os.path.join(getPackageDir('sims_data'), 

19 'OpSimData', 'astro-lsst-01_2014.db') 

20 self.driver = 'sqlite' 

21 

22 def tearDown(self): 

23 del self.driver 

24 del self.database 

25 

26 def testBaseDatabase(self): 

27 """Test base database class.""" 

28 # Test instantiation connects to expected tables. 

29 basedb = db.Database(database=self.database, driver=self.driver) 

30 expectedTables = ['Config', 'ScheduledDowntime', 'SlewMaxSpeeds', 

31 'Field', 'Session', 'SummaryAllProps', 'ObsExposures', 

32 'SlewActivities', 'TargetExposures', 'ObsHistory', 

33 'SlewFinalState', 'TargetHistory', 'ObsProposalHistory', 

34 'SlewHistory', 'TargetProposalHistory', 'Proposal', 

35 'ProposalField', 

36 'SlewInitialState', 'UnscheduledDowntime'] 

37 self.assertEqual(set(basedb.tableNames), 

38 set(expectedTables)) 

39 # Test general query with a simple query. 

40 query = 'select fieldId, ra, dec from Field where dec>0 limit 3' 

41 data = basedb.query_arbitrary(query) 

42 self.assertEqual(len(data), 3) 

43 # Test query columns with a simple query. 

44 data = basedb.query_columns('Field', colnames=['fieldId', 'ra', 'dec'], numLimit=3) 

45 self.assertEqual(data.dtype.names, ('fieldId', 'ra', 'dec')) 

46 self.assertEqual(len(data), 3) 

47 

48 def testSqliteFileNotExists(self): 

49 """Test that db gives useful error message if db file doesn't exist.""" 

50 self.assertRaises(IOError, db.Database, 'thisdatabasedoesntexist_sqlite.db') 

51 

52 

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

54 pass 

55 

56 

57def setup_module(module): 

58 lsst.utils.tests.init() 

59 

60 

61if __name__ == "__main__": 61 ↛ 62line 61 didn't jump to line 62, because the condition on line 61 was never true

62 lsst.utils.tests.init() 

63 unittest.main()