diff --git a/CHANGES.txt b/CHANGES.txt index b13f30fe..a991ff81 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,4 @@ -9.4.0 (Feb 21, 2023) +9.4.0 (Mar 1, 2023) - Added support to use JSON files in localhost mode. - Updated default periodic telemetry post time to one hour. - Fixed unhandeled exception in push.manager.py class when SDK is connected to split proxy diff --git a/splitio/sync/segment.py b/splitio/sync/segment.py index 53d133dd..238b9f6c 100644 --- a/splitio/sync/segment.py +++ b/splitio/sync/segment.py @@ -255,8 +255,6 @@ def synchronize_segment(self, segment_name, till=None): """ try: fetched = self._read_segment_from_json_file(segment_name) - if fetched is None: - return False fetched_sha = util._get_sha(json.dumps(fetched)) if not self.segment_exist_in_storage(segment_name): self._segment_sha[segment_name] = fetched_sha @@ -309,10 +307,10 @@ def _sanitize_segment(self, parsed): """ if 'name' not in parsed or parsed['name'] is None: _LOGGER.warning("Segment does not have [name] element, skipping") - return None + raise Exception("Segment does not have [name] element") if parsed['name'].strip() == '': _LOGGER.warning("Segment [name] element is blank, skipping") - return None + raise Exception("Segment [name] element is blank") for element in [('till', -1, -1, None, None, [0]), ('added', [], None, None, None, None), diff --git a/tests/sync/test_segments_synchronizer.py b/tests/sync/test_segments_synchronizer.py index 10830229..4612937a 100644 --- a/tests/sync/test_segments_synchronizer.py +++ b/tests/sync/test_segments_synchronizer.py @@ -305,11 +305,21 @@ def test_json_elements_sanitization(self, mocker): # should reject segment if 'name' is null segment2 = {"name": None, "added": [], "removed": [], "since": -1, "till": 12} - assert(segment_synchronizer._sanitize_segment(segment2) == None) + exception_called = False + try: + segment_synchronizer._sanitize_segment(segment2) + except: + exception_called = True + assert(exception_called) # should reject segment if 'name' does not exist segment2 = {"added": [], "removed": [], "since": -1, "till": 12} - assert(segment_synchronizer._sanitize_segment(segment2) == None) + exception_called = False + try: + segment_synchronizer._sanitize_segment(segment2) + except: + exception_called = True + assert(exception_called) # should add missing 'added' element segment2 = {"name": 'seg', "removed": [], "since": -1, "till": 12}