|
7 | 7 | from tests.integration import splits_json |
8 | 8 | import pytest |
9 | 9 |
|
10 | | -class SplitMockAdapter(object): |
| 10 | +class StorageMockAdapter(object): |
11 | 11 | def __init__(self): |
12 | 12 | self._keys = {} |
13 | 13 |
|
@@ -52,12 +52,36 @@ def get_many(self, keys): |
52 | 52 | returned_keys.append(self._keys[key]) |
53 | 53 | return returned_keys |
54 | 54 |
|
| 55 | + def add_items(self, key, added_items): |
| 56 | + items = set() |
| 57 | + if key in self._keys: |
| 58 | + items = set(self._keys[key]) |
| 59 | + [items.add(item) for item in added_items] |
| 60 | + self._keys[key] = items |
| 61 | + |
| 62 | + def remove_items(self, key, removed_items): |
| 63 | + new_items = set() |
| 64 | + for item in self._keys[key]: |
| 65 | + if item not in removed_items: |
| 66 | + new_items.add(item) |
| 67 | + self._keys[key] = new_items |
| 68 | + |
| 69 | + def item_contains(self, key, item): |
| 70 | + if item in self._keys[key]: |
| 71 | + return True |
| 72 | + return False |
| 73 | + |
| 74 | + def get_items_count(self, key): |
| 75 | + if key in self._keys: |
| 76 | + return len(self._keys[key]) |
| 77 | + return None |
| 78 | + |
55 | 79 | class PluggableSplitStorageTests(object): |
56 | 80 | """In memory split storage test cases.""" |
57 | 81 |
|
58 | 82 | def setup_method(self): |
59 | 83 | """Prepare storages with test data.""" |
60 | | - self.mock_adapter = SplitMockAdapter() |
| 84 | + self.mock_adapter = StorageMockAdapter() |
61 | 85 | self.pluggable_split_storage = PluggableSplitStorage(self.mock_adapter, 'myprefix') |
62 | 86 |
|
63 | 87 | def test_init(self): |
@@ -201,55 +225,12 @@ def test_get_all(self): |
201 | 225 | # assert(self.mock_adapter._keys['myprefix.SPLITIO.trafficType.account'] == 1) |
202 | 226 | # assert(split.to_json()['killed'] == self.mock_adapter.get('myprefix.SPLITIO.split.' + split.name)['killed']) |
203 | 227 |
|
204 | | -class SegmentMockAdapter(object): |
205 | | - def __init__(self): |
206 | | - self._keys = {} |
207 | | - |
208 | | - def get(self, key): |
209 | | - if key not in self._keys: |
210 | | - return None |
211 | | - return self._keys[key] |
212 | | - |
213 | | - def set(self, key, value): |
214 | | - self._keys[key] = value |
215 | | - |
216 | | - def add_items(self, key, added_items): |
217 | | - items = set() |
218 | | - if key in self._keys: |
219 | | - items = set(self._keys[key]) |
220 | | - [items.add(item) for item in added_items] |
221 | | - self._keys[key] = items |
222 | | - |
223 | | - def remove_items(self, key, removed_items): |
224 | | - new_items = set() |
225 | | - for item in self._keys[key]: |
226 | | - if item not in removed_items: |
227 | | - new_items.add(item) |
228 | | - self._keys[key] = new_items |
229 | | - |
230 | | - def get_keys_by_prefix(self, prefix): |
231 | | - keys = [] |
232 | | - for key in self._keys: |
233 | | - if prefix in key: |
234 | | - keys.append(key) |
235 | | - return keys |
236 | | - |
237 | | - def item_contains(self, key, item): |
238 | | - if item in self._keys[key]: |
239 | | - return True |
240 | | - return False |
241 | | - |
242 | | - def get_items_count(self, key): |
243 | | - if key in self._keys: |
244 | | - return len(self._keys[key]) |
245 | | - return None |
246 | | - |
247 | 228 | class PluggableSegmentStorageTests(object): |
248 | 229 | """In memory split storage test cases.""" |
249 | 230 |
|
250 | 231 | def setup_method(self): |
251 | 232 | """Prepare storages with test data.""" |
252 | | - self.mock_adapter = SegmentMockAdapter() |
| 233 | + self.mock_adapter = StorageMockAdapter() |
253 | 234 | self.pluggable_segment_storage = PluggableSegmentStorage(self.mock_adapter, 'myprefix') |
254 | 235 |
|
255 | 236 | def test_init(self): |
|
0 commit comments