TE-2689 Remove useless pylint suppressions part 2
This commit is contained in:
@@ -101,14 +101,12 @@ class TestUserBadgeAssertions(UserAssertionTestCase):
|
||||
for dummy in range(3):
|
||||
self.create_badge_class(False)
|
||||
response = self.get_json(self.url())
|
||||
# pylint: disable=no-member
|
||||
self.assertEqual(len(response['results']), 4)
|
||||
|
||||
def test_assertion_structure(self):
|
||||
badge_class = self.create_badge_class(False)
|
||||
assertion = BadgeAssertionFactory.create(user=self.user, badge_class=badge_class)
|
||||
response = self.get_json(self.url())
|
||||
# pylint: disable=no-member
|
||||
self.check_assertion_structure(assertion, response['results'][0])
|
||||
|
||||
|
||||
@@ -132,11 +130,9 @@ class TestUserCourseBadgeAssertions(UserAssertionTestCase):
|
||||
for dummy in range(6):
|
||||
BadgeAssertionFactory.create(badge_class=badge_class)
|
||||
response = self.get_json(self.url(), data={'course_id': course_key})
|
||||
# pylint: disable=no-member
|
||||
self.assertEqual(len(response['results']), 3)
|
||||
unused_course = CourseFactory.create()
|
||||
response = self.get_json(self.url(), data={'course_id': unused_course.location.course_key})
|
||||
# pylint: disable=no-member
|
||||
self.assertEqual(len(response['results']), 0)
|
||||
|
||||
def test_assertion_structure(self):
|
||||
@@ -147,7 +143,6 @@ class TestUserCourseBadgeAssertions(UserAssertionTestCase):
|
||||
badge_class = BadgeClassFactory.create(course_id=course_key)
|
||||
assertion = BadgeAssertionFactory.create(badge_class=badge_class, user=self.user)
|
||||
response = self.get_json(self.url())
|
||||
# pylint: disable=no-member
|
||||
self.check_assertion_structure(assertion, response['results'][0])
|
||||
|
||||
|
||||
@@ -189,7 +184,6 @@ class TestUserBadgeAssertionsByClass(UserAssertionTestCase):
|
||||
expected_length = 4
|
||||
else:
|
||||
expected_length = 3
|
||||
# pylint: disable=no-member
|
||||
self.assertEqual(len(response['results']), expected_length)
|
||||
unused_class = self.create_badge_class(check_course, slug='unused_slug', issuing_component='unused_component')
|
||||
|
||||
@@ -197,7 +191,6 @@ class TestUserBadgeAssertionsByClass(UserAssertionTestCase):
|
||||
self.url(),
|
||||
data=self.get_qs_args(check_course, wildcard, unused_class),
|
||||
)
|
||||
# pylint: disable=no-member
|
||||
self.assertEqual(len(response['results']), 0)
|
||||
|
||||
def check_badge_class_assertion(self, check_course, wildcard, badge_class):
|
||||
@@ -209,7 +202,6 @@ class TestUserBadgeAssertionsByClass(UserAssertionTestCase):
|
||||
self.url(),
|
||||
data=self.get_qs_args(check_course, wildcard, badge_class),
|
||||
)
|
||||
# pylint: disable=no-member
|
||||
self.check_assertion_structure(assertion, response['results'][0])
|
||||
|
||||
@unpack
|
||||
|
||||
@@ -47,7 +47,6 @@ class CourseEnrollmentBadgeTest(ModuleStoreTestCase):
|
||||
"""
|
||||
user = UserFactory()
|
||||
course = CourseFactory()
|
||||
# pylint: disable=no-member
|
||||
CourseEnrollment.enroll(user, course_key=course.location.course_key)
|
||||
self.assertFalse(user.badgeassertion_set.all())
|
||||
|
||||
@@ -61,7 +60,6 @@ class CourseEnrollmentBadgeTest(ModuleStoreTestCase):
|
||||
courses = [CourseFactory() for _i in range(required_badges)]
|
||||
for course in courses:
|
||||
CourseEnrollment.enroll(user, course_key=course.location.course_key)
|
||||
# pylint: disable=no-member
|
||||
assertions = user.badgeassertion_set.all().order_by('id')
|
||||
self.assertEqual(user.badgeassertion_set.all().count(), checkpoint)
|
||||
self.assertEqual(assertions[checkpoint - 1].badge_class, self.badge_classes[checkpoint - 1])
|
||||
@@ -102,10 +100,8 @@ class CourseCompletionBadgeTest(ModuleStoreTestCase):
|
||||
user = UserFactory()
|
||||
course = CourseFactory()
|
||||
GeneratedCertificate(
|
||||
# pylint: disable=no-member
|
||||
user=user, course_id=course.location.course_key, status=CertificateStatuses.downloadable
|
||||
).save()
|
||||
# pylint: disable=no-member
|
||||
self.assertFalse(user.badgeassertion_set.all())
|
||||
|
||||
@unpack
|
||||
@@ -118,12 +114,9 @@ class CourseCompletionBadgeTest(ModuleStoreTestCase):
|
||||
courses = [CourseFactory() for _i in range(required_badges)]
|
||||
for course in courses:
|
||||
GeneratedCertificate(
|
||||
# pylint: disable=no-member
|
||||
user=user, course_id=course.location.course_key, status=CertificateStatuses.downloadable
|
||||
).save()
|
||||
# pylint: disable=no-member
|
||||
assertions = user.badgeassertion_set.all().order_by('id')
|
||||
# pylint: disable=no-member
|
||||
self.assertEqual(user.badgeassertion_set.all().count(), checkpoint)
|
||||
self.assertEqual(assertions[checkpoint - 1].badge_class, self.badge_classes[checkpoint - 1])
|
||||
|
||||
@@ -151,7 +144,6 @@ class CourseGroupBadgeTest(ModuleStoreTestCase):
|
||||
]
|
||||
self.courses = []
|
||||
for _badge_class in self.badge_classes:
|
||||
# pylint: disable=no-member
|
||||
self.courses.append([CourseFactory().location.course_key for _i in range(3)])
|
||||
lines = [badge_class.slug + ',' + ','.join([unicode(course_key) for course_key in keys])
|
||||
for badge_class, keys in zip(self.badge_classes, self.courses)]
|
||||
@@ -166,10 +158,8 @@ class CourseGroupBadgeTest(ModuleStoreTestCase):
|
||||
user = UserFactory()
|
||||
course = CourseFactory()
|
||||
GeneratedCertificate(
|
||||
# pylint: disable=no-member
|
||||
user=user, course_id=course.location.course_key, status=CertificateStatuses.downloadable
|
||||
).save()
|
||||
# pylint: disable=no-member
|
||||
self.assertFalse(user.badgeassertion_set.all())
|
||||
|
||||
def test_group_matches(self):
|
||||
@@ -188,7 +178,6 @@ class CourseGroupBadgeTest(ModuleStoreTestCase):
|
||||
self.assertTrue(badge_class.get_for_user(user))
|
||||
else:
|
||||
self.assertFalse(badge_class.get_for_user(user))
|
||||
# pylint: disable=no-member
|
||||
classes = [badge.badge_class.id for badge in user.badgeassertion_set.all()]
|
||||
source_classes = [badge.id for badge in self.badge_classes]
|
||||
self.assertEqual(classes, source_classes)
|
||||
|
||||
@@ -168,7 +168,7 @@ class BadgeAssertion(TimeStampedModel):
|
||||
|
||||
|
||||
# Abstract model doesn't index this, so we have to.
|
||||
BadgeAssertion._meta.get_field('created').db_index = True # pylint: disable=protected-access
|
||||
BadgeAssertion._meta.get_field('created').db_index = True
|
||||
|
||||
|
||||
class CourseCompleteImageConfiguration(models.Model):
|
||||
@@ -206,7 +206,6 @@ class CourseCompleteImageConfiguration(models.Model):
|
||||
"""
|
||||
Make sure there's not more than one default.
|
||||
"""
|
||||
# pylint: disable=no-member
|
||||
if self.default and CourseCompleteImageConfiguration.objects.filter(default=True).exclude(id=self.id):
|
||||
raise ValidationError(_(u"There can be only one default image."))
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ class BadgeClassTest(ModuleStoreTestCase):
|
||||
"""
|
||||
Remove all files uploaded as badges.
|
||||
"""
|
||||
upload_to = BadgeClass._meta.get_field('image').upload_to # pylint: disable=protected-access
|
||||
upload_to = BadgeClass._meta.get_field('image').upload_to
|
||||
if default_storage.exists(upload_to):
|
||||
(_, files) = default_storage.listdir(upload_to)
|
||||
for uploaded_file in files:
|
||||
|
||||
@@ -79,9 +79,9 @@ class Target(models.Model):
|
||||
Returns a short display name
|
||||
"""
|
||||
if self.target_type == SEND_TO_COHORT:
|
||||
return self.cohorttarget.short_display() # pylint: disable=no-member
|
||||
return self.cohorttarget.short_display()
|
||||
elif self.target_type == SEND_TO_TRACK:
|
||||
return self.coursemodetarget.short_display() # pylint: disable=no-member
|
||||
return self.coursemodetarget.short_display()
|
||||
else:
|
||||
return self.target_type
|
||||
|
||||
@@ -90,9 +90,9 @@ class Target(models.Model):
|
||||
Returns a long display name
|
||||
"""
|
||||
if self.target_type == SEND_TO_COHORT:
|
||||
return self.cohorttarget.long_display() # pylint: disable=no-member
|
||||
return self.cohorttarget.long_display()
|
||||
elif self.target_type == SEND_TO_TRACK:
|
||||
return self.coursemodetarget.long_display() # pylint: disable=no-member
|
||||
return self.coursemodetarget.long_display()
|
||||
else:
|
||||
return self.get_target_type_display()
|
||||
|
||||
@@ -123,7 +123,7 @@ class Target(models.Model):
|
||||
enrollment_qset.exclude(id__in=staff_instructor_qset)
|
||||
)
|
||||
elif self.target_type == SEND_TO_COHORT:
|
||||
return self.cohorttarget.cohort.users.filter(id__in=enrollment_qset) # pylint: disable=no-member
|
||||
return self.cohorttarget.cohort.users.filter(id__in=enrollment_qset)
|
||||
elif self.target_type == SEND_TO_TRACK:
|
||||
return use_read_replica_if_available(
|
||||
User.objects.filter(
|
||||
@@ -432,7 +432,6 @@ class CourseAuthorization(models.Model):
|
||||
not_en = "Not "
|
||||
if self.email_enabled:
|
||||
not_en = ""
|
||||
# pylint: disable=no-member
|
||||
return u"Course '{}': Instructor Email {}Enabled".format(text_type(self.course_id), not_en)
|
||||
|
||||
|
||||
|
||||
@@ -23,9 +23,9 @@ from boto.ses.exceptions import (
|
||||
SESLocalAddressCharacterError,
|
||||
SESMaxSendingRateExceededError
|
||||
)
|
||||
from celery import current_task, task # pylint: disable=no-name-in-module
|
||||
from celery.exceptions import RetryTaskError # pylint: disable=no-name-in-module, import-error
|
||||
from celery.states import FAILURE, RETRY, SUCCESS # pylint: disable=no-name-in-module, import-error
|
||||
from celery import current_task, task
|
||||
from celery.exceptions import RetryTaskError
|
||||
from celery.states import FAILURE, RETRY, SUCCESS
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.mail import EmailMultiAlternatives, get_connection
|
||||
|
||||
@@ -7,7 +7,7 @@ from itertools import cycle
|
||||
from smtplib import SMTPConnectError, SMTPDataError, SMTPServerDisconnected
|
||||
|
||||
import ddt
|
||||
from celery.states import RETRY, SUCCESS # pylint: disable=no-name-in-module, import-error
|
||||
from celery.states import RETRY, SUCCESS
|
||||
from django.conf import settings
|
||||
from django.core.management import call_command
|
||||
from django.urls import reverse
|
||||
|
||||
@@ -23,7 +23,7 @@ from boto.ses.exceptions import (
|
||||
SESLocalAddressCharacterError,
|
||||
SESMaxSendingRateExceededError
|
||||
)
|
||||
from celery.states import FAILURE, SUCCESS # pylint: disable=no-name-in-module, import-error
|
||||
from celery.states import FAILURE, SUCCESS
|
||||
from django.conf import settings
|
||||
from django.core.management import call_command
|
||||
from mock import Mock, patch
|
||||
|
||||
@@ -33,7 +33,7 @@ def require_certificate_permission(func):
|
||||
View decorator that requires permission to view and regenerate certificates.
|
||||
"""
|
||||
@wraps(func)
|
||||
def inner(request, *args, **kwargs): # pylint:disable=missing-docstring
|
||||
def inner(request, *args, **kwargs):
|
||||
if has_access(request.user, "certificates", "global"):
|
||||
return func(request, *args, **kwargs)
|
||||
else:
|
||||
@@ -285,5 +285,5 @@ def _deactivate_invalidation(certificate):
|
||||
)
|
||||
# Deactivate certificate invalidation if it was fetched successfully.
|
||||
certificate_invalidation.deactivate()
|
||||
except CertificateInvalidation.DoesNotExist: # pylint: disable=bare-except
|
||||
except CertificateInvalidation.DoesNotExist:
|
||||
pass
|
||||
|
||||
@@ -135,7 +135,7 @@ class BasketsViewTests(EnrollmentEventTestMixin, UserMixin, ModuleStoreTestCase)
|
||||
"""
|
||||
# Set user's active flag
|
||||
self.user.is_active = user_is_active
|
||||
self.user.save() # pylint: disable=no-member
|
||||
self.user.save()
|
||||
response = self._post_to_view()
|
||||
|
||||
# Validate the response content
|
||||
@@ -275,7 +275,7 @@ class BasketsViewTests(EnrollmentEventTestMixin, UserMixin, ModuleStoreTestCase)
|
||||
Verifies that the view returns HTTP 406 when a course is closed.
|
||||
"""
|
||||
self.course.enrollment_end = datetime.now(pytz.UTC) - timedelta(days=1)
|
||||
modulestore().update_item(self.course, self.user.id) # pylint:disable=no-member
|
||||
modulestore().update_item(self.course, self.user.id)
|
||||
self.assertEqual(self._post_to_view().status_code, 406)
|
||||
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ class Command(BaseCommand):
|
||||
checkout_on_ecommerce = options.get('checkout_on_ecommerce')
|
||||
|
||||
# We are keeping id=1, because as of now, there are only one commerce configuration for the system.
|
||||
CommerceConfiguration.objects.update_or_create( # pylint: disable=no-member
|
||||
CommerceConfiguration.objects.update_or_create(
|
||||
id=1,
|
||||
defaults={
|
||||
'enabled': not disable,
|
||||
|
||||
@@ -57,7 +57,7 @@ class EdxRestApiClientTest(TestCase):
|
||||
|
||||
claims = {
|
||||
'tracking_context': {
|
||||
'lms_user_id': self.user.id, # pylint: disable=no-member
|
||||
'lms_user_id': self.user.id,
|
||||
'lms_client_id': self.TEST_CLIENT_ID,
|
||||
'lms_ip': '127.0.0.1',
|
||||
}
|
||||
|
||||
@@ -340,7 +340,7 @@ def _send_refund_notification(user, refund_ids):
|
||||
return create_zendesk_ticket(requester_name, student.email, subject, body, tags)
|
||||
|
||||
|
||||
def _generate_refund_notification_body(student, refund_ids): # pylint: disable=invalid-name
|
||||
def _generate_refund_notification_body(student, refund_ids):
|
||||
""" Returns a refund notification message body. """
|
||||
msg = _(
|
||||
'A refund request has been initiated for {username} ({email}). '
|
||||
|
||||
@@ -247,7 +247,7 @@ class TestBlocksView(SharedModuleStoreTestCase):
|
||||
self.verify_response_with_requested_fields(response)
|
||||
|
||||
|
||||
class TestBlocksInCourseView(TestBlocksView): # pylint: disable=test-inherits-tests
|
||||
class TestBlocksInCourseView(TestBlocksView):
|
||||
"""
|
||||
Test class for BlocksInCourseView
|
||||
"""
|
||||
|
||||
@@ -96,7 +96,7 @@ class TestCourseSerializer(CourseApiFactoryMixin, ModuleStoreTestCase):
|
||||
|
||||
def test_basic(self):
|
||||
course = self.create_course()
|
||||
CourseDetails.update_about_video(course, 'test_youtube_id', self.staff_user.id) # pylint: disable=no-member
|
||||
CourseDetails.update_about_video(course, 'test_youtube_id', self.staff_user.id)
|
||||
with check_mongo_calls(self.expected_mongo_calls):
|
||||
result = self._get_result(course)
|
||||
self.assertDictEqual(result, self.expected_data)
|
||||
@@ -139,7 +139,7 @@ class TestCourseSerializer(CourseApiFactoryMixin, ModuleStoreTestCase):
|
||||
self.assertEqual(result['pacing'], expected_pacing)
|
||||
|
||||
|
||||
class TestCourseDetailSerializer(TestCourseSerializer): # pylint: disable=test-inherits-tests
|
||||
class TestCourseDetailSerializer(TestCourseSerializer):
|
||||
"""
|
||||
Test CourseDetailSerializer by rerunning all the tests
|
||||
in TestCourseSerializer, but with the
|
||||
|
||||
@@ -98,7 +98,7 @@ class CourseListViewTestCase(CourseApiTestViewMixin, SharedModuleStoreTestCase):
|
||||
def test_missing_username(self):
|
||||
self.setup_user(self.honor_user)
|
||||
response_to_missing_username = self.verify_response(expected_status_code=200)
|
||||
self.assertIsNotNone(response_to_missing_username.data) # pylint: disable=no-member
|
||||
self.assertIsNotNone(response_to_missing_username.data)
|
||||
|
||||
def test_not_logged_in(self):
|
||||
self.client.logout()
|
||||
@@ -167,13 +167,13 @@ class CourseListViewTestCaseMultipleCourses(CourseApiTestViewMixin, ModuleStoreT
|
||||
unfiltered_response = self.verify_response(params={'username': self.staff_user.username})
|
||||
for org in [self.course.org, alternate_course.org]:
|
||||
self.assertTrue(
|
||||
any(course['org'] == org for course in unfiltered_response.data['results']) # pylint: disable=no-member
|
||||
any(course['org'] == org for course in unfiltered_response.data['results'])
|
||||
)
|
||||
|
||||
# With filtering.
|
||||
filtered_response = self.verify_response(params={'org': self.course.org, 'username': self.staff_user.username})
|
||||
self.assertTrue(
|
||||
all(course['org'] == self.course.org for course in filtered_response.data['results']) # pylint: disable=no-member
|
||||
all(course['org'] == self.course.org for course in filtered_response.data['results'])
|
||||
)
|
||||
|
||||
def test_filter(self):
|
||||
@@ -193,7 +193,7 @@ class CourseListViewTestCaseMultipleCourses(CourseApiTestViewMixin, ModuleStoreT
|
||||
params.update(filter_)
|
||||
response = self.verify_response(params=params)
|
||||
self.assertEquals(
|
||||
{course['course_id'] for course in response.data['results']}, # pylint: disable=no-member
|
||||
{course['course_id'] for course in response.data['results']},
|
||||
{unicode(course.id) for course in expected_courses},
|
||||
"testing course_api.views.CourseListView with filter_={}".format(filter_),
|
||||
)
|
||||
|
||||
@@ -98,7 +98,7 @@ class ContentLibraryTransformer(FilteringTransformerMixin, BlockStructureTransfo
|
||||
# Save back any changes
|
||||
if any(block_keys[changed] for changed in ('invalid', 'overlimit', 'added')):
|
||||
state_dict['selected'] = list(selected)
|
||||
StudentModule.objects.update_or_create( # pylint: disable=no-member
|
||||
StudentModule.objects.update_or_create(
|
||||
student=usage_info.user,
|
||||
course_id=usage_info.course_key,
|
||||
module_state_key=block_key,
|
||||
|
||||
@@ -101,7 +101,6 @@ class StartDateTransformerTestCase(BlockParentsMapTestCase):
|
||||
(BETA_USER, {0: StartDateType.released, 4: StartDateType.default}, {0, 1, 2, 3, 5, 6}, {6}),
|
||||
)
|
||||
@ddt.unpack
|
||||
# pylint: disable=invalid-name
|
||||
def test_block_start_date(
|
||||
self,
|
||||
user_type,
|
||||
|
||||
@@ -77,7 +77,7 @@ def collect_merged_boolean_field(
|
||||
for block_key in block_structure.topological_traversal():
|
||||
# compute merged value of the boolean field from all parents
|
||||
parents = block_structure.get_parents(block_key)
|
||||
all_parents_merged_value = all( # pylint: disable=invalid-name
|
||||
all_parents_merged_value = all(
|
||||
block_structure.get_transformer_block_field(
|
||||
parent_key, transformer, merged_field_name, False,
|
||||
)
|
||||
|
||||
@@ -42,7 +42,7 @@ class CourseGoal(models.Model):
|
||||
|
||||
|
||||
@receiver(models.signals.post_save, sender=CourseEnrollment, dispatch_uid="update_course_goal_on_enroll_change")
|
||||
def update_course_goal_on_enroll_change(sender, instance, **kwargs): # pylint: disable=unused-argument, invalid-name
|
||||
def update_course_goal_on_enroll_change(sender, instance, **kwargs): # pylint: disable=unused-argument
|
||||
"""
|
||||
Updates goals as follows on enrollment changes:
|
||||
1) Set the course goal to 'certify' when the user enrolls as a verified user.
|
||||
|
||||
@@ -66,7 +66,7 @@ class CodeMirror(BaseEditor):
|
||||
"wiki/markitup/sets/admin/set.js",
|
||||
)
|
||||
|
||||
class Media(object): # pylint: disable=missing-docstring
|
||||
class Media(object):
|
||||
css = {
|
||||
'all': ("js/vendor/CodeMirror/codemirror.css",)
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ try:
|
||||
# but import the 2.0.3 version if it fails
|
||||
from markdown.util import etree
|
||||
except ImportError:
|
||||
from markdown import etree # pylint: disable=no-name-in-module
|
||||
from markdown import etree
|
||||
|
||||
|
||||
version = "0.1.6"
|
||||
|
||||
@@ -899,7 +899,7 @@ class InlineDiscussionContextTestCase(ForumsEnableMixin, ModuleStoreTestCase):
|
||||
discussion_topic_id=self.discussion_topic_id
|
||||
)
|
||||
|
||||
self.team.add_user(self.user) # pylint: disable=no-member
|
||||
self.team.add_user(self.user)
|
||||
|
||||
def test_context_can_be_standalone(self, mock_request):
|
||||
mock_request.side_effect = make_mock_request_impl(
|
||||
@@ -1261,7 +1261,7 @@ class InlineDiscussionTestCase(ForumsEnableMixin, ModuleStoreTestCase):
|
||||
discussion_topic_id=self.discussion1.discussion_id
|
||||
)
|
||||
|
||||
team.add_user(self.student) # pylint: disable=no-member
|
||||
team.add_user(self.student)
|
||||
|
||||
response = self.send_request(mock_request)
|
||||
self.assertEqual(mock_request.call_args[1]['params']['context'], ThreadContext.STANDALONE)
|
||||
@@ -1470,7 +1470,6 @@ class InlineDiscussionUnicodeTestCase(ForumsEnableMixin, SharedModuleStoreTestCa
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
# pylint: disable=super-method-not-called
|
||||
with super(InlineDiscussionUnicodeTestCase, cls).setUpClassAndTestData():
|
||||
cls.course = CourseFactory.create()
|
||||
|
||||
@@ -1504,7 +1503,6 @@ class ForumFormDiscussionUnicodeTestCase(ForumsEnableMixin, SharedModuleStoreTes
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
# pylint: disable=super-method-not-called
|
||||
with super(ForumFormDiscussionUnicodeTestCase, cls).setUpClassAndTestData():
|
||||
cls.course = CourseFactory.create()
|
||||
|
||||
@@ -1594,7 +1592,6 @@ class ForumDiscussionSearchUnicodeTestCase(ForumsEnableMixin, SharedModuleStoreT
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
# pylint: disable=super-method-not-called
|
||||
with super(ForumDiscussionSearchUnicodeTestCase, cls).setUpClassAndTestData():
|
||||
cls.course = CourseFactory.create()
|
||||
|
||||
@@ -1631,7 +1628,6 @@ class SingleThreadUnicodeTestCase(ForumsEnableMixin, SharedModuleStoreTestCase,
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
# pylint: disable=super-method-not-called
|
||||
with super(SingleThreadUnicodeTestCase, cls).setUpClassAndTestData():
|
||||
cls.course = CourseFactory.create(discussion_topics={'dummy_discussion_id': {'id': 'dummy_discussion_id'}})
|
||||
|
||||
@@ -1665,7 +1661,6 @@ class UserProfileUnicodeTestCase(ForumsEnableMixin, SharedModuleStoreTestCase, U
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
# pylint: disable=super-method-not-called
|
||||
with super(UserProfileUnicodeTestCase, cls).setUpClassAndTestData():
|
||||
cls.course = CourseFactory.create()
|
||||
|
||||
@@ -1698,7 +1693,6 @@ class FollowedThreadsUnicodeTestCase(ForumsEnableMixin, SharedModuleStoreTestCas
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
# pylint: disable=super-method-not-called
|
||||
with super(FollowedThreadsUnicodeTestCase, cls).setUpClassAndTestData():
|
||||
cls.course = CourseFactory.create()
|
||||
|
||||
|
||||
@@ -180,7 +180,7 @@ def use_bulk_ops(view_func):
|
||||
the request uri to a CourseKey before passing to the view.
|
||||
"""
|
||||
@wraps(view_func)
|
||||
def wrapped_view(request, course_id, *args, **kwargs): # pylint: disable=missing-docstring
|
||||
def wrapped_view(request, course_id, *args, **kwargs):
|
||||
course_key = CourseKey.from_string(course_id)
|
||||
with modulestore().bulk_operations(course_key):
|
||||
return view_func(request, course_key, *args, **kwargs)
|
||||
|
||||
@@ -913,7 +913,6 @@ class EdxNotesHelpersTest(ModuleStoreTestCase):
|
||||
Verify that `construct_url` works correctly.
|
||||
"""
|
||||
# make absolute url
|
||||
# pylint: disable=no-member
|
||||
if self.request.is_secure():
|
||||
host = 'https://' + self.request.get_host()
|
||||
else:
|
||||
|
||||
@@ -13,4 +13,4 @@ class EmailMarketingConfig(AppConfig):
|
||||
|
||||
def ready(self):
|
||||
# Register the signal handlers.
|
||||
from . import signals # pylint: disable=unused-import
|
||||
from . import signals # pylint: disable=unused-variable
|
||||
|
||||
@@ -59,7 +59,6 @@ def get_email_cookies_via_sailthru(self, user_email, post_parms):
|
||||
return None
|
||||
|
||||
|
||||
# pylint: disable=not-callable
|
||||
@task(bind=True, default_retry_delay=3600, max_retries=24, routing_key=ACE_ROUTING_KEY)
|
||||
def update_user(self, sailthru_vars, email, site=None, new_user=False, activation=False):
|
||||
"""
|
||||
@@ -135,7 +134,6 @@ def is_default_site(site):
|
||||
return not site or site.get('id') == settings.SITE_ID
|
||||
|
||||
|
||||
# pylint: disable=not-callable
|
||||
@task(bind=True, default_retry_delay=3600, max_retries=24, routing_key=ACE_ROUTING_KEY)
|
||||
def update_user_email(self, new_email, old_email):
|
||||
"""
|
||||
|
||||
@@ -318,14 +318,12 @@ class GradingPolicyTestMixin(object):
|
||||
self.create_user_and_access_token()
|
||||
|
||||
def create_user_and_access_token(self):
|
||||
# pylint: disable=missing-docstring
|
||||
self.user = GlobalStaffFactory.create()
|
||||
self.oauth_client = ClientFactory.create()
|
||||
self.access_token = AccessTokenFactory.create(user=self.user, client=self.oauth_client).token
|
||||
|
||||
@classmethod
|
||||
def create_course_data(cls):
|
||||
# pylint: disable=missing-docstring
|
||||
cls.invalid_course_id = 'foo/bar/baz'
|
||||
cls.course = CourseFactory.create(display_name='An Introduction to API Testing', raw_grader=cls.raw_grader)
|
||||
cls.course_id = unicode(cls.course.id)
|
||||
|
||||
@@ -71,7 +71,6 @@ class CoursePersistentGradesFlag(ConfigurationModel):
|
||||
not_en = "Not "
|
||||
if self.enabled:
|
||||
not_en = ""
|
||||
# pylint: disable=no-member
|
||||
return u"Course '{}': Persistent Grades {}Enabled".format(text_type(self.course_id), not_en)
|
||||
|
||||
|
||||
|
||||
@@ -314,7 +314,7 @@ class PersistentSubsectionGrade(TimeStampedModel):
|
||||
"""
|
||||
Returns the "correct" usage key value with the run filled in.
|
||||
"""
|
||||
if self.usage_key.run is None: # pylint: disable=no-member
|
||||
if self.usage_key.run is None:
|
||||
return self.usage_key.replace(course_key=self.course_id)
|
||||
else:
|
||||
return self.usage_key
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
"""
|
||||
Test grading events across apps.
|
||||
"""
|
||||
# pylint: disable=protected-access
|
||||
|
||||
from mock import call as mock_call, patch
|
||||
|
||||
|
||||
@@ -326,7 +326,6 @@ class TestInternalGetScoreFromBlock(TestCase):
|
||||
"""
|
||||
Verifies the result of _get_score_from_persisted_or_latest_block is as expected.
|
||||
"""
|
||||
# pylint: disable=unbalanced-tuple-unpacking
|
||||
(
|
||||
raw_earned, raw_possible, weighted_earned, weighted_possible, first_attempted
|
||||
) = scores._get_score_from_persisted_or_latest_block(persisted_block, block, weight)
|
||||
|
||||
@@ -93,7 +93,7 @@ class GradesTransformerTestCase(CourseStructureTestCase):
|
||||
"""
|
||||
self.assertGreater(len(expectations), 0)
|
||||
# Append our custom message to the default assertEqual error message
|
||||
self.longMessage = True # pylint: disable=invalid-name
|
||||
self.longMessage = True
|
||||
for field in expectations:
|
||||
self.assertEqual(
|
||||
expectations[field],
|
||||
|
||||
@@ -1026,7 +1026,7 @@ class TestInstructorAPIBulkAccountCreationAndEnrollment(SharedModuleStoreTestCas
|
||||
# Remove white label course price
|
||||
self.white_label_course_mode.min_price = 0
|
||||
self.white_label_course_mode.suggested_prices = ''
|
||||
self.white_label_course_mode.save() # pylint: disable=no-member
|
||||
self.white_label_course_mode.save()
|
||||
|
||||
# Login Audit Course instructor
|
||||
self.client.login(username=self.white_label_course_instructor.username, password='test')
|
||||
@@ -2258,7 +2258,7 @@ class TestInstructorAPILevelsAccess(SharedModuleStoreTestCase, LoginEnrollmentTe
|
||||
|
||||
def test_modify_access_with_inactive_user(self):
|
||||
self.other_user.is_active = False
|
||||
self.other_user.save() # pylint: disable=no-member
|
||||
self.other_user.save()
|
||||
url = reverse('modify_access', kwargs={'course_id': text_type(self.course.id)})
|
||||
response = self.client.post(url, {
|
||||
'unique_student_identifier': self.other_user.username,
|
||||
|
||||
@@ -131,7 +131,7 @@ class CertificatesInstructorDashTest(SharedModuleStoreTestCase):
|
||||
"""
|
||||
self.course.cert_html_view_enabled = True
|
||||
self.course.save()
|
||||
self.store.update_item(self.course, self.global_staff.id) # pylint: disable=no-member
|
||||
self.store.update_item(self.course, self.global_staff.id)
|
||||
self.client.login(username=self.global_staff.username, password="test")
|
||||
response = self.client.get(self.url)
|
||||
self.assertContains(response, 'Enable Student-Generated Certificates')
|
||||
@@ -147,7 +147,7 @@ class CertificatesInstructorDashTest(SharedModuleStoreTestCase):
|
||||
"""
|
||||
self.course.cert_html_view_enabled = True
|
||||
self.course.save()
|
||||
self.store.update_item(self.course, self.global_staff.id) # pylint: disable=no-member
|
||||
self.store.update_item(self.course, self.global_staff.id)
|
||||
self.client.login(username=self.global_staff.username, password="test")
|
||||
response = self.client.get(self.url)
|
||||
self.assertContains(response, 'Enable Student-Generated Certificates')
|
||||
@@ -544,7 +544,7 @@ class CertificateExceptionViewInstructorApiTest(SharedModuleStoreTestCase):
|
||||
# Assert Certificate Exception Updated data
|
||||
self.assertEqual(certificate_exception['user_email'], self.user.email)
|
||||
self.assertEqual(certificate_exception['user_name'], self.user.username)
|
||||
self.assertEqual(certificate_exception['user_id'], self.user.id) # pylint: disable=no-member
|
||||
self.assertEqual(certificate_exception['user_id'], self.user.id)
|
||||
|
||||
def test_certificate_exception_invalid_username_error(self):
|
||||
"""
|
||||
@@ -639,7 +639,7 @@ class CertificateExceptionViewInstructorApiTest(SharedModuleStoreTestCase):
|
||||
# Assert Certificate Exception Updated data
|
||||
self.assertEqual(certificate_exception['user_email'], self.user.email)
|
||||
self.assertEqual(certificate_exception['user_name'], self.user.username)
|
||||
self.assertEqual(certificate_exception['user_id'], self.user.id) # pylint: disable=no-member
|
||||
self.assertEqual(certificate_exception['user_id'], self.user.id)
|
||||
|
||||
course2 = CourseFactory.create()
|
||||
url_course2 = reverse(
|
||||
@@ -660,7 +660,7 @@ class CertificateExceptionViewInstructorApiTest(SharedModuleStoreTestCase):
|
||||
# Assert Certificate Exception Updated data
|
||||
self.assertEqual(certificate_exception['user_email'], self.user.email)
|
||||
self.assertEqual(certificate_exception['user_name'], self.user.username)
|
||||
self.assertEqual(certificate_exception['user_id'], self.user.id) # pylint: disable=no-member
|
||||
self.assertEqual(certificate_exception['user_id'], self.user.id)
|
||||
|
||||
def test_certificate_exception_user_not_enrolled_error(self):
|
||||
"""
|
||||
|
||||
@@ -313,7 +313,6 @@ class TestInstructorEnrollmentStudentModule(SharedModuleStoreTestCase):
|
||||
org='course',
|
||||
run='id',
|
||||
)
|
||||
# pylint: disable=no-member
|
||||
cls.course_key = cls.course.location.course_key
|
||||
with cls.store.bulk_operations(cls.course.id, emit_signals=False):
|
||||
cls.parent = ItemFactory(
|
||||
|
||||
@@ -406,7 +406,7 @@ class TestInstructorDashboard(ModuleStoreTestCase, LoginEnrollmentTestCase, XssT
|
||||
response = self.client.get(url)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
# Max number of student per page is one. Patched setting MAX_STUDENTS_PER_PAGE_GRADE_BOOK = 1
|
||||
self.assertEqual(len(response.mako_context['students']), 1) # pylint: disable=no-member
|
||||
self.assertEqual(len(response.mako_context['students']), 1)
|
||||
|
||||
def test_open_response_assessment_page(self):
|
||||
"""
|
||||
|
||||
@@ -226,7 +226,7 @@ def require_level(level):
|
||||
raise ValueError("unrecognized level '{}'".format(level))
|
||||
|
||||
def decorator(func): # pylint: disable=missing-docstring
|
||||
def wrapped(*args, **kwargs): # pylint: disable=missing-docstring
|
||||
def wrapped(*args, **kwargs):
|
||||
request = args[0]
|
||||
course = get_course_by_id(CourseKey.from_string(kwargs['course_id']))
|
||||
|
||||
@@ -1826,7 +1826,7 @@ def spent_registration_codes(request, course_id):
|
||||
|
||||
company_name = request.POST['spent_company_name']
|
||||
if company_name:
|
||||
spent_codes_list = spent_codes_list.filter(invoice_item__invoice__company_name=company_name) # pylint: disable=maybe-no-member
|
||||
spent_codes_list = spent_codes_list.filter(invoice_item__invoice__company_name=company_name)
|
||||
|
||||
csv_type = 'spent'
|
||||
return registration_codes_csv("Spent_Registration_Codes.csv", spent_codes_list, csv_type)
|
||||
@@ -1989,7 +1989,7 @@ def reset_student_attempts(request, course_id):
|
||||
@cache_control(no_cache=True, no_store=True, must_revalidate=True)
|
||||
@require_level('staff')
|
||||
@common_exceptions_400
|
||||
def reset_student_attempts_for_entrance_exam(request, course_id): # pylint: disable=invalid-name
|
||||
def reset_student_attempts_for_entrance_exam(request, course_id):
|
||||
"""
|
||||
|
||||
Resets a students attempts counter or starts a task to reset all students
|
||||
@@ -2340,7 +2340,7 @@ def list_instructor_tasks(request, course_id):
|
||||
@ensure_csrf_cookie
|
||||
@cache_control(no_cache=True, no_store=True, must_revalidate=True)
|
||||
@require_level('staff')
|
||||
def list_entrance_exam_instructor_tasks(request, course_id): # pylint: disable=invalid-name
|
||||
def list_entrance_exam_instructor_tasks(request, course_id):
|
||||
"""
|
||||
List entrance exam related instructor tasks.
|
||||
|
||||
@@ -2878,7 +2878,7 @@ def enable_certificate_generation(request, course_id=None):
|
||||
@cache_control(no_cache=True, no_store=True, must_revalidate=True)
|
||||
@require_level('staff')
|
||||
@require_POST
|
||||
def mark_student_can_skip_entrance_exam(request, course_id): # pylint: disable=invalid-name
|
||||
def mark_student_can_skip_entrance_exam(request, course_id):
|
||||
"""
|
||||
Mark a student to skip entrance exam.
|
||||
Takes `unique_student_identifier` as required POST parameter.
|
||||
@@ -3184,7 +3184,7 @@ def generate_certificate_exceptions(request, course_id, generate_for=None):
|
||||
@cache_control(no_cache=True, no_store=True, must_revalidate=True)
|
||||
@require_global_staff
|
||||
@require_POST
|
||||
def generate_bulk_certificate_exceptions(request, course_id): # pylint: disable=invalid-name
|
||||
def generate_bulk_certificate_exceptions(request, course_id):
|
||||
"""
|
||||
Add Students to certificate white list from the uploaded csv file.
|
||||
:return response in dict format.
|
||||
|
||||
@@ -207,11 +207,11 @@ def instructor_dashboard_2(request, course_id):
|
||||
disable_buttons = not _is_small_course(course_key)
|
||||
|
||||
certificate_white_list = CertificateWhitelist.get_certificate_white_list(course_key)
|
||||
generate_certificate_exceptions_url = reverse( # pylint: disable=invalid-name
|
||||
generate_certificate_exceptions_url = reverse(
|
||||
'generate_certificate_exceptions',
|
||||
kwargs={'course_id': unicode(course_key), 'generate_for': ''}
|
||||
)
|
||||
generate_bulk_certificate_exceptions_url = reverse( # pylint: disable=invalid-name
|
||||
generate_bulk_certificate_exceptions_url = reverse(
|
||||
'generate_bulk_certificate_exceptions',
|
||||
kwargs={'course_id': unicode(course_key)}
|
||||
)
|
||||
@@ -220,7 +220,7 @@ def instructor_dashboard_2(request, course_id):
|
||||
kwargs={'course_id': unicode(course_key)}
|
||||
)
|
||||
|
||||
certificate_invalidation_view_url = reverse( # pylint: disable=invalid-name
|
||||
certificate_invalidation_view_url = reverse(
|
||||
'certificate_invalidation_view',
|
||||
kwargs={'course_id': unicode(course_key)}
|
||||
)
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
"""
|
||||
Exceptions for the shoppingcart app
|
||||
"""
|
||||
# (Exception Class Names are sort of self-explanatory, so skipping docstring requirement)
|
||||
# pylint: disable=missing-docstring
|
||||
|
||||
|
||||
class PaymentException(Exception):
|
||||
|
||||
@@ -352,7 +352,7 @@ class Order(models.Model):
|
||||
"""
|
||||
send confirmation e-mail
|
||||
"""
|
||||
recipient_list = [(self.user.username, self.user.email, 'user')] # pylint: disable=no-member
|
||||
recipient_list = [(self.user.username, self.user.email, 'user')]
|
||||
if self.company_contact_email:
|
||||
recipient_list.append((self.company_contact_name, self.company_contact_email, 'company_contact'))
|
||||
joined_course_names = ""
|
||||
@@ -443,7 +443,7 @@ class Order(models.Model):
|
||||
"""
|
||||
if self.status == 'purchased':
|
||||
log.error(
|
||||
u"`purchase` method called on order {}, but order is already purchased.".format(self.id) # pylint: disable=no-member
|
||||
u"`purchase` method called on order {}, but order is already purchased.".format(self.id)
|
||||
)
|
||||
return
|
||||
self.status = 'purchased'
|
||||
@@ -1528,7 +1528,7 @@ class PaidCourseRegistration(OrderItem):
|
||||
@classmethod
|
||||
@transaction.atomic
|
||||
def add_to_order(cls, order, course_id, mode_slug=CourseMode.DEFAULT_SHOPPINGCART_MODE_SLUG,
|
||||
cost=None, currency=None): # pylint: disable=arguments-differ
|
||||
cost=None, currency=None):
|
||||
"""
|
||||
A standardized way to create these objects, with sensible defaults filled in.
|
||||
Will update the cost if called on an order that already carries the course.
|
||||
@@ -1715,7 +1715,7 @@ class CourseRegCodeItem(OrderItem):
|
||||
@classmethod
|
||||
@transaction.atomic
|
||||
def add_to_order(cls, order, course_id, qty, mode_slug=CourseMode.DEFAULT_SHOPPINGCART_MODE_SLUG,
|
||||
cost=None, currency=None): # pylint: disable=arguments-differ
|
||||
cost=None, currency=None):
|
||||
"""
|
||||
A standardized way to create these objects, with sensible defaults filled in.
|
||||
Will update the cost if called on an order that already carries the course.
|
||||
@@ -1838,7 +1838,6 @@ class CourseRegCodeItemAnnotation(models.Model):
|
||||
annotation = models.TextField(null=True)
|
||||
|
||||
def __unicode__(self):
|
||||
# pylint: disable=no-member
|
||||
return u"{} : {}".format(text_type(self.course_id), self.annotation)
|
||||
|
||||
|
||||
@@ -1856,7 +1855,6 @@ class PaidCourseRegistrationAnnotation(models.Model):
|
||||
annotation = models.TextField(null=True)
|
||||
|
||||
def __unicode__(self):
|
||||
# pylint: disable=no-member
|
||||
return u"{} : {}".format(text_type(self.course_id), self.annotation)
|
||||
|
||||
|
||||
|
||||
@@ -270,7 +270,7 @@ class OrderTest(ModuleStoreTestCase):
|
||||
self.assertIn(item.additional_instruction_text(), mail.outbox[0].body)
|
||||
|
||||
# Verify Google Analytics event fired for purchase
|
||||
self.mock_tracker.track.assert_called_once_with( # pylint: disable=maybe-no-member
|
||||
self.mock_tracker.track.assert_called_once_with(
|
||||
self.user.id,
|
||||
'Completed Order',
|
||||
{
|
||||
@@ -870,7 +870,7 @@ class CertificateItemTest(ModuleStoreTestCase):
|
||||
"""
|
||||
Assert that we fired a refund event.
|
||||
"""
|
||||
self.mock_analytics_tracker.track.assert_called_with( # pylint: disable=maybe-no-member
|
||||
self.mock_analytics_tracker.track.assert_called_with(
|
||||
self.user.id,
|
||||
'Refunded Order',
|
||||
{
|
||||
|
||||
@@ -216,7 +216,7 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
|
||||
resp = self.client.get(billing_url)
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
((template, context), _) = render_mock.call_args # pylint: disable=redefined-outer-name
|
||||
((template, context), _) = render_mock.call_args # pylint: disable=unpacking-non-sequence
|
||||
self.assertEqual(template, 'shoppingcart/billing_details.html')
|
||||
# check for the default currency in the context
|
||||
self.assertEqual(context['currency'], 'usd')
|
||||
@@ -244,7 +244,7 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
|
||||
resp = self.client.get(billing_url)
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
((template, context), __) = render_mock.call_args # pylint: disable=redefined-outer-name
|
||||
((template, context), __) = render_mock.call_args # pylint: disable=unpacking-non-sequence
|
||||
|
||||
self.assertEqual(template, 'shoppingcart/billing_details.html')
|
||||
# check for the override currency settings in the context
|
||||
@@ -804,7 +804,7 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
|
||||
resp = self.client.get(reverse('shoppingcart.views.show_cart', args=[]))
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
((purchase_form_arg_cart,), _) = form_mock.call_args # pylint: disable=redefined-outer-name
|
||||
((purchase_form_arg_cart,), _) = form_mock.call_args # pylint: disable=unpacking-non-sequence
|
||||
purchase_form_arg_cart_items = purchase_form_arg_cart.orderitem_set.all().select_subclasses()
|
||||
self.assertIn(reg_item, purchase_form_arg_cart_items)
|
||||
self.assertIn(cert_item, purchase_form_arg_cart_items)
|
||||
@@ -828,7 +828,7 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
|
||||
resp = self.client.get(reverse('shoppingcart.views.show_cart', args=[]))
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
((purchase_form_arg_cart,), _) = form_mock.call_args # pylint: disable=redefined-outer-name
|
||||
((purchase_form_arg_cart,), _) = form_mock.call_args # pylint: disable=unpacking-non-sequence
|
||||
purchase_form_arg_cart_items = purchase_form_arg_cart.orderitem_set.all().select_subclasses()
|
||||
self.assertIn(reg_item, purchase_form_arg_cart_items)
|
||||
|
||||
@@ -1140,7 +1140,7 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
|
||||
resp = self.client.get(reverse('shoppingcart.views.show_receipt', args=[self.cart.id]))
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
((template, context), _) = render_mock.call_args # pylint: disable=redefined-outer-name
|
||||
((template, context), _) = render_mock.call_args # pylint: disable=unpacking-non-sequence
|
||||
self.assertEqual(template, 'shoppingcart/receipt.html')
|
||||
self.assertEqual(context['order'], self.cart)
|
||||
self.assertEqual(context['order'].total_cost, self.testing_cost)
|
||||
@@ -1185,7 +1185,7 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
|
||||
self.assertIn('FirstNameTesting123', resp.content)
|
||||
self.assertIn('80.00', resp.content)
|
||||
|
||||
((template, context), _) = render_mock.call_args # pylint: disable=redefined-outer-name
|
||||
((template, context), _) = render_mock.call_args # pylint: disable=unpacking-non-sequence
|
||||
self.assertEqual(template, 'shoppingcart/receipt.html')
|
||||
self.assertEqual(context['order'], self.cart)
|
||||
self.assertIn(reg_item, context['shoppingcart_items'][0])
|
||||
@@ -1206,7 +1206,7 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
|
||||
resp = self.client.get(reverse('shoppingcart.views.show_receipt', args=[self.cart.id]))
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
((template, context), _) = render_mock.call_args # pylint: disable=redefined-outer-name
|
||||
((template, context), _) = render_mock.call_args # pylint: disable=unpacking-non-sequence
|
||||
self.assertEqual(template, 'shoppingcart/receipt.html')
|
||||
self.assertIn(reg_item, context['shoppingcart_items'][0])
|
||||
self.assertIn(cert_item, context['shoppingcart_items'][1])
|
||||
@@ -1255,7 +1255,7 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
|
||||
# fetch the newly generated registration codes
|
||||
course_registration_codes = CourseRegistrationCode.objects.filter(order=self.cart)
|
||||
|
||||
((template, context), _) = render_mock.call_args # pylint: disable=redefined-outer-name
|
||||
((template, context), _) = render_mock.call_args # pylint: disable=unpacking-non-sequence
|
||||
self.assertEqual(template, 'shoppingcart/receipt.html')
|
||||
self.assertEqual(context['order'], self.cart)
|
||||
self.assertIn(reg_item, context['shoppingcart_items'][0])
|
||||
@@ -1287,7 +1287,7 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
|
||||
# has been expired or not
|
||||
resp = self.client.get(reverse('shoppingcart.views.show_receipt', args=[self.cart.id]))
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
((template, context), _) = render_mock.call_args # pylint: disable=redefined-outer-name
|
||||
((template, context), _) = render_mock.call_args # pylint: disable=unpacking-non-sequence
|
||||
self.assertEqual(template, 'shoppingcart/receipt.html')
|
||||
# now check for all the registration codes in the receipt
|
||||
# and one of code should be used at this point
|
||||
@@ -1307,7 +1307,7 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
|
||||
|
||||
self.login_user()
|
||||
|
||||
self.mock_tracker.emit.reset_mock() # pylint: disable=maybe-no-member
|
||||
self.mock_tracker.emit.reset_mock()
|
||||
resp = self.client.get(reverse('shoppingcart.views.show_receipt', args=[self.cart.id]))
|
||||
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
@@ -1431,7 +1431,7 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
|
||||
self.client.post(url, resp_params, follow=True)
|
||||
self.assertFalse(self.client.session.get('attempting_upgrade'))
|
||||
|
||||
self.mock_tracker.emit.assert_any_call( # pylint: disable=maybe-no-member
|
||||
self.mock_tracker.emit.assert_any_call(
|
||||
'edx.course.enrollment.upgrade.succeeded',
|
||||
{
|
||||
'user_id': self.user.id,
|
||||
|
||||
@@ -14,7 +14,7 @@ def require_support_permission(func):
|
||||
View decorator that requires the user to have permission to use the support UI.
|
||||
"""
|
||||
@wraps(func)
|
||||
def inner(request, *args, **kwargs): # pylint: disable=missing-docstring
|
||||
def inner(request, *args, **kwargs):
|
||||
if has_access(request.user, "support", "global"):
|
||||
return func(request, *args, **kwargs)
|
||||
else:
|
||||
|
||||
@@ -122,7 +122,7 @@ class RefundTests(ModuleStoreTestCase):
|
||||
pars['confirmed'] = 'true'
|
||||
response = self.client.post('/support/refund/', pars)
|
||||
self.assertTrue(response.status_code, 302)
|
||||
response = self.client.get(response.get('location')) # pylint: disable=maybe-no-member
|
||||
response = self.client.get(response.get('location'))
|
||||
|
||||
self.assertContains(response, "Unenrolled %s from" % self.student)
|
||||
self.assertContains(response, "Refunded 1.00 for order id")
|
||||
|
||||
@@ -216,15 +216,15 @@ class SupportViewEnrollmentsTests(SharedModuleStoreTestCase, SupportViewTestCase
|
||||
CourseMode.AUDIT, CourseMode.PROFESSIONAL, CourseMode.CREDIT_MODE,
|
||||
CourseMode.NO_ID_PROFESSIONAL_MODE, CourseMode.VERIFIED, CourseMode.HONOR
|
||||
):
|
||||
CourseModeFactory.create(mode_slug=mode, course_id=self.course.id) # pylint: disable=no-member
|
||||
CourseModeFactory.create(mode_slug=mode, course_id=self.course.id)
|
||||
|
||||
self.verification_deadline = VerificationDeadline(
|
||||
course_key=self.course.id, # pylint: disable=no-member
|
||||
course_key=self.course.id,
|
||||
deadline=datetime.now(UTC) + timedelta(days=365)
|
||||
)
|
||||
self.verification_deadline.save()
|
||||
|
||||
CourseEnrollmentFactory.create(mode=CourseMode.AUDIT, user=self.student, course_id=self.course.id) # pylint: disable=no-member
|
||||
CourseEnrollmentFactory.create(mode=CourseMode.AUDIT, user=self.student, course_id=self.course.id)
|
||||
|
||||
self.url = reverse('support:enrollment_list', kwargs={'username_or_email': self.student.username})
|
||||
|
||||
@@ -232,7 +232,7 @@ class SupportViewEnrollmentsTests(SharedModuleStoreTestCase, SupportViewTestCase
|
||||
"""
|
||||
Assert that the student's enrollment has the correct mode.
|
||||
"""
|
||||
enrollment = CourseEnrollment.get_enrollment(self.student, self.course.id) # pylint: disable=no-member
|
||||
enrollment = CourseEnrollment.get_enrollment(self.student, self.course.id)
|
||||
self.assertEqual(enrollment.mode, mode)
|
||||
|
||||
@ddt.data('username', 'email')
|
||||
@@ -249,7 +249,7 @@ class SupportViewEnrollmentsTests(SharedModuleStoreTestCase, SupportViewTestCase
|
||||
'mode': CourseMode.AUDIT,
|
||||
'manual_enrollment': {},
|
||||
'user': self.student.username,
|
||||
'course_id': unicode(self.course.id), # pylint: disable=no-member
|
||||
'course_id': unicode(self.course.id),
|
||||
'is_active': True,
|
||||
'verified_upgrade_deadline': None,
|
||||
}, data[0])
|
||||
@@ -265,7 +265,7 @@ class SupportViewEnrollmentsTests(SharedModuleStoreTestCase, SupportViewTestCase
|
||||
self.student.email,
|
||||
ENROLLED_TO_ENROLLED,
|
||||
'Financial Assistance',
|
||||
CourseEnrollment.objects.get(course_id=self.course.id, user=self.student) # pylint: disable=no-member
|
||||
CourseEnrollment.objects.get(course_id=self.course.id, user=self.student)
|
||||
)
|
||||
response = self.client.get(self.url)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
@@ -283,7 +283,7 @@ class SupportViewEnrollmentsTests(SharedModuleStoreTestCase, SupportViewTestCase
|
||||
kwargs={'username_or_email': getattr(self.student, search_string_type)}
|
||||
)
|
||||
response = self.client.post(url, data={
|
||||
'course_id': unicode(self.course.id), # pylint: disable=no-member
|
||||
'course_id': unicode(self.course.id),
|
||||
'old_mode': CourseMode.AUDIT,
|
||||
'new_mode': CourseMode.VERIFIED,
|
||||
'reason': 'Financial Assistance'
|
||||
@@ -319,7 +319,7 @@ class SupportViewEnrollmentsTests(SharedModuleStoreTestCase, SupportViewTestCase
|
||||
# `self` isn't available from within the DDT declaration, so
|
||||
# assign the course ID here
|
||||
if 'course_id' in data and data['course_id'] is None:
|
||||
data['course_id'] = unicode(self.course.id) # pylint: disable=no-member
|
||||
data['course_id'] = unicode(self.course.id)
|
||||
response = self.client.post(self.url, data)
|
||||
self.assertEqual(response.status_code, 400)
|
||||
self.assertIsNotNone(re.match(error_message, response.content))
|
||||
@@ -365,7 +365,7 @@ class SupportViewEnrollmentsTests(SharedModuleStoreTestCase, SupportViewTestCase
|
||||
|
||||
def _assert_generated_modes(self, response):
|
||||
"""Dry method to generate course modes dict and test with response data."""
|
||||
modes = CourseMode.modes_for_course(self.course.id, include_expired=True) # pylint: disable=no-member
|
||||
modes = CourseMode.modes_for_course(self.course.id, include_expired=True)
|
||||
modes_data = []
|
||||
for mode in modes:
|
||||
expiry = mode.expiration_datetime.strftime('%Y-%m-%dT%H:%M:%SZ') if mode.expiration_datetime else None
|
||||
@@ -404,7 +404,7 @@ class SupportViewEnrollmentsTests(SharedModuleStoreTestCase, SupportViewTestCase
|
||||
kwargs={'username_or_email': getattr(self.student, search_string_type)}
|
||||
)
|
||||
response = self.client.post(url, data={
|
||||
'course_id': unicode(self.course.id), # pylint: disable=no-member
|
||||
'course_id': unicode(self.course.id),
|
||||
'old_mode': CourseMode.AUDIT,
|
||||
'new_mode': new_mode,
|
||||
'reason': 'Financial Assistance'
|
||||
@@ -424,7 +424,7 @@ class SupportViewEnrollmentsTests(SharedModuleStoreTestCase, SupportViewTestCase
|
||||
|
||||
# change verified mode expiry.
|
||||
verified_mode = CourseMode.objects.get(
|
||||
course_id=self.course.id, # pylint: disable=no-member
|
||||
course_id=self.course.id,
|
||||
mode_slug=CourseMode.VERIFIED
|
||||
)
|
||||
verified_mode.expiration_datetime = datetime(year=1970, month=1, day=9, tzinfo=UTC)
|
||||
|
||||
@@ -172,7 +172,7 @@ SELENIUM_GRID = {
|
||||
#####################################################################
|
||||
# See if the developer has any local overrides.
|
||||
try:
|
||||
from .private import * # pylint: disable=import-error
|
||||
from .private import *
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
|
||||
@@ -249,6 +249,6 @@ COMPLETION_BY_VIEWING_DELAY_MS = 1000
|
||||
#####################################################################
|
||||
# Lastly, see if the developer has any local overrides.
|
||||
try:
|
||||
from .private import * # pylint: disable=import-error
|
||||
from .private import * # pylint: disable=wildcard-import
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
@@ -20,9 +20,8 @@ Longer TODO:
|
||||
multiple sites, but we do need a way to map their data assets.
|
||||
"""
|
||||
|
||||
# We intentionally define lots of variables that aren't used, and
|
||||
# want to import all variables from base settings files
|
||||
# pylint: disable=wildcard-import, unused-import, unused-wildcard-import
|
||||
# We intentionally define lots of variables that aren't used
|
||||
# pylint: disable=unused-import
|
||||
|
||||
# Pylint gets confused by path.py instances, which report themselves as class
|
||||
# objects. As a result, pylint applies the wrong regex in validating names,
|
||||
|
||||
@@ -25,7 +25,7 @@ import os
|
||||
if 'BOK_CHOY_HOSTNAME' in os.environ:
|
||||
from .devstack_docker import * # pylint: disable=wildcard-import, unused-wildcard-import
|
||||
else:
|
||||
from .devstack import * # pylint: disable=wildcard-import, unused-wildcard-import
|
||||
from .devstack import * # pylint: disable=wildcard-import
|
||||
|
||||
TEST_ROOT = REPO_ROOT / "test_root"
|
||||
|
||||
|
||||
@@ -13,11 +13,6 @@ sessions. Assumes structure:
|
||||
# want to import all variables from base settings files
|
||||
# pylint: disable=wildcard-import, unused-wildcard-import
|
||||
|
||||
# Pylint gets confused by path.py instances, which report themselves as class
|
||||
# objects. As a result, pylint applies the wrong regex in validating names,
|
||||
# and throws spurious errors. Therefore, we disable invalid-name checking.
|
||||
# pylint: disable=invalid-name
|
||||
|
||||
from .common import *
|
||||
import os
|
||||
from path import Path as path
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
set -e
|
||||
|
||||
export LOWER_PYLINT_THRESHOLD=1000
|
||||
export UPPER_PYLINT_THRESHOLD=3310
|
||||
export UPPER_PYLINT_THRESHOLD=3125
|
||||
export ESLINT_THRESHOLD=5590
|
||||
export STYLELINT_THRESHOLD=973
|
||||
|
||||
Reference in New Issue
Block a user