def test_unhandled_exception(mocker, session_dict): m_handler = mocker.patch.object(handler, 'handle_session') m_handler.side_effect = Exception('Ooops') response = create_session(session_dict) assert_500(response) body = get_body_from_response(response) assert body == {'errors': ['Unexpected server error']}
def test_session_hanlder_post(mock_handler): event = {'httpMethod': 'POST'} response = handler.session(event, None) assert_200(response) body = get_body_from_response(response) assert body == {'test_passed': True} mock_handler.assert_called_once_with('POST', event)
def test_deep_unhandled_exception(mocker, session_dict): m_model = mocker.patch('cupping.handlers.session.create_session_from_json_payload') m_model.side_effect = Exception('Ooops') response = create_session(session_dict) assert_500(response) body = get_body_from_response(response) assert body == {'errors': ['Unexpected server error']}
def test_create_session(session_dict): response = create_session(session_dict) assert_200(response) body = get_body_from_response(response) assert body['session'] assert body['session']['name'] == 'Test cupping' assert body['session']['id'] >= 1
def test_session_detail_hanlder_404(mocker): mock_handler = mocker.patch('handler.handle_session_detail') mock_handler.side_effect = Http404('Test 404 error') event = {'httpMethod': 'POST'} response = handler.session_detail(event, None) assert_404(response) body = get_body_from_response(response) assert body == {'errors': ['Test 404 error']} mock_handler.assert_called_once_with('POST', event)
def test_create_session_missing_cupping_scores(session_dict): session_dict['cuppings'][0].pop('scores') response = create_session(session_dict) assert_200(response) body = get_body_from_response(response) assert body == { 'errors': { 'cuppings': { '0': {'scores': 'This field is required.'} } } }
def test_get_session(): session = SessionFactory() cuppings = CuppingFactory.create_batch(2, session_id=session.id) response = get_session_detail({'pathParameters': {'id': session.id}}) assert_200(response) body = get_body_from_response(response) return_session = body.get('session') assert return_session assert return_session['id'] == session.id assert len(return_session['cuppings']) == 2 cupping_ids = set(c['id'] for c in return_session['cuppings']) assert len(cupping_ids) == 2 session_ids = set(c['session_id'] for c in return_session['cuppings']) assert session_ids == set((session.id, ))
def test_create_session_missing_name(session_dict): session_dict.pop('name') response = create_session(session_dict) assert_200(response) body = get_body_from_response(response) assert body == {'errors': {'name': 'This field is required.'}}
def test_create_session_invalid_data(data): response = create_session(data) assert_200(response) body = get_body_from_response(response) assert body == {'errors': ['Invalid input data']}
def test_get_bad_data(data, invalid_session_response): response = get_session_detail(data) assert response['statusCode'] == 404 body = get_body_from_response(response) assert body == invalid_session_response
def test_get_invalid_session(session_id, invalid_session_response): payload = {'pathParameters': {'id': session_id}} response = get_session_detail(payload) assert response['statusCode'] == 404 body = get_body_from_response(response) assert body == invalid_session_response
def test_get_nonexistent_session(invalid_session_response): payload = {'pathParameters': {'id': 23423423}} response = get_session_detail(payload) assert response['statusCode'] == 404 body = get_body_from_response(response) assert body == invalid_session_response