class TestMemberDatabaseHave(unittest.TestCase): db_path = "/tmp/test_member_database_add.db" def setUp(self): self.db = sqlite3.connect(self.db_path) self.member_db = MemberDatabase(self.db, "?", "member_table_v") self.member_db.create() self.member_db.add(b'test_data', "John Smith", "*****@*****.**", datetime.now() + timedelta(days = 1)) def tearDown(self): # close the connection and delete the object self.db.close() remove(self.db_path) def test_checks_member_existence(self): self.assertTrue(self.member_db.have(b'test_data')) def test_checks_member_non_existence(self): self.assertFalse(self.member_db.have(b'bad_test_data'))
class TestDoorConnectionUpdate(unittest.TestCase): db_path_local = u'/tmp/test_door_connection_update_local.db' db_path_remote = u'/tmp/test_door_connection_update_remote.db' def setUp(self): self.db_local = sqlite3.connect(self.db_path_local) self.member_db_local = MemberDatabase(self.db_local, "?") self.member_db_local.create() self.db_remote = sqlite3.connect(self.db_path_remote) self.member_db_remote = MemberDatabase(self.db_remote, "?") self.member_db_remote.create() self.member_db_remote.add(b'test_data', u'John Smith', u'*****@*****.**', datetime.now() + timedelta(days=1)) self.member_db_remote.add(b'dope_data', u'Crystal Meth', u'*****@*****.**', datetime.now() + timedelta(days=1)) self.door_connection = DoorConnection(self.member_db_local, self.member_db_remote) def tearDown(self): self.db_local.close() self.db_remote.close() remove(self.db_path_local) remove(self.db_path_remote) def test_update_duplicates(self): self.door_connection.update() self.assertEqual(len(self.member_db_local.list()), 2) self.assertTrue(self.member_db_local.have(b'test_data')) self.assertTrue(self.member_db_local.have(b'dope_data'))