def test_segment_contains(self, mocker): """Test using storage to determine whether a key belongs to a segment.""" storage = InMemorySegmentStorage() segment = mocker.Mock(spec=Segment) name_property = mocker.PropertyMock() name_property.return_value = 'some_segment' type(segment).name = name_property storage.put(segment) storage.segment_contains('some_segment', 'abc') assert segment.contains.mock_calls[0] == mocker.call('abc')
def test_segment_update(self): """Test updating a segment.""" storage = InMemorySegmentStorage() segment = Segment('some_segment', ['key1', 'key2', 'key3'], 123) storage.put(segment) assert storage.get('some_segment') == segment storage.update('some_segment', ['key4', 'key5'], ['key2', 'key3'], 456) assert storage.segment_contains('some_segment', 'key1') assert storage.segment_contains('some_segment', 'key4') assert storage.segment_contains('some_segment', 'key5') assert not storage.segment_contains('some_segment', 'key2') assert not storage.segment_contains('some_segment', 'key3') assert storage.get_change_number('some_segment') == 456