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

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

        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_add_note_timeout_error(self, mock_post):
        mock_post.side_effect = Timeout(self.error_msg)

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

        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)
Esempio n. 3
0
def add_note():
    try:
        session['search_items'] = None
        staff_id = _get_user_name()
        item_id = request.form['item_id']
        note_text = request.form['note_text']
        current_app.logger.info(
            'Adding note "{}" to notepad for worklist item {}...'.format(
                note_text, item_id))

        verification_api = VerificationAPI()
        verification_api.add_note(item_id, staff_id, note_text)
    except ApplicationError:
        raise ApplicationError(
            'Something went wrong when adding a note. '
            'Please raise an incident quoting the following id: {}'.format(
                g.trace_id))
    else:
        current_app.logger.info('Note was added to the notepad')
        flash('Your note was added to the notepad')
        return redirect(url_for('verification.get_item', item_id=item_id))
    def test_add_note(self, mock_post):
        response_message = 'Note added for user {}'.format(self.item_id)
        mock_post.return_value.json.return_value = {
            "message": response_message
        }
        mock_post.return_value.status_code = 201

        verification_api = VerificationAPI()
        response = verification_api.add_note(self.item_id, self.staff_id,
                                             self.note_text)

        self.assertEqual(response, {"message": response_message})