def test_system_creator_form_empty(self): """ test minimum form requirements / INVALID """ # get object form = SystemCreatorForm(data={}) # compare self.assertFalse(form.is_valid())
def system_creator_async(request_post, request_user): """ function to create many systems at once """ # call logger debug_logger(str(request_user), " SYSTEM_CREATOR_BEGIN") # exctract lines from systemlist (list results from request object via large text area) lines = request_post.get('systemlist').splitlines() # iterate over lines for line in lines: # skip emtpy lines if line == '': warning_logger(str(request_user), " SYSTEM_CREATOR_ROW_EMPTY") continue # check line for length of string if len(line) > 50: warning_logger(str(request_user), " SYSTEM_CREATOR_LONG_STRING") continue # check for existence of system system = System.objects.filter(system_name = line) if system.count() > 0: # call logger error_logger(str(request_user), " SYSTEM_CREATOR_SYSTEM_EXISTS " + "system_name:" + line) # leave this loop because system with this systemname already exists continue # create form with request data form = SystemCreatorForm(request_post) # create system if form.is_valid(): # don't save form yet system = form.save(commit=False) # set system_name system.system_name = line # set auto values system.system_created_by_user_id = request_user system.system_modified_by_user_id = request_user system.system_modify_time = timezone.now() # save object system.save() # save manytomany form.save_m2m() # call logger system.logger(str(request_user), ' SYSTEM_CREATOR_EXECUTED') # call logger debug_logger(str(request_user), " SYSTEM_CREATOR_END")
def test_system_creator_systemlist_form_filled(self): """ test minimum form requirements / INVALID """ # get object form = SystemCreatorForm(data={ 'systemlist': 'system_1', }) # compare self.assertFalse(form.is_valid())
def test_system_creator_systemstatus_form_filled(self): """ test minimum form requirements / VALID """ # get object systemstatus_id = Systemstatus.objects.get( systemstatus_name='systemstatus_1').systemstatus_id # get object form = SystemCreatorForm(data={ 'systemlist': 'system_1', 'systemstatus': systemstatus_id, }) # compare self.assertTrue(form.is_valid())
def test_system_creator_systemlist_multi_line(self): """ test for multiple line input """ # get object systemstatus_id = Systemstatus.objects.get( systemstatus_name='systemstatus_1').systemstatus_id # get object form = SystemCreatorForm( data={ 'systemlist': 'system_1\nsystem_2\nsystem_3', 'systemstatus': systemstatus_id, }) # compare self.assertTrue(form.is_valid())
def test_system_creator_contact_form_filled(self): """ test additional form content """ # get object systemstatus_id = Systemstatus.objects.get( systemstatus_name='systemstatus_1').systemstatus_id # get object contact_id = Contact.objects.get(contact_name='contact_1').contact_id # get object form = SystemCreatorForm( data={ 'systemlist': 'system_1', 'systemstatus': systemstatus_id, 'contact': contact_id, }) # compare self.assertTrue(form.is_valid())
def test_system_creator_osarch_form_filled(self): """ test additional form content """ # get object systemstatus_id = Systemstatus.objects.get( systemstatus_name='systemstatus_1').systemstatus_id # get object osarch_id = Osarch.objects.get(osarch_name='osarch_1').osarch_id # get object form = SystemCreatorForm( data={ 'systemlist': 'system_1', 'systemstatus': systemstatus_id, 'osarch': osarch_id, }) # compare self.assertTrue(form.is_valid())
def test_system_creator_dnsname_form_filled(self): """ test additional form content """ # get object systemstatus_id = Systemstatus.objects.get( systemstatus_name='systemstatus_1').systemstatus_id # get object dnsname_id = Dnsname.objects.get(dnsname_name='dnsname_1').dnsname_id # get object form = SystemCreatorForm( data={ 'systemlist': 'system_1', 'systemstatus': systemstatus_id, 'dnsname': dnsname_id, }) # compare self.assertTrue(form.is_valid())
def test_system_creator_reason_form_filled(self): """ test additional form content """ # get object systemstatus_id = Systemstatus.objects.get( systemstatus_name='systemstatus_1').systemstatus_id # get object reason_id = Reason.objects.get(reason_name='reason_1').reason_id # get object form = SystemCreatorForm( data={ 'systemlist': 'system_1', 'systemstatus': systemstatus_id, 'reason': reason_id, }) # compare self.assertTrue(form.is_valid())
def test_system_case_form_filled(self): """ test additional form content """ # get object systemstatus_id = Systemstatus.objects.get( systemstatus_name='systemstatus_1').systemstatus_id # get object case_1_id = Case.objects.get(case_name='case_1').case_id case_2_id = Case.objects.get(case_name='case_2').case_id # get object form = SystemCreatorForm( data={ 'systemlist': 'system_1', 'systemstatus': systemstatus_id, 'case': [case_1_id, case_2_id], }) # compare self.assertTrue(form.is_valid())
def test_system_creator_tag_form_filled(self): """ test additional form content """ # get object systemstatus_id = Systemstatus.objects.get( systemstatus_name='systemstatus_1').systemstatus_id # get object tag_1_id = Tag.objects.get(tag_name='tag_1').tag_id tag_2_id = Tag.objects.get(tag_name='tag_2').tag_id # get object form = SystemCreatorForm( data={ 'systemlist': 'system_1', 'systemstatus': systemstatus_id, 'tag': [tag_1_id, tag_2_id], }) # compare self.assertTrue(form.is_valid())
def test_system_creator_serviceprovider_form_filled(self): """ test additional form content """ # get object systemstatus_id = Systemstatus.objects.get( systemstatus_name='systemstatus_1').systemstatus_id # get object serviceprovider_id = Serviceprovider.objects.get( serviceprovider_name='serviceprovider_1').serviceprovider_id # get object form = SystemCreatorForm( data={ 'systemlist': 'system_1', 'systemstatus': systemstatus_id, 'serviceprovider': serviceprovider_id, }) # compare self.assertTrue(form.is_valid())
def test_system_creator_analysisstatus_form_filled(self): """ test additional form content """ # get object systemstatus_id = Systemstatus.objects.get( systemstatus_name='systemstatus_1').systemstatus_id # get object analysisstatus_id = Analysisstatus.objects.get( analysisstatus_name='analysisstatus_1').analysisstatus_id # get object form = SystemCreatorForm( data={ 'systemlist': 'system_1', 'systemstatus': systemstatus_id, 'analysisstatus': analysisstatus_id, }) # compare self.assertTrue(form.is_valid())
def system_creator_async(request_post, request_user): """ function to create many systems at once """ # call logger debug_logger(str(request_user), ' SYSTEM_CREATOR_BEGIN') # exctract lines from systemlist (list results from request object via large text area) lines = request_post.get('systemlist').splitlines() # count lines (needed for messages) number_of_lines = len(lines) # set systems_created_counter (needed for messages) systems_created_counter = 0 # set systems_skipped_counter (needed for messages) systems_skipped_counter = 0 # set lines_faulty_counter (needed for messages) lines_faulty_counter = 0 # create empty list (needed for messages) skipped_systems = [] # iterate over lines for line in lines: # skip emtpy lines if line == '': # autoincrement counter lines_faulty_counter += 1 # call logger warning_logger(str(request_user), ' SYSTEM_CREATOR_ROW_EMPTY') continue # check line for length of string if len(line) > 50: # autoincrement counter lines_faulty_counter += 1 # call logger warning_logger(str(request_user), ' SYSTEM_CREATOR_LONG_STRING') continue # check for existence of system system = System.objects.filter(system_name=line) """ already existing system """ # in case of existing system if system.count() > 0: # autoincrement counter systems_skipped_counter += 1 # add system name to list of skipped systems skipped_systems.append(line) # call logger error_logger( str(request_user), ' SYSTEM_CREATOR_SYSTEM_EXISTS ' + 'system_name:' + line) # leave this loop because system with this systemname already exists continue """ new system """ # create form with request data form = SystemCreatorForm(request_post) # create system if form.is_valid(): """ object creation """ # don't save form yet system = form.save(commit=False) # set system_name system.system_name = line # set auto values system.system_created_by_user_id = request_user system.system_modified_by_user_id = request_user system.system_modify_time = timezone.now() # save object system.save() # save manytomany form.save_m2m() """ object counter / log """ # autoincrement counter systems_created_counter += 1 # call logger system.logger(str(request_user), ' SYSTEM_CREATOR_EXECUTED') """ call final messages """ # finish message message_user(request_user, 'System creator finished', constants.SUCCESS) # number messages if systems_created_counter > 0: if systems_created_counter == 1: message_user(request_user, str(systems_created_counter) + ' system was created.', constants.SUCCESS) else: message_user( request_user, str(systems_created_counter) + ' systems were created.', constants.SUCCESS) if systems_skipped_counter > 0: if systems_skipped_counter == 1: message_user( request_user, str(systems_skipped_counter) + ' system was skipped. ' + str(skipped_systems), constants.ERROR) else: message_user( request_user, str(systems_skipped_counter) + ' systems were skipped. ' + str(skipped_systems), constants.ERROR) if lines_faulty_counter > 0: if lines_faulty_counter == 1: message_user( request_user, str(lines_faulty_counter) + ' line out of ' + str(number_of_lines) + ' lines was faulty (see log file for details).', constants.WARNING) else: message_user( request_user, str(lines_faulty_counter) + ' lines out of ' + str(number_of_lines) + ' lines were faulty (see log file for details).', constants.WARNING) # call logger info_logger( str(request_user), ' SYSTEM_CREATOR_STATUS ' + 'created:' + str(systems_created_counter) + '|' + 'skipped:' + str(systems_skipped_counter) + '|' + 'faulty_lines:' + str(lines_faulty_counter)) # call logger debug_logger(str(request_user), ' SYSTEM_CREATOR_END')
def system_creator_async(request_post, request_user): """ function to create many systems at once """ # call logger debug_logger(str(request_user), ' SYSTEM_CREATOR_START') # exctract lines from systemlist (list results from request object via large text area) lines = request_post.get('systemlist').splitlines() # count lines (needed for messages) number_of_lines = len(lines) # set systems_created_counter (needed for messages) systems_created_counter = 0 # set systems_skipped_counter (needed for messages) systems_skipped_counter = 0 # set lines_faulty_counter (needed for messages) lines_faulty_counter = 0 # create empty list (needed for messages) skipped_systems = [] # iterate over lines for line in lines: # skip emtpy lines if line == '': # autoincrement counter lines_faulty_counter += 1 # call logger warning_logger(str(request_user), ' SYSTEM_CREATOR_ROW_EMPTY') continue # check line for length of string if len(line) > 50: # autoincrement counter lines_faulty_counter += 1 # call logger warning_logger(str(request_user), ' SYSTEM_CREATOR_LONG_STRING') continue # check for existence of system system = System.objects.filter(system_name = line) """ already existing system """ # in case of existing system if system.count() > 0: # autoincrement counter systems_skipped_counter += 1 # add system name to list of skipped systems skipped_systems.append(line) # call logger warning_logger(str(request_user), f' SYSTEM_CREATOR_SYSTEM_EXISTS system_name:{line}') # leave this loop because system with this systemname already exists continue """ new system """ # create form with request data form = SystemCreatorForm(request_post) # create system if form.is_valid(): """ object creation """ # don't save form yet system = form.save(commit=False) # set system_name system.system_name = line # set auto values system.system_created_by_user_id = request_user system.system_modified_by_user_id = request_user system.system_modify_time = timezone.now() # save object system.save() # save manytomany form.save_m2m() """ object counter / log """ # autoincrement counter systems_created_counter += 1 # call logger system.logger(str(request_user), ' SYSTEM_CREATOR_EXECUTED') """ finish system importer """ # call final messages final_messages(systems_created_counter, systems_skipped_counter, lines_faulty_counter, skipped_systems, number_of_lines, request_user) # call logger info_logger( str(request_user), f' SYSTEM_CREATOR_STATUS' f' created:{systems_created_counter}' f'|skipped:{systems_skipped_counter}' f'|faulty_lines:{lines_faulty_counter}' ) # call logger debug_logger(str(request_user), ' SYSTEM_CREATOR_END')