def test_no_retry_on_credentials_api_not_found_errors( self, mock_get_completed_programs, mock_get_certified_programs, mock_award_program_certificate, ): mock_get_completed_programs.return_value = [1, 2] mock_get_certified_programs.side_effect = [[], [2]] mock_award_program_certificate.side_effect = self._make_side_effect( [exceptions.HttpNotFoundError(), None]) tasks.award_program_certificates.delay(self.student.username).get() self.assertEqual(mock_award_program_certificate.call_count, 2)
def test_no_retry_on_credentials_api_404_error( self, mock_get_completed_programs, mock_get_certified_programs, # pylint: disable=unused-argument mock_award_program_certificate, ): """ Verify that a 404 error causes the task to fail but there is no retry. """ exception = exceptions.HttpNotFoundError() exception.response = mock.Mock(status_code=404) mock_get_completed_programs.return_value = {1: 1, 2: 2} mock_award_program_certificate.side_effect = self._make_side_effect( [exception, None]) tasks.award_program_certificates.delay(self.student.username).get() assert mock_award_program_certificate.call_count == 2
def test_no_retry_on_credentials_api_404_error( self, mock_get_inverted_programs, mock_get_certified_programs, mock_revoke_program_certificate, ): """ Verify that a 404 error causes the task to fail but there is no retry. """ exception = exceptions.HttpNotFoundError() exception.response = mock.Mock(status_code=404) mock_get_inverted_programs.return_value = self.inverted_programs mock_get_certified_programs.return_value = [1, 2] mock_revoke_program_certificate.side_effect = self._make_side_effect( [exception, None]) tasks.revoke_program_certificates.delay(self.student.username, self.course_key).get() assert mock_revoke_program_certificate.call_count == 2