with open(self.filename, 'r') as fh: actual = yaml.load(fh) assert_equal(actual, expected) def test_delete(self): expected = {'state_a': {'five': 'barz'}} key_value_pairs = [ (yamlstore.YamlKey('state_a', 'five'), 'barz'), (yamlstore.YamlKey('state_c', 'five'), 'delete_all_c'), (yamlstore.YamlKey('state_a', 'six'), 'delete_one_a'), ] # Save first self.store.save(key_value_pairs) # Save second key_value_pairs = [ (yamlstore.YamlKey('state_c', 'five'), None), (yamlstore.YamlKey('state_a', 'six'), None), ] self.store.save(key_value_pairs) assert_equal(self.store.buffer, expected) with open(self.filename, 'r') as fh: actual = yaml.load(fh) assert_equal(actual, expected) if __name__ == "__main__": run()
{ 'this': 'data2', }, ), ] self.store.save(key_value_pairs) self.store.cleanup() stored_data = Py2Shelf(self.filename) for key, value in key_value_pairs: assert_equal(stored_data[str(key.key)], value) stored_data.close() def test_restore(self): self.store.cleanup() keys = [ShelveKey("thing", i) for i in range(5)] value = {'this': 'data'} store = Py2Shelf(self.filename) for key in keys: store[str(key.key)] = value store.close() self.store.shelve = Py2Shelf(self.filename) retrieved_data = self.store.restore(keys) for key in keys: assert_equal(retrieved_data[key], value) if __name__ == "__main__": run()