def test_send_grade_loose_suppresses_and_logs_does_not_exist(self, get_user_data):
     get_user_data.side_effect = LtiUserData.DoesNotExist()
     with self.assertRaises(LtiUserData.DoesNotExist), \
             patch("django_lti_tool_provider.signals._logger.info") as patched_log_info:
         _send_grade(Mock(), 0, None)
         patched_log_info.assert_called_once()
         call_args = patched_log_info.call_args[0]
         self.assertIn("No LTI parameters", call_args[0])
 def test_send_grade_loose_suppresses_and_logs_exceptions(self, exception_type, get_user_data):
     get_user_data.side_effect = exception_type()
     with self.assertRaises(exception_type), \
             patch("django_lti_tool_provider.signals._logger.exception") as patched_log_exception:
         _send_grade(Mock(), 0, None)
         patched_log_exception.assert_called_once()
         call_args = patched_log_exception.call_args[0]
         self.assertIn("Exception occurred in lti module", call_args[0])
 def test_send_grade_loose_suppresses_and_logs_does_not_exist(
         self, get_user_data):
     get_user_data.side_effect = LtiUserData.DoesNotExist()
     with self.assertRaises(LtiUserData.DoesNotExist), \
             patch("django_lti_tool_provider.signals._logger.info") as patched_log_info:
         _send_grade(Mock(), 0, None)
         patched_log_info.assert_called_once()
         call_args = patched_log_info.call_args[0]
         self.assertIn("No LTI parameters", call_args[0])
 def test_send_grade_loose_suppresses_and_logs_exceptions(
         self, exception_type, get_user_data):
     get_user_data.side_effect = exception_type()
     with self.assertRaises(exception_type), \
             patch("django_lti_tool_provider.signals._logger.exception") as patched_log_exception:
         _send_grade(Mock(), 0, None)
         patched_log_exception.assert_called_once()
         call_args = patched_log_exception.call_args[0]
         self.assertIn("Exception occurred in lti module", call_args[0])
 def test_send_grade_sends_grade_request(self, grade, get_user_data):
     user_data = Mock()
     get_user_data.return_value = user_data
     _send_grade(Mock(), grade, None)
     user_data.send_lti_grade.assert_called_with(grade)
 def test_send_grade_requests_correct_lti_user_data(self, user, custom_key, get_user_data):
     get_user_data.assert_not_called()
     _send_grade(user, 0, custom_key)
     get_user_data.assert_called_with(user=user, custom_key=custom_key)
 def test_send_grade_no_lti_user_data_raises_does_not_exist(self, get_user_data):
     get_user_data.side_effect = LtiUserData.DoesNotExist()
     with self.assertRaises(LtiUserData.DoesNotExist):
         _send_grade(Mock(), 0, None)
 def test_send_grade_given_none_instance_raises_assertion_error(self, _):
     with self.assertRaises(ValueError):
         _send_grade(None, 0, None)
 def test_send_grade_sends_grade_request(self, grade, get_user_data):
     user_data = Mock()
     get_user_data.return_value = user_data
     _send_grade(Mock(), grade, None)
     user_data.send_lti_grade.assert_called_with(grade)
 def test_send_grade_requests_correct_lti_user_data(self, user, custom_key,
                                                    get_user_data):
     get_user_data.assert_not_called()
     _send_grade(user, 0, custom_key)
     get_user_data.assert_called_with(user=user, custom_key=custom_key)
 def test_send_grade_no_lti_user_data_raises_does_not_exist(
         self, get_user_data):
     get_user_data.side_effect = LtiUserData.DoesNotExist()
     with self.assertRaises(LtiUserData.DoesNotExist):
         _send_grade(Mock(), 0, None)
 def test_send_grade_given_none_instance_raises_assertion_error(self, _):
     with self.assertRaises(ValueError):
         _send_grade(None, 0, None)