def test_system_importer_file_csv_instant_tag_remove_none(self):
        """ test importer view """

        # change config
        set_config_tag_remove_none()

        # 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
        compare_messages_csv(self, messages)
        # compare - tags
        compare_tag_remove_none(self, '56')
Ejemplo n.º 2
0
    def test_system_importer_file_csv_upload_post_tag_remove_none(self):
        """ test importer view """

        # change config
        set_config_tag_remove_none()

        # 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_56_tag_delimiter_space.csv'))
        # 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))
        # close file
        systemcsv.close()
        # compare - meta
        self.assertRedirects(response, destination, status_code=302, target_status_code=200)
        # compare - messages
        compare_messages_csv(self, messages)
        # compare - tags
        compare_tag_remove_none(self, '56')
    def test_system_importer_file_csv_cron_tag_remove_none(self):
        """test importer view"""

        # change config
        set_config_tag_remove_none()

        # mock timezone.now()
        t_3 = datetime(2021, 3, 26, 18, 45, tzinfo=timezone.utc)
        with patch.object(timezone, 'now', return_value=t_3):

            # 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_tag_removal',
        )
        self.assertEqual(
            messages[0].message,
            'System CSV importer: created: 0 | updated: 3 | skipped: 0 | multiple: 0 [2021-03-26 18:45:00 - 2021-03-26 18:45: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-26 18:45:00 - 2021-03-26 18:45:00]',
        )
        self.assertEqual(messages[0].level_tag, 'success')
        # compare - tags
        compare_tag_remove_none(self, '56')