def test_system_importer_file_csv_complete_overwrite_upload_post(self): """ test importer view """ # compare before action - systems / attributes self = pre_compare_system_and_attributes_csv(self) # change config set_config_complete_attributes_csv() # change config set_config_complete_overwrite_csv() # login testuser self.client.login(username='******', password='******') # open upload file systemcsv = open(os.path.join(BASE_DIR, 'dfirtrack_main/tests/system_importer/system_importer_file_csv_files/system_importer_file_csv_testfile_41_complete_overwrite.csv'), 'r') # create post data data_dict = { 'systemcsv': systemcsv, } # create url destination = urllib.parse.quote('/system/', safe='/') # get response response = self.client.post('/system/importer/file/csv/upload/', data_dict) # get messages messages = list(get_messages(response.wsgi_request)) # compare - meta self.assertRedirects(response, destination, status_code=302, target_status_code=200) # compare - messages self = compare_messages_csv(self, messages) # compare - systems / attributes self = compare_system_and_attributes_csv(self) # close file systemcsv.close()
def test_system_importer_file_csv_complete_overwrite_instant(self): """ test importer view """ # compare before action - systems / attributes self = pre_compare_system_and_attributes_csv(self) # change config set_csv_import_filename('system_importer_file_csv_testfile_41_complete_overwrite.csv') # change config set_config_complete_attributes_csv() # change config set_config_complete_overwrite_csv() # login testuser self.client.login(username='******', password='******') # create url destination = urllib.parse.quote('/system/', safe='/') # get response response = self.client.get('/system/importer/file/csv/instant/', follow=True) # get messages messages = list(get_messages(response.wsgi_request)) # compare - meta self.assertRedirects(response, destination, status_code=302, target_status_code=200) # compare - messages self = compare_messages_csv(self, messages) # compare - systems / attributes self = compare_system_and_attributes_csv(self)
def test_system_importer_file_csv_complete_preserve_cron(self): """test importer view""" # compare before action - systems / attributes self = pre_compare_system_and_attributes_csv(self) # change config set_csv_import_filename( 'system_importer_file_csv_testfile_42_complete_preserve.csv' ) # change config set_config_complete_attributes_csv() # change config set_config_complete_preserve_csv() # mock timezone.now() t_1 = datetime(2021, 3, 20, 18, 30, tzinfo=timezone.utc) with patch.object(timezone, 'now', return_value=t_1): # execute cron job / scheduled task system_cron() # login testuser self.client.login( username='******', password='******', ) # get response response = self.client.get('/system/') # get messages messages = list(get_messages(response.wsgi_request)) # compare - user 1 self.assertEqual( str(response.context['user']), 'testuser_system_importer_file_csv_complete_preserve', ) self.assertEqual( messages[0].message, 'System CSV importer: created: 0 | updated: 3 | skipped: 0 | multiple: 0 [2021-03-20 18:30:00 - 2021-03-20 18:30:00]', ) self.assertEqual(messages[0].level_tag, 'success') # switch user context self.client.logout() self.client.login(username='******', password='******') # get response response = self.client.get('/system/') # get messages messages = list(get_messages(response.wsgi_request)) # compare - user 2 self.assertEqual(str(response.context['user']), 'message_user') self.assertEqual( messages[0].message, 'System CSV importer: created: 0 | updated: 3 | skipped: 0 | multiple: 0 [2021-03-20 18:30:00 - 2021-03-20 18:30:00]', ) self.assertEqual(messages[0].level_tag, 'success') # compare - systems / attributes self = compare_system_and_attributes_csv(self)
def test_system_importer_file_csv_complete_overwrite_cron(self): """test importer view""" # compare before action - systems / attributes self = pre_compare_system_and_attributes_csv(self) # change config set_csv_import_filename( 'system_importer_file_csv_testfile_41_complete_overwrite.csv') # change config set_config_complete_attributes_csv() # change config set_config_complete_overwrite_csv() # mock timezone.now() t_1 = datetime(2021, 3, 17, 19, 30, tzinfo=timezone.utc) with patch.object(timezone, 'now', return_value=t_1): # execute cron job / scheduled task system_cron() # login testuser self.client.login( username='******', password='******', ) # get response response = self.client.get('/system/') # get messages messages = list(get_messages(response.wsgi_request)) # compare - user 1 self.assertEqual( str(response.context['user']), 'testuser_system_importer_file_csv_complete_overwrite', ) self.assertEqual( messages[0].message, 'System CSV importer: created: 0 | updated: 3 | skipped: 0 | multiple: 0 [2021-03-17 19:30:00 - 2021-03-17 19:30:00]', ) self.assertEqual(messages[0].level_tag, 'success') # switch user context self.client.logout() self.client.login(username='******', password='******') # get response response = self.client.get('/system/') # get messages messages = list(get_messages(response.wsgi_request)) # compare - user 2 self.assertEqual(str(response.context['user']), 'message_user') self.assertEqual( messages[0].message, 'System CSV importer: created: 0 | updated: 3 | skipped: 0 | multiple: 0 [2021-03-17 19:30:00 - 2021-03-17 19:30:00]', ) self.assertEqual(messages[0].level_tag, 'success') # compare - systems / attributes self = compare_system_and_attributes_csv(self)
def test_system_importer_file_csv_complete_attributes_csv_cron(self): """ test importer view """ # change config set_csv_import_filename( 'system_importer_file_csv_testfile_07_complete_csv.csv') # change config set_config_complete_attributes_csv() # mock timezone.now() t_4 = datetime(2021, 3, 6, 18, 14, tzinfo=timezone.utc) with patch.object(timezone, 'now', return_value=t_4): # execute cron job / scheduled task system_cron() # login testuser self.client.login( username= '******', password='******') # get response response = self.client.get('/system/') # get messages messages = list(get_messages(response.wsgi_request)) # compare - user 1 self.assertEqual( str(response.context['user']), 'testuser_system_importer_file_csv_complete_attributes_csv') self.assertEqual( messages[0].message, 'System CSV importer: created: 3 | updated: 0 | skipped: 0 | multiple: 0 [2021-03-06 18:14:00 - 2021-03-06 18:14:00]' ) self.assertEqual(messages[0].level_tag, 'success') # switch user context self.client.logout() self.client.login(username='******', password='******') # get response response = self.client.get('/system/') # get messages messages = list(get_messages(response.wsgi_request)) # compare - user 2 self.assertEqual(str(response.context['user']), 'message_user') self.assertEqual( messages[0].message, 'System CSV importer: created: 3 | updated: 0 | skipped: 0 | multiple: 0 [2021-03-06 18:14:00 - 2021-03-06 18:14:00]' ) self.assertEqual(messages[0].level_tag, 'success') # compare - systems / attributes self = compare_system_and_attributes_csv(self)