refactor: pyupgrade second iteration (#27454)
This commit is contained in:
@@ -1,6 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
@@ -14,7 +11,7 @@ class Migration(migrations.Migration):
|
||||
name='TrackingLog',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('dtcreated', models.DateTimeField(auto_now_add=True, verbose_name=u'creation date')),
|
||||
('dtcreated', models.DateTimeField(auto_now_add=True, verbose_name='creation date')),
|
||||
('username', models.CharField(max_length=32, blank=True)),
|
||||
('ip', models.CharField(max_length=32, blank=True)),
|
||||
('event_source', models.CharField(max_length=32)),
|
||||
@@ -22,7 +19,7 @@ class Migration(migrations.Migration):
|
||||
('event', models.TextField(blank=True)),
|
||||
('agent', models.CharField(max_length=256, blank=True)),
|
||||
('page', models.CharField(max_length=512, null=True, blank=True)),
|
||||
('time', models.DateTimeField(verbose_name=u'event time')),
|
||||
('time', models.DateTimeField(verbose_name='event time')),
|
||||
('host', models.CharField(max_length=64, blank=True)),
|
||||
],
|
||||
options={
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.27 on 2020-02-04 21:16
|
||||
|
||||
|
||||
|
||||
@@ -18,11 +18,11 @@ IN_MEMORY_BACKEND_CONFIG = {
|
||||
}
|
||||
|
||||
|
||||
class InMemoryBackend(object):
|
||||
class InMemoryBackend:
|
||||
"""A backend that simply stores all events in memory"""
|
||||
|
||||
def __init__(self):
|
||||
super(InMemoryBackend, self).__init__() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().__init__() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
self.events = []
|
||||
|
||||
def send(self, event):
|
||||
@@ -48,7 +48,7 @@ class EventTrackingTestCase(TestCase):
|
||||
freezer.start()
|
||||
self.addCleanup(freezer.stop)
|
||||
|
||||
super(EventTrackingTestCase, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
|
||||
self.recreate_tracker()
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ class TestContexts(TestCase): # lint-amnesty, pylint: disable=missing-class-doc
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_course_id_from_url(self, course_id, postfix):
|
||||
url = 'http://foo.bar.com/courses/{}{}'.format(course_id, postfix)
|
||||
url = f'http://foo.bar.com/courses/{course_id}{postfix}'
|
||||
self.assert_parses_course_id_from_url(url, course_id)
|
||||
|
||||
def assert_parses_course_id_from_url(self, format_string, course_id):
|
||||
@@ -38,7 +38,7 @@ class TestContexts(TestCase): # lint-amnesty, pylint: disable=missing-class-doc
|
||||
|
||||
@ddt.data('', '/', '/?', '?format=json')
|
||||
def test_malformed_course_id(self, postfix):
|
||||
self.assert_empty_context_for_url('http://foo.bar.com/courses/test/course_name{}'.format(postfix))
|
||||
self.assert_empty_context_for_url(f'http://foo.bar.com/courses/test/course_name{postfix}')
|
||||
|
||||
@ddt.data(
|
||||
(COURSE_ID, ''),
|
||||
@@ -50,7 +50,7 @@ class TestContexts(TestCase): # lint-amnesty, pylint: disable=missing-class-doc
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_course_id_later_in_url(self, course_id, postfix):
|
||||
url = 'http://foo.bar.com/x/y/z/courses/{}{}'.format(course_id, postfix)
|
||||
url = f'http://foo.bar.com/x/y/z/courses/{course_id}{postfix}'
|
||||
self.assert_parses_course_id_from_url(url, course_id)
|
||||
|
||||
def test_no_url(self):
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""Tests for tracking middleware."""
|
||||
|
||||
from unittest.mock import patch, sentinel
|
||||
|
||||
import ddt
|
||||
import six
|
||||
from django.contrib.auth.models import User # lint-amnesty, pylint: disable=imported-auth-user
|
||||
from django.contrib.sessions.middleware import SessionMiddleware
|
||||
from django.test import TestCase
|
||||
from django.test.client import RequestFactory
|
||||
from django.test.utils import override_settings
|
||||
from eventtracking import tracker
|
||||
from mock import patch, sentinel
|
||||
|
||||
from common.djangoapps.track.middleware import TrackMiddleware
|
||||
|
||||
@@ -20,7 +18,7 @@ class TrackMiddlewareTestCase(TestCase):
|
||||
""" Class for checking tracking requests """
|
||||
|
||||
def setUp(self):
|
||||
super(TrackMiddlewareTestCase, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().setUp()
|
||||
self.track_middleware = TrackMiddleware()
|
||||
self.request_factory = RequestFactory()
|
||||
|
||||
@@ -48,7 +46,7 @@ class TrackMiddlewareTestCase(TestCase):
|
||||
request.META[meta_key] = 'test latin1 \xd3 \xe9 \xf1'
|
||||
|
||||
context = self.get_context_for_request(request)
|
||||
assert context[context_key] == u'test latin1 Ó é ñ'
|
||||
assert context[context_key] == 'test latin1 Ó é ñ'
|
||||
|
||||
def test_default_filters_do_not_render_view(self):
|
||||
for url in ['/event', '/event/1', '/login', '/heartbeat']:
|
||||
@@ -138,7 +136,7 @@ class TrackMiddlewareTestCase(TestCase):
|
||||
|
||||
def assert_dict_subset(self, superset, subset):
|
||||
"""Assert that the superset dict contains all of the key-value pairs found in the subset dict."""
|
||||
for key, expected_value in six.iteritems(subset):
|
||||
for key, expected_value in subset.items():
|
||||
assert superset[key] == expected_value
|
||||
|
||||
def test_request_with_user(self):
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
"""Ensure emitted events contain the fields legacy processors expect to find."""
|
||||
|
||||
|
||||
from unittest.mock import patch, sentinel
|
||||
|
||||
import ddt
|
||||
from django.test import TestCase
|
||||
from django.test.utils import override_settings
|
||||
from eventtracking import tracker
|
||||
from eventtracking.django import DjangoTracker
|
||||
from mock import patch, sentinel
|
||||
|
||||
from common.djangoapps.track import segment
|
||||
|
||||
@@ -16,7 +17,7 @@ class SegmentTrackTestCase(TestCase):
|
||||
"""Ensure emitted events contain the expected context values."""
|
||||
|
||||
def setUp(self):
|
||||
super(SegmentTrackTestCase, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().setUp()
|
||||
self.tracker = DjangoTracker()
|
||||
tracker.register_tracker(self.tracker)
|
||||
self.properties = {sentinel.key: sentinel.value}
|
||||
@@ -119,7 +120,7 @@ class SegmentIdentifyTestCase(TestCase):
|
||||
"""Ensure emitted events contain the fields legacy processors expect to find."""
|
||||
|
||||
def setUp(self):
|
||||
super(SegmentIdentifyTestCase, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().setUp()
|
||||
patcher = patch('common.djangoapps.track.segment.analytics.identify')
|
||||
self.mock_segment_identify = patcher.start()
|
||||
self.addCleanup(patcher.stop)
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
|
||||
from collections import namedtuple
|
||||
from unittest.mock import sentinel
|
||||
import pytest
|
||||
import ddt
|
||||
from django.test.utils import override_settings
|
||||
from mock import sentinel
|
||||
|
||||
from openedx.core.lib.tests.assertions.events import assert_events_equal
|
||||
|
||||
@@ -234,7 +234,7 @@ class EventTransformerRegistryTestCase(EventTrackingTestCase):
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
super(EventTransformerRegistryTestCase, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().setUp()
|
||||
self.registry = transformers.EventTransformerRegistry()
|
||||
|
||||
@ddt.data(
|
||||
@@ -267,20 +267,20 @@ class PrefixedEventProcessorTestCase(EventTrackingTestCase):
|
||||
"""
|
||||
|
||||
@ddt.data(
|
||||
SequenceDDT(action=u'next', tab_count=5, current_tab=3, legacy_event_type=u'seq_next'),
|
||||
SequenceDDT(action=u'next', tab_count=5, current_tab=5, legacy_event_type=None),
|
||||
SequenceDDT(action=u'previous', tab_count=5, current_tab=3, legacy_event_type=u'seq_prev'),
|
||||
SequenceDDT(action=u'previous', tab_count=5, current_tab=1, legacy_event_type=None),
|
||||
SequenceDDT(action='next', tab_count=5, current_tab=3, legacy_event_type='seq_next'),
|
||||
SequenceDDT(action='next', tab_count=5, current_tab=5, legacy_event_type=None),
|
||||
SequenceDDT(action='previous', tab_count=5, current_tab=3, legacy_event_type='seq_prev'),
|
||||
SequenceDDT(action='previous', tab_count=5, current_tab=1, legacy_event_type=None),
|
||||
)
|
||||
def test_sequence_linear_navigation(self, sequence_ddt):
|
||||
event_name = u'edx.ui.lms.sequence.{}_selected'.format(sequence_ddt.action)
|
||||
event_name = f'edx.ui.lms.sequence.{sequence_ddt.action}_selected'
|
||||
|
||||
event = {
|
||||
u'name': event_name,
|
||||
u'event': {
|
||||
u'current_tab': sequence_ddt.current_tab,
|
||||
u'tab_count': sequence_ddt.tab_count,
|
||||
u'id': u'ABCDEFG',
|
||||
'name': event_name,
|
||||
'event': {
|
||||
'current_tab': sequence_ddt.current_tab,
|
||||
'tab_count': sequence_ddt.tab_count,
|
||||
'id': 'ABCDEFG',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -288,34 +288,34 @@ class PrefixedEventProcessorTestCase(EventTrackingTestCase):
|
||||
result = process_event_shim(event)
|
||||
|
||||
# Legacy fields get added when needed
|
||||
if sequence_ddt.action == u'next':
|
||||
if sequence_ddt.action == 'next':
|
||||
offset = 1
|
||||
else:
|
||||
offset = -1
|
||||
if sequence_ddt.legacy_event_type:
|
||||
assert result[u'event_type'] == sequence_ddt.legacy_event_type
|
||||
assert result[u'event'][u'old'] == sequence_ddt.current_tab
|
||||
assert result[u'event'][u'new'] == (sequence_ddt.current_tab + offset)
|
||||
assert result['event_type'] == sequence_ddt.legacy_event_type
|
||||
assert result['event']['old'] == sequence_ddt.current_tab
|
||||
assert result['event']['new'] == (sequence_ddt.current_tab + offset)
|
||||
else:
|
||||
assert u'event_type' not in result
|
||||
assert u'old' not in result[u'event']
|
||||
assert u'new' not in result[u'event']
|
||||
assert 'event_type' not in result
|
||||
assert 'old' not in result['event']
|
||||
assert 'new' not in result['event']
|
||||
|
||||
def test_sequence_tab_navigation(self):
|
||||
event_name = u'edx.ui.lms.sequence.tab_selected'
|
||||
event_name = 'edx.ui.lms.sequence.tab_selected'
|
||||
event = {
|
||||
u'name': event_name,
|
||||
u'event': {
|
||||
u'current_tab': 2,
|
||||
u'target_tab': 5,
|
||||
u'tab_count': 9,
|
||||
u'id': u'block-v1:abc',
|
||||
u'widget_placement': u'top',
|
||||
'name': event_name,
|
||||
'event': {
|
||||
'current_tab': 2,
|
||||
'target_tab': 5,
|
||||
'tab_count': 9,
|
||||
'id': 'block-v1:abc',
|
||||
'widget_placement': 'top',
|
||||
}
|
||||
}
|
||||
|
||||
process_event_shim = PrefixedEventProcessor()
|
||||
result = process_event_shim(event)
|
||||
assert result[u'event_type'] == u'seq_goto'
|
||||
assert result[u'event'][u'old'] == 2
|
||||
assert result[u'event'][u'new'] == 5
|
||||
assert result['event_type'] == 'seq_goto'
|
||||
assert result['event']['old'] == 2
|
||||
assert result['event']['new'] == 5
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
from django.conf import settings
|
||||
from django.test import TestCase
|
||||
from django.test.utils import override_settings
|
||||
from six.moves import range
|
||||
|
||||
from common.djangoapps.track import tracker
|
||||
from common.djangoapps.track.backends import BaseBackend
|
||||
@@ -31,7 +30,7 @@ class TestTrackerInstantiation(TestCase):
|
||||
"""Test that a helper function can instantiate backends from their name."""
|
||||
def setUp(self):
|
||||
# pylint: disable=protected-access
|
||||
super(TestTrackerInstantiation, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
self.get_backend = tracker._instantiate_backend_from_name
|
||||
|
||||
def test_instatiate_backend(self):
|
||||
@@ -111,7 +110,7 @@ class TestTrackerDjangoInstantiation(TestCase):
|
||||
|
||||
class DummyBackend(BaseBackend): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
def __init__(self, **options):
|
||||
super(DummyBackend, self).__init__(**options) # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().__init__(**options) # lint-amnesty, pylint: disable=super-with-arguments
|
||||
self.flag = options.get('flag', False)
|
||||
self.count = 0
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ def user_track(request):
|
||||
data = _get_request_value(request, 'event', {})
|
||||
page = _get_request_value(request, 'page')
|
||||
|
||||
if isinstance(data, six.string_types) and len(data) > 0:
|
||||
if isinstance(data, str) and len(data) > 0:
|
||||
try:
|
||||
data = json.loads(data)
|
||||
_add_user_id_for_username(data)
|
||||
|
||||
@@ -33,7 +33,7 @@ ERROR_MISSING_RECEIVED_AT = 'Required receivedAt field not found'
|
||||
|
||||
|
||||
FORUM_THREAD_VIEWED_EVENT_LABEL = 'Forum: View Thread'
|
||||
BI_SCREEN_VIEWED_EVENT_NAME = u'edx.bi.app.navigation.screen'
|
||||
BI_SCREEN_VIEWED_EVENT_NAME = 'edx.bi.app.navigation.screen'
|
||||
|
||||
|
||||
@require_POST
|
||||
|
||||
@@ -6,9 +6,9 @@ Base class for tests related to emitted events to one of the tracking 'views'
|
||||
|
||||
import json
|
||||
|
||||
from unittest.mock import sentinel
|
||||
from django.test.client import RequestFactory
|
||||
from django.test.utils import override_settings
|
||||
from mock import sentinel
|
||||
|
||||
from common.djangoapps.track.tests import EventTrackingTestCase
|
||||
from common.djangoapps.track.views import segmentio
|
||||
@@ -37,7 +37,7 @@ class SegmentIOTrackingTestCaseBase(EventTrackingTestCase):
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
super(SegmentIOTrackingTestCaseBase, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().setUp()
|
||||
self.maxDiff = None # pylint: disable=invalid-name
|
||||
self.request_factory = RequestFactory()
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
|
||||
import json
|
||||
from unittest.mock import sentinel
|
||||
|
||||
from dateutil import parser
|
||||
from ddt import data, ddt, unpack
|
||||
from django.contrib.auth.models import User # lint-amnesty, pylint: disable=imported-auth-user
|
||||
from django.test.utils import override_settings
|
||||
from mock import sentinel
|
||||
|
||||
from openedx.core.lib.tests.assertions.events import assert_event_matches
|
||||
from common.djangoapps.track.middleware import TrackMiddleware
|
||||
@@ -32,7 +32,7 @@ class SegmentIOTrackingTestCase(SegmentIOTrackingTestCaseBase):
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
super(SegmentIOTrackingTestCase, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().setUp()
|
||||
|
||||
User.objects.create(pk=SEGMENTIO_TEST_USER_ID, username=str(sentinel.username))
|
||||
|
||||
@@ -153,7 +153,7 @@ class SegmentIOTrackingTestCase(SegmentIOTrackingTestCaseBase):
|
||||
},
|
||||
'user_id': SEGMENTIO_TEST_USER_ID,
|
||||
'course_id': course_id,
|
||||
'org_id': u'foo',
|
||||
'org_id': 'foo',
|
||||
'path': SEGMENTIO_TEST_ENDPOINT,
|
||||
'client': {
|
||||
'library': {
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
# lint-amnesty, pylint: disable=missing-module-docstring
|
||||
|
||||
from unittest.mock import patch, sentinel
|
||||
|
||||
import ddt
|
||||
import six
|
||||
from django.contrib.auth.models import User # lint-amnesty, pylint: disable=imported-auth-user
|
||||
from django.test.client import RequestFactory
|
||||
from django.test.utils import override_settings
|
||||
from mock import patch, sentinel
|
||||
|
||||
from openedx.core.lib.tests.assertions.events import assert_event_matches
|
||||
from common.djangoapps.track import views
|
||||
@@ -20,11 +21,11 @@ class TestTrackViews(EventTrackingTestCase): # lint-amnesty, pylint: disable=mi
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
super(TestTrackViews, cls).setUpTestData()
|
||||
super().setUpTestData()
|
||||
User.objects.create(pk=TEST_USER_ID, username=TEST_USERNAME)
|
||||
|
||||
def setUp(self):
|
||||
super(TestTrackViews, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
super().setUp()
|
||||
|
||||
self.request_factory = RequestFactory()
|
||||
|
||||
@@ -110,11 +111,11 @@ class TestTrackViews(EventTrackingTestCase): # lint-amnesty, pylint: disable=mi
|
||||
|
||||
@ddt.data(
|
||||
{
|
||||
'event_data': u'{{"username": "{}"}}'.format(TEST_USERNAME),
|
||||
'event_data': f'{{"username": "{TEST_USERNAME}"}}',
|
||||
'expected_event_data': {"username": TEST_USERNAME, "user_id": TEST_USER_ID}
|
||||
},
|
||||
{
|
||||
'event_data': u'{"username": "unknown-user"}',
|
||||
'event_data': '{"username": "unknown-user"}',
|
||||
'expected_event_data': {"username": "unknown-user"},
|
||||
}
|
||||
)
|
||||
@@ -183,7 +184,7 @@ class TestTrackViews(EventTrackingTestCase): # lint-amnesty, pylint: disable=mi
|
||||
'course_id': 'foo/bar/baz',
|
||||
'org_id': 'foo',
|
||||
'user_id': user_id,
|
||||
'path': u'/event'
|
||||
'path': '/event'
|
||||
},
|
||||
}
|
||||
finally:
|
||||
@@ -318,7 +319,7 @@ class TestTrackViews(EventTrackingTestCase): # lint-amnesty, pylint: disable=mi
|
||||
}
|
||||
|
||||
task_info = {
|
||||
six.text_type(sentinel.task_key): sentinel.task_value
|
||||
str(sentinel.task_key): sentinel.task_value
|
||||
}
|
||||
expected_event_data = dict(task_info)
|
||||
expected_event_data.update(self.event)
|
||||
|
||||
Reference in New Issue
Block a user