tests/lib/test_my_db.py
author fabien@tzone.org
Wed, 31 Dec 2008 16:26:22 -0500
changeset 75 4f6b7b48322f
parent 70 1798859f7f6c
permissions -rw-r--r--
A lot of fix again, for folder view, bookmark editing and removal and some error handling.

import testconfig
import unittest
import my_db
import pgdb

class TestMyDbConnexion(unittest.TestCase):
	def setUp(self):
		" Setup a test-db environment."
		self.db = my_db.connect(testconfig.CONFIG, "test")
		self.prefs = { 'keywords_box' : 10,
			       'keywords_sort' : 'count',
			       'keywords_reverse': True,
			       'fullname': 'Test User',
			       'default_view': 1 }
	    
	def tearDown(self):
		" Tear down the test-db environment"
		self.db.delete_user(self.db.userid)

	def testConnect(self):
		self.assertNotEqual(self.db, None)
		self.assertNotEqual(self.db.userid, -1)

	def testGetPreferences(self):
		prefs = self.db.get_preferences()
		keys = prefs.keys()
		keys.sort()
		expKeys = self.prefs.keys()
		expKeys.sort()
		self.assertEqual(expKeys, keys)

	def testSetPreferences(self):
		self.db.set_preferences(self.prefs)
		prefs = self.db.get_preferences()
		self.assertEqual(prefs, self.prefs)

	def testAddKeyword(self):
		kw = self.db.add_keyword('keyword')
		self.assertEqual(self.db.get_keyword(kw), 'keyword')

	def testRemoveKeyword(self):
		kw = self.db.add_keyword('keyword')
		self.db.remove_keyword(kw)
		kws = self.db.get_all_keywords()
		# There is always '--' by default
		self.assertEqual(len(kws), 1)

	def testMapKeywords(self):
		kws = ('kw1', 'kw2', 'kw3', 'kw4')
		kwids = map(self.db.add_keyword, kws[:-1])
		expected_map = { kws[-1]: -1 }
		for kw, id in zip(kws[:-1], kwids):
			expected_map[kw] = id
		kw_map = self.db.map_keywords(kws)
		self.assertEqual(expected_map, kw_map)

if __name__ == '__main__':
    unittest.main()