EMF_Camp_Badge/lib/test_database.py

55 lines
1.6 KiB
Python

"""Tests for database"""
___license___ = "MIT"
___dependencies___ = ["upip:unittest", "database"]
import database, unittest
class TestDatabase(unittest.TestCase):
def setUp(self):
self.filename = "tmp.testdb.json"
self.database = database.Database(filename = self.filename)
self._remove_test_db()
def tearDown(self):
self._remove_test_db();
def test_convenience_get_default(self):
self.assertEqual(
database.get("does_not_exist", "default_value", filename=self.filename),
"default_value"
)
def test_convenience_set_and_get(self):
database.set("foo", "bar", filename=self.filename)
self.assertEqual(database.get("foo", filename=self.filename), "bar")
def test_convenience_delete(self):
database.set("foo", "bar", filename=self.filename)
database.delete("foo", filename=self.filename)
self.assertEqual(database.get("foo", filename=self.filename), None)
def test_get_default(self):
self.assertEqual(
self.database.get("does_not_exist", "default_value"),
"default_value"
)
def test_set_and_get(self):
self.database.set("foo", "bar")
self.assertEqual(self.database.get("foo"), "bar")
def test_delete(self):
self.database.set("foo", "bar")
self.database.delete("foo")
self.assertEqual(self.database.get("foo"), None)
def _remove_test_db(self):
try:
os.remove(self.filename)
except Exception as e:
pass
if __name__ == '__main__':
unittest.main()