Merge pull request #20063 from edx/youngstrom/INCR-153

INCR-153: Run python-modernize on openedx/core/djangoapps/credit/tests
This commit is contained in:
Michael Youngstrom
2019-03-28 15:55:53 -04:00
committed by GitHub
9 changed files with 75 additions and 53 deletions

View File

@@ -1,20 +1,22 @@
# pylint:disable=missing-docstring
from __future__ import absolute_import
import datetime
import json
import uuid
from django.contrib.auth.models import User
import factory
from factory.fuzzy import FuzzyText
import pytz
from django.contrib.auth.models import User
from openedx.core.djangoapps.credit.models import (
CreditProvider,
CreditEligibility,
CreditCourse,
CreditEligibility,
CreditProvider,
CreditRequest,
CreditRequirement,
CreditRequirementStatus,
CreditRequirementStatus
)
from util.date_utils import to_timestamp

View File

@@ -1,6 +1,8 @@
"""
Tests for the API functions in the credit app.
"""
from __future__ import absolute_import
import datetime
import json
@@ -8,6 +10,7 @@ import ddt
import httpretty
import mock
import pytz
import six
from django.contrib.auth.models import User
from django.core import mail
from django.db import connection
@@ -195,7 +198,7 @@ class CreditApiTestBase(ModuleStoreTestCase):
""" Mock GET requests to the ecommerce course API endpoint. """
httpretty.reset()
httpretty.register_uri(
httpretty.GET, '{}/courses/{}/?include_products=1'.format(TEST_API_URL, unicode(course_key)),
httpretty.GET, '{}/courses/{}/?include_products=1'.format(TEST_API_URL, six.text_type(course_key)),
status=status,
body=json.dumps(body), content_type='application/json',
)
@@ -977,7 +980,7 @@ class CreditProviderIntegrationApiTests(CreditApiTestBase):
self.assertEqual(parameters['course_org'], self.course_key.org)
self.assertEqual(parameters['course_num'], self.course_key.course)
self.assertEqual(parameters['course_run'], self.course_key.run)
self.assertEqual(parameters['final_grade'], unicode(self.FINAL_GRADE))
self.assertEqual(parameters['final_grade'], six.text_type(self.FINAL_GRADE))
# Validate user information
for key in self.USER_INFO.keys():

View File

@@ -3,6 +3,8 @@
Tests for credit course models.
"""
from __future__ import absolute_import
import ddt
from django.test import TestCase
from opaque_keys.edx.keys import CourseKey

View File

@@ -1,11 +1,12 @@
""" Tests for Credit API serializers. """
from __future__ import unicode_literals
from __future__ import absolute_import, unicode_literals
import six
from django.test import TestCase
from openedx.core.djangoapps.credit import serializers
from openedx.core.djangoapps.credit.tests.factories import CreditProviderFactory, CreditEligibilityFactory
from openedx.core.djangoapps.credit.tests.factories import CreditEligibilityFactory, CreditProviderFactory
from student.tests.factories import UserFactory
@@ -38,7 +39,7 @@ class CreditEligibilitySerializerTests(TestCase):
eligibility = CreditEligibilityFactory(username=user.username)
serializer = serializers.CreditEligibilitySerializer(eligibility)
expected = {
'course_key': unicode(eligibility.course.course_key),
'course_key': six.text_type(eligibility.course.course_key),
'deadline': eligibility.deadline.strftime('%Y-%m-%dT%H:%M:%S.%fZ'),
'username': user.username,
}

View File

@@ -2,18 +2,19 @@
Tests for the Credit xBlock service
"""
import ddt
from course_modes.models import CourseMode
from __future__ import absolute_import
import ddt
import six
from course_modes.models import CourseMode
from openedx.core.djangoapps.credit.api.eligibility import set_credit_requirements
from openedx.core.djangoapps.credit.models import CreditCourse
from openedx.core.djangoapps.credit.services import CreditService
from student.models import CourseEnrollment, UserProfile
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
from xmodule.modulestore.tests.factories import CourseFactory
from openedx.core.djangoapps.credit.services import CreditService
from openedx.core.djangoapps.credit.models import CreditCourse
from openedx.core.djangoapps.credit.api.eligibility import set_credit_requirements
from student.models import CourseEnrollment, UserProfile
@ddt.ddt
class CreditServiceTests(ModuleStoreTestCase):
@@ -383,12 +384,12 @@ class CreditServiceTests(ModuleStoreTestCase):
# mark the grade as satisfied
self.service.set_credit_requirement_status(
self.user.id,
unicode(self.course.id),
six.text_type(self.course.id),
'grade',
'grade'
)
credit_state = self.service.get_credit_state(self.user.id, unicode(self.course.id))
credit_state = self.service.get_credit_state(self.user.id, six.text_type(self.course.id))
self.assertIsNotNone(credit_state)
self.assertEqual(credit_state['enrollment_mode'], 'verified')

View File

@@ -2,25 +2,25 @@
Tests for minimum grade requirement status
"""
from __future__ import absolute_import
from datetime import datetime, timedelta
import ddt
import pytz
from datetime import timedelta, datetime
from django.test.client import RequestFactory
from mock import MagicMock
from django.test.client import RequestFactory
from course_modes.models import CourseMode
from openedx.core.djangoapps.credit.api import get_credit_requirement_status, set_credit_requirements
from openedx.core.djangoapps.credit.models import CreditCourse, CreditProvider
from openedx.core.djangoapps.credit.signals import listen_for_grade_calculation
from openedx.core.djangolib.testing.utils import skip_unless_lms
from student.models import CourseEnrollment
from student.tests.factories import UserFactory
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
from xmodule.modulestore.tests.factories import CourseFactory
from openedx.core.djangoapps.credit.api import (
set_credit_requirements, get_credit_requirement_status
)
from openedx.core.djangoapps.credit.models import CreditCourse, CreditProvider
from openedx.core.djangoapps.credit.signals import listen_for_grade_calculation
from openedx.core.djangolib.testing.utils import skip_unless_lms
@skip_unless_lms
@ddt.ddt

View File

@@ -3,6 +3,8 @@
Tests for digital signatures used to validate messages to/from credit providers.
"""
from __future__ import absolute_import
from django.test import TestCase
from django.test.utils import override_settings

View File

@@ -2,9 +2,14 @@
Tests for credit course tasks.
"""
import mock
from __future__ import absolute_import
from datetime import datetime
import mock
import six
from edx_proctoring.api import create_exam
from openedx.core.djangoapps.credit.api import get_credit_requirements
from openedx.core.djangoapps.credit.exceptions import InvalidCreditRequirements
from openedx.core.djangoapps.credit.models import CreditCourse
@@ -12,8 +17,6 @@ from openedx.core.djangoapps.credit.signals import on_course_publish
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
from edx_proctoring.api import create_exam
class TestTaskExecution(ModuleStoreTestCase):
"""Set of tests to ensure that the task code will do the right thing when
@@ -71,8 +74,8 @@ class TestTaskExecution(ModuleStoreTestCase):
self.add_credit_course(self.course.id)
create_exam(
course_id=unicode(self.course.id),
content_id=unicode(self.subsection.location),
course_id=six.text_type(self.course.id),
content_id=six.text_type(self.subsection.location),
exam_name='A Proctored Exam',
time_limit_mins=10,
is_proctored=True,
@@ -87,7 +90,7 @@ class TestTaskExecution(ModuleStoreTestCase):
requirements = get_credit_requirements(self.course.id)
self.assertEqual(len(requirements), 2)
self.assertEqual(requirements[1]['namespace'], 'proctored_exam')
self.assertEqual(requirements[1]['name'], unicode(self.subsection.location))
self.assertEqual(requirements[1]['name'], six.text_type(self.subsection.location))
self.assertEqual(requirements[1]['display_name'], 'A Proctored Exam')
self.assertEqual(requirements[1]['criteria'], {})
@@ -99,7 +102,7 @@ class TestTaskExecution(ModuleStoreTestCase):
self.add_credit_course(self.course.id)
create_exam(
course_id=unicode(self.course.id),
course_id=six.text_type(self.course.id),
content_id='foo',
exam_name='A Proctored Exam',
time_limit_mins=10,
@@ -123,7 +126,7 @@ class TestTaskExecution(ModuleStoreTestCase):
])
create_exam(
course_id=unicode(self.course.id),
course_id=six.text_type(self.course.id),
content_id='foo2',
exam_name='A Proctored Exam',
time_limit_mins=10,
@@ -145,7 +148,7 @@ class TestTaskExecution(ModuleStoreTestCase):
# practice proctored exams aren't requirements
create_exam(
course_id=unicode(self.course.id),
course_id=six.text_type(self.course.id),
content_id='foo3',
exam_name='A Proctored Exam',
time_limit_mins=10,
@@ -195,8 +198,8 @@ class TestTaskExecution(ModuleStoreTestCase):
self.add_credit_course(self.course.id)
subsection = ItemFactory.create(parent=self.section, category='sequential', display_name='Dummy Subsection')
create_exam(
course_id=unicode(self.course.id),
content_id=unicode(subsection.location),
course_id=six.text_type(self.course.id),
content_id=six.text_type(subsection.location),
exam_name='A Proctored Exam',
time_limit_mins=10,
is_proctored=True,
@@ -210,7 +213,7 @@ class TestTaskExecution(ModuleStoreTestCase):
requirements = get_credit_requirements(self.course.id)
self.assertEqual(len(requirements), 2)
self.assertEqual(requirements[1]['namespace'], 'proctored_exam')
self.assertEqual(requirements[1]['name'], unicode(subsection.location))
self.assertEqual(requirements[1]['name'], six.text_type(subsection.location))
self.assertEqual(requirements[1]['display_name'], 'A Proctored Exam')
self.assertEqual(requirements[1]['criteria'], {})

View File

@@ -2,31 +2,39 @@
Tests for credit app views.
"""
from __future__ import unicode_literals
from __future__ import absolute_import, unicode_literals
import datetime
import json
import ddt
import pytz
import six
from django.conf import settings
from django.urls import reverse
from django.test import TestCase, Client
from django.test import Client, TestCase
from django.test.utils import override_settings
from django.urls import reverse
from edx_oauth2_provider.tests.factories import AccessTokenFactory, ClientFactory
from opaque_keys.edx.keys import CourseKey
from openedx.core.djangoapps.credit.models import (
CreditCourse, CreditProvider, CreditRequest, CreditRequirement, CreditRequirementStatus,
CreditCourse,
CreditProvider,
CreditRequest,
CreditRequirement,
CreditRequirementStatus
)
from openedx.core.djangoapps.credit.serializers import CreditProviderSerializer, CreditEligibilitySerializer
from openedx.core.djangoapps.credit.serializers import CreditEligibilitySerializer, CreditProviderSerializer
from openedx.core.djangoapps.credit.signature import signature
from openedx.core.djangoapps.credit.tests.factories import (
CreditProviderFactory, CreditEligibilityFactory, CreditCourseFactory, CreditRequestFactory,
CreditCourseFactory,
CreditEligibilityFactory,
CreditProviderFactory,
CreditRequestFactory
)
from openedx.core.djangoapps.oauth_dispatch.jwt import create_jwt_for_user
from openedx.core.djangolib.testing.utils import skip_unless_lms
from student.tests.factories import UserFactory, AdminFactory
from student.tests.factories import AdminFactory, UserFactory
from util.date_utils import to_timestamp
JSON = 'application/json'
@@ -120,7 +128,7 @@ class CreditCourseViewSetTests(AuthMixin, UserMixin, TestCase):
""" Serializes a CreditCourse to a Python dict. """
return {
'course_key': unicode(credit_course.course_key),
'course_key': six.text_type(credit_course.course_key),
'enabled': credit_course.enabled
}
@@ -187,7 +195,7 @@ class CreditCourseViewSetTests(AuthMixin, UserMixin, TestCase):
""" Verify an API request created a new CreditCourse object. """
enabled = True
data = {
'course_key': unicode(course_id),
'course_key': six.text_type(course_id),
'enabled': enabled
}
@@ -205,7 +213,7 @@ class CreditCourseViewSetTests(AuthMixin, UserMixin, TestCase):
course_id = 'a/b/c'
enabled = True
data = {
'course_key': unicode(course_id),
'course_key': six.text_type(course_id),
'enabled': enabled
}
@@ -217,7 +225,7 @@ class CreditCourseViewSetTests(AuthMixin, UserMixin, TestCase):
course_id = 'd/e/f'
enabled = True
data = {
'course_key': unicode(course_id),
'course_key': six.text_type(course_id),
'enabled': enabled
}
@@ -330,7 +338,7 @@ class CreditProviderRequestCreateViewTests(ApiTestCaseMixin, UserMixin, TestCase
""" Create a credit request for the given user and course. """
data = {
'username': username,
'course_key': unicode(course_id)
'course_key': six.text_type(course_id)
}
return self.client.post(self.path, json.dumps(data), content_type=JSON)
@@ -379,7 +387,7 @@ class CreditProviderRequestCreateViewTests(ApiTestCaseMixin, UserMixin, TestCase
self.assertEqual(parameters['course_org'], course_key.org)
self.assertEqual(parameters['course_num'], course_key.course)
self.assertEqual(parameters['course_run'], course_key.run)
self.assertEqual(parameters['final_grade'], unicode(final_grade))
self.assertEqual(parameters['final_grade'], six.text_type(final_grade))
self.assertEqual(parameters['user_username'], username)
self.assertEqual(parameters['user_full_name'], self.user.get_full_name())
self.assertEqual(parameters['user_mailing_address'], '')