4
4
Overview can be found at: https://confluence.paloaltonetworks.com/display/DemistoContent/Configure+Test+Filter
5
5
"""
6
6
import os
7
- import re
8
7
import sys
9
8
import json
10
9
import glob
34
33
35
34
TEST_DATA_INTEGRATION_YML_REGEX = r'Tests\/scripts\/infrastructure_tests\/tests_data\/mock_integrations\/.*\.yml'
36
35
INTEGRATION_REGEXES = [
37
- INTEGRATION_REGEX ,
38
- BETA_INTEGRATION_REGEX ,
39
- PACKS_INTEGRATION_REGEX ,
36
+ PACKS_INTEGRATION_PY_REGEX ,
37
+ PACKS_INTEGRATION_PS_TEST_REGEX ,
40
38
TEST_DATA_INTEGRATION_YML_REGEX
41
39
]
42
40
TEST_DATA_SCRIPT_YML_REGEX = r'Tests/scripts/infrastructure_tests/tests_data/mock_scripts/.*.yml'
43
41
SCRIPT_REGEXES = [
44
42
TEST_DATA_SCRIPT_YML_REGEX
45
43
]
46
44
INCIDENT_FIELD_REGEXES = [
47
- INCIDENT_FIELD_REGEX ,
48
- PACKS_INCIDENT_FIELDS_REGEX
45
+ PACKS_INCIDENT_FIELD_JSON_REGEX
49
46
]
50
47
FILES_IN_SCRIPTS_OR_INTEGRATIONS_DIRS_REGEXES = [
51
48
FILE_IN_INTEGRATIONS_DIR_REGEX ,
55
52
]
56
53
CHECKED_TYPES_REGEXES = [
57
54
# Integrations
58
- INTEGRATION_REGEX ,
59
- INTEGRATION_YML_REGEX ,
60
- BETA_INTEGRATION_REGEX ,
61
- PACKS_INTEGRATION_REGEX ,
55
+ PACKS_INTEGRATION_PY_REGEX ,
62
56
PACKS_INTEGRATION_YML_REGEX ,
57
+ PACKS_INTEGRATION_NON_SPLIT_YML_REGEX ,
58
+ PACKS_INTEGRATION_PS_REGEX ,
59
+
63
60
# Scripts
64
- SCRIPT_REGEX ,
65
- SCRIPT_YML_REGEX ,
66
61
PACKS_SCRIPT_REGEX ,
67
62
PACKS_SCRIPT_YML_REGEX ,
63
+ PACKS_SCRIPT_NON_SPLIT_YML_REGEX ,
64
+
68
65
# Playbooks
69
66
PLAYBOOK_REGEX ,
70
- BETA_PLAYBOOK_REGEX ,
71
- PACKS_PLAYBOOK_YML_REGEX
67
+ PLAYBOOK_YML_REGEX
72
68
]
73
69
74
70
# File names
@@ -159,8 +155,7 @@ def get_modified_files(files_string):
159
155
# reputations.json
160
156
elif re .match (INDICATOR_TYPES_REPUTATIONS_REGEX , file_path , re .IGNORECASE ) or \
161
157
re .match (PACKS_INDICATOR_TYPES_REPUTATIONS_REGEX , file_path , re .IGNORECASE ) or \
162
- re .match (INDICATOR_TYPES_REGEX , file_path , re .IGNORECASE ) or \
163
- re .match (PACKS_INDICATOR_TYPES_REGEX , file_path , re .IGNORECASE ):
158
+ re .match (PACKS_INDICATOR_TYPE_JSON_REGEX , file_path , re .IGNORECASE ):
164
159
is_reputations_json = True
165
160
166
161
elif checked_type (file_path , INCIDENT_FIELD_REGEXES ):
@@ -870,7 +865,7 @@ def get_test_conf_from_conf(test_id, server_version, conf=None):
870
865
# return None if nothing is found
871
866
test_conf = next ((test_conf for test_conf in test_conf_lst if (
872
867
test_conf .get ('playbookID' ) == test_id
873
- and is_runnable_in_server_version (from_v = test_conf .get ('fromversion' , '0' ),
868
+ and is_runnable_in_server_version (from_v = test_conf .get ('fromversion' , '0.0 ' ),
874
869
server_v = server_version ,
875
870
to_v = test_conf .get ('toversion' , '99.99.99' ))
876
871
)), None )
@@ -894,7 +889,7 @@ def extract_matching_object_from_id_set(obj_id, obj_set, server_version='0'):
894
889
continue
895
890
896
891
# check if object is runnable
897
- fromversion = obj .get ('fromversion' , '0' )
892
+ fromversion = obj .get ('fromversion' , '0.0 ' )
898
893
toversion = obj .get ('toversion' , '99.99.99' )
899
894
if is_runnable_in_server_version (from_v = fromversion , server_v = server_version , to_v = toversion ):
900
895
return obj
@@ -962,7 +957,7 @@ def is_test_runnable(test_id, id_set, conf, server_version):
962
957
if not test_conf :
963
958
print_warning (f'{ warning_prefix } - couldn\' t find test in conf.json' )
964
959
return False
965
- conf_fromversion = test_conf .get ('fromversion' , '0' )
960
+ conf_fromversion = test_conf .get ('fromversion' , '0.0 ' )
966
961
conf_toversion = test_conf .get ('toversion' , '99.99.99' )
967
962
test_playbooks_set = id_set .get ('TestPlaybooks' , [])
968
963
test_playbook_obj = extract_matching_object_from_id_set (test_id , test_playbooks_set , server_version )
0 commit comments