def test_approve_worklist_item_http_error(self, mock_post):
        mock_post.side_effect = HTTPError(self.error_msg)

        with self.assertRaises(ApplicationError) as context:
            verification_api = VerificationAPI()
            verification_api.approve_worklist_item(self.item_id, self.staff_id)

        self.assertEqual(
            context.exception.message,
            'Received the following response from verification_api: {}'.format(
                self.error_msg))
        self.assertEqual(context.exception.code, 'E401')
        self.assertEqual(context.exception.http_code, 500)
    def test_approve_worklist_item_timeout_error(self, mock_post):
        mock_post.side_effect = Timeout(self.error_msg)

        with self.assertRaises(ApplicationError) as context:
            verification_api = VerificationAPI()
            verification_api.approve_worklist_item(self.item_id, self.staff_id)

        self.assertEqual(
            context.exception.message,
            'Connection to verification_api timed out: {}'.format(
                self.error_msg))
        self.assertEqual(context.exception.code, 'E403')
        self.assertEqual(context.exception.http_code, 500)
Exemplo n.º 3
0
def approve_worklist_item():
    try:
        session['search_params'] = None
        staff_id = _get_user_name()
        item_id = request.form['item_id']
        if not check_correct_lock_user(item_id, session['username']):
            flash('You are not the current locked user of Worklist item {}'.
                  format(item_id))
            return redirect(url_for('verification.get_worklist'))
        current_app.logger.info('User {} approving worklist item {}...'.format(
            staff_id, item_id))
        verification_api = VerificationAPI()
        verification_api.approve_worklist_item(item_id, staff_id)
    except ApplicationError:
        raise ApplicationError(
            'Something went wrong when approving the application. '
            'Please raise an incident quoting the following id: {}'.format(
                g.trace_id))
    else:
        current_app.logger.info(
            'Worklist item {} was approved'.format(item_id))
        flash('Application was approved')
        return redirect(url_for('verification.get_worklist'))
    def test_approve_worklist_item(self, mock_post):
        mock_post.return_value.json.return_value = {
            'case_id': self.item_id,
            'staff_id': self.staff_id,
            'status_updated': True
        }
        mock_post.return_value.status_code = 201

        verification_api = VerificationAPI()
        response = verification_api.approve_worklist_item(
            self.item_id, self.staff_id)

        self.assertEqual(
            response, {
                'case_id': self.item_id,
                'staff_id': self.staff_id,
                'status_updated': True
            })