def test_sis_profile_error(self, authenticated_session, client): """gracefully handles SIS profile error""" sis_error = MockResponse(500, {}, '{"message": "Internal server error."}') with register_mock(sis_student_api._get_student, sis_error): response = client.get(TestUserAnalytics.field_hockey_star) assert response.status_code == 200 assert response.json['canvasProfile'] assert not response.json['sisProfile']
def test_server_error(self, app, caplog): """logs unexpected server errors and returns informative message""" api_error = MockResponse(500, {}, '{"message": "Internal server error."}') with register_mock(student_api._get_student, api_error): response = student_api._get_student(11667051) assert 'HTTP/1.1" 500' in caplog.text assert not response assert response.raw_response.status_code == 500 assert response.raw_response.json()['message']
def test_server_error(self, app, caplog): """Logs unexpected server errors and returns informative message.""" api_error = MockResponse(500, {}, '{"message": "Internal server error."}') with register_mock(cal1card_photo_api._get_cal1card_photo, api_error): response = cal1card_photo_api._get_cal1card_photo(61889) assert '500 Server Error' in caplog.text assert not response assert response.raw_response.status_code == 500 assert response.raw_response.json()['message']
def test_sis_profile_unexpected_payload(self, authenticated_session, client): """gracefully handles unexpected SIS profile data""" sis_response = MockResponse( 200, {}, '{"apiResponse": {"response": {"message": "Something wicked."}}}') with register_mock(sis_student_api._get_student, sis_response): response = client.get(TestUserAnalytics.field_hockey_star) assert response.status_code == 200 assert response.json['canvasProfile'] assert not response.json['sisProfile']
def test_sis_enrollment_not_found(self, authenticated_session, client): """gracefully handles missing SIS enrollments""" sis_error = MockResponse( 200, {}, '{"apiResponse": {"response": {"message": "Something unexpected."}}}' ) with register_mock(sis_enrollments_api._get_enrollments, sis_error): response = client.get(TestUserAnalytics.field_hockey_star) assert response.status_code == 200 assert len(response.json['courses']) == 3 for course in response.json['courses']: assert not course.get('sisEnrollments')