pyupgrade on lms edxnotes,email_marketing,experiments apps (#26531)
This commit is contained in:
@@ -2,23 +2,24 @@
|
||||
Tests for experimentation feature flags
|
||||
"""
|
||||
|
||||
from unittest.mock import patch
|
||||
|
||||
import ddt
|
||||
import pytz
|
||||
from crum import set_current_request
|
||||
from dateutil import parser
|
||||
from django.test.client import RequestFactory
|
||||
from edx_django_utils.cache import RequestCache
|
||||
from mock import patch
|
||||
from edx_toggles.toggles.testutils import override_waffle_flag
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
|
||||
from edx_toggles.toggles.testutils import override_waffle_flag
|
||||
from lms.djangoapps.experiments.testutils import override_experiment_waffle_flag
|
||||
from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
|
||||
from lms.djangoapps.experiments.factories import ExperimentKeyValueFactory
|
||||
from lms.djangoapps.experiments.flags import ExperimentWaffleFlag
|
||||
from lms.djangoapps.experiments.testutils import override_experiment_waffle_flag
|
||||
from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
|
||||
from openedx.core.djangoapps.waffle_utils import CourseWaffleFlag
|
||||
from openedx.core.djangoapps.waffle_utils.models import WaffleFlagCourseOverrideModel
|
||||
from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
|
||||
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
|
||||
|
||||
|
||||
|
||||
@@ -4,10 +4,12 @@ Tests of experiment functionality
|
||||
|
||||
from datetime import timedelta
|
||||
from decimal import Decimal
|
||||
from django.utils.timezone import now
|
||||
from unittest import TestCase # lint-amnesty, pylint: disable=wrong-import-order
|
||||
from unittest import TestCase
|
||||
|
||||
from django.utils.timezone import now
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
|
||||
from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
|
||||
from lms.djangoapps.course_blocks.transformers.tests.helpers import ModuleStoreTestCase
|
||||
from lms.djangoapps.courseware import courses # lint-amnesty, pylint: disable=unused-import
|
||||
from lms.djangoapps.experiments.utils import (
|
||||
@@ -17,7 +19,6 @@ from lms.djangoapps.experiments.utils import (
|
||||
get_unenrolled_courses,
|
||||
is_enrolled_in_course_run
|
||||
)
|
||||
from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
|
||||
|
||||
@@ -27,7 +28,7 @@ class ExperimentUtilsTests(ModuleStoreTestCase, TestCase):
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
super(ExperimentUtilsTests, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().setUp()
|
||||
|
||||
# Create a course run
|
||||
self.run_a_price = '86.00'
|
||||
@@ -103,7 +104,7 @@ class ExperimentUtilsTests(ModuleStoreTestCase, TestCase):
|
||||
courses = [course_a] # lint-amnesty, pylint: disable=redefined-outer-name
|
||||
|
||||
price, skus = get_program_price_and_skus(courses)
|
||||
expected_price = u'$199.23'
|
||||
expected_price = '$199.23'
|
||||
assert expected_price == price
|
||||
assert 1 == len(skus)
|
||||
assert self.entitlement_a_sku in skus
|
||||
@@ -116,7 +117,7 @@ class ExperimentUtilsTests(ModuleStoreTestCase, TestCase):
|
||||
courses = [course_a, course_b] # lint-amnesty, pylint: disable=redefined-outer-name
|
||||
|
||||
price, skus = get_program_price_and_skus(courses)
|
||||
expected_price = u'$285.23'
|
||||
expected_price = '$285.23'
|
||||
assert expected_price == price
|
||||
assert 2 == len(skus)
|
||||
assert self.run_a_sku in skus
|
||||
|
||||
@@ -4,25 +4,27 @@ Tests for experimentation views
|
||||
|
||||
|
||||
import unittest
|
||||
from datetime import timedelta
|
||||
from unittest.mock import patch
|
||||
|
||||
import six.moves.urllib.error
|
||||
import six.moves.urllib.parse
|
||||
import six.moves.urllib.request
|
||||
from datetime import timedelta
|
||||
from django.conf import settings
|
||||
from django.core.handlers.wsgi import WSGIRequest
|
||||
from django.utils.timezone import now
|
||||
from django.test.utils import override_settings
|
||||
from django.urls import reverse
|
||||
from lms.djangoapps.course_blocks.transformers.tests.helpers import ModuleStoreTestCase
|
||||
from mock import patch # lint-amnesty, pylint: disable=wrong-import-order
|
||||
from rest_framework.test import APITestCase # lint-amnesty, pylint: disable=wrong-import-order
|
||||
from django.utils.timezone import now
|
||||
from rest_framework.test import APITestCase
|
||||
|
||||
from lms.djangoapps.experiments.factories import ExperimentDataFactory, ExperimentKeyValueFactory
|
||||
from lms.djangoapps.experiments.models import ExperimentData, ExperimentKeyValue # lint-amnesty, pylint: disable=unused-import
|
||||
from lms.djangoapps.experiments.serializers import ExperimentDataSerializer
|
||||
from common.djangoapps.student.tests.factories import UserFactory
|
||||
|
||||
from lms.djangoapps.course_blocks.transformers.tests.helpers import ModuleStoreTestCase
|
||||
from lms.djangoapps.experiments.factories import ExperimentDataFactory, ExperimentKeyValueFactory
|
||||
from lms.djangoapps.experiments.models import ( # lint-amnesty, pylint: disable=unused-import
|
||||
ExperimentData,
|
||||
ExperimentKeyValue
|
||||
)
|
||||
from lms.djangoapps.experiments.serializers import ExperimentDataSerializer
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
|
||||
CROSS_DOMAIN_REFERER = 'https://ecommerce.edx.org'
|
||||
@@ -75,18 +77,18 @@ class ExperimentDataViewSetTests(APITestCase, ModuleStoreTestCase): # lint-amne
|
||||
data = ExperimentDataFactory.create_batch(3, user=user, experiment_id=experiment_id)
|
||||
|
||||
qs = six.moves.urllib.parse.urlencode({'experiment_id': experiment_id})
|
||||
response = self.client.get('{url}?{qs}'.format(url=url, qs=qs))
|
||||
response = self.client.get(f'{url}?{qs}')
|
||||
assert response.status_code == 200
|
||||
assert response.data['results'] == ExperimentDataSerializer(data, many=True).data
|
||||
|
||||
datum = data[0]
|
||||
qs = six.moves.urllib.parse.urlencode({'key': datum.key})
|
||||
response = self.client.get('{url}?{qs}'.format(url=url, qs=qs))
|
||||
response = self.client.get(f'{url}?{qs}')
|
||||
assert response.status_code == 200
|
||||
assert response.data['results'] == ExperimentDataSerializer([datum], many=True).data
|
||||
|
||||
qs = six.moves.urllib.parse.urlencode({'experiment_id': experiment_id, 'key': datum.key})
|
||||
response = self.client.get('{url}?{qs}'.format(url=url, qs=qs))
|
||||
response = self.client.get(f'{url}?{qs}')
|
||||
assert response.status_code == 200
|
||||
assert response.data['results'] == ExperimentDataSerializer([datum], many=True).data
|
||||
|
||||
@@ -197,7 +199,7 @@ class ExperimentCrossDomainTests(APITestCase):
|
||||
"""Tests for handling cross-domain requests"""
|
||||
|
||||
def setUp(self):
|
||||
super(ExperimentCrossDomainTests, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().setUp()
|
||||
self.client = self.client_class(enforce_csrf_checks=True)
|
||||
|
||||
@cross_domain_config
|
||||
|
||||
@@ -6,17 +6,16 @@ Tests for experimentation views
|
||||
from datetime import timedelta
|
||||
from uuid import uuid4
|
||||
|
||||
import six
|
||||
from django.urls import reverse
|
||||
from django.utils.timezone import now
|
||||
from edx_toggles.toggles.testutils import override_waffle_flag
|
||||
from rest_framework.test import APITestCase
|
||||
|
||||
from common.djangoapps.course_modes.models import CourseMode
|
||||
from common.djangoapps.course_modes.tests.factories import CourseModeFactory
|
||||
from edx_toggles.toggles.testutils import override_waffle_flag # lint-amnesty, pylint: disable=wrong-import-order
|
||||
from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
|
||||
from lms.djangoapps.course_blocks.transformers.tests.helpers import ModuleStoreTestCase
|
||||
from lms.djangoapps.experiments.views_custom import MOBILE_UPSELL_FLAG
|
||||
from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
|
||||
CROSS_DOMAIN_REFERER = 'https://ecommerce.edx.org'
|
||||
@@ -36,11 +35,11 @@ class Rev934Tests(APITestCase, ModuleStoreTestCase):
|
||||
"""Test mobile app upsell API"""
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(Rev934Tests, cls).setUpClass()
|
||||
super().setUpClass()
|
||||
cls.url = reverse('api_experiments:rev_934')
|
||||
|
||||
def setUp(self):
|
||||
super(Rev934Tests, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().setUp()
|
||||
self.user = UserFactory(username='robot-mue-1-6pnjv') # Username that hashes to bucket 1
|
||||
self.client.login(
|
||||
username=self.user.username,
|
||||
@@ -92,7 +91,7 @@ class Rev934Tests(APITestCase, ModuleStoreTestCase):
|
||||
mode_slug=CourseMode.VERIFIED,
|
||||
course_id=course.id,
|
||||
min_price=10,
|
||||
sku=six.text_type(uuid4().hex)
|
||||
sku=str(uuid4().hex)
|
||||
)
|
||||
|
||||
response = self.client.get(self.url, {'course_id': str(course.id)})
|
||||
@@ -102,7 +101,7 @@ class Rev934Tests(APITestCase, ModuleStoreTestCase):
|
||||
assert bool(result['basket_url'])
|
||||
expected = {
|
||||
'show_upsell': True,
|
||||
'price': u'$10',
|
||||
'price': '$10',
|
||||
'basket_url': result['basket_url'],
|
||||
# Example basket_url: u'/verify_student/upgrade/org.0/course_0/test/'
|
||||
}
|
||||
@@ -119,7 +118,7 @@ class Rev934Tests(APITestCase, ModuleStoreTestCase):
|
||||
mode_slug=CourseMode.VERIFIED,
|
||||
course_id=course.id,
|
||||
min_price=10,
|
||||
sku=six.text_type(uuid4().hex),
|
||||
sku=str(uuid4().hex),
|
||||
expiration_datetime=now() - timedelta(days=30),
|
||||
)
|
||||
|
||||
@@ -146,7 +145,7 @@ class Rev934Tests(APITestCase, ModuleStoreTestCase):
|
||||
mode_slug=CourseMode.VERIFIED,
|
||||
course_id=course.id,
|
||||
min_price=10,
|
||||
sku=six.text_type(uuid4().hex)
|
||||
sku=str(uuid4().hex)
|
||||
)
|
||||
|
||||
response = self.client.get(self.url, {'course_id': str(course.id)})
|
||||
@@ -170,7 +169,7 @@ class Rev934Tests(APITestCase, ModuleStoreTestCase):
|
||||
mode_slug=CourseMode.VERIFIED,
|
||||
course_id=course.id,
|
||||
min_price=10,
|
||||
sku=six.text_type(uuid4().hex)
|
||||
sku=str(uuid4().hex)
|
||||
)
|
||||
|
||||
response = self.client.get(self.url, {'course_id': str(course.id)})
|
||||
@@ -193,7 +192,7 @@ class Rev934Tests(APITestCase, ModuleStoreTestCase):
|
||||
mode_slug=CourseMode.VERIFIED,
|
||||
course_id=course.id,
|
||||
min_price=10,
|
||||
sku=six.text_type(uuid4().hex)
|
||||
sku=str(uuid4().hex)
|
||||
)
|
||||
CourseEnrollmentFactory.create(
|
||||
is_active=True,
|
||||
|
||||
Reference in New Issue
Block a user