def testPersistence(self): temp_dir = getTempDirectory() directory = join(temp_dir, 'read_write') db_file = join(directory, 'db') mkdir(directory) try: db = MasterDB(db_file) self.assertTrue(exists(db_file), db_file) address = ('example.com', 1024) db.addremove(None, address) address2 = ('example.org', 1024) db.addremove(None, address2) # Values are visible to a new db instance db2 = MasterDB(db_file) self.assertIn(address, db2) self.assertIn(address2, db2) db.addremove(address, None) # Create yet another instance (file is not supposed to be shared) db2 = MasterDB(db_file) self.assertNotIn(address, db2) self.assertIn(address2, db2) db.remove(address2) # and again, to test remove() self.assertNotIn(address2, MasterDB(db_file)) finally: shutil.rmtree(directory)