Skip to content

Commit ea2a606

Browse files
authored
1 parent 59aac0f commit ea2a606

4 files changed

Lines changed: 39 additions & 6 deletions

File tree

Packs/Base/ReleaseNotes/1_10_3.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
#### Scripts
3+
##### CommonServerPython
4+
- Fixed an unnecessary error that was raised while searching indicators.

Packs/Base/Scripts/CommonServerPython/CommonServerPython.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6939,10 +6939,10 @@ def search_indicators_by_version(self, from_date=None, query='', size=100, to_da
69396939
if self._can_use_search_after:
69406940
res = demisto.searchIndicators(fromDate=from_date, toDate=to_date, query=query, size=size, value=value,
69416941
searchAfter=self._search_after_param)
6942-
if self._search_after_title in res and res[self._search_after_title] is not None:
6943-
self._search_after_param = res[self._search_after_title]
6944-
else:
6945-
demisto.log('Elastic search using searchAfter was not found in searchIndicators')
6942+
self._search_after_param = res[self._search_after_title]
6943+
6944+
if res[self._search_after_title] is None:
6945+
demisto.info('Elastic search using searchAfter returned all indicators')
69466946

69476947
else:
69486948
res = demisto.searchIndicators(fromDate=from_date, toDate=to_date, query=query, size=size, page=self._page,

Packs/Base/Scripts/CommonServerPython/CommonServerPython_test.py

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4104,7 +4104,14 @@ def mock_search_after_output(self, fromDate, toDate, query, size, value, searchA
41044104
if not searchAfter:
41054105
searchAfter = 0
41064106

4107-
return {'searchAfter': searchAfter + 1}
4107+
if searchAfter < 6:
4108+
searchAfter += 1
4109+
4110+
else:
4111+
# mock the end of indicators
4112+
searchAfter = None
4113+
4114+
return {'searchAfter': searchAfter}
41084115

41094116
def test_search_indicators_by_page(self, mocker):
41104117
"""
@@ -4152,6 +4159,28 @@ def test_search_indicators_by_search_after(self, mocker):
41524159
assert search_indicators_obj_search_after._search_after_param == 5
41534160
assert search_indicators_obj_search_after._page == 0
41544161

4162+
def test_search_all_indicators_by_search_after(self, mocker):
4163+
"""
4164+
Given:
4165+
- Searching indicators couple of times
4166+
- Server version in equal or higher than 6.1.0
4167+
When:
4168+
- Mocking search indicators using the searchAfter parameter until there are no more indicators
4169+
so search_after is None
4170+
Then:
4171+
- The search after param is None
4172+
- The page param is 0
4173+
"""
4174+
from CommonServerPython import IndicatorsSearcher
4175+
mocker.patch.object(demisto, 'searchIndicators', side_effect=self.mock_search_after_output)
4176+
4177+
search_indicators_obj_search_after = IndicatorsSearcher()
4178+
search_indicators_obj_search_after._can_use_search_after = True
4179+
for n in range(7):
4180+
search_indicators_obj_search_after.search_indicators_by_version()
4181+
assert search_indicators_obj_search_after._search_after_param == None
4182+
assert search_indicators_obj_search_after._page == 0
4183+
41554184

41564185
class TestAutoFocusKeyRetriever:
41574186
def test_instantiate_class_with_param_key(self, mocker, clear_version_cache):

Packs/Base/pack_metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "Base",
33
"description": "The base pack for Cortex XSOAR.",
44
"support": "xsoar",
5-
"currentVersion": "1.10.2",
5+
"currentVersion": "1.10.3",
66
"author": "Cortex XSOAR",
77
"serverMinVersion": "6.0.0",
88
"url": "https://www.paloaltonetworks.com/cortex",

0 commit comments

Comments
 (0)