import unittest import mockredis from nose.tools import eq_ from helix.store import Store class StoreTest(unittest.TestCase): def setUp(self): self.mock_redis = mockredis.mock_redis_client() self.subject = Store(self.mock_redis, 'abcdef') def test_saving_and_retrieving_list_of_maps(self): self.subject.append_map_to_list('my_list', {'a': 'b', 'c': 'd'}) self.subject.append_map_to_list('my_list', {'e': 'f', 'g': 'h'}) eq_(self.subject.get_list_of_maps('my_list'), [{'a': 'b', 'c': 'd'}, {'e': 'f', 'g': 'h'}]) def test_updating_a_map_in_a_list(self): self.subject.append_map_to_list('my_list', {'a': 'b', 'c': 'd'}) self.subject.append_map_to_list('my_list', {'e': 'f', 'g': 'h'}) self.subject.replace_map_in_list('my_list', {'a': 'z', 'c': 'y'}, 0) eq_(self.subject.get_list_of_maps('my_list'), [{'a': 'z', 'c': 'y'}, {'e': 'f', 'g': 'h'}]) def test_removing_map_from_list(self): self.subject.append_map_to_list('my_list', {'a': 'b', 'c': 'd'}) self.subject.append_map_to_list('my_list', {'e': 'f', 'g': 'h'}) self.subject.remove_map_from_list('my_list', 0) eq_(self.subject.get_list_of_maps('my_list'), [{'e': 'f', 'g': 'h'}])