Esempio n. 1
0
    def test_invalid_file_body(self, open_patch, copyfileobj_patch, update_registration_patch):
        update_registration_patch.return_value = True
        copyfileobj_patch.return_value = DummyFile()
        open_patch.return_value.__exit__.return_value = None

        self.__request.method = 'POST'
        self.__request.POST['invalid_file'] = DummyFile()

        response = file_upload_service(None, self.__request)

        self.assertEqual(response.status_code, 200)
        self.assertTrue(not update_registration_patch.called)
        self.assertTrue(not copyfileobj_patch.called)
        self.assertTrue(not open_patch.called)
Esempio n. 2
0
    def test_file_upload_service_not_registered(self, is_file_registered_patch, update_registration_patch):
        test_logger = logging.getLogger(upload_service.__name__)
        with mock.patch.object(test_logger, 'error') as mock_error:

            update_registration_patch.return_value = False
            is_file_registered_patch.return_value = False

            self.__request.method = 'POST'
            self.__request.POST['file'] = DummyFile()

            response = file_upload_service(None, self.__request)

            self.assertEqual(response.status_code, 200)
            self.assertTrue(not update_registration_patch.called)
            self.assertTrue(is_file_registered_patch.called)
            self.assertTrue(mock_error.called)
Esempio n. 3
0
    def test_file_creation_error(self, get_size_patch, logger_patch, open_patch, copyfileobj_patch, is_file_registered_patch,
                                 update_registration_patch):
        update_registration_patch.return_value = True
        copyfileobj_patch.return_value = DummyFile()
        logger_patch.return_value = None
        open_patch.side_effect = IOError('Message')
        is_file_registered_patch.return_value = True
        get_size_patch.return_value = 1

        self.__request.method = 'POST'
        self.__request.POST['file'] = DummyFile()

        response = file_upload_service(None, self.__request)

        logger_patch.assert_called_once_with('Cannot complete file copying due to: Message')

        self.assertEqual(response.status_code, 200)
        self.assertTrue(not update_registration_patch.called)
Esempio n. 4
0
    def test_invalid_headers(self, open_patch, copyfileobj_patch, update_registration_patch):
        update_registration_patch.return_value = True
        copyfileobj_patch.return_value = DummyFile()
        open_patch.return_value.__exit__.return_value = None

        __invalid_request = DummyRequest()
        __invalid_request.matchdict['registration_id'] = 'a1-b2-c3-d4-e5'
        __invalid_request.headers['InvalidFileName'] = 'Dummy'

        self.__request.method = 'POST'
        self.__request.POST['file'] = DummyFile()

        response = file_upload_service(None, __invalid_request)

        self.assertEqual(response.status_code, 200)
        self.assertTrue(not update_registration_patch.called)
        self.assertTrue(not copyfileobj_patch.called)
        self.assertTrue(not open_patch.called)
Esempio n. 5
0
    def test_file_size_error(self, getsize_patch, logger_patch, open_patch, copyfileobj_patch, is_file_registered_patch,
                             update_registration_patch):
        update_registration_patch.return_value = True
        is_file_registered_patch.return_value = True
        copyfileobj_patch.return_value = DummyFile()
        logger_patch.return_value = None
        getsize_patch.return_value = 1025
        open_patch.return_value.__exit__.return_value = None

        self.__request.method = 'POST'
        self.__request.POST['file'] = DummyFile()

        response = file_upload_service(None, self.__request)

        logger_patch.assert_called_once_with('File %s exceeds recommended size limit', '/dev/null/a1-b2-c3-d4-e5')

        self.assertEqual(response.status_code, 200)
        self.assertTrue(update_registration_patch.called)
Esempio n. 6
0
    def test_file_upload_service(self, logger_patch, get_size_patch, open_patch, copyfileobj_patch, is_file_registered_patch,
                                 update_registration_patch):
        update_registration_patch.return_value = None
        copyfileobj_patch.return_value = DummyFile()
        open_patch.return_value.__exit__.return_value = None
        is_file_registered_patch.return_value = True
        get_size_patch.return_value = 1
        logger_patch.return_value = None

        self.__request.method = 'POST'
        self.__request.POST['file'] = DummyFile()

        response = file_upload_service(None, self.__request)

        self.assertEqual(response.status_code, 200)
        self.assertTrue(update_registration_patch.called)
        self.assertTrue(copyfileobj_patch.called)
        self.assertTrue(open_patch.called)
        self.assertTrue(is_file_registered_patch.called)
        logger_patch.assert_called_once_with('File %s was successfully uploaded', '/dev/null/a1-b2-c3-d4-e5')