Skip to content

Commit 7d1e085

Browse files
committed
polishing
1 parent 2b0de31 commit 7d1e085

2 files changed

Lines changed: 28 additions & 48 deletions

File tree

splitio/storage/pluggable.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def fetch_many(self, split_names):
6060
_LOGGER.debug('Error: ', exc_info=True)
6161
return None
6262

63-
# TODO: To be added when producer mode is aupported
63+
# TODO: To be added when producer mode is supported
6464
# def put_many(self, splits, change_number):
6565
# """
6666
# Store multiple splits.
@@ -447,7 +447,6 @@ def get(self, segment_name):
447447
:return: segment object
448448
:rtype: splitio.models.segments.Segment
449449
"""
450-
pass
451450
try:
452451
return segments.from_raw({'name': segment_name, 'added': list(self._pluggable_adapter.get(self._prefix.format(segment_name=segment_name))), 'removed': [], 'till': self._pluggable_adapter.get(self._segment_till_prefix.format(segment_name=segment_name))})
453452
except Exception:

tests/storage/test_pluggable.py

Lines changed: 27 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from tests.integration import splits_json
88
import pytest
99

10-
class SplitMockAdapter(object):
10+
class StorageMockAdapter(object):
1111
def __init__(self):
1212
self._keys = {}
1313

@@ -52,12 +52,36 @@ def get_many(self, keys):
5252
returned_keys.append(self._keys[key])
5353
return returned_keys
5454

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+
5579
class PluggableSplitStorageTests(object):
5680
"""In memory split storage test cases."""
5781

5882
def setup_method(self):
5983
"""Prepare storages with test data."""
60-
self.mock_adapter = SplitMockAdapter()
84+
self.mock_adapter = StorageMockAdapter()
6185
self.pluggable_split_storage = PluggableSplitStorage(self.mock_adapter, 'myprefix')
6286

6387
def test_init(self):
@@ -201,55 +225,12 @@ def test_get_all(self):
201225
# assert(self.mock_adapter._keys['myprefix.SPLITIO.trafficType.account'] == 1)
202226
# assert(split.to_json()['killed'] == self.mock_adapter.get('myprefix.SPLITIO.split.' + split.name)['killed'])
203227

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-
247228
class PluggableSegmentStorageTests(object):
248229
"""In memory split storage test cases."""
249230

250231
def setup_method(self):
251232
"""Prepare storages with test data."""
252-
self.mock_adapter = SegmentMockAdapter()
233+
self.mock_adapter = StorageMockAdapter()
253234
self.pluggable_segment_storage = PluggableSegmentStorage(self.mock_adapter, 'myprefix')
254235

255236
def test_init(self):

0 commit comments

Comments
 (0)