def create_id_set(self): self.id_set = re_create_id_set(id_set_path=self.output, pack_to_create=self.input, print_logs=self.print_logs) self.add_command_to_implementing_integrations_mapping() self.save_id_set() return self.id_set
def create_id_set(self): self.id_set, excluded_items_by_pack, excluded_items_by_type = re_create_id_set( id_set_path=self.output, pack_to_create=self.input, print_logs=self.print_logs, fail_on_duplicates=self.fail_duplicates, marketplace=self.marketplace) self.add_command_to_implementing_integrations_mapping() self.save_id_set() return self.id_set, excluded_items_by_pack, excluded_items_by_type
def test_find_duplicates(self): sys.path.insert(1, os.getcwd()) # Make the script run from tests dir os.chdir( os.path.abspath(os.path.join(os.path.dirname(__file__), TESTS_DIR))) # create duplicate report temp_report = tempfile.NamedTemporaryFile( mode="w+", prefix='report-', # disable-secrets-detection suffix='.json', dir='Reports') # disable-secrets-detection json.dump(REPORT_DATA, temp_report) temp_report.flush() os.fsync(temp_report.fileno()) temp_report2 = tempfile.NamedTemporaryFile( mode="w+", prefix='report-', # disable-secrets-detection suffix='.json', dir='Reports') # disable-secrets-detection json.dump(REPORT_DATA, temp_report2) temp_report2.flush() os.fsync(temp_report2.fileno()) # create duplicate Widgets temp_widget = tempfile.NamedTemporaryFile( mode="w+", prefix='widget-', # disable-secrets-detection suffix='.json', dir='Widgets') # disable-secrets-detection json.dump(WIDGET_DATA, temp_widget) temp_widget.flush() os.fsync(temp_widget.fileno()) temp_widget2 = tempfile.NamedTemporaryFile( mode="w+", prefix='widget-', # disable-secrets-detection suffix='.json', dir='Widgets') # disable-secrets-detection json.dump(WIDGET_DATA, temp_widget2) temp_widget2.flush() os.fsync(temp_widget2.fileno()) # create duplicate Classifier temp_classifier = tempfile.NamedTemporaryFile( mode="w+", prefix='classifier-', # disable-secrets-detection suffix='.json', dir='Classifiers') # disable-secrets-detection json.dump(WIDGET_DATA, temp_classifier) temp_classifier.flush() os.fsync(temp_classifier.fileno()) temp_classifier2 = tempfile.NamedTemporaryFile( mode="w+", prefix='classifier-', # disable-secrets-detection suffix='.json', dir='Classifiers') # disable-secrets-detection json.dump(WIDGET_DATA, temp_classifier2) temp_classifier2.flush() os.fsync(temp_classifier2.fileno()) # create duplicate Layout temp_layout = tempfile.NamedTemporaryFile( mode="w+", prefix='layout-', # disable-secrets-detection suffix='.json', dir='Layouts') # disable-secrets-detection json.dump(LAYOUT_DATA, temp_layout) temp_layout.flush() os.fsync(temp_layout.fileno()) temp_layout2 = tempfile.NamedTemporaryFile( mode="w+", prefix='layout-', suffix='.json', # disable-secrets-detection dir='Packs/CortexXDR/Layouts') # disable-secrets-detection json.dump(LAYOUT_DATA, temp_layout2) temp_layout2.flush() os.fsync(temp_layout2.fileno()) # create duplicate Dashboard temp_dashboard = tempfile.NamedTemporaryFile( mode="w+", prefix='dashboard-', # disable-secrets-detection suffix='.json', dir='Dashboards') # disable-secrets-detection json.dump(DASHBOARD_DATA, temp_dashboard) temp_dashboard.flush() os.fsync(temp_dashboard.fileno()) temp_dashboard2 = tempfile.NamedTemporaryFile( mode="w+", prefix='dashboard-', # disable-secrets-detection suffix='.json', dir='Dashboards') # disable-secrets-detection json.dump(DASHBOARD_DATA2, temp_dashboard2) temp_dashboard2.flush() os.fsync(temp_dashboard2.fileno()) # create one incident type field and one indicator type field with same data temp_incident_field = tempfile.NamedTemporaryFile( mode='w+', prefix='incidentfield-', # disable-secrets-detection suffix='.json', dir='IncidentFields') # disable-secrets-detection json.dump(INCIDENT_FIELD_DATA, temp_incident_field) temp_incident_field.flush() os.fsync(temp_incident_field.fileno()) temp_indicator_field = tempfile.NamedTemporaryFile( mode='w+', prefix='incidentfield-', # disable-secrets-detection suffix='.json', dir='IndicatorFields') json.dump(INCIDENT_FIELD_DATA, temp_indicator_field) temp_indicator_field.flush() os.fsync(temp_indicator_field.fileno()) # create temporary file for id_set temp_id_set = tempfile.NamedTemporaryFile( mode="w+", prefix='temp_id_set-', # disable-secrets-detection suffix='.json', dir='Tests/scripts') # disable-secrets-detection json_path = temp_id_set.name re_create_id_set(json_path, [ 'Reports', 'Layouts', 'Widgets', 'Classifiers', 'Dashboards', 'IndicatorFields', 'IncidentFields' ]) with open(json_path) as json_file: data = json.load(json_file) dup_data = find_duplicates(data) assert any('temp-widget-dup-check' in i for i in dup_data) assert any('temp-report-dup-check' in i for i in dup_data) assert any('temp-widget-dup-check' in i for i in dup_data) assert any('dup-check-dashbaord' in i for i in dup_data) assert any('layout-dup-check-id' in i for i in dup_data) assert any('incident_account_field_dup_check' in i for i in dup_data)
def create_id_set(self): return re_create_id_set(id_set_path=self.output, print_logs=self.print_logs)
def create_id_set(self): return re_create_id_set(self.output)