Exemple #1
0
    def test_evaluate_unicode_grader_error(self, mock_db, mock_statsd, mock_statsd_scoring):
        query = DUMMY_SUBMISSION["xqueue_body"]["student_response"]
        error_msg = "MySQL Error 1054: Unknown column '·' in 'field list'"

        # Needs to succeed on first call (student query)
        def side_effect(*args):
            def second_call(*args):
                raise InvalidQuery(error_msg)
            mock_exec_query.side_effect = second_call
            return ((), ())

        mock_exec_query = MagicMock(side_effect=side_effect)
        self.grader.execute_query = mock_exec_query

        expected = {
            "correct": False,
            "score": 0,
            "msg": INVALID_GRADER_QUERY.substitute(query=query, error=error_msg)
        }
        self.assertEquals(expected, self.grader.evaluate(DUMMY_SUBMISSION))
Exemple #2
0
    def test_evaluate_invalid_grader_query(self, mock_db, mock_statsd, mock_statsd_scoring):
        query = DUMMY_SUBMISSION["xqueue_body"]["grader_payload"]["answer"]
        error_msg = "Bad grader query"

        # Needs to succeed on first call (student query)
        def side_effect(*args):
            def second_call(*args):
                raise InvalidQuery(error_msg)
            mock_exec_query.side_effect = second_call
            return ((), ())

        mock_exec_query = MagicMock(side_effect=side_effect)
        self.grader.execute_query = mock_exec_query

        expected = {
            "correct": False,
            "score": 0,
            "msg": INVALID_GRADER_QUERY.substitute(query=query, error=error_msg)
        }
        self.assertEquals(expected, self.grader.evaluate(DUMMY_SUBMISSION))