INCR-469: Updates on Python 3.x, disable: import-error and fix line over length (#20962)

This commit is contained in:
Amit
2019-07-08 20:57:26 +03:00
committed by Feanil Patel
parent 42a986cb97
commit 2c8c3b8a74
8 changed files with 113 additions and 81 deletions

View File

@@ -1,6 +1,8 @@
"""
Certificates API URLs.
"""
from __future__ import absolute_import
from django.conf.urls import include, url
app_name = 'certificates'

View File

@@ -1,9 +1,12 @@
"""
Tests for the Certificate REST APIs.
"""
from __future__ import absolute_import
from itertools import product
import ddt
import six
from django.urls import reverse
from django.utils import timezone
from freezegun import freeze_time
@@ -18,7 +21,7 @@ from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFact
from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
from openedx.core.djangoapps.oauth_dispatch.toggles import ENFORCE_JWT_SCOPES
from openedx.core.djangoapps.user_api.tests.factories import UserPreferenceFactory
from openedx.core.djangoapps.user_authn.tests.utils import AuthType, AuthAndScopesTestMixin, JWT_AUTH_TYPES
from openedx.core.djangoapps.user_authn.tests.utils import JWT_AUTH_TYPES, AuthAndScopesTestMixin, AuthType
from student.tests.factories import UserFactory
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
from xmodule.modulestore.tests.factories import CourseFactory
@@ -80,7 +83,7 @@ class CertificatesDetailRestApiTest(AuthAndScopesTestMixin, SharedModuleStoreTes
'grade': '0.88',
'download_url': 'www.google.com',
'certificate_type': CourseMode.VERIFIED,
'course_id': unicode(self.course.id),
'course_id': six.text_type(self.course.id),
'created_date': self.now,
}
)
@@ -158,7 +161,7 @@ class CertificatesListRestApiTest(AuthAndScopesTestMixin, SharedModuleStoreTestC
response.data,
[{
'username': self.student.username,
'course_id': unicode(self.course.id),
'course_id': six.text_type(self.course.id),
'course_display_name': self.course.display_name,
'course_organization': self.course.org,
'certificate_type': CourseMode.VERIFIED,

View File

@@ -1,6 +1,8 @@
"""
Certificates API v0 URLs.
"""
from __future__ import absolute_import
from django.conf import settings
from django.conf.urls import include, url

View File

@@ -1,24 +1,26 @@
""" API v0 views. """
from __future__ import absolute_import
import logging
import six
from django.contrib.auth import get_user_model
from edx_rest_framework_extensions import permissions
from edx_rest_framework_extensions.auth.jwt.authentication import JwtAuthentication
from edx_rest_framework_extensions.auth.session.authentication import SessionAuthenticationAllowInactiveUser
from opaque_keys import InvalidKeyError
from opaque_keys.edx.keys import CourseKey
from rest_condition import C
from rest_framework.generics import GenericAPIView
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from edx_rest_framework_extensions import permissions
from edx_rest_framework_extensions.auth.jwt.authentication import JwtAuthentication
from edx_rest_framework_extensions.auth.session.authentication import SessionAuthenticationAllowInactiveUser
from lms.djangoapps.certificates.api import get_certificate_for_user, get_certificates_for_user
from opaque_keys import InvalidKeyError
from opaque_keys.edx.keys import CourseKey
from openedx.core.djangoapps.certificates.api import certificates_viewable_for_course
from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
from openedx.core.djangoapps.user_api.accounts.api import visible_fields
from openedx.core.lib.api.authentication import OAuth2AuthenticationAllowInactiveUser
log = logging.getLogger(__name__)
User = get_user_model()
@@ -118,7 +120,7 @@ class CertificatesDetailView(GenericAPIView):
return Response(
{
"username": user_cert.get('username'),
"course_id": unicode(user_cert.get('course_key')),
"course_id": six.text_type(user_cert.get('course_key')),
"certificate_type": user_cert.get('type'),
"created_date": user_cert.get('created'),
"status": user_cert.get('status'),
@@ -222,7 +224,7 @@ class CertificatesListView(GenericAPIView):
for user_cert in self._get_certificates_for_user(username):
user_certs.append({
'username': user_cert.get('username'),
'course_id': unicode(user_cert.get('course_key')),
'course_id': six.text_type(user_cert.get('course_key')),
'course_display_name': user_cert.get('course_display_name'),
'course_organization': user_cert.get('course_organization'),
'certificate_type': user_cert.get('type'),
@@ -263,7 +265,9 @@ class CertificatesListView(GenericAPIView):
passing_certificates[course_key] = course_certificate
viewable_certificates = []
for course_key, course_overview in CourseOverview.get_from_ids_if_exists(passing_certificates.keys()).items():
for course_key, course_overview in CourseOverview.get_from_ids_if_exists(
list(passing_certificates.keys())
).items():
if certificates_viewable_for_course(course_overview):
course_certificate = passing_certificates[course_key]
course_certificate['course_display_name'] = course_overview.display_name_with_default

View File

@@ -1,5 +1,7 @@
# Factories are self documenting
# pylint: disable=missing-docstring
from __future__ import absolute_import
from uuid import uuid4
from factory.django import DjangoModelFactory

View File

@@ -1,5 +1,7 @@
"""Tests for the create_fake_certs management command. """
from __future__ import absolute_import
from django.core.management import call_command
from django.core.management.base import CommandError
from django.test import TestCase

View File

@@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
"""Tests for the XQueue certificates interface. """
from __future__ import absolute_import
import json
from contextlib import contextmanager
from datetime import datetime, timedelta
@@ -7,6 +9,7 @@ from datetime import datetime, timedelta
import ddt
import freezegun
import pytz
import six
from django.test import TestCase
from django.test.utils import override_settings
from mock import Mock, patch
@@ -19,10 +22,15 @@ from testfixtures import LogCapture
# and verify that items are being correctly added to the queue
# in our `XQueueCertInterface` implementation.
from capa.xqueue_interface import XQueueInterface
from lms.djangoapps.certificates.models import CertificateStatuses, ExampleCertificate, ExampleCertificateSet, GeneratedCertificate
from course_modes.models import CourseMode
from lms.djangoapps.certificates.models import (
CertificateStatuses,
ExampleCertificate,
ExampleCertificateSet,
GeneratedCertificate
)
from lms.djangoapps.certificates.queue import LOGGER, XQueueCertInterface
from lms.djangoapps.certificates.tests.factories import CertificateWhitelistFactory, GeneratedCertificateFactory
from course_modes.models import CourseMode
from lms.djangoapps.grades.tests.utils import mock_passing_grade
from lms.djangoapps.verify_student.tests.factories import SoftwareSecurePhotoVerificationFactory
from student.tests.factories import CourseEnrollmentFactory, UserFactory
@@ -344,7 +352,7 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase):
u"and download_url '{download_url}'."
).format(
student_id=self.user_2.id,
course_id=unicode(self.course.id),
course_id=six.text_type(self.course.id),
status=CertificateStatuses.downloadable,
download_url=download_url
)
@@ -414,7 +422,7 @@ class XQueueCertInterfaceExampleCertificateTest(TestCase):
'action': 'create',
'username': cert.uuid,
'name': u'John Doë',
'course_id': unicode(self.COURSE_KEY),
'course_id': six.text_type(self.COURSE_KEY),
'template_pdf': 'test.pdf',
'example_certificate': True
}

View File

@@ -1,19 +1,30 @@
# -*- coding: utf-8 -*-
"""Tests for certificates views. """
from __future__ import absolute_import
import datetime
import json
from collections import OrderedDict
from urllib import urlencode
from uuid import uuid4
import ddt
import six
from django.conf import settings
from django.urls import reverse
from django.test.client import Client, RequestFactory
from django.test.utils import override_settings
from django.urls import reverse
from mock import patch
from six.moves import range
from six.moves.urllib.parse import urlencode # pylint: disable=import-error
import ddt
from course_modes.models import CourseMode
from lms.djangoapps.badges.events.course_complete import get_completion_badge
from lms.djangoapps.badges.tests.factories import (
BadgeAssertionFactory,
BadgeClassFactory,
CourseCompleteImageConfigurationFactory
)
from lms.djangoapps.certificates.api import get_certificate_url
from lms.djangoapps.certificates.models import (
CertificateGenerationCourseSetting,
@@ -29,22 +40,16 @@ from lms.djangoapps.certificates.tests.factories import (
GeneratedCertificateFactory,
LinkedInAddToProfileConfigurationFactory
)
from course_modes.models import CourseMode
from lms.djangoapps.badges.events.course_complete import get_completion_badge
from lms.djangoapps.badges.tests.factories import (
BadgeAssertionFactory,
BadgeClassFactory,
CourseCompleteImageConfigurationFactory
)
from lms.djangoapps.grades.tests.utils import mock_passing_grade
from openedx.core.djangoapps.certificates.config import waffle
from openedx.core.djangoapps.dark_lang.models import DarkLangConfig
from openedx.core.djangoapps.site_configuration.tests.test_util import (
with_site_configuration, with_site_configuration_context,
with_site_configuration,
with_site_configuration_context
)
from openedx.core.lib.tests.assertions.events import assert_event_matches
from openedx.core.djangolib.js_utils import js_escaped_string
from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
from openedx.core.lib.tests.assertions.events import assert_event_matches
from student.roles import CourseStaffRole
from student.tests.factories import CourseEnrollmentFactory, UserFactory
from track.tests import EventTrackingTestCase
@@ -127,7 +132,7 @@ class CommonCertificatesTestCase(ModuleStoreTestCase):
'organization': 'Signatory_Organization ' + str(i),
'signature_image_path': u'/static/certificates/images/demo-sig{}.png'.format(i),
'id': i
} for i in xrange(signatory_count)
} for i in range(signatory_count)
]
@@ -141,7 +146,7 @@ class CommonCertificatesTestCase(ModuleStoreTestCase):
'signatories': signatories,
'version': 1,
'is_active': is_active
} for i in xrange(count)
} for i in range(count)
]
self.course.certificates = {'certificates': certificates}
@@ -402,11 +407,11 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
'logo': '/logo_test1.png/'
}
test_org = organizations_api.add_organization(organization_data=test_organization_data)
organizations_api.add_organization_course(organization_data=test_org, course_id=unicode(self.course.id))
organizations_api.add_organization_course(organization_data=test_org, course_id=six.text_type(self.course.id))
self._add_course_certificates(count=1, signatory_count=1, is_active=True)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
content = response.content.decode(response.charset)
@@ -473,7 +478,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
'logo': '/logo_test1.png'
}
test_org = organizations_api.add_organization(organization_data=test_organization_data)
organizations_api.add_organization_course(organization_data=test_org, course_id=unicode(self.course.id))
organizations_api.add_organization_course(organization_data=test_org, course_id=six.text_type(self.course.id))
self._add_course_certificates(count=1, signatory_count=1, is_active=True)
badge_class = get_completion_badge(course_id=self.course_id, user=self.user)
BadgeAssertionFactory.create(
@@ -488,7 +493,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url, HTTP_HOST='test.localhost')
@@ -556,7 +561,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=2)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
self.assertIn(str(self.cert.verify_uuid), response.content)
@@ -582,7 +587,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=2)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
# Validate certificate
@@ -617,7 +622,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=2)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
@@ -637,7 +642,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=2)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
# Validate certificate
@@ -659,7 +664,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=2)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
self.cert.invalidate()
@@ -682,7 +687,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=2)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
user_language = 'fr'
@@ -717,7 +722,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
self.assertIn("Invalid Certificate", response.content)
@@ -729,7 +734,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=2)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
@@ -758,7 +763,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self.store.update_item(self.course, self.user.id)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
@@ -776,7 +781,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=2)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
self.course.display_coursenumber = "overridden_number"
@@ -805,7 +810,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
# make sure response html has only one organization logo container for edX
@@ -816,7 +821,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=0)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
self.assertNotIn('Signatory_Name 0', response.content)
@@ -844,7 +849,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
self.assertNotIn('<script>', response.content)
@@ -854,7 +859,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
def test_render_html_view_disabled_feature_flag_returns_static_url(self):
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
self.assertIn(str(self.cert.download_url), test_url)
@@ -872,7 +877,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=0)
test_url = get_certificate_url(
user_id=111,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
self.assertIn('invalid', response.content)
@@ -882,7 +887,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=0)
test_url = get_certificate_url(
user_id="Good tests make good neighbors",
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
self.assertEqual(response.status_code, 404)
@@ -892,7 +897,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=0)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
self.cert.delete()
self.assertListEqual(list(GeneratedCertificate.eligible_certificates.all()), [])
@@ -906,7 +911,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
self.assertEqual(response.status_code, 200)
@@ -922,7 +927,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=2)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url + '?preview=honor')
# accessing certificate web view in preview mode without
@@ -955,7 +960,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
# user has already has certificate generated for 'honor' mode
# so let's try to preview in 'verified' mode.
@@ -982,7 +987,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=1, is_active=True)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
if self_paced or self.course.certificate_available_date > today:
@@ -1006,7 +1011,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
self.assertIn("Invalid Certificate", response.content)
@@ -1018,7 +1023,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url + "?preview=honor")
self.assertIn("Invalid Certificate Configuration", response.content)
@@ -1032,7 +1037,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self.cert.status = CertificateStatuses.unavailable
self.cert.save()
request_certificate_url = reverse('request_certificate')
response = self.client.post(request_certificate_url, {'course_id': unicode(self.course.id)})
response = self.client.post(request_certificate_url, {'course_id': six.text_type(self.course.id)})
self.assertEqual(response.status_code, 200)
response_json = json.loads(response.content)
self.assertEqual(CertificateStatuses.notpassing, response_json['add_status'])
@@ -1046,7 +1051,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
with patch('capa.xqueue_interface.XQueueInterface.send_to_queue') as mock_queue:
mock_queue.return_value = (0, "Successfully queued")
with mock_passing_grade():
response = self.client.post(request_certificate_url, {'course_id': unicode(self.course.id)})
response = self.client.post(request_certificate_url, {'course_id': six.text_type(self.course.id)})
self.assertEqual(response.status_code, 200)
response_json = json.loads(response.content)
self.assertEqual(CertificateStatuses.generating, response_json['add_status'])
@@ -1063,15 +1068,15 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
mock_get_course_run_details.return_value = self.mock_course_run_details
self._add_course_certificates(count=1, signatory_count=2)
self._create_custom_named_template(
'test_template_1_course', org_id=1, mode='honor', course_key=unicode(self.course.id),
'test_template_1_course', org_id=1, mode='honor', course_key=six.text_type(self.course.id),
)
self._create_custom_named_template(
'test_template_2_course', org_id=1, mode='verified', course_key=unicode(self.course.id),
'test_template_2_course', org_id=1, mode='verified', course_key=six.text_type(self.course.id),
)
self._create_custom_named_template('test_template_3_course', org_id=2, mode='honor')
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
with patch('lms.djangoapps.certificates.api.get_course_organization_id') as mock_get_org_id:
@@ -1105,13 +1110,13 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
'test_template_2_course',
org_id=1,
mode='honor',
course_key=unicode(othercourse.id)
course_key=six.text_type(othercourse.id)
)
self._create_custom_named_template('test_template_3_course', org_id=1, mode='verified') # wrong mode
self._create_custom_named_template('test_template_4_course', org_id=2, mode='honor') # wrong org
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
with patch('lms.djangoapps.certificates.api.get_course_organization_id') as mock_get_org_id:
@@ -1134,7 +1139,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._create_custom_named_template('test_template_3_course', org_id=2, mode=None) # wrong org
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
with patch('lms.djangoapps.certificates.api.get_course_organization_id') as mock_get_org_id:
@@ -1158,7 +1163,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._create_custom_named_template('test_template_3_course', org_id=2, mode=mode) # wrong org
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
with patch('lms.djangoapps.certificates.api.get_course_organization_id') as mock_get_org_id:
@@ -1203,11 +1208,11 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
#create a org_mode_and_coursekey template language=null
self._create_custom_named_template(
'test_null_lang_template', org_id=1, mode='honor', course_key=unicode(self.course.id), language=None,
'test_null_lang_template', org_id=1, mode='honor', course_key=six.text_type(self.course.id), language=None,
)
#verify return template lang = null
response = self.client.get(test_url)
@@ -1219,7 +1224,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
'test_wrong_lang_template',
org_id=1,
mode='honor',
course_key=unicode(self.course.id),
course_key=six.text_type(self.course.id),
language=wrong_language,
)
#verify returns null lang template
@@ -1229,7 +1234,11 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
#create an org_mode_and_coursekey template language=''
self._create_custom_named_template(
'test_all_languages_template', org_id=1, mode='honor', course_key=unicode(self.course.id), language='',
'test_all_languages_template',
org_id=1,
mode='honor',
course_key=six.text_type(self.course.id),
language='',
)
#verify returns null lang template
response = self.client.get(test_url)
@@ -1241,7 +1250,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
'test_right_lang_template',
org_id=1,
mode='honor',
course_key=unicode(self.course.id),
course_key=six.text_type(self.course.id),
language=right_language,
)
# verify return right_language template
@@ -1278,7 +1287,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
#create a org and mode template language=null
self._create_custom_named_template('test_null_lang_template', org_id=1, mode='honor', language=None)
@@ -1335,7 +1344,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._add_course_certificates(count=1, signatory_count=2)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
#create a org template language=null
self._create_custom_named_template('test_null_lang_template', org_id=1, language=None)
@@ -1393,7 +1402,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
#create a mode template language=null
self._create_custom_named_template('test_null_lang_template', mode='honor', language=None)
@@ -1454,7 +1463,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
#create a mode template language=null
self._create_custom_named_template('test_null_lang_template', org_id=1, mode='honor', language=None)
@@ -1510,7 +1519,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._create_custom_template_with_hours_of_effort(org_id=1, language=None)
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
self.assertEqual(response.status_code, 200)
@@ -1535,7 +1544,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
}):
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
with patch.dict("django.conf.settings.SOCIAL_SHARING_SETTINGS", {
"CERTIFICATE_TWITTER": True,
@@ -1564,7 +1573,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
self._create_custom_template(mode='honor')
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
# render certificate without template asset
@@ -1603,7 +1612,7 @@ class CertificateEventTests(CommonCertificatesTestCase, EventTrackingTestCase):
self.recreate_tracker()
test_url = get_certificate_url(
user_id=self.user.id,
course_id=unicode(self.course.id)
course_id=six.text_type(self.course.id)
)
response = self.client.get(test_url)
self.assertEqual(response.status_code, 200)
@@ -1612,10 +1621,10 @@ class CertificateEventTests(CommonCertificatesTestCase, EventTrackingTestCase):
assert_event_matches(
{
'user_id': self.user.id,
'certificate_id': unicode(self.cert.verify_uuid),
'certificate_id': six.text_type(self.cert.verify_uuid),
'enrollment_mode': self.cert.mode,
'certificate_url': test_url,
'course_id': unicode(self.course.id),
'course_id': six.text_type(self.course.id),
'social_network': CertificateSocialNetworks.linkedin
},
actual_event['data']