From 76389d86786c4005d14d9f09093201bd9ae0d3a5 Mon Sep 17 00:00:00 2001
From: John Eskew <jeskew@edx.org>
Date: Thu, 25 May 2017 13:23:48 -0400
Subject: [PATCH] Run all files touched in inheritance/partition work through
 isort.

---
 .../contentstore/course_group_config.py       |   7 +-
 .../tests/test_course_settings.py             |  19 ++--
 .../tests/test_courseware_index.py            |  50 ++++-----
 .../contentstore/tests/test_utils.py          |  13 ++-
 cms/djangoapps/contentstore/utils.py          |  13 +--
 cms/djangoapps/contentstore/views/preview.py  |  52 ++++-----
 .../views/tests/test_group_configurations.py  |  12 +--
 .../contentstore/views/tests/test_item.py     |  63 +++++------
 cms/lib/xblock/test/test_authoring_mixin.py   |  13 +--
 common/lib/xmodule/xmodule/capa_base.py       |  25 ++---
 common/lib/xmodule/xmodule/course_module.py   |   7 +-
 .../xmodule/modulestore/inheritance.py        |   3 +-
 .../xmodule/xmodule/modulestore/mongo/base.py |  32 +++---
 .../split_mongo/caching_descriptor_system.py  |  17 ++-
 .../xmodule/modulestore/split_mongo/split.py  |  60 +++++++----
 .../test_cross_modulestore_import_export.py   |  20 ++--
 .../tests/test_mixed_modulestore.py           |  71 ++++++------
 .../xmodule/modulestore/tests/test_mongo.py   |  59 +++++-----
 .../tests/test_split_modulestore.py           |  30 +++---
 .../tests/test_split_w_old_mongo.py           |   7 +-
 .../modulestore/tests/test_xml_importer.py    |  15 ++-
 .../xmodule/modulestore/tests/utils.py        |   9 +-
 common/lib/xmodule/xmodule/seq_module.py      |  13 +--
 .../lib/xmodule/xmodule/split_test_module.py  |  18 ++--
 .../lib/xmodule/xmodule/tests/test_fields.py  |   3 +-
 .../lib/xmodule/xmodule/tests/test_import.py  |  19 ++--
 .../xmodule/xmodule/tests/test_lti_unit.py    |  12 +--
 .../xmodule/tests/test_split_test_module.py   |  13 ++-
 .../xmodule/xmodule/tests/test_xml_module.py  |  28 ++---
 .../xmodule/xmodule/tests/xml/factories.py    |   7 +-
 .../xmodule/video_module/video_handlers.py    |  14 ++-
 .../xmodule/video_module/video_xfields.py     |   2 +-
 common/lib/xmodule/xmodule/x_module.py        |  43 ++++----
 .../discussion/test_cohort_management.py      |  16 +--
 common/test/acceptance/tests/helpers.py       |  25 +++--
 .../test_lms_split_test_courseware_search.py  |  17 ++-
 .../tests/lms/test_lms_user_preview.py        |  12 +--
 .../tests/studio/test_studio_container.py     |  14 +--
 .../tests/studio/test_studio_settings.py      |  12 +--
 .../tests/studio/test_studio_split_test.py    |  15 ++-
 .../transformers/tests/test_split_test.py     |   3 +-
 .../tests/test_user_partitions.py             |   6 +-
 .../transformers/user_partitions.py           |   2 +-
 lms/djangoapps/courseware/access.py           |  50 ++++-----
 lms/djangoapps/courseware/field_overrides.py  |   8 +-
 lms/djangoapps/courseware/masquerade.py       |   8 +-
 .../courseware/tests/test_access.py           |  50 ++++-----
 .../courseware/tests/test_group_access.py     |  10 +-
 .../courseware/tests/test_masquerade.py       |  21 ++--
 .../courseware/tests/test_split_module.py     |  13 ++-
 .../tests/test_submitting_problems.py         |  27 +++--
 .../discussion_api/tests/test_api.py          |  32 +++---
 lms/djangoapps/instructor/tests/test_api.py   | 102 ++++++++++--------
 lms/djangoapps/instructor/tests/test_tools.py |  13 ++-
 lms/djangoapps/instructor/views/tools.py      |  15 +--
 .../instructor_task/tasks_helper/grades.py    |  21 ++--
 .../tests/test_tasks_helper.py                |  86 +++++++--------
 lms/djangoapps/lms_xblock/mixin.py            |   7 +-
 lms/djangoapps/lms_xblock/runtime.py          |  16 ++-
 .../mobile_api/video_outlines/tests.py        |  19 ++--
 lms/lib/xblock/test/test_mixin.py             |   9 +-
 .../course_groups/partition_scheme.py         |   1 -
 .../tests/test_partition_scheme.py            |  15 ++-
 .../core/djangoapps/models/course_details.py  |   8 +-
 .../djangoapps/user_api/partition_schemes.py  |   4 +-
 .../user_api/tests/test_partition_schemes.py  |   2 +-
 openedx/core/djangoapps/util/testing.py       |   8 +-
 .../partition_scheme.py                       |  10 +-
 .../tests/test_partition_scheme.py            |  10 +-
 .../lib/xblock_fields/inherited_fields.py     |   6 +-
 70 files changed, 711 insertions(+), 751 deletions(-)

diff --git a/cms/djangoapps/contentstore/course_group_config.py b/cms/djangoapps/contentstore/course_group_config.py
index 0c083bb4a96..7335c16ae22 100644
--- a/cms/djangoapps/contentstore/course_group_config.py
+++ b/cms/djangoapps/contentstore/course_group_config.py
@@ -4,13 +4,12 @@ Class for manipulating groups configuration on a course object.
 import json
 import logging
 
-from util.db import generate_int_id, MYSQL_MAX_INT
-
-from django.utils.translation import ugettext as _
 from contentstore.utils import reverse_usage_url
+from django.utils.translation import ugettext as _
 from openedx.core.djangoapps.course_groups.partition_scheme import get_cohorted_user_partition
-from openedx.core.lib.partitions.partitions import UserPartition, MINIMUM_STATIC_PARTITION_ID
+from openedx.core.lib.partitions.partitions import MINIMUM_STATIC_PARTITION_ID, UserPartition
 from openedx.core.lib.partitions.partitions_service import get_all_partitions_for_course
+from util.db import MYSQL_MAX_INT, generate_int_id
 from xmodule.split_test_module import get_split_user_partitions
 
 MINIMUM_GROUP_ID = MINIMUM_STATIC_PARTITION_ID
diff --git a/cms/djangoapps/contentstore/tests/test_course_settings.py b/cms/djangoapps/contentstore/tests/test_course_settings.py
index a361f0049a7..240369c1075 100644
--- a/cms/djangoapps/contentstore/tests/test_course_settings.py
+++ b/cms/djangoapps/contentstore/tests/test_course_settings.py
@@ -1,24 +1,24 @@
 """
 Tests for Studio Course Settings.
 """
+import copy
 import datetime
-import ddt
 import json
-import copy
-import mock
-from mock import Mock, patch
 import unittest
 
+import ddt
+import mock
+from contentstore.utils import reverse_course_url, reverse_usage_url
 from django.conf import settings
-from django.utils.timezone import UTC
 from django.test.utils import override_settings
-
-from contentstore.utils import reverse_course_url, reverse_usage_url
+from django.utils.timezone import UTC
+from milestones.tests.utils import MilestonesTestCaseMixin
+from mock import Mock, patch
 from models.settings.course_grading import CourseGradingModel
 from models.settings.course_metadata import CourseMetadata
 from models.settings.encoder import CourseSettingsEncoder
-from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration
 from openedx.core.djangoapps.models.course_details import CourseDetails
+from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration
 from openedx.core.lib.xblock_fields.fields import Date
 from student.roles import CourseInstructorRole, CourseStaffRole
 from student.tests.factories import UserFactory
@@ -27,9 +27,8 @@ from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.factories import CourseFactory
 from xmodule.tabs import InvalidTabsException
-from milestones.tests.utils import MilestonesTestCaseMixin
 
-from .utils import CourseTestCase, AjaxEnabledTestClient
+from .utils import AjaxEnabledTestClient, CourseTestCase
 
 
 def get_url(course_id, handler_name='settings_handler'):
diff --git a/cms/djangoapps/contentstore/tests/test_courseware_index.py b/cms/djangoapps/contentstore/tests/test_courseware_index.py
index b7d60fc02bf..0c438ccc163 100644
--- a/cms/djangoapps/contentstore/tests/test_courseware_index.py
+++ b/cms/djangoapps/contentstore/tests/test_courseware_index.py
@@ -1,23 +1,32 @@
 """
 Testing indexing of the courseware as it is changed
 """
-import ddt
 import json
-from lazy.lazy import lazy
 import time
 from datetime import datetime
-from dateutil.tz import tzutc
-from mock import patch
-from pytz import UTC
-from uuid import uuid4
 from unittest import skip
+from uuid import uuid4
 
-from django.conf import settings
-
+import ddt
+from contentstore.courseware_index import (
+    CourseAboutSearchIndexer,
+    CoursewareSearchIndexer,
+    LibrarySearchIndexer,
+    SearchIndexingError
+)
+from contentstore.signals.handlers import listen_for_course_publish, listen_for_library_update
+from contentstore.tests.utils import CourseTestCase
+from contentstore.utils import reverse_course_url, reverse_usage_url
 from course_modes.models import CourseMode
+from dateutil.tz import tzutc
+from django.conf import settings
+from lazy.lazy import lazy
+from mock import patch
 from openedx.core.djangoapps.models.course_details import CourseDetails
-from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
 from openedx.core.lib.partitions.partitions import UserPartition
+from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
+from pytz import UTC
+from search.search_engine_base import SearchEngine
 from xmodule.library_tools import normalize_key_for_search
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import SignalHandler, modulestore
@@ -26,28 +35,19 @@ from xmodule.modulestore.mixed import MixedModuleStore
 from xmodule.modulestore.tests.django_utils import (
     TEST_DATA_MONGO_MODULESTORE,
     TEST_DATA_SPLIT_MODULESTORE,
-    SharedModuleStoreTestCase)
+    SharedModuleStoreTestCase
+)
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory, LibraryFactory
-from xmodule.modulestore.tests.mongo_connection import MONGO_PORT_NUM, MONGO_HOST
+from xmodule.modulestore.tests.mongo_connection import MONGO_HOST, MONGO_PORT_NUM
 from xmodule.modulestore.tests.utils import (
-    create_modulestore_instance, LocationMixin,
-    MixedSplitTestCase, MongoContentstoreBuilder
+    LocationMixin,
+    MixedSplitTestCase,
+    MongoContentstoreBuilder,
+    create_modulestore_instance
 )
 from xmodule.tests import DATA_DIR
 from xmodule.x_module import XModuleMixin
 
-from search.search_engine_base import SearchEngine
-
-from contentstore.courseware_index import (
-    CoursewareSearchIndexer,
-    LibrarySearchIndexer,
-    SearchIndexingError,
-    CourseAboutSearchIndexer,
-)
-from contentstore.signals.handlers import listen_for_course_publish, listen_for_library_update
-from contentstore.utils import reverse_course_url, reverse_usage_url
-from contentstore.tests.utils import CourseTestCase
-
 COURSE_CHILD_STRUCTURE = {
     "course": "chapter",
     "chapter": "sequential",
diff --git a/cms/djangoapps/contentstore/tests/test_utils.py b/cms/djangoapps/contentstore/tests/test_utils.py
index 03bc91f0582..de8fa67b755 100644
--- a/cms/djangoapps/contentstore/tests/test_utils.py
+++ b/cms/djangoapps/contentstore/tests/test_utils.py
@@ -2,18 +2,17 @@
 import collections
 from datetime import datetime, timedelta
 
-from pytz import UTC
+from contentstore import utils
+from contentstore.tests.utils import CourseTestCase
 from django.test import TestCase
 from opaque_keys.edx.locations import SlashSeparatedCourseKey
+from openedx.core.djangoapps.site_configuration.tests.test_util import with_site_configuration_context
+from openedx.core.lib.partitions.partitions import Group, UserPartition
+from pytz import UTC
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
-from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
-from openedx.core.lib.partitions.partitions import UserPartition, Group
-from openedx.core.djangoapps.site_configuration.tests.test_util import with_site_configuration_context
-
-from contentstore import utils
-from contentstore.tests.utils import CourseTestCase
+from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
 
 class LMSLinksTestCase(TestCase):
diff --git a/cms/djangoapps/contentstore/utils.py b/cms/djangoapps/contentstore/utils.py
index e2b69a47333..cc5079bcb2f 100644
--- a/cms/djangoapps/contentstore/utils.py
+++ b/cms/djangoapps/contentstore/utils.py
@@ -4,26 +4,23 @@ Common utility functions useful throughout the contentstore
 
 import logging
 from datetime import datetime
-from pytz import UTC
 
 from django.conf import settings
 from django.core.urlresolvers import reverse
 from django.utils.translation import ugettext as _
 from django_comment_common.models import assign_default_role
 from django_comment_common.utils import seed_permissions_roles
-
+from opaque_keys.edx.keys import CourseKey, UsageKey
 from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration
 from openedx.core.djangoapps.site_configuration.models import SiteConfiguration
 from openedx.core.lib.partitions.partitions_service import get_all_partitions_for_course
-
+from pytz import UTC
+from student import auth
+from student.models import CourseEnrollment
+from student.roles import CourseInstructorRole, CourseStaffRole
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
-from opaque_keys.edx.keys import UsageKey, CourseKey
-from student.roles import CourseInstructorRole, CourseStaffRole
-from student.models import CourseEnrollment
-from student import auth
-
 
 log = logging.getLogger(__name__)
 
diff --git a/cms/djangoapps/contentstore/views/preview.py b/cms/djangoapps/contentstore/views/preview.py
index 85062347b85..a10e2638568 100644
--- a/cms/djangoapps/contentstore/views/preview.py
+++ b/cms/djangoapps/contentstore/views/preview.py
@@ -3,45 +3,45 @@ from __future__ import absolute_import
 import logging
 from functools import partial
 
+import static_replace
+from cms.lib.xblock.field_data import CmsFieldData
+from contentstore.utils import get_visibility_partition_info
+from contentstore.views.access import get_user_role
 from django.conf import settings
+from django.contrib.auth.decorators import login_required
 from django.core.urlresolvers import reverse
 from django.http import Http404, HttpResponseBadRequest
-from django.contrib.auth.decorators import login_required
 from django.utils.translation import ugettext as _
 from edxmako.shortcuts import render_to_string
-
+from lms.djangoapps.lms_xblock.field_data import LmsFieldData
+from opaque_keys.edx.keys import UsageKey
+from openedx.core.lib.partitions.partitions_service import PartitionService
 from openedx.core.lib.xblock_utils import (
-    replace_static_urls, wrap_xblock, wrap_fragment, wrap_xblock_aside, request_token, xblock_local_resource_url,
+    replace_static_urls,
+    request_token,
+    wrap_fragment,
+    wrap_xblock,
+    wrap_xblock_aside,
+    xblock_local_resource_url
 )
-from openedx.core.lib.partitions.partitions_service import PartitionService
-from xmodule.x_module import PREVIEW_VIEWS, STUDENT_VIEW, AUTHOR_VIEW
+from util.sandboxing import can_execute_unsafe_code, get_python_lib_zip
+from xblock.django.request import django_to_webob_request, webob_to_django_response
+from xblock.exceptions import NoSuchHandlerError
+from xblock.fragment import Fragment
+from xblock.runtime import KvsFieldData
+from xblock_config.models import StudioConfig
+from xblock_django.user_service import DjangoXBlockUserService
 from xmodule.contentstore.django import contentstore
 from xmodule.error_module import ErrorDescriptor
 from xmodule.exceptions import NotFoundError, ProcessingError
-from xmodule.studio_editable import has_author_view
-from xmodule.services import SettingsService
-from xmodule.modulestore.django import modulestore, ModuleI18nService
 from xmodule.mixin import wrap_with_license
-from opaque_keys.edx.keys import UsageKey
-from xmodule.x_module import ModuleSystem
-from xblock.runtime import KvsFieldData
-from xblock.django.request import webob_to_django_response, django_to_webob_request
-from xblock.exceptions import NoSuchHandlerError
-from xblock.fragment import Fragment
-from xblock_django.user_service import DjangoXBlockUserService
-
-from lms.djangoapps.lms_xblock.field_data import LmsFieldData
-from cms.lib.xblock.field_data import CmsFieldData
-
-from util.sandboxing import can_execute_unsafe_code, get_python_lib_zip
+from xmodule.modulestore.django import ModuleI18nService, modulestore
+from xmodule.services import SettingsService
+from xmodule.studio_editable import has_author_view
+from xmodule.x_module import AUTHOR_VIEW, PREVIEW_VIEWS, STUDENT_VIEW, ModuleSystem
 
-import static_replace
-from .session_kv_store import SessionKeyValueStore
 from .helpers import render_from_lms
-
-from contentstore.utils import get_visibility_partition_info
-from contentstore.views.access import get_user_role
-from xblock_config.models import StudioConfig
+from .session_kv_store import SessionKeyValueStore
 
 __all__ = ['preview_handler']
 
diff --git a/cms/djangoapps/contentstore/views/tests/test_group_configurations.py b/cms/djangoapps/contentstore/views/tests/test_group_configurations.py
index 7dabd8ad871..f065bf58ed9 100644
--- a/cms/djangoapps/contentstore/views/tests/test_group_configurations.py
+++ b/cms/djangoapps/contentstore/views/tests/test_group_configurations.py
@@ -4,17 +4,17 @@
 Group Configuration Tests.
 """
 import json
-import ddt
-from mock import patch
 
-from contentstore.utils import reverse_course_url, reverse_usage_url
-from contentstore.course_group_config import GroupConfiguration, CONTENT_GROUP_CONFIGURATION_NAME
+import ddt
+from contentstore.course_group_config import CONTENT_GROUP_CONFIGURATION_NAME, GroupConfiguration
 from contentstore.tests.utils import CourseTestCase
+from contentstore.utils import reverse_course_url, reverse_usage_url
+from mock import patch
 from openedx.core.lib.partitions.partitions import Group, UserPartition
+from xmodule.modulestore import ModuleStoreEnum
+from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 from xmodule.validation import StudioValidation, StudioValidationMessage
-from xmodule.modulestore.django import modulestore
-from xmodule.modulestore import ModuleStoreEnum
 
 GROUP_CONFIGURATION_JSON = {
     u'name': u'Test name',
diff --git a/cms/djangoapps/contentstore/views/tests/test_item.py b/cms/djangoapps/contentstore/views/tests/test_item.py
index 4686663532e..3c41a7b01c7 100644
--- a/cms/djangoapps/contentstore/views/tests/test_item.py
+++ b/cms/djangoapps/contentstore/views/tests/test_item.py
@@ -1,53 +1,56 @@
 """Tests for items views."""
 import json
 from datetime import datetime, timedelta
-import ddt
-
-from mock import patch, Mock, PropertyMock
-from pytz import UTC
-from pyquery import PyQuery
-from webob import Response
 
+import ddt
+from contentstore.tests.utils import CourseTestCase
+from contentstore.utils import reverse_course_url, reverse_usage_url
+from contentstore.views.component import component_handler, get_component_templates
+from contentstore.views.item import (
+    ALWAYS,
+    VisibilityState,
+    _get_module_info,
+    _get_source_index,
+    _xblock_type_and_display_name,
+    add_container_page_publishing_info,
+    create_xblock_info
+)
 from django.conf import settings
+from django.core.urlresolvers import reverse
 from django.http import Http404
 from django.test import TestCase
 from django.test.client import RequestFactory
-from django.core.urlresolvers import reverse
-from contentstore.utils import reverse_usage_url, reverse_course_url
-
+from mock import Mock, PropertyMock, patch
 from opaque_keys import InvalidKeyError
-from opaque_keys.edx.keys import UsageKey, CourseKey
+from opaque_keys.edx.keys import CourseKey, UsageKey
 from opaque_keys.edx.locations import Location
 from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration
 from openedx.core.lib.partitions.partitions import (
-    Group, UserPartition, ENROLLMENT_TRACK_PARTITION_ID, MINIMUM_STATIC_PARTITION_ID
+    ENROLLMENT_TRACK_PARTITION_ID,
+    MINIMUM_STATIC_PARTITION_ID,
+    Group,
+    UserPartition
 )
 from openedx.core.lib.xblock_fields.inherited_fields import DEFAULT_START_DATE
-from contentstore.views.component import (
-    component_handler, get_component_templates
-)
-
-from contentstore.views.item import (
-    create_xblock_info, _get_source_index, _get_module_info, ALWAYS, VisibilityState, _xblock_type_and_display_name,
-    add_container_page_publishing_info
-)
-from contentstore.tests.utils import CourseTestCase
+from pyquery import PyQuery
+from pytz import UTC
 from student.tests.factories import UserFactory
-from xblock_django.models import XBlockConfiguration, XBlockStudioConfiguration, XBlockStudioConfigurationFlag
-from xmodule.capa_module import CapaDescriptor
-from xmodule.modulestore import ModuleStoreEnum
-from xmodule.modulestore.django import modulestore
-from xmodule.modulestore.exceptions import ItemNotFoundError
-from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, TEST_DATA_SPLIT_MODULESTORE
-from xmodule.modulestore.tests.factories import ItemFactory, LibraryFactory, check_mongo_calls, CourseFactory
-from xmodule.x_module import STUDIO_VIEW, STUDENT_VIEW
+from webob import Response
 from xblock.core import XBlockAside
-from xblock.fields import Scope, String, ScopeIds
+from xblock.exceptions import NoSuchHandlerError
+from xblock.fields import Scope, ScopeIds, String
 from xblock.fragment import Fragment
 from xblock.runtime import DictKeyValueStore, KvsFieldData
 from xblock.test.tools import TestRuntime
-from xblock.exceptions import NoSuchHandlerError
+from xblock_django.models import XBlockConfiguration, XBlockStudioConfiguration, XBlockStudioConfigurationFlag
 from xblock_django.user_service import DjangoXBlockUserService
+from xmodule.capa_module import CapaDescriptor
+from xmodule.modulestore import ModuleStoreEnum
+from xmodule.modulestore.django import modulestore
+from xmodule.modulestore.exceptions import ItemNotFoundError
+from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, ModuleStoreTestCase
+from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory, LibraryFactory, check_mongo_calls
+from xmodule.x_module import STUDENT_VIEW, STUDIO_VIEW
 
 
 class AsideTest(XBlockAside):
diff --git a/cms/lib/xblock/test/test_authoring_mixin.py b/cms/lib/xblock/test/test_authoring_mixin.py
index 3d77163dee8..a72eba46648 100644
--- a/cms/lib/xblock/test/test_authoring_mixin.py
+++ b/cms/lib/xblock/test/test_authoring_mixin.py
@@ -1,16 +1,17 @@
 """
 Tests for the Studio authoring XBlock mixin.
 """
+from course_modes.tests.factories import CourseModeFactory
 from django.conf import settings
 from django.test.utils import override_settings
-
-from course_modes.tests.factories import CourseModeFactory
-
-from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
-from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 from openedx.core.lib.partitions.partitions import (
-    Group, UserPartition, ENROLLMENT_TRACK_PARTITION_ID, MINIMUM_STATIC_PARTITION_ID
+    ENROLLMENT_TRACK_PARTITION_ID,
+    MINIMUM_STATIC_PARTITION_ID,
+    Group,
+    UserPartition
 )
+from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
+from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
 
 class AuthoringMixinTestCase(ModuleStoreTestCase):
diff --git a/common/lib/xmodule/xmodule/capa_base.py b/common/lib/xmodule/xmodule/capa_base.py
index fea7d858bcc..7032264ea54 100644
--- a/common/lib/xmodule/xmodule/capa_base.py
+++ b/common/lib/xmodule/xmodule/capa_base.py
@@ -11,26 +11,27 @@ import struct
 import sys
 import traceback
 
-from django.conf import settings
-# We don't want to force a dependency on datadog, so make the import conditional
-try:
-    import dogstats_wrapper as dog_stats_api
-except ImportError:
-    dog_stats_api = None
-from pytz import utc
-
 from capa.capa_problem import LoncapaProblem, LoncapaSystem
 from capa.inputtypes import Status
-from capa.responsetypes import StudentInputError, ResponseError, LoncapaProblemError
+from capa.responsetypes import LoncapaProblemError, ResponseError, StudentInputError
 from capa.util import convert_files_to_filenames, get_inner_html_from_xpath
+from django.conf import settings
+from openedx.core.djangolib.markup import HTML, Text
+from openedx.core.lib.xblock_fields.fields import Date, Timedelta
+from pytz import utc
 from xblock.fields import Boolean, Dict, Float, Integer, Scope, String, XMLString
 from xblock.scorable import ScorableXBlockMixin, Score
-from xmodule.capa_base_constants import RANDOMIZATION, SHOWANSWER, SHOW_CORRECTNESS
+from xmodule.capa_base_constants import RANDOMIZATION, SHOW_CORRECTNESS, SHOWANSWER
 from xmodule.exceptions import NotFoundError
+
 from .progress import Progress
 
-from openedx.core.lib.xblock_fields.fields import Date, Timedelta
-from openedx.core.djangolib.markup import HTML, Text
+# We don't want to force a dependency on datadog, so make the import conditional
+try:
+    import dogstats_wrapper as dog_stats_api
+except ImportError:
+    dog_stats_api = None
+
 
 log = logging.getLogger("edx.courseware")
 
diff --git a/common/lib/xmodule/xmodule/course_module.py b/common/lib/xmodule/xmodule/course_module.py
index 88159314317..8ee3776a7d1 100644
--- a/common/lib/xmodule/xmodule/course_module.py
+++ b/common/lib/xmodule/xmodule/course_module.py
@@ -9,17 +9,16 @@ from datetime import datetime
 import requests
 from lazy import lazy
 from lxml import etree
+from openedx.core.lib.xblock_fields.fields import Date
+from openedx.core.lib.xblock_fields.inherited_fields import DEFAULT_START_DATE
 from path import Path as path
 from pytz import utc
-from xblock.fields import Scope, List, String, Dict, Boolean, Integer, Float
-
+from xblock.fields import Boolean, Dict, Float, Integer, List, Scope, String
 from xmodule import course_metadata_utils
 from xmodule.graders import grader_from_conf
 from xmodule.mixin import LicenseMixin
 from xmodule.seq_module import SequenceDescriptor, SequenceModule
 from xmodule.tabs import CourseTabList, InvalidTabsException
-from openedx.core.lib.xblock_fields.fields import Date
-from openedx.core.lib.xblock_fields.inherited_fields import DEFAULT_START_DATE
 
 log = logging.getLogger(__name__)
 
diff --git a/common/lib/xmodule/xmodule/modulestore/inheritance.py b/common/lib/xmodule/xmodule/modulestore/inheritance.py
index 65321d222b5..351e87c771d 100644
--- a/common/lib/xmodule/xmodule/modulestore/inheritance.py
+++ b/common/lib/xmodule/xmodule/modulestore/inheritance.py
@@ -4,10 +4,9 @@ Support for inheritance of fields down an XBlock hierarchy.
 from __future__ import absolute_import
 
 from django.conf import settings
-
+from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
 from xblock.fields import Scope
 from xblock.runtime import KeyValueStore, KvsFieldData
-from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
 
 
 def compute_inherited_metadata(descriptor):
diff --git a/common/lib/xmodule/xmodule/modulestore/mongo/base.py b/common/lib/xmodule/xmodule/modulestore/mongo/base.py
index efc0e270773..714d7d09986 100644
--- a/common/lib/xmodule/xmodule/modulestore/mongo/base.py
+++ b/common/lib/xmodule/xmodule/modulestore/mongo/base.py
@@ -13,47 +13,45 @@ structure:
 """
 
 import copy
-from datetime import datetime
-from importlib import import_module
 import logging
-import pymongo
 import re
 import sys
+from datetime import datetime
+from importlib import import_module
 from uuid import uuid4
 
+import pymongo
 from bson.son import SON
 from contracts import contract, new_contract
 from fs.osfs import OSFS
 from mongodb_proxy import autoretry_read
-from opaque_keys.edx.keys import UsageKey, CourseKey, AssetKey
-from opaque_keys.edx.locations import Location, BlockUsageLocator, SlashSeparatedCourseKey
+from opaque_keys.edx.keys import AssetKey, CourseKey, UsageKey
+from opaque_keys.edx.locations import BlockUsageLocator, Location, SlashSeparatedCourseKey
 from opaque_keys.edx.locator import CourseLocator, LibraryLocator
+from openedx.core.lib.partitions.partitions_service import PartitionService
+from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
 from path import Path as path
 from pytz import UTC
 from xblock.core import XBlock
 from xblock.exceptions import InvalidScopeError
-from xblock.fields import Scope, ScopeIds, Reference, ReferenceList, ReferenceValueDict
+from xblock.fields import Reference, ReferenceList, ReferenceValueDict, Scope, ScopeIds
 from xblock.runtime import KvsFieldData
-
-from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
-from openedx.core.lib.partitions.partitions_service import PartitionService
 from xmodule.assetstore import AssetMetadata, CourseAssetsFromStorage
 from xmodule.course_module import CourseSummary
 from xmodule.error_module import ErrorDescriptor
-from xmodule.errortracker import null_error_tracker, exc_info_to_str
+from xmodule.errortracker import exc_info_to_str, null_error_tracker
 from xmodule.exceptions import HeartbeatFailure
 from xmodule.mako_module import MakoDescriptorSystem
-from xmodule.mongo_utils import connect_to_mongodb, create_collection_index
-from xmodule.modulestore import ModuleStoreWriteBase, ModuleStoreEnum, BulkOperationsMixin, BulkOpsRecord
-from xmodule.modulestore.draft_and_published import ModuleStoreDraftAndPublished, DIRECT_ONLY_CATEGORIES
+from xmodule.modulestore import BulkOperationsMixin, BulkOpsRecord, ModuleStoreEnum, ModuleStoreWriteBase
+from xmodule.modulestore.draft_and_published import DIRECT_ONLY_CATEGORIES, ModuleStoreDraftAndPublished
 from xmodule.modulestore.edit_info import EditInfoRuntimeMixin
-from xmodule.modulestore.exceptions import ItemNotFoundError, DuplicateCourseError, ReferentialIntegrityError
-from xmodule.modulestore.inheritance import inherit_metadata, InheritanceKeyValueStore
-from xmodule.modulestore.xml import CourseLocationManager
+from xmodule.modulestore.exceptions import DuplicateCourseError, ItemNotFoundError, ReferentialIntegrityError
+from xmodule.modulestore.inheritance import InheritanceKeyValueStore, inherit_metadata
 from xmodule.modulestore.store_utilities import DETACHED_XBLOCK_TYPES
+from xmodule.modulestore.xml import CourseLocationManager
+from xmodule.mongo_utils import connect_to_mongodb, create_collection_index
 from xmodule.services import SettingsService
 
-
 log = logging.getLogger(__name__)
 
 new_contract('CourseKey', CourseKey)
diff --git a/common/lib/xmodule/xmodule/modulestore/split_mongo/caching_descriptor_system.py b/common/lib/xmodule/xmodule/modulestore/split_mongo/caching_descriptor_system.py
index 02afd65c24a..938b02d655a 100644
--- a/common/lib/xmodule/xmodule/modulestore/split_mongo/caching_descriptor_system.py
+++ b/common/lib/xmodule/xmodule/modulestore/split_mongo/caching_descriptor_system.py
@@ -1,26 +1,25 @@
-import sys
 import logging
+import sys
 
 from contracts import contract, new_contract
 from fs.osfs import OSFS
 from lazy import lazy
-from xblock.runtime import KvsFieldData, KeyValueStore
-from xblock.fields import ScopeIds
-from xblock.core import XBlock
-from opaque_keys.edx.locator import BlockUsageLocator, LocalId, CourseLocator, LibraryLocator, DefinitionLocator
-
+from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator, DefinitionLocator, LibraryLocator, LocalId
 from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
-from xmodule.library_tools import LibraryToolsService
-from xmodule.mako_module import MakoDescriptorSystem
+from xblock.core import XBlock
+from xblock.fields import ScopeIds
+from xblock.runtime import KeyValueStore, KvsFieldData
 from xmodule.error_module import ErrorDescriptor
 from xmodule.errortracker import exc_info_to_str
+from xmodule.library_tools import LibraryToolsService
+from xmodule.mako_module import MakoDescriptorSystem
 from xmodule.modulestore import BlockData
 from xmodule.modulestore.edit_info import EditInfoRuntimeMixin
 from xmodule.modulestore.exceptions import ItemNotFoundError
 from xmodule.modulestore.inheritance import inheriting_field_data
 from xmodule.modulestore.split_mongo import BlockKey, CourseEnvelope
-from xmodule.modulestore.split_mongo.id_manager import SplitMongoIdManager
 from xmodule.modulestore.split_mongo.definition_lazy_loader import DefinitionLazyLoader
+from xmodule.modulestore.split_mongo.id_manager import SplitMongoIdManager
 from xmodule.modulestore.split_mongo.split_mongo_kvs import SplitMongoKVS
 from xmodule.x_module import XModuleMixin
 
diff --git a/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py b/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py
index 53c64984fd2..65931b7b2ac 100644
--- a/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py
+++ b/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py
@@ -57,42 +57,56 @@ import copy
 import datetime
 import hashlib
 import logging
+from collections import defaultdict
+from importlib import import_module
+from types import NoneType
+
 import six
+
+from bson.objectid import ObjectId
+from ccx_keys.locator import CCXBlockUsageLocator, CCXLocator
 from contracts import contract, new_contract
-from importlib import import_module
 from mongodb_proxy import autoretry_read
+from opaque_keys.edx.keys import CourseKey
+from opaque_keys.edx.locator import (
+    BlockUsageLocator,
+    CourseLocator,
+    DefinitionLocator,
+    LibraryLocator,
+    LocalId,
+    VersionTree
+)
+from openedx.core.lib.partitions.partitions_service import PartitionService
+from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
 from path import Path as path
 from pytz import UTC
-from bson.objectid import ObjectId
-
 from xblock.core import XBlock
-from xblock.fields import Scope, Reference, ReferenceList, ReferenceValueDict
+from xblock.fields import Reference, ReferenceList, ReferenceValueDict, Scope
+from xmodule.assetstore import AssetMetadata
 from xmodule.course_module import CourseSummary
+from xmodule.error_module import ErrorDescriptor
 from xmodule.errortracker import null_error_tracker
-from opaque_keys.edx.keys import CourseKey
-from opaque_keys.edx.locator import (
-    BlockUsageLocator, DefinitionLocator, CourseLocator, LibraryLocator, VersionTree, LocalId,
-)
-from ccx_keys.locator import CCXLocator, CCXBlockUsageLocator
-from xmodule.modulestore.exceptions import InsufficientSpecificationError, VersionConflictError, DuplicateItemError, \
-    DuplicateCourseError, MultipleCourseBlocksFound
 from xmodule.modulestore import (
-    ModuleStoreWriteBase, ModuleStoreEnum,
-    BulkOpsRecord, BulkOperationsMixin, SortedAssetList, BlockData
+    BlockData,
+    BulkOperationsMixin,
+    BulkOpsRecord,
+    ModuleStoreEnum,
+    ModuleStoreWriteBase,
+    SortedAssetList
+)
+from xmodule.modulestore.exceptions import (
+    DuplicateCourseError,
+    DuplicateItemError,
+    InsufficientSpecificationError,
+    MultipleCourseBlocksFound,
+    VersionConflictError
 )
-from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
-from openedx.core.lib.partitions.partitions_service import PartitionService
-
-from ..exceptions import ItemNotFoundError
-from .caching_descriptor_system import CachingDescriptorSystem
-from xmodule.modulestore.split_mongo.mongo_connection import MongoConnection, DuplicateKeyError
 from xmodule.modulestore.split_mongo import BlockKey, CourseEnvelope
+from xmodule.modulestore.split_mongo.mongo_connection import DuplicateKeyError, MongoConnection
 from xmodule.modulestore.store_utilities import DETACHED_XBLOCK_TYPES
-from xmodule.error_module import ErrorDescriptor
-from collections import defaultdict
-from types import NoneType
-from xmodule.assetstore import AssetMetadata
 
+from ..exceptions import ItemNotFoundError
+from .caching_descriptor_system import CachingDescriptorSystem
 
 log = logging.getLogger(__name__)
 
diff --git a/common/lib/xmodule/xmodule/modulestore/tests/test_cross_modulestore_import_export.py b/common/lib/xmodule/xmodule/modulestore/tests/test_cross_modulestore_import_export.py
index a8ca08ef29f..ef40c9d7e6f 100644
--- a/common/lib/xmodule/xmodule/modulestore/tests/test_cross_modulestore_import_export.py
+++ b/common/lib/xmodule/xmodule/modulestore/tests/test_cross_modulestore_import_export.py
@@ -14,23 +14,25 @@ and then for each combination of modulestores, performing the sequence:
 
 import itertools
 import os
-from path import Path as path
 from shutil import rmtree
 from tempfile import mkdtemp
 
 import ddt
-from nose.plugins.attrib import attr
 from mock import patch
-
+from nose.plugins.attrib import attr
 from openedx.core.lib.partitions.tests.test_partitions import PartitionTestCase
-from xmodule.tests import CourseComparisonTest
-from xmodule.modulestore.xml_importer import import_course_from_xml
-from xmodule.modulestore.xml_exporter import export_course_to_xml
-from xmodule.modulestore.tests.utils import mock_tab_from_json
+from path import Path as path
 from xmodule.modulestore.tests.utils import (
-    MongoContentstoreBuilder, MODULESTORE_SETUPS, SPLIT_MODULESTORE_SETUP,
-    CONTENTSTORE_SETUPS, TEST_DATA_DIR
+    CONTENTSTORE_SETUPS,
+    MODULESTORE_SETUPS,
+    SPLIT_MODULESTORE_SETUP,
+    TEST_DATA_DIR,
+    MongoContentstoreBuilder,
+    mock_tab_from_json
 )
+from xmodule.modulestore.xml_exporter import export_course_to_xml
+from xmodule.modulestore.xml_importer import import_course_from_xml
+from xmodule.tests import CourseComparisonTest
 
 COURSE_DATA_NAMES = (
     'toy',
diff --git a/common/lib/xmodule/xmodule/modulestore/tests/test_mixed_modulestore.py b/common/lib/xmodule/xmodule/modulestore/tests/test_mixed_modulestore.py
index 0b916d85c4c..0645e6afb65 100644
--- a/common/lib/xmodule/xmodule/modulestore/tests/test_mixed_modulestore.py
+++ b/common/lib/xmodule/xmodule/modulestore/tests/test_mixed_modulestore.py
@@ -1,59 +1,66 @@
 """
 Unit tests for the Mixed Modulestore, with DDT for the various stores (Split, Draft, XML)
 """
-from collections import namedtuple
 import datetime
-import logging
-import ddt
 import itertools
+import logging
 import mimetypes
-from uuid import uuid4
+from collections import namedtuple
 from contextlib import contextmanager
-from mock import patch, Mock, call
+from shutil import rmtree
+from tempfile import mkdtemp
+from uuid import uuid4
 
+import ddt
+import pymongo
 # Mixed modulestore depends on django, so we'll manually configure some django settings
 # before importing the module
 # TODO remove this import and the configuration -- xmodule should not depend on django!
 from django.conf import settings
+from mock import Mock, call, patch
+from nose import SkipTest
 # This import breaks this test file when run separately. Needs to be fixed! (PLAT-449)
 from nose.plugins.attrib import attr
-from nose import SkipTest
-import pymongo
-from pytz import UTC
-from shutil import rmtree
-from tempfile import mkdtemp
-
+from opaque_keys.edx.locations import SlashSeparatedCourseKey
+from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator, LibraryLocator
 from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
-from xmodule.x_module import XModuleMixin
-from xmodule.modulestore.edit_info import EditInfoMixin
-from xmodule.modulestore.tests.utils import MongoContentstoreBuilder
-from xmodule.contentstore.content import StaticContent
-from xmodule.modulestore.xml_importer import import_course_from_xml
-from xmodule.modulestore.xml_exporter import export_course_to_xml
-from xmodule.modulestore.tests.test_asides import AsideTestType
+from pytz import UTC
 from xblock.core import XBlockAside
-from xblock.fields import Scope, String, ScopeIds
+from xblock.fields import Scope, ScopeIds, String
 from xblock.fragment import Fragment
 from xblock.runtime import DictKeyValueStore, KvsFieldData
 from xblock.test.tools import TestRuntime
-
-if not settings.configured:
-    settings.configure()
-
-from opaque_keys.edx.locations import SlashSeparatedCourseKey
-from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator, LibraryLocator
+from xmodule.contentstore.content import StaticContent
 from xmodule.exceptions import InvalidVersionError
 from xmodule.modulestore import ModuleStoreEnum
-from xmodule.modulestore.draft_and_published import UnsupportedRevisionError, DIRECT_ONLY_CATEGORIES
-from xmodule.modulestore.exceptions import ItemNotFoundError, DuplicateCourseError, ReferentialIntegrityError, NoPathToItem
+from xmodule.modulestore.draft_and_published import DIRECT_ONLY_CATEGORIES, UnsupportedRevisionError
+from xmodule.modulestore.edit_info import EditInfoMixin
+from xmodule.modulestore.exceptions import (
+    DuplicateCourseError,
+    ItemNotFoundError,
+    NoPathToItem,
+    ReferentialIntegrityError
+)
 from xmodule.modulestore.mixed import MixedModuleStore
-from xmodule.modulestore.search import path_to_location, navigation_index
+from xmodule.modulestore.search import navigation_index, path_to_location
 from xmodule.modulestore.store_utilities import DETACHED_XBLOCK_TYPES
-from xmodule.modulestore.tests.factories import check_mongo_calls, check_exact_number_of_calls, \
-    mongo_uses_error_check
-from xmodule.modulestore.tests.utils import create_modulestore_instance, LocationMixin, mock_tab_from_json
-from xmodule.modulestore.tests.mongo_connection import MONGO_PORT_NUM, MONGO_HOST
+from xmodule.modulestore.tests.factories import check_exact_number_of_calls, check_mongo_calls, mongo_uses_error_check
+from xmodule.modulestore.tests.mongo_connection import MONGO_HOST, MONGO_PORT_NUM
+from xmodule.modulestore.tests.test_asides import AsideTestType
+from xmodule.modulestore.tests.utils import (
+    LocationMixin,
+    MongoContentstoreBuilder,
+    create_modulestore_instance,
+    mock_tab_from_json
+)
+from xmodule.modulestore.xml_exporter import export_course_to_xml
+from xmodule.modulestore.xml_importer import import_course_from_xml
 from xmodule.tests import DATA_DIR, CourseComparisonTest
+from xmodule.x_module import XModuleMixin
+
+if not settings.configured:
+    settings.configure()
+
 
 log = logging.getLogger(__name__)
 
diff --git a/common/lib/xmodule/xmodule/modulestore/tests/test_mongo.py b/common/lib/xmodule/xmodule/modulestore/tests/test_mongo.py
index ee7bad069ca..ec17c0d63a3 100644
--- a/common/lib/xmodule/xmodule/modulestore/tests/test_mongo.py
+++ b/common/lib/xmodule/xmodule/modulestore/tests/test_mongo.py
@@ -1,53 +1,54 @@
 """
 Unit tests for the Mongo modulestore
 """
-# pylint: disable=protected-access
+
+import logging
+import shutil
+import unittest
+from datetime import datetime
+from tempfile import mkdtemp
+from uuid import uuid4
+
+import pymongo
+from git.test.lib.asserts import assert_not_none
+from mock import patch
 # pylint: disable=no-name-in-module
 # pylint: disable=bad-continuation
 from nose.tools import (
-    assert_equals, assert_raises, assert_in,
-    assert_not_equals, assert_false, assert_true, assert_greater, assert_is_instance, assert_is_none
+    assert_equals,
+    assert_false,
+    assert_greater,
+    assert_in,
+    assert_is_instance,
+    assert_is_none,
+    assert_not_equals,
+    assert_raises,
+    assert_true
 )
-# pylint: enable=E0611
+from opaque_keys.edx.keys import CourseKey, UsageKey
+from opaque_keys.edx.locations import AssetLocation, Location, SlashSeparatedCourseKey
+from opaque_keys.edx.locator import CourseLocator, LibraryLocator
+from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
 from path import Path as path
-import pymongo
-import logging
-import shutil
-from tempfile import mkdtemp
-from uuid import uuid4
-from datetime import datetime
 from pytz import UTC
-import unittest
-from mock import patch
-from git.test.lib.asserts import assert_not_none
-
 from xblock.core import XBlock
-from xblock.fields import Scope, Reference, ReferenceList, ReferenceValueDict
-from xblock.runtime import KeyValueStore
 from xblock.exceptions import InvalidScopeError
-
-from opaque_keys.edx.keys import CourseKey
-from opaque_keys.edx.locations import Location
-from opaque_keys.edx.locations import SlashSeparatedCourseKey, AssetLocation
-from opaque_keys.edx.locator import LibraryLocator, CourseLocator
-from opaque_keys.edx.keys import UsageKey
-
-from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
-from xmodule.exceptions import NotFoundError
-from xmodule.tests import DATA_DIR
-from xmodule.x_module import XModuleMixin
+from xblock.fields import Reference, ReferenceList, ReferenceValueDict, Scope
+from xblock.runtime import KeyValueStore
 from xmodule.contentstore.mongo import MongoContentStore
+from xmodule.exceptions import NotFoundError
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.draft import DraftModuleStore
 from xmodule.modulestore.edit_info import EditInfoMixin
 from xmodule.modulestore.exceptions import ItemNotFoundError
 from xmodule.modulestore.mongo import MongoKeyValueStore
 from xmodule.modulestore.mongo.base import as_draft
-from xmodule.modulestore.tests.mongo_connection import MONGO_PORT_NUM, MONGO_HOST
+from xmodule.modulestore.tests.mongo_connection import MONGO_HOST, MONGO_PORT_NUM
 from xmodule.modulestore.tests.utils import LocationMixin, mock_tab_from_json
 from xmodule.modulestore.xml_exporter import export_course_to_xml
 from xmodule.modulestore.xml_importer import import_course_from_xml, perform_xlint
-
+from xmodule.tests import DATA_DIR
+from xmodule.x_module import XModuleMixin
 
 log = logging.getLogger(__name__)
 
diff --git a/common/lib/xmodule/xmodule/modulestore/tests/test_split_modulestore.py b/common/lib/xmodule/xmodule/modulestore/tests/test_split_modulestore.py
index bdaf3aa5ecf..29025c440cb 100644
--- a/common/lib/xmodule/xmodule/modulestore/tests/test_split_modulestore.py
+++ b/common/lib/xmodule/xmodule/modulestore/tests/test_split_modulestore.py
@@ -1,42 +1,42 @@
 """
     Test split modulestore w/o using any django stuff.
 """
-from mock import patch
 import datetime
-from importlib import import_module
-from path import Path as path
 import random
 import re
 import unittest
 import uuid
+from importlib import import_module
 
 import ddt
+from ccx_keys.locator import CCXBlockUsageLocator
 from contracts import contract
+from django.core.cache import InvalidCacheBackendError, caches
+from mock import patch
 from nose.plugins.attrib import attr
-from django.core.cache import caches, InvalidCacheBackendError
-
-from opaque_keys.edx.locator import CourseKey, CourseLocator, BlockUsageLocator, VersionTree, LocalId
-from ccx_keys.locator import CCXBlockUsageLocator
-from xblock.fields import Reference, ReferenceList, ReferenceValueDict
+from opaque_keys.edx.locator import BlockUsageLocator, CourseKey, CourseLocator, LocalId, VersionTree
 from openedx.core.lib import tempdir
 from openedx.core.lib.xblock_fields.fields import Date, Timedelta
 from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
+from path import Path as path
+from xblock.fields import Reference, ReferenceList, ReferenceValueDict
 from xmodule.course_module import CourseDescriptor
-from xmodule.x_module import XModuleMixin
 from xmodule.modulestore import ModuleStoreEnum
+from xmodule.modulestore.edit_info import EditInfoMixin
 from xmodule.modulestore.exceptions import (
-    ItemNotFoundError, VersionConflictError,
-    DuplicateItemError, DuplicateCourseError,
-    InsufficientSpecificationError
+    DuplicateCourseError,
+    DuplicateItemError,
+    InsufficientSpecificationError,
+    ItemNotFoundError,
+    VersionConflictError
 )
-from xmodule.modulestore.edit_info import EditInfoMixin
 from xmodule.modulestore.split_mongo import BlockKey
 from xmodule.modulestore.split_mongo.split import SplitMongoModuleStore
 from xmodule.modulestore.tests.factories import check_mongo_calls
-from xmodule.modulestore.tests.mongo_connection import MONGO_PORT_NUM, MONGO_HOST
+from xmodule.modulestore.tests.mongo_connection import MONGO_HOST, MONGO_PORT_NUM
 from xmodule.modulestore.tests.test_modulestore import check_has_course_method
 from xmodule.modulestore.tests.utils import mock_tab_from_json
-
+from xmodule.x_module import XModuleMixin
 
 BRANCH_NAME_DRAFT = ModuleStoreEnum.BranchName.draft
 BRANCH_NAME_PUBLISHED = ModuleStoreEnum.BranchName.published
diff --git a/common/lib/xmodule/xmodule/modulestore/tests/test_split_w_old_mongo.py b/common/lib/xmodule/xmodule/modulestore/tests/test_split_w_old_mongo.py
index 72816c81ee4..b45ea6d2da4 100644
--- a/common/lib/xmodule/xmodule/modulestore/tests/test_split_w_old_mongo.py
+++ b/common/lib/xmodule/xmodule/modulestore/tests/test_split_w_old_mongo.py
@@ -3,15 +3,14 @@ import random
 import unittest
 import uuid
 
-from nose.plugins.attrib import attr
 import mock
-
-from opaque_keys.edx.locator import CourseLocator, BlockUsageLocator
+from nose.plugins.attrib import attr
+from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator
 from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.mongo import DraftMongoModuleStore
 from xmodule.modulestore.split_mongo.split import SplitMongoModuleStore
-from xmodule.modulestore.tests.mongo_connection import MONGO_PORT_NUM, MONGO_HOST
+from xmodule.modulestore.tests.mongo_connection import MONGO_HOST, MONGO_PORT_NUM
 from xmodule.modulestore.tests.utils import MemoryCache
 from xmodule.x_module import XModuleMixin
 
diff --git a/common/lib/xmodule/xmodule/modulestore/tests/test_xml_importer.py b/common/lib/xmodule/xmodule/modulestore/tests/test_xml_importer.py
index f056f2f9f62..93577346c0a 100644
--- a/common/lib/xmodule/xmodule/modulestore/tests/test_xml_importer.py
+++ b/common/lib/xmodule/xmodule/modulestore/tests/test_xml_importer.py
@@ -1,20 +1,19 @@
 """
 Tests for XML importer.
 """
-from uuid import uuid4
-import unittest
 import importlib
-import mock
+import unittest
+from uuid import uuid4
 
-from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator
+import mock
 from opaque_keys.edx.locations import Location, SlashSeparatedCourseKey
-from xblock.fields import String, Scope, ScopeIds, List
-from xblock.runtime import Runtime, KvsFieldData, DictKeyValueStore
-
+from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator
 from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
+from xblock.fields import List, Scope, ScopeIds, String
+from xblock.runtime import DictKeyValueStore, KvsFieldData, Runtime
 from xmodule.modulestore import ModuleStoreEnum
+from xmodule.modulestore.tests.mongo_connection import MONGO_HOST, MONGO_PORT_NUM
 from xmodule.modulestore.xml_importer import _update_and_import_module, _update_module_location
-from xmodule.modulestore.tests.mongo_connection import MONGO_PORT_NUM, MONGO_HOST
 from xmodule.tests import DATA_DIR
 from xmodule.x_module import XModuleMixin
 
diff --git a/common/lib/xmodule/xmodule/modulestore/tests/utils.py b/common/lib/xmodule/xmodule/modulestore/tests/utils.py
index 913afd9d669..4c9f577e6b0 100644
--- a/common/lib/xmodule/xmodule/modulestore/tests/utils.py
+++ b/common/lib/xmodule/xmodule/modulestore/tests/utils.py
@@ -2,17 +2,16 @@
 Helper classes and methods for running modulestore tests without Django.
 """
 import random
-
 from contextlib import contextmanager, nested
 from importlib import import_module
-from opaque_keys.edx.keys import UsageKey
-from path import Path as path
 from shutil import rmtree
 from tempfile import mkdtemp
 from unittest import TestCase
 
-from xblock.fields import XBlockMixin
+from opaque_keys.edx.keys import UsageKey
 from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
+from path import Path as path
+from xblock.fields import XBlockMixin
 from xmodule.contentstore.mongo import MongoContentStore
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.draft_and_published import ModuleStoreDraftAndPublished
@@ -22,7 +21,7 @@ from xmodule.modulestore.mongo.base import ModuleStoreEnum
 from xmodule.modulestore.mongo.draft import DraftModuleStore
 from xmodule.modulestore.split_mongo.split_draft import DraftVersioningModuleStore
 from xmodule.modulestore.tests.factories import ItemFactory
-from xmodule.modulestore.tests.mongo_connection import MONGO_PORT_NUM, MONGO_HOST
+from xmodule.modulestore.tests.mongo_connection import MONGO_HOST, MONGO_PORT_NUM
 from xmodule.modulestore.xml import XMLModuleStore
 from xmodule.tests import DATA_DIR
 from xmodule.x_module import XModuleMixin
diff --git a/common/lib/xmodule/xmodule/seq_module.py b/common/lib/xmodule/xmodule/seq_module.py
index c79dc7c1238..75e232ffd8e 100644
--- a/common/lib/xmodule/xmodule/seq_module.py
+++ b/common/lib/xmodule/xmodule/seq_module.py
@@ -4,22 +4,23 @@ xModule implementation of a learning sequence
 
 # pylint: disable=abstract-method
 import collections
-from datetime import datetime
-from django.utils.timezone import UTC
 import json
 import logging
+from datetime import datetime
+
 from pkg_resources import resource_string
-from lxml import etree
 
+from django.utils.timezone import UTC
+from lxml import etree
+from openedx.core.lib.xblock_fields.fields import Date
 from xblock.core import XBlock
-from xblock.fields import Integer, Scope, Boolean, String
+from xblock.fields import Boolean, Integer, Scope, String
 from xblock.fragment import Fragment
 
-from openedx.core.lib.xblock_fields.fields import Date
 from .exceptions import NotFoundError
 from .mako_module import MakoModuleDescriptor
 from .progress import Progress
-from .x_module import XModule, STUDENT_VIEW
+from .x_module import STUDENT_VIEW, XModule
 from .xml_module import XmlDescriptor
 
 log = logging.getLogger(__name__)
diff --git a/common/lib/xmodule/xmodule/split_test_module.py b/common/lib/xmodule/xmodule/split_test_module.py
index 5ea218264d8..e9cb2a25f6e 100644
--- a/common/lib/xmodule/xmodule/split_test_module.py
+++ b/common/lib/xmodule/xmodule/split_test_module.py
@@ -2,24 +2,22 @@
 Module for running content split tests
 """
 
-import logging
 import json
-from webob import Response
-from uuid import uuid4
+import logging
 from operator import itemgetter
-from lxml import etree
+from uuid import uuid4
 
+from lxml import etree
+from openedx.core.lib.xblock_fields.inherited_fields import UserPartitionList
+from webob import Response
 from xblock.core import XBlock
-from xblock.fields import Scope, Integer, String, ReferenceValueDict
+from xblock.fields import Integer, ReferenceValueDict, Scope, String
 from xblock.fragment import Fragment
-
-from openedx.core.lib.xblock_fields.inherited_fields import UserPartitionList
 from xmodule.progress import Progress
 from xmodule.seq_module import SequenceDescriptor
-from xmodule.studio_editable import StudioEditableModule, StudioEditableDescriptor
+from xmodule.studio_editable import StudioEditableDescriptor, StudioEditableModule
 from xmodule.validation import StudioValidation, StudioValidationMessage
-from xmodule.x_module import XModule, module_attr, STUDENT_VIEW
-
+from xmodule.x_module import STUDENT_VIEW, XModule, module_attr
 
 log = logging.getLogger('edx.' + __name__)
 
diff --git a/common/lib/xmodule/xmodule/tests/test_fields.py b/common/lib/xmodule/xmodule/tests/test_fields.py
index 7d1de0bce2d..5cd03c32f2d 100644
--- a/common/lib/xmodule/xmodule/tests/test_fields.py
+++ b/common/lib/xmodule/xmodule/tests/test_fields.py
@@ -4,8 +4,7 @@ import datetime
 import unittest
 
 from django.utils.timezone import UTC
-
-from openedx.core.lib.xblock_fields.fields import Date, Timedelta, RelativeTime, TimeInfo
+from openedx.core.lib.xblock_fields.fields import Date, RelativeTime, Timedelta, TimeInfo
 
 
 class DateTest(unittest.TestCase):
diff --git a/common/lib/xmodule/xmodule/tests/test_import.py b/common/lib/xmodule/xmodule/tests/test_import.py
index e17f1459af4..b2e373b3dc6 100644
--- a/common/lib/xmodule/xmodule/tests/test_import.py
+++ b/common/lib/xmodule/xmodule/tests/test_import.py
@@ -1,31 +1,26 @@
 # -*- coding: utf-8 -*-
 
 import datetime
-import ddt
 import unittest
 
+import ddt
+from django.utils.timezone import UTC
 from fs.memoryfs import MemoryFS
 from lxml import etree
 from mock import Mock, patch
-
-from django.utils.timezone import UTC
-
-from xblock.core import XBlock
-from xblock.fields import Scope, String, Integer
-from xblock.runtime import KvsFieldData, DictKeyValueStore
-
-from opaque_keys.edx.locations import Location
-from opaque_keys.edx.locations import SlashSeparatedCourseKey
+from opaque_keys.edx.locations import Location, SlashSeparatedCourseKey
 from openedx.core.lib.xblock_fields.fields import Date
 from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
+from xblock.core import XBlock
+from xblock.fields import Integer, Scope, String
+from xblock.runtime import DictKeyValueStore, KvsFieldData
 from xmodule.modulestore import only_xmodules
-from xmodule.modulestore.xml import ImportSystem, XMLModuleStore, LibraryXMLModuleStore
 from xmodule.modulestore.inheritance import compute_inherited_metadata
+from xmodule.modulestore.xml import ImportSystem, LibraryXMLModuleStore, XMLModuleStore
 from xmodule.tests import DATA_DIR
 from xmodule.x_module import XModuleMixin
 from xmodule.xml_module import is_pointer_tag
 
-
 ORG = 'test_org'
 COURSE = 'test_course'
 
diff --git a/common/lib/xmodule/xmodule/tests/test_lti_unit.py b/common/lib/xmodule/xmodule/tests/test_lti_unit.py
index 65114d4a989..a3d05050c49 100644
--- a/common/lib/xmodule/xmodule/tests/test_lti_unit.py
+++ b/common/lib/xmodule/xmodule/tests/test_lti_unit.py
@@ -2,17 +2,17 @@
 """Test for LTI Xmodule functional logic."""
 
 import datetime
-from django.utils.timezone import UTC
-from mock import Mock, patch, PropertyMock
 import textwrap
-from lxml import etree
-from webob.request import Request
-from copy import copy
 import urllib
+from copy import copy
 
+from django.utils.timezone import UTC
+from lxml import etree
+from mock import Mock, PropertyMock, patch
 from openedx.core.lib.xblock_fields.fields import Timedelta
-from xmodule.lti_module import LTIDescriptor
+from webob.request import Request
 from xmodule.lti_2_util import LTIError
+from xmodule.lti_module import LTIDescriptor
 
 from . import LogicTest
 
diff --git a/common/lib/xmodule/xmodule/tests/test_split_test_module.py b/common/lib/xmodule/xmodule/tests/test_split_test_module.py
index bfe6262b88d..043edc1078a 100644
--- a/common/lib/xmodule/xmodule/tests/test_split_test_module.py
+++ b/common/lib/xmodule/xmodule/tests/test_split_test_module.py
@@ -3,15 +3,18 @@ Tests for the Split Testing Module
 """
 import ddt
 import lxml
-from mock import Mock, patch
 from fs.memoryfs import MemoryFS
-
-from openedx.core.lib.partitions.tests.test_partitions import MockPartitionService, PartitionTestCase, MockUserPartitionScheme
-from openedx.core.lib.partitions.partitions import Group, UserPartition, MINIMUM_STATIC_PARTITION_ID
+from mock import Mock, patch
+from openedx.core.lib.partitions.partitions import MINIMUM_STATIC_PARTITION_ID, Group, UserPartition
+from openedx.core.lib.partitions.tests.test_partitions import (
+    MockPartitionService,
+    MockUserPartitionScheme,
+    PartitionTestCase
+)
 from xmodule.split_test_module import SplitTestDescriptor, SplitTestFields, get_split_user_partitions
+from xmodule.tests import get_test_system
 from xmodule.tests.xml import factories as xml
 from xmodule.tests.xml import XModuleXmlImportTest
-from xmodule.tests import get_test_system
 from xmodule.validation import StudioValidationMessage
 from xmodule.x_module import AUTHOR_VIEW, STUDENT_VIEW
 
diff --git a/common/lib/xmodule/xmodule/tests/test_xml_module.py b/common/lib/xmodule/xmodule/tests/test_xml_module.py
index 55081a26610..86dc651cf8f 100644
--- a/common/lib/xmodule/xmodule/tests/test_xml_module.py
+++ b/common/lib/xmodule/xmodule/tests/test_xml_module.py
@@ -4,25 +4,29 @@
 import unittest
 
 from mock import Mock
-from nose.tools import assert_equals, assert_not_equals, assert_true, assert_false, assert_in, assert_not_in  # pylint: disable=no-name-in-module
+from nose.tools import (  # pylint: disable=no-name-in-module
+    assert_equals,
+    assert_false,
+    assert_in,
+    assert_not_equals,
+    assert_not_in,
+    assert_true
+)
 from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator
-
-from xblock.field_data import DictFieldData
-from xblock.fields import Scope, String, Dict, Boolean, Integer, Float, Any, List
-from xblock.runtime import KvsFieldData, DictKeyValueStore
-
-from openedx.core.lib.xblock_fields.fields import Date, Timedelta, RelativeTime
+from openedx.core.lib.xblock_fields.fields import Date, RelativeTime, Timedelta
 from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
+from xblock.field_data import DictFieldData
+from xblock.fields import Any, Boolean, Dict, Float, Integer, List, Scope, String
+from xblock.runtime import DictKeyValueStore, KvsFieldData
+from xmodule.course_module import CourseDescriptor
 from xmodule.modulestore.inheritance import InheritanceKeyValueStore, InheritingFieldData
 from xmodule.modulestore.split_mongo.split_mongo_kvs import SplitMongoKVS
-from xmodule.course_module import CourseDescriptor
 from xmodule.seq_module import SequenceDescriptor
-from xmodule.x_module import XModuleMixin
-from xmodule.xml_module import XmlDescriptor, serialize_field, deserialize_field
-
 from xmodule.tests import get_test_descriptor_system
 from xmodule.tests.xml import XModuleXmlImportTest
-from xmodule.tests.xml.factories import CourseFactory, SequenceFactory, ProblemFactory
+from xmodule.tests.xml.factories import CourseFactory, ProblemFactory, SequenceFactory
+from xmodule.x_module import XModuleMixin
+from xmodule.xml_module import XmlDescriptor, deserialize_field, serialize_field
 
 
 class CrazyJsonString(String):
diff --git a/common/lib/xmodule/xmodule/tests/xml/factories.py b/common/lib/xmodule/xmodule/tests/xml/factories.py
index 20e798d46d1..a9067134727 100644
--- a/common/lib/xmodule/xmodule/tests/xml/factories.py
+++ b/common/lib/xmodule/xmodule/tests/xml/factories.py
@@ -4,14 +4,13 @@ Factories for generating edXML for testing XModule import
 
 import inspect
 
+from factory import Factory, Sequence, lazy_attribute, post_generation
 from fs.memoryfs import MemoryFS
-from factory import Factory, lazy_attribute, post_generation, Sequence
 from lxml import etree
-
-from xblock.mixins import HierarchyMixin
 from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
-from xmodule.x_module import XModuleMixin
+from xblock.mixins import HierarchyMixin
 from xmodule.modulestore import only_xmodules
+from xmodule.x_module import XModuleMixin
 
 
 class XmlImportData(object):
diff --git a/common/lib/xmodule/xmodule/video_module/video_handlers.py b/common/lib/xmodule/xmodule/video_module/video_handlers.py
index 737b761d9d2..a6809ec1c91 100644
--- a/common/lib/xmodule/xmodule/video_module/video_handlers.py
+++ b/common/lib/xmodule/xmodule/video_module/video_handlers.py
@@ -8,26 +8,24 @@ StudioViewHandlers are handlers for video descriptor instance.
 import json
 import logging
 from datetime import datetime
-from webob import Response
 
 from opaque_keys.edx.locator import CourseLocator
-from xblock.core import XBlock
-
 from openedx.core.lib.xblock_fields.fields import RelativeTime
+from webob import Response
+from xblock.core import XBlock
 from xmodule.exceptions import NotFoundError
 
 from .transcripts_utils import (
-    get_or_create_sjson,
+    Transcript,
     TranscriptException,
     TranscriptsGenerationException,
     generate_sjson_for_all_speeds,
-    youtube_speed_dict,
-    Transcript,
+    get_or_create_sjson,
     save_to_store,
-    subs_filename
+    subs_filename,
+    youtube_speed_dict
 )
 
-
 log = logging.getLogger(__name__)
 
 
diff --git a/common/lib/xmodule/xmodule/video_module/video_xfields.py b/common/lib/xmodule/xmodule/video_module/video_xfields.py
index a46cea38e34..bf358aaeb18 100644
--- a/common/lib/xmodule/xmodule/video_module/video_xfields.py
+++ b/common/lib/xmodule/xmodule/video_module/video_xfields.py
@@ -3,8 +3,8 @@ XFields for video module.
 """
 import datetime
 
-from xblock.fields import Scope, String, Float, Boolean, List, Dict, DateTime
 from openedx.core.lib.xblock_fields.fields import RelativeTime
+from xblock.fields import Boolean, DateTime, Dict, Float, List, Scope, String
 
 # Make '_' a no-op so we can scrape strings. Using lambda instead of
 #  `django.utils.translation.ugettext_noop` because Django cannot be imported in this file
diff --git a/common/lib/xmodule/xmodule/x_module.py b/common/lib/xmodule/xmodule/x_module.py
index a246fd49f68..f8dc7fdd9ac 100644
--- a/common/lib/xmodule/xmodule/x_module.py
+++ b/common/lib/xmodule/xmodule/x_module.py
@@ -2,41 +2,42 @@ import logging
 import os
 import sys
 import time
-import yaml
+from collections import namedtuple
+from functools import partial
 
+from pkg_resources import resource_exists, resource_isdir, resource_listdir, resource_string
+
+import dogstats_wrapper as dog_stats_api
+import yaml
 from contracts import contract, new_contract
-from functools import partial
+from lazy import lazy
 from lxml import etree
-from collections import namedtuple
-from pkg_resources import (
-    resource_exists,
-    resource_listdir,
-    resource_string,
-    resource_isdir,
-)
+from opaque_keys.edx.asides import AsideDefinitionKeyV2, AsideUsageKeyV2
+from opaque_keys.edx.keys import UsageKey
+from openedx.core.lib.xblock_fields.fields import RelativeTime
 from webob import Response
 from webob.multidict import MultiDict
-from lazy import lazy
-
 from xblock.core import XBlock, XBlockAside
 from xblock.fields import (
-    Scope, Integer, Float, List,
-    String, Dict, ScopeIds, Reference, ReferenceList,
-    ReferenceValueDict, UserScope
+    Dict,
+    Float,
+    Integer,
+    List,
+    Reference,
+    ReferenceList,
+    ReferenceValueDict,
+    Scope,
+    ScopeIds,
+    String,
+    UserScope
 )
-
 from xblock.fragment import Fragment
-from xblock.runtime import Runtime, IdReader, IdGenerator
-from opaque_keys.edx.keys import UsageKey
-from opaque_keys.edx.asides import AsideUsageKeyV2, AsideDefinitionKeyV2
-from openedx.core.lib.xblock_fields.fields import RelativeTime
+from xblock.runtime import IdGenerator, IdReader, Runtime
 from xmodule import block_metadata_utils
 from xmodule.errortracker import exc_info_to_str
 from xmodule.exceptions import UndefinedContext
 from xmodule.modulestore.exceptions import ItemNotFoundError
 
-import dogstats_wrapper as dog_stats_api
-
 log = logging.getLogger(__name__)
 
 XMODULE_METRIC_NAME = 'edxapp.xmodule'
diff --git a/common/test/acceptance/tests/discussion/test_cohort_management.py b/common/test/acceptance/tests/discussion/test_cohort_management.py
index 2df8d1a9071..0acb2d8c6b7 100644
--- a/common/test/acceptance/tests/discussion/test_cohort_management.py
+++ b/common/test/acceptance/tests/discussion/test_cohort_management.py
@@ -3,21 +3,21 @@
 End-to-end tests related to the cohort management on the LMS Instructor Dashboard
 """
 
-from datetime import datetime
 import os
-import unicodecsv
 import uuid
-from pytz import UTC, utc
-from bok_choy.promise import EmptyPromise
-from nose.plugins.attrib import attr
+from datetime import datetime
 
-from common.test.acceptance.tests.discussion.helpers import CohortTestMixin
-from common.test.acceptance.tests.helpers import UniqueCourseTest, EventsTestMixin, create_user_partition_json
+import unicodecsv
+from bok_choy.promise import EmptyPromise
 from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc
 from common.test.acceptance.pages.lms.auto_auth import AutoAuthPage
-from common.test.acceptance.pages.lms.instructor_dashboard import InstructorDashboardPage, DataDownloadPage
+from common.test.acceptance.pages.lms.instructor_dashboard import DataDownloadPage, InstructorDashboardPage
 from common.test.acceptance.pages.studio.settings_group_configurations import GroupConfigurationsPage
+from common.test.acceptance.tests.discussion.helpers import CohortTestMixin
+from common.test.acceptance.tests.helpers import EventsTestMixin, UniqueCourseTest, create_user_partition_json
+from nose.plugins.attrib import attr
 from openedx.core.lib.partitions.partitions import Group
+from pytz import UTC, utc
 
 
 @attr(shard=8)
diff --git a/common/test/acceptance/tests/helpers.py b/common/test/acceptance/tests/helpers.py
index bb8f193e135..d026814c185 100644
--- a/common/test/acceptance/tests/helpers.py
+++ b/common/test/acceptance/tests/helpers.py
@@ -2,40 +2,39 @@
 Test helper functions and base classes.
 """
 
+import functools
 import inspect
 import json
-import unittest
-import functools
 import operator
-import pprint
-import requests
 import os
+import pprint
+import unittest
 import urlparse
 from contextlib import contextmanager
 from datetime import datetime
-from path import Path as path
-from pymongo import MongoClient, ASCENDING
 from unittest import TestCase
 
+import requests
 from bok_choy.javascript import js_defined
-from bok_choy.web_app_test import WebAppTest
-from bok_choy.promise import EmptyPromise, Promise
 from bok_choy.page_object import XSS_INJECTION
+from bok_choy.promise import EmptyPromise, Promise
+from bok_choy.web_app_test import WebAppTest
 from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory
 from common.test.acceptance.fixtures.course import XBlockFixtureDesc
-from common.test.acceptance.pages.studio.auto_auth import AutoAuthPage
 from common.test.acceptance.pages.common import BASE_URL
+from common.test.acceptance.pages.studio.auto_auth import AutoAuthPage
 from opaque_keys.edx.locator import CourseLocator
-from openedx.core.lib.tests.assertions.events import assert_event_matches, is_matching_event, EventMatchTolerates
 from openedx.core.lib.partitions.partitions import UserPartition
-from openedx.core.release import doc_version, RELEASE_LINE
+from openedx.core.lib.tests.assertions.events import EventMatchTolerates, assert_event_matches, is_matching_event
+from openedx.core.release import RELEASE_LINE, doc_version
+from path import Path as path
+from pymongo import ASCENDING, MongoClient
 from selenium.common.exceptions import StaleElementReferenceException
 from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
 from selenium.webdriver.common.keys import Keys
+from selenium.webdriver.support import expected_conditions as EC
 from selenium.webdriver.support.select import Select
 from selenium.webdriver.support.ui import WebDriverWait
-from selenium.webdriver.support import expected_conditions as EC
-
 
 MAX_EVENTS_IN_FAILURE_OUTPUT = 20
 
diff --git a/common/test/acceptance/tests/lms/test_lms_split_test_courseware_search.py b/common/test/acceptance/tests/lms/test_lms_split_test_courseware_search.py
index ca04c75b91e..28c0403fc24 100644
--- a/common/test/acceptance/tests/lms/test_lms_split_test_courseware_search.py
+++ b/common/test/acceptance/tests/lms/test_lms_split_test_courseware_search.py
@@ -4,20 +4,15 @@ Test courseware search
 
 import json
 
-from common.test.acceptance.tests.helpers import remove_file
+from common.test.acceptance.fixtures.course import XBlockFixtureDesc
 from common.test.acceptance.pages.common.logout import LogoutPage
-from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage
 from common.test.acceptance.pages.lms.courseware_search import CoursewareSearchPage
-from common.test.acceptance.fixtures.course import XBlockFixtureDesc
-from common.test.acceptance.tests.helpers import create_user_partition_json
-
-from openedx.core.lib.partitions.partitions import Group
-
-from nose.plugins.attrib import attr
-
-from common.test.acceptance.tests.studio.base_studio_test import ContainerBase
-
 from common.test.acceptance.pages.studio.auto_auth import AutoAuthPage as StudioAutoAuthPage
+from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage
+from common.test.acceptance.tests.helpers import create_user_partition_json, remove_file
+from common.test.acceptance.tests.studio.base_studio_test import ContainerBase
+from nose.plugins.attrib import attr
+from openedx.core.lib.partitions.partitions import Group
 
 
 @attr(shard=1)
diff --git a/common/test/acceptance/tests/lms/test_lms_user_preview.py b/common/test/acceptance/tests/lms/test_lms_user_preview.py
index 91e8869e7e2..2a0e4979e21 100644
--- a/common/test/acceptance/tests/lms/test_lms_user_preview.py
+++ b/common/test/acceptance/tests/lms/test_lms_user_preview.py
@@ -4,17 +4,17 @@ Tests the "preview" selector in the LMS that allows changing between Staff, Lear
 """
 
 
-from bok_choy.promise import EmptyPromise
 from textwrap import dedent
-from nose.plugins.attrib import attr
 
-from common.test.acceptance.tests.helpers import UniqueCourseTest, create_user_partition_json
-from common.test.acceptance.pages.studio.auto_auth import AutoAuthPage
+from bok_choy.promise import EmptyPromise
+from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc
 from common.test.acceptance.pages.lms.courseware import CoursewarePage
 from common.test.acceptance.pages.lms.instructor_dashboard import InstructorDashboardPage
 from common.test.acceptance.pages.lms.staff_view import StaffCoursewarePage
-from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc
-from openedx.core.lib.partitions.partitions import Group, ENROLLMENT_TRACK_PARTITION_ID, MINIMUM_STATIC_PARTITION_ID
+from common.test.acceptance.pages.studio.auto_auth import AutoAuthPage
+from common.test.acceptance.tests.helpers import UniqueCourseTest, create_user_partition_json
+from nose.plugins.attrib import attr
+from openedx.core.lib.partitions.partitions import ENROLLMENT_TRACK_PARTITION_ID, MINIMUM_STATIC_PARTITION_ID, Group
 
 
 @attr(shard=10)
diff --git a/common/test/acceptance/tests/studio/test_studio_container.py b/common/test/acceptance/tests/studio/test_studio_container.py
index 1e672fdec53..4429c403a7d 100644
--- a/common/test/acceptance/tests/studio/test_studio_container.py
+++ b/common/test/acceptance/tests/studio/test_studio_container.py
@@ -4,26 +4,22 @@ The container page is used both for displaying units, and
 for displaying containers within units.
 """
 import datetime
-import ddt
-from nose.plugins.attrib import attr
 from unittest import skip
 
+import ddt
 from base_studio_test import ContainerBase
-
 from common.test.acceptance.fixtures.course import XBlockFixtureDesc
+from common.test.acceptance.pages.lms.courseware import CoursewarePage
 from common.test.acceptance.pages.lms.create_mode import ModeCreationPage
+from common.test.acceptance.pages.lms.staff_view import StaffCoursewarePage
 from common.test.acceptance.pages.studio.component_editor import ComponentEditorView, ComponentVisibilityEditorView
 from common.test.acceptance.pages.studio.container import ContainerPage
 from common.test.acceptance.pages.studio.html_component_editor import HtmlComponentEditorView
 from common.test.acceptance.pages.studio.move_xblock import MoveModalView
 from common.test.acceptance.pages.studio.utils import add_discussion, drag
-from common.test.acceptance.pages.lms.courseware import CoursewarePage
-from common.test.acceptance.pages.lms.staff_view import StaffCoursewarePage
 from common.test.acceptance.tests.helpers import create_user_partition_json
-
-from openedx.core.lib.partitions.partitions import (
-    Group, ENROLLMENT_TRACK_PARTITION_ID, MINIMUM_STATIC_PARTITION_ID
-)
+from nose.plugins.attrib import attr
+from openedx.core.lib.partitions.partitions import ENROLLMENT_TRACK_PARTITION_ID, MINIMUM_STATIC_PARTITION_ID, Group
 
 
 class NestedVerticalTest(ContainerBase):
diff --git a/common/test/acceptance/tests/studio/test_studio_settings.py b/common/test/acceptance/tests/studio/test_studio_settings.py
index 33769f2bdd7..f5347b24e44 100644
--- a/common/test/acceptance/tests/studio/test_studio_settings.py
+++ b/common/test/acceptance/tests/studio/test_studio_settings.py
@@ -3,23 +3,23 @@
 Acceptance tests for Studio's Setting pages
 """
 from __future__ import unicode_literals
-import os
 
-from mock import patch
-from nose.plugins.attrib import attr
+import os
 from textwrap import dedent
 
 from base_studio_test import StudioCourseTest
 from bok_choy.promise import EmptyPromise
 from common.test.acceptance.fixtures.course import XBlockFixtureDesc
-from common.test.acceptance.tests.helpers import create_user_partition_json, element_has_text
+from common.test.acceptance.pages.common.utils import add_enrollment_course_modes
+from common.test.acceptance.pages.lms.courseware import CoursewarePage
 from common.test.acceptance.pages.studio.overview import CourseOutlinePage
 from common.test.acceptance.pages.studio.settings import SettingsPage
 from common.test.acceptance.pages.studio.settings_advanced import AdvancedSettingsPage
 from common.test.acceptance.pages.studio.settings_group_configurations import GroupConfigurationsPage
-from common.test.acceptance.pages.lms.courseware import CoursewarePage
 from common.test.acceptance.pages.studio.utils import get_input_value
-from common.test.acceptance.pages.common.utils import add_enrollment_course_modes
+from common.test.acceptance.tests.helpers import create_user_partition_json, element_has_text
+from mock import patch
+from nose.plugins.attrib import attr
 from openedx.core.lib.partitions.partitions import Group
 
 
diff --git a/common/test/acceptance/tests/studio/test_studio_split_test.py b/common/test/acceptance/tests/studio/test_studio_split_test.py
index 6d844fb1e24..2b3dfeab89c 100644
--- a/common/test/acceptance/tests/studio/test_studio_split_test.py
+++ b/common/test/acceptance/tests/studio/test_studio_split_test.py
@@ -4,24 +4,21 @@ Acceptance tests for Studio related to the split_test module.
 
 import math
 from unittest import skip
-from nose.plugins.attrib import attr
-from selenium.webdriver.support.ui import Select
-
-from bok_choy.promise import Promise, EmptyPromise
 
+from base_studio_test import StudioCourseTest
+from bok_choy.promise import EmptyPromise, Promise
 from common.test.acceptance.fixtures.course import XBlockFixtureDesc
+from common.test.acceptance.pages.lms.courseware import CoursewarePage
 from common.test.acceptance.pages.studio.component_editor import ComponentEditorView
-from common.test.acceptance.pages.studio.overview import CourseOutlinePage, CourseOutlineUnit
 from common.test.acceptance.pages.studio.container import ContainerPage
+from common.test.acceptance.pages.studio.overview import CourseOutlinePage, CourseOutlineUnit
 from common.test.acceptance.pages.studio.settings_group_configurations import GroupConfigurationsPage
 from common.test.acceptance.pages.studio.utils import add_advanced_component
 from common.test.acceptance.pages.xblock.utils import wait_for_xblock_initialization
-from common.test.acceptance.pages.lms.courseware import CoursewarePage
 from common.test.acceptance.tests.helpers import create_user_partition_json
+from nose.plugins.attrib import attr
 from openedx.core.lib.partitions.partitions import Group
-
-from base_studio_test import StudioCourseTest
-
+from selenium.webdriver.support.ui import Select
 from test_studio_container import ContainerBase
 
 
diff --git a/lms/djangoapps/course_blocks/transformers/tests/test_split_test.py b/lms/djangoapps/course_blocks/transformers/tests/test_split_test.py
index 8fa6aef8991..74c56ef1ebe 100644
--- a/lms/djangoapps/course_blocks/transformers/tests/test_split_test.py
+++ b/lms/djangoapps/course_blocks/transformers/tests/test_split_test.py
@@ -2,9 +2,8 @@
 Tests for SplitTestTransformer.
 """
 import ddt
-from nose.plugins.attrib import attr
-
 import openedx.core.djangoapps.user_api.course_tag.api as course_tag_api
+from nose.plugins.attrib import attr
 from openedx.core.djangoapps.user_api.partition_schemes import RandomUserPartitionScheme
 from openedx.core.lib.partitions.partitions import Group, UserPartition
 from student.tests.factories import CourseEnrollmentFactory
diff --git a/lms/djangoapps/course_blocks/transformers/tests/test_user_partitions.py b/lms/djangoapps/course_blocks/transformers/tests/test_user_partitions.py
index a203a1a9b86..3ec49242165 100644
--- a/lms/djangoapps/course_blocks/transformers/tests/test_user_partitions.py
+++ b/lms/djangoapps/course_blocks/transformers/tests/test_user_partitions.py
@@ -2,14 +2,14 @@
 """
 Tests for UserPartitionTransformer.
 """
+import string
 from collections import namedtuple
+
 import ddt
 from nose.plugins.attrib import attr
-import string
-
+from openedx.core.djangoapps.course_groups.cohorts import add_user_to_cohort
 from openedx.core.djangoapps.course_groups.partition_scheme import CohortPartitionScheme
 from openedx.core.djangoapps.course_groups.tests.helpers import CohortFactory, config_course_cohorts
-from openedx.core.djangoapps.course_groups.cohorts import add_user_to_cohort
 from openedx.core.djangoapps.course_groups.views import link_cohort_to_partition_group
 from openedx.core.lib.partitions.partitions import Group, UserPartition
 from student.tests.factories import CourseEnrollmentFactory
diff --git a/lms/djangoapps/course_blocks/transformers/user_partitions.py b/lms/djangoapps/course_blocks/transformers/user_partitions.py
index 8a62908281f..488ae1ac5c5 100644
--- a/lms/djangoapps/course_blocks/transformers/user_partitions.py
+++ b/lms/djangoapps/course_blocks/transformers/user_partitions.py
@@ -3,7 +3,7 @@ User Partitions Transformer
 """
 from openedx.core.djangoapps.content.block_structure.transformer import (
     BlockStructureTransformer,
-    FilteringTransformerMixin,
+    FilteringTransformerMixin
 )
 from openedx.core.lib.partitions.partitions_service import get_all_partitions_for_course
 
diff --git a/lms/djangoapps/courseware/access.py b/lms/djangoapps/courseware/access.py
index 785160a8a13..1718bc8d902 100644
--- a/lms/djangoapps/courseware/access.py
+++ b/lms/djangoapps/courseware/access.py
@@ -10,35 +10,12 @@ Note: The access control logic in this file does NOT check for enrollment in
   If enrollment is to be checked, use get_course_with_access in courseware.courses.
   It is a wrapper around has_access that additionally checks for enrollment.
 """
-from datetime import datetime
 import logging
-import pytz
-
-from django.conf import settings
-from django.contrib.auth.models import AnonymousUser
-from django.utils.timezone import UTC
-
-from opaque_keys.edx.keys import CourseKey, UsageKey
-
-from util import milestones_helpers as milestones_helpers
-from xblock.core import XBlock
-
-from xmodule.course_module import (
-    CourseDescriptor,
-    CATALOG_VISIBILITY_CATALOG_AND_ABOUT,
-    CATALOG_VISIBILITY_ABOUT,
-)
-from xmodule.error_module import ErrorDescriptor
-from xmodule.x_module import XModule
-from openedx.core.lib.partitions.partitions import NoSuchUserPartitionError, NoSuchUserPartitionGroupError
-from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from openedx.core.djangoapps.external_auth.models import ExternalAuthMap
+from datetime import datetime
 
-from courseware.access_response import (
-    MilestoneError,
-    MobileAvailabilityError,
-    VisibilityError,
-)
+import pytz
+from ccx_keys.locator import CCXLocator
+from courseware.access_response import MilestoneError, MobileAvailabilityError, VisibilityError
 from courseware.access_utils import (
     ACCESS_DENIED,
     ACCESS_GRANTED,
@@ -48,9 +25,16 @@ from courseware.access_utils import (
     in_preview_mode
 )
 from courseware.masquerade import get_masquerade_role, is_masquerading_as_student
+from django.conf import settings
+from django.contrib.auth.models import AnonymousUser
+from django.utils.timezone import UTC
 from lms.djangoapps.ccx.custom_exception import CCXLocatorValidationException
 from lms.djangoapps.ccx.models import CustomCourseForEdX
 from mobile_api.models import IgnoreMobileAvailableFlagConfig
+from opaque_keys.edx.keys import CourseKey, UsageKey
+from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
+from openedx.core.djangoapps.external_auth.models import ExternalAuthMap
+from openedx.core.lib.partitions.partitions import NoSuchUserPartitionError, NoSuchUserPartitionGroupError
 from student import auth
 from student.models import CourseEnrollmentAllowed
 from student.roles import (
@@ -59,16 +43,20 @@ from student.roles import (
     CourseInstructorRole,
     CourseStaffRole,
     GlobalStaff,
-    SupportStaffRole,
     OrgInstructorRole,
     OrgStaffRole,
+    SupportStaffRole
 )
+from util import milestones_helpers as milestones_helpers
 from util.milestones_helpers import (
-    get_pre_requisite_courses_not_completed,
     any_unfulfilled_milestones,
-    is_prerequisite_courses_enabled,
+    get_pre_requisite_courses_not_completed,
+    is_prerequisite_courses_enabled
 )
-from ccx_keys.locator import CCXLocator
+from xblock.core import XBlock
+from xmodule.course_module import CATALOG_VISIBILITY_ABOUT, CATALOG_VISIBILITY_CATALOG_AND_ABOUT, CourseDescriptor
+from xmodule.error_module import ErrorDescriptor
+from xmodule.x_module import XModule
 
 log = logging.getLogger(__name__)
 
diff --git a/lms/djangoapps/courseware/field_overrides.py b/lms/djangoapps/courseware/field_overrides.py
index 59df70e9332..2f9be430e11 100644
--- a/lms/djangoapps/courseware/field_overrides.py
+++ b/lms/djangoapps/courseware/field_overrides.py
@@ -14,16 +14,14 @@ package and is used to wrap the `authored_data` when constructing an
 `LmsFieldData`.  This means overrides will be in effect for all scopes covered
 by `authored_data`, e.g. course content and settings stored in Mongo.
 """
+import threading
 from abc import ABCMeta, abstractmethod
 from contextlib import contextmanager
-import threading
 
 from django.conf import settings
-from xblock.field_data import FieldData
-
-from request_cache.middleware import RequestCache
 from openedx.core.lib.xblock_fields.inherited_fields import InheritanceMixin
-
+from request_cache.middleware import RequestCache
+from xblock.field_data import FieldData
 
 NOTSET = object()
 ENABLED_OVERRIDE_PROVIDERS_KEY = u'courseware.field_overrides.enabled_providers.{course_id}'
diff --git a/lms/djangoapps/courseware/masquerade.py b/lms/djangoapps/courseware/masquerade.py
index caf9f00c94b..ce4eb590831 100644
--- a/lms/djangoapps/courseware/masquerade.py
+++ b/lms/djangoapps/courseware/masquerade.py
@@ -11,14 +11,12 @@ from django.contrib.auth.decorators import login_required
 from django.contrib.auth.models import User
 from django.utils.translation import ugettext as _
 from django.views.decorators.http import require_POST
-from student.models import CourseEnrollment
-from util.json_request import expect_json, JsonResponse
-
 from opaque_keys.edx.keys import CourseKey
+from openedx.core.lib.partitions.partitions import NoSuchUserPartitionGroupError
+from student.models import CourseEnrollment
+from util.json_request import JsonResponse, expect_json
 from xblock.fragment import Fragment
 from xblock.runtime import KeyValueStore
-from openedx.core.lib.partitions.partitions import NoSuchUserPartitionGroupError
-
 
 log = logging.getLogger(__name__)
 
diff --git a/lms/djangoapps/courseware/tests/test_access.py b/lms/djangoapps/courseware/tests/test_access.py
index a824681837e..ad32685be2f 100644
--- a/lms/djangoapps/courseware/tests/test_access.py
+++ b/lms/djangoapps/courseware/tests/test_access.py
@@ -3,66 +3,60 @@
 Test the access control framework
 """
 import datetime
-import ddt
 import itertools
-import pytz
 
-from django.contrib.auth.models import User
-from ccx_keys.locator import CCXLocator
-from django.test.client import RequestFactory
-from django.core.urlresolvers import reverse
-from django.test import TestCase
-from mock import Mock, patch
-from nose.plugins.attrib import attr
-from opaque_keys.edx.locations import SlashSeparatedCourseKey
-
-from ccx.tests.factories import CcxFactory
 import courseware.access as access
 import courseware.access_response as access_response
+import ddt
+import pytz
+from ccx.tests.factories import CcxFactory
+from ccx_keys.locator import CCXLocator
 from courseware.masquerade import CourseMasquerade
 from courseware.tests.factories import (
     BetaTesterFactory,
     GlobalStaffFactory,
     InstructorFactory,
     StaffFactory,
-    UserFactory,
+    UserFactory
 )
 from courseware.tests.helpers import LoginEnrollmentTestCase, masquerade_as_group_member
+from django.contrib.auth.models import User
+from django.core.urlresolvers import reverse
+from django.test import TestCase
+from django.test.client import RequestFactory
+from lms.djangoapps.ccx.models import CustomCourseForEdX
+from milestones.tests.utils import MilestonesTestCaseMixin
+from mock import Mock, patch
+from nose.plugins.attrib import attr
+from opaque_keys.edx.locations import SlashSeparatedCourseKey
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from openedx.core.lib.partitions.partitions import Group, UserPartition, MINIMUM_STATIC_PARTITION_ID
+from openedx.core.lib.partitions.partitions import MINIMUM_STATIC_PARTITION_ID, Group, UserPartition
 from student.models import CourseEnrollment
 from student.roles import CourseCcxCoachRole, CourseStaffRole
 from student.tests.factories import (
     AdminFactory,
     AnonymousUserFactory,
     CourseEnrollmentAllowedFactory,
-    CourseEnrollmentFactory,
+    CourseEnrollmentFactory
 )
-
+from util.milestones_helpers import fulfill_course_milestone, set_prerequisite_courses
 from xmodule.course_module import (
-    CATALOG_VISIBILITY_CATALOG_AND_ABOUT,
     CATALOG_VISIBILITY_ABOUT,
-    CATALOG_VISIBILITY_NONE,
+    CATALOG_VISIBILITY_CATALOG_AND_ABOUT,
+    CATALOG_VISIBILITY_NONE
 )
 from xmodule.error_module import ErrorDescriptor
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
-from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 from xmodule.modulestore.tests.django_utils import (
+    TEST_DATA_SPLIT_MODULESTORE,
     ModuleStoreTestCase,
-    SharedModuleStoreTestCase,
-    TEST_DATA_SPLIT_MODULESTORE
+    SharedModuleStoreTestCase
 )
+from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 from xmodule.modulestore.xml import CourseLocationManager
 from xmodule.tests import get_test_system
 
-from util.milestones_helpers import (
-    set_prerequisite_courses,
-    fulfill_course_milestone,
-)
-from milestones.tests.utils import MilestonesTestCaseMixin
-
-from lms.djangoapps.ccx.models import CustomCourseForEdX
 
 # pylint: disable=protected-access
 
diff --git a/lms/djangoapps/courseware/tests/test_group_access.py b/lms/djangoapps/courseware/tests/test_group_access.py
index 6890749bd34..dd2eb832492 100644
--- a/lms/djangoapps/courseware/tests/test_group_access.py
+++ b/lms/djangoapps/courseware/tests/test_group_access.py
@@ -3,17 +3,15 @@ This module defines tests for courseware.access that are specific to group
 access control rules.
 """
 
+import courseware.access as access
 import ddt
+from courseware.tests.factories import StaffFactory, UserFactory
 from nose.plugins.attrib import attr
+from openedx.core.lib.partitions.partitions import USER_PARTITION_SCHEME_NAMESPACE, Group, UserPartition
 from stevedore.extension import Extension, ExtensionManager
-
-from openedx.core.lib.partitions.partitions import Group, UserPartition, USER_PARTITION_SCHEME_NAMESPACE
+from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
-from xmodule.modulestore.django import modulestore
-
-import courseware.access as access
-from courseware.tests.factories import StaffFactory, UserFactory
 
 
 class MemoryUserPartitionScheme(object):
diff --git a/lms/djangoapps/courseware/tests/test_masquerade.py b/lms/djangoapps/courseware/tests/test_masquerade.py
index 9f309f67aff..16809614bb7 100644
--- a/lms/djangoapps/courseware/tests/test_masquerade.py
+++ b/lms/djangoapps/courseware/tests/test_masquerade.py
@@ -3,32 +3,31 @@ Unit tests for masquerade.
 """
 import json
 import pickle
-from mock import patch
-from nose.plugins.attrib import attr
 from datetime import datetime
 
-from django.core.urlresolvers import reverse
-from django.test import TestCase
-from django.utils.timezone import UTC
-
 from capa.tests.response_xml_factory import OptionResponseXMLFactory
 from courseware.masquerade import (
     CourseMasquerade,
     MasqueradingKeyValueStore,
+    get_masquerading_user_group,
     handle_ajax,
-    setup_masquerade,
-    get_masquerading_user_group
+    setup_masquerade
 )
 from courseware.tests.factories import StaffFactory
 from courseware.tests.helpers import LoginEnrollmentTestCase, masquerade_as_group_member
 from courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin
+from django.core.urlresolvers import reverse
+from django.test import TestCase
+from django.utils.timezone import UTC
+from mock import patch
+from nose.plugins.attrib import attr
+from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration
+from openedx.core.lib.partitions.partitions import Group, UserPartition
 from student.tests.factories import UserFactory
 from xblock.runtime import DictKeyValueStore
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
-from xmodule.modulestore.tests.factories import ItemFactory, CourseFactory
-from openedx.core.lib.partitions.partitions import Group, UserPartition
-from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration
+from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
 
 class MasqueradeTestCase(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
diff --git a/lms/djangoapps/courseware/tests/test_split_module.py b/lms/djangoapps/courseware/tests/test_split_module.py
index d4216288142..4c6faea4057 100644
--- a/lms/djangoapps/courseware/tests/test_split_module.py
+++ b/lms/djangoapps/courseware/tests/test_split_module.py
@@ -1,17 +1,16 @@
 """
 Test for split test XModule
 """
+from courseware.model_data import FieldDataCache
+from courseware.module_render import get_module_for_descriptor
 from django.core.urlresolvers import reverse
 from mock import MagicMock
 from nose.plugins.attrib import attr
-
-from courseware.module_render import get_module_for_descriptor
-from courseware.model_data import FieldDataCache
-from student.tests.factories import UserFactory, CourseEnrollmentFactory
-from xmodule.modulestore.tests.factories import ItemFactory, CourseFactory
-from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
-from openedx.core.lib.partitions.partitions import Group, UserPartition
 from openedx.core.djangoapps.user_api.tests.factories import UserCourseTagFactory
+from openedx.core.lib.partitions.partitions import Group, UserPartition
+from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
+from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
 
 @attr(shard=1)
diff --git a/lms/djangoapps/courseware/tests/test_submitting_problems.py b/lms/djangoapps/courseware/tests/test_submitting_problems.py
index 6d8efe62248..0d389fedc21 100644
--- a/lms/djangoapps/courseware/tests/test_submitting_problems.py
+++ b/lms/djangoapps/courseware/tests/test_submitting_problems.py
@@ -10,31 +10,30 @@ import os
 from textwrap import dedent
 
 import ddt
+from capa.tests.response_xml_factory import (
+    CodeResponseXMLFactory,
+    CustomResponseXMLFactory,
+    OptionResponseXMLFactory,
+    SchematicResponseXMLFactory
+)
+from course_modes.models import CourseMode
+from courseware.models import BaseStudentModuleHistory, StudentModule
+from courseware.tests.helpers import LoginEnrollmentTestCase
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.core.urlresolvers import reverse
 from django.test import TestCase
 from django.test.client import RequestFactory
 from django.utils.timezone import now
+from lms.djangoapps.grades.new.course_grade_factory import CourseGradeFactory
 from mock import patch
 from nose.plugins.attrib import attr
-
-from capa.tests.response_xml_factory import (
-    OptionResponseXMLFactory, CustomResponseXMLFactory, SchematicResponseXMLFactory,
-    CodeResponseXMLFactory,
-)
-from course_modes.models import CourseMode
-from courseware.models import StudentModule, BaseStudentModuleHistory
-from courseware.tests.helpers import LoginEnrollmentTestCase
-from lms.djangoapps.grades.new.course_grade_factory import CourseGradeFactory
-from openedx.core.djangoapps.credit.api import (
-    set_credit_requirements, get_credit_requirement_status
-)
+from openedx.core.djangoapps.credit.api import get_credit_requirement_status, set_credit_requirements
 from openedx.core.djangoapps.credit.models import CreditCourse, CreditProvider
 from openedx.core.djangoapps.user_api.tests.factories import UserCourseTagFactory
-from openedx.core.lib.url_utils import quote_slashes
 from openedx.core.lib.partitions.partitions import Group, UserPartition
-from student.models import anonymous_id_for_user, CourseEnrollment
+from openedx.core.lib.url_utils import quote_slashes
+from student.models import CourseEnrollment, anonymous_id_for_user
 from submissions import api as submissions_api
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/lms/djangoapps/discussion_api/tests/test_api.py b/lms/djangoapps/discussion_api/tests/test_api.py
index 5bc28ac2769..f32c90cc42e 100644
--- a/lms/djangoapps/discussion_api/tests/test_api.py
+++ b/lms/djangoapps/discussion_api/tests/test_api.py
@@ -1,24 +1,14 @@
 """
 Tests for Discussion API internal interface
 """
-from datetime import datetime, timedelta
 import itertools
-from urlparse import parse_qs, urlparse, urlunparse
+from datetime import datetime, timedelta
 from urllib import urlencode
+from urlparse import parse_qs, urlparse, urlunparse
 
 import ddt
 import httpretty
 import mock
-from nose.plugins.attrib import attr
-from pytz import UTC
-
-from django.core.exceptions import ValidationError
-from django.test.client import RequestFactory
-
-from rest_framework.exceptions import PermissionDenied
-
-from opaque_keys.edx.locator import CourseLocator
-
 from common.test.utils import MockSignalHandlerMixin, disable_signal
 from courseware.tests.factories import BetaTesterFactory, StaffFactory
 from discussion_api import api
@@ -30,30 +20,36 @@ from discussion_api.api import (
     get_comment_list,
     get_course,
     get_course_topics,
+    get_thread,
     get_thread_list,
     update_comment,
-    update_thread,
-    get_thread,
+    update_thread
 )
-from discussion_api.exceptions import DiscussionDisabledError, ThreadNotFoundError, CommentNotFoundError
+from discussion_api.exceptions import CommentNotFoundError, DiscussionDisabledError, ThreadNotFoundError
 from discussion_api.tests.utils import (
     CommentsServiceMockMixin,
     make_minimal_cs_comment,
     make_minimal_cs_thread,
-    make_paginated_api_response,
+    make_paginated_api_response
 )
+from django.core.exceptions import ValidationError
+from django.test.client import RequestFactory
+from django_comment_client.tests.utils import ForumsEnableMixin
 from django_comment_common.models import (
     FORUM_ROLE_ADMINISTRATOR,
     FORUM_ROLE_COMMUNITY_TA,
     FORUM_ROLE_MODERATOR,
     FORUM_ROLE_STUDENT,
-    Role,
+    Role
 )
-from django_comment_client.tests.utils import ForumsEnableMixin
+from nose.plugins.attrib import attr
+from opaque_keys.edx.locator import CourseLocator
 from openedx.core.djangoapps.course_groups.models import CourseUserGroupPartitionGroup
 from openedx.core.djangoapps.course_groups.tests.helpers import CohortFactory
 from openedx.core.lib.exceptions import CourseNotFoundError, PageNotFoundError
 from openedx.core.lib.partitions.partitions import Group, UserPartition
+from pytz import UTC
+from rest_framework.exceptions import PermissionDenied
 from student.tests.factories import CourseEnrollmentFactory, UserFactory
 from util.testing import UrlResetMixin
 from xmodule.modulestore.django import modulestore
diff --git a/lms/djangoapps/instructor/tests/test_api.py b/lms/djangoapps/instructor/tests/test_api.py
index d8e3cdc8ac5..97a264052b6 100644
--- a/lms/djangoapps/instructor/tests/test_api.py
+++ b/lms/djangoapps/instructor/tests/test_api.py
@@ -3,15 +3,30 @@
 Unit tests for instructor.api methods.
 """
 import datetime
-import ddt
 import functools
-import random
-import pytz
 import io
 import json
+import random
 import shutil
 import tempfile
 
+import ddt
+import lms.djangoapps.instructor.views.api
+import lms.djangoapps.instructor_task.api
+import pytz
+from bulk_email.models import BulkEmailFlag, CourseEmail, CourseEmailTemplate
+from certificates.models import CertificateStatuses
+from certificates.tests.factories import GeneratedCertificateFactory
+from course_modes.models import CourseMode
+from courseware.models import StudentFieldOverride, StudentModule
+from courseware.tests.factories import (
+    BetaTesterFactory,
+    GlobalStaffFactory,
+    InstructorFactory,
+    StaffFactory,
+    UserProfileFactory
+)
+from courseware.tests.helpers import LoginEnrollmentTestCase
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.core import mail
@@ -22,56 +37,57 @@ from django.test import RequestFactory, TestCase
 from django.test.utils import override_settings
 from django.utils.timezone import utc
 from django.utils.translation import ugettext as _
-
+from django_comment_common.models import FORUM_ROLE_COMMUNITY_TA
+from django_comment_common.utils import seed_permissions_roles
+from lms.djangoapps.instructor.tests.utils import FakeContentTask, FakeEmail, FakeEmailInfo
+from lms.djangoapps.instructor.views.api import (
+    _split_input_list,
+    common_exceptions_400,
+    generate_unique_password,
+    require_finance_admin
+)
+from lms.djangoapps.instructor_task.api_helper import AlreadyRunningError
 from mock import Mock, patch
-from nose.tools import raises
 from nose.plugins.attrib import attr
+from nose.tools import raises
 from opaque_keys.edx.locations import SlashSeparatedCourseKey
 from opaque_keys.edx.locator import UsageKey
-from xmodule.modulestore import ModuleStoreEnum
-
-from bulk_email.models import BulkEmailFlag, CourseEmail, CourseEmailTemplate
-from course_modes.models import CourseMode
-from courseware.models import StudentModule
-from courseware.tests.factories import (
-    BetaTesterFactory, GlobalStaffFactory, InstructorFactory, StaffFactory, UserProfileFactory
-)
-from courseware.tests.helpers import LoginEnrollmentTestCase
-from django_comment_common.models import FORUM_ROLE_COMMUNITY_TA
-from django_comment_common.utils import seed_permissions_roles
+from openedx.core.djangoapps.course_groups.cohorts import set_course_cohort_settings
+from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
+from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
+from openedx.core.lib.xblock_fields.fields import Date
+from openedx.core.lib.xblock_utils import grade_histogram
 from shoppingcart.models import (
-    RegistrationCodeRedemption, Order, CouponRedemption,
-    PaidCourseRegistration, Coupon, Invoice, CourseRegistrationCode, CourseRegistrationCodeInvoiceItem,
-    InvoiceTransaction)
+    Coupon,
+    CouponRedemption,
+    CourseRegistrationCode,
+    CourseRegistrationCodeInvoiceItem,
+    Invoice,
+    InvoiceTransaction,
+    Order,
+    PaidCourseRegistration,
+    RegistrationCodeRedemption
+)
 from shoppingcart.pdf import PDFInvoice
 from student.models import (
-    CourseEnrollment, CourseEnrollmentAllowed, NonExistentCourseError,
-    ManualEnrollmentAudit, UNENROLLED_TO_ENROLLED, ENROLLED_TO_UNENROLLED,
-    ALLOWEDTOENROLL_TO_UNENROLLED, ENROLLED_TO_ENROLLED, UNENROLLED_TO_ALLOWEDTOENROLL,
-    UNENROLLED_TO_UNENROLLED, ALLOWEDTOENROLL_TO_ENROLLED
+    ALLOWEDTOENROLL_TO_ENROLLED,
+    ALLOWEDTOENROLL_TO_UNENROLLED,
+    ENROLLED_TO_ENROLLED,
+    ENROLLED_TO_UNENROLLED,
+    UNENROLLED_TO_ALLOWEDTOENROLL,
+    UNENROLLED_TO_ENROLLED,
+    UNENROLLED_TO_UNENROLLED,
+    CourseEnrollment,
+    CourseEnrollmentAllowed,
+    ManualEnrollmentAudit,
+    NonExistentCourseError
 )
-from student.tests.factories import UserFactory, CourseModeFactory, AdminFactory
-from student.roles import CourseBetaTesterRole, CourseSalesAdminRole, CourseFinanceAdminRole, CourseInstructorRole
-from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase, ModuleStoreTestCase
+from student.roles import CourseBetaTesterRole, CourseFinanceAdminRole, CourseInstructorRole, CourseSalesAdminRole
+from student.tests.factories import AdminFactory, CourseModeFactory, UserFactory
+from xmodule.modulestore import ModuleStoreEnum
+from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
-from courseware.models import StudentFieldOverride
-
-import lms.djangoapps.instructor_task.api
-import lms.djangoapps.instructor.views.api
-from lms.djangoapps.instructor.views.api import require_finance_admin
-from lms.djangoapps.instructor.tests.utils import FakeContentTask, FakeEmail, FakeEmailInfo
-from lms.djangoapps.instructor.views.api import _split_input_list, common_exceptions_400, generate_unique_password
-from lms.djangoapps.instructor_task.api_helper import AlreadyRunningError
-from certificates.tests.factories import GeneratedCertificateFactory
-from certificates.models import CertificateStatuses
-
-from openedx.core.djangoapps.course_groups.cohorts import set_course_cohort_settings
-from openedx.core.lib.xblock_fields.fields import Date
-from openedx.core.lib.xblock_utils import grade_histogram
-from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
-from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
-
 from .test_tools import msk_from_problem_urlname
 
 DATE_FIELD = Date()
diff --git a/lms/djangoapps/instructor/tests/test_tools.py b/lms/djangoapps/instructor/tests/test_tools.py
index 750d7be7e7e..727312bb5a3 100644
--- a/lms/djangoapps/instructor/tests/test_tools.py
+++ b/lms/djangoapps/instructor/tests/test_tools.py
@@ -3,21 +3,20 @@ Tests for views/tools.py.
 """
 
 import datetime
-import mock
 import json
 import unittest
 
-from django.utils.timezone import utc
-from django.test.utils import override_settings
-from nose.plugins.attrib import attr
-
+import mock
 from courseware.field_overrides import OverrideFieldData
+from django.test.utils import override_settings
+from django.utils.timezone import utc
 from lms.djangoapps.ccx.tests.test_overrides import inject_field_overrides
-from student.tests.factories import UserFactory
+from nose.plugins.attrib import attr
+from opaque_keys.edx.keys import CourseKey
 from openedx.core.lib.xblock_fields.fields import Date
+from student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
-from opaque_keys.edx.keys import CourseKey
 
 from ..views import tools
 
diff --git a/lms/djangoapps/instructor/views/tools.py b/lms/djangoapps/instructor/views/tools.py
index 7fea17b8500..aac26841ce5 100644
--- a/lms/djangoapps/instructor/views/tools.py
+++ b/lms/djangoapps/instructor/views/tools.py
@@ -1,23 +1,18 @@
 """
 Tools for the instructor dashboard
 """
-import dateutil
 import json
 
+import dateutil
+from courseware.field_overrides import disable_overrides
+from courseware.models import StudentFieldOverride
+from courseware.student_field_overrides import clear_override_for_user, get_override_for_user, override_field_for_user
 from django.contrib.auth.models import User
 from django.http import HttpResponseBadRequest
 from django.utils.timezone import utc
 from django.utils.translation import ugettext as _
-
-from courseware.models import StudentFieldOverride
-from courseware.field_overrides import disable_overrides
-from courseware.student_field_overrides import (
-    clear_override_for_user,
-    get_override_for_user,
-    override_field_for_user,
-)
-from openedx.core.lib.xblock_fields.fields import Date
 from opaque_keys.edx.keys import UsageKey
+from openedx.core.lib.xblock_fields.fields import Date
 
 DATE_FIELD = Date()
 
diff --git a/lms/djangoapps/instructor_task/tasks_helper/grades.py b/lms/djangoapps/instructor_task/tasks_helper/grades.py
index 71aa19e66d9..fe0d5084645 100644
--- a/lms/djangoapps/instructor_task/tasks_helper/grades.py
+++ b/lms/djangoapps/instructor_task/tasks_helper/grades.py
@@ -1,28 +1,28 @@
 """
 Functionality for generating grade reports.
 """
-from collections import OrderedDict
-from datetime import datetime
-from itertools import chain, izip_longest, izip
-from lazy import lazy
 import logging
-from pytz import UTC
 import re
+from collections import OrderedDict
+from datetime import datetime
+from itertools import chain, izip, izip_longest
 from time import time
 
+from certificates.models import CertificateWhitelist, GeneratedCertificate, certificate_info_for_user
+from courseware.courses import get_course_by_id
 from instructor_analytics.basic import list_problem_responses
 from instructor_analytics.csvs import format_dictlist
-from certificates.models import CertificateWhitelist, certificate_info_for_user, GeneratedCertificate
-from courseware.courses import get_course_by_id
-from lms.djangoapps.grades.context import grading_context_for_course, grading_context
-from lms.djangoapps.grades.new.course_grade_factory import CourseGradeFactory
+from lazy import lazy
+from lms.djangoapps.grades.context import grading_context, grading_context_for_course
 from lms.djangoapps.grades.models import PersistentCourseGrade
+from lms.djangoapps.grades.new.course_grade_factory import CourseGradeFactory
 from lms.djangoapps.teams.models import CourseTeamMembership
 from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification
 from openedx.core.djangoapps.content.block_structure.api import get_course_in_cache
-from openedx.core.djangoapps.course_groups.cohorts import get_cohort, is_course_cohorted, bulk_cache_cohorts
+from openedx.core.djangoapps.course_groups.cohorts import bulk_cache_cohorts, get_cohort, is_course_cohorted
 from openedx.core.djangoapps.user_api.course_tag.api import BulkCourseTags
 from openedx.core.lib.partitions.partitions_service import PartitionService
+from pytz import UTC
 from student.models import CourseEnrollment
 from student.roles import BulkRoleCache
 from xmodule.modulestore.django import modulestore
@@ -31,7 +31,6 @@ from xmodule.split_test_module import get_split_user_partitions
 from .runner import TaskProgress
 from .utils import upload_csv_to_report_store
 
-
 TASK_LOG = logging.getLogger('edx.celery.task')
 
 
diff --git a/lms/djangoapps/instructor_task/tests/test_tasks_helper.py b/lms/djangoapps/instructor_task/tests/test_tasks_helper.py
index 0e46f5f8a5d..52404b57840 100644
--- a/lms/djangoapps/instructor_task/tests/test_tasks_helper.py
+++ b/lms/djangoapps/instructor_task/tests/test_tasks_helper.py
@@ -10,79 +10,73 @@ Unit tests for LMS instructor-initiated background tasks helper functions.
 
 import os
 import shutil
-from datetime import datetime
+import tempfile
 import urllib
+from datetime import datetime
 
-from django.conf import settings
-from django.core.urlresolvers import reverse
-from django.test.utils import override_settings
 import ddt
-from freezegun import freeze_time
-from mock import Mock, patch, MagicMock
-from nose.plugins.attrib import attr
-from pytz import UTC
-import tempfile
+import openedx.core.djangoapps.user_api.course_tag.api as course_tag_api
 import unicodecsv
-
 from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory
 from certificates.models import CertificateStatuses, GeneratedCertificate
-from certificates.tests.factories import GeneratedCertificateFactory, CertificateWhitelistFactory
+from certificates.tests.factories import CertificateWhitelistFactory, GeneratedCertificateFactory
 from course_modes.models import CourseMode
 from courseware.tests.factories import InstructorFactory
+from django.conf import settings
+from django.core.urlresolvers import reverse
+from django.test.utils import override_settings
+from freezegun import freeze_time
 from instructor_analytics.basic import UNAVAILABLE
 from lms.djangoapps.grades.models import PersistentCourseGrade
 from lms.djangoapps.grades.transformer import GradesTransformer
+from lms.djangoapps.instructor_task.tasks_helper.certs import generate_students_certificates
+from lms.djangoapps.instructor_task.tasks_helper.enrollments import (
+    upload_enrollment_report,
+    upload_exec_summary_report,
+    upload_may_enroll_csv,
+    upload_students_csv
+)
+from lms.djangoapps.instructor_task.tasks_helper.grades import CourseGradeReport, ProblemGradeReport, ProblemResponses
+from lms.djangoapps.instructor_task.tasks_helper.misc import (
+    cohort_students_and_upload,
+    upload_course_survey_report,
+    upload_ora2_data
+)
+from lms.djangoapps.instructor_task.tests.test_base import (
+    InstructorTaskCourseTestCase,
+    InstructorTaskModuleTestCase,
+    TestReportMixin
+)
 from lms.djangoapps.teams.tests.factories import CourseTeamFactory, CourseTeamMembershipFactory
 from lms.djangoapps.verify_student.tests.factories import SoftwareSecurePhotoVerificationFactory
-from openedx.core.djangoapps.course_groups.models import CourseUserGroupPartitionGroup, CohortMembership
+from mock import MagicMock, Mock, patch
+from nose.plugins.attrib import attr
+from openedx.core.djangoapps.course_groups.models import CohortMembership, CourseUserGroupPartitionGroup
 from openedx.core.djangoapps.course_groups.tests.helpers import CohortFactory
 from openedx.core.djangoapps.credit.tests.factories import CreditCourseFactory
-import openedx.core.djangoapps.user_api.course_tag.api as course_tag_api
 from openedx.core.djangoapps.user_api.partition_schemes import RandomUserPartitionScheme
 from openedx.core.djangoapps.util.testing import ContentGroupTestCase, TestConditionalContent
 from openedx.core.lib.partitions.partitions import Group, UserPartition
+from pytz import UTC
 from request_cache.middleware import RequestCache
 from shoppingcart.models import (
-    Order, PaidCourseRegistration, CourseRegistrationCode, Invoice,
-    CourseRegistrationCodeInvoiceItem, InvoiceTransaction, Coupon
+    Coupon,
+    CourseRegistrationCode,
+    CourseRegistrationCodeInvoiceItem,
+    Invoice,
+    InvoiceTransaction,
+    Order,
+    PaidCourseRegistration
 )
-from student.models import CourseEnrollment, CourseEnrollmentAllowed, ManualEnrollmentAudit, ALLOWEDTOENROLL_TO_ENROLLED
+from student.models import ALLOWEDTOENROLL_TO_ENROLLED, CourseEnrollment, CourseEnrollmentAllowed, ManualEnrollmentAudit
 from student.tests.factories import CourseEnrollmentFactory, CourseModeFactory, UserFactory
-from survey.models import SurveyForm, SurveyAnswer
+from survey.models import SurveyAnswer, SurveyForm
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory, check_mongo_calls
 
 from ..models import ReportStore
-from lms.djangoapps.instructor_task.tasks_helper.certs import (
-    generate_students_certificates,
-)
-from lms.djangoapps.instructor_task.tasks_helper.enrollments import (
-    upload_enrollment_report,
-    upload_may_enroll_csv,
-    upload_exec_summary_report,
-    upload_students_csv,
-)
-from lms.djangoapps.instructor_task.tasks_helper.grades import (
-    CourseGradeReport,
-    ProblemGradeReport,
-    ProblemResponses,
-)
-from lms.djangoapps.instructor_task.tasks_helper.misc import (
-    cohort_students_and_upload,
-    upload_course_survey_report,
-    upload_ora2_data,
-)
-from ..tasks_helper.utils import (
-    UPDATE_STATUS_FAILED,
-    UPDATE_STATUS_SUCCEEDED,
-)
-
-from lms.djangoapps.instructor_task.tests.test_base import (
-    InstructorTaskCourseTestCase,
-    TestReportMixin,
-    InstructorTaskModuleTestCase
-)
+from ..tasks_helper.utils import UPDATE_STATUS_FAILED, UPDATE_STATUS_SUCCEEDED
 
 
 class InstructorGradeReportTestCase(TestReportMixin, InstructorTaskCourseTestCase):
diff --git a/lms/djangoapps/lms_xblock/mixin.py b/lms/djangoapps/lms_xblock/mixin.py
index d7855d372d5..dae6543e43d 100644
--- a/lms/djangoapps/lms_xblock/mixin.py
+++ b/lms/djangoapps/lms_xblock/mixin.py
@@ -4,12 +4,11 @@ Namespace that defines fields common to all blocks used in the LMS
 
 #from django.utils.translation import ugettext_noop as _
 from lazy import lazy
-
+from openedx.core.lib.partitions.partitions import NoSuchUserPartitionError, NoSuchUserPartitionGroupError
+from openedx.core.lib.xblock_fields.inherited_fields import UserPartitionList
 from xblock.core import XBlock
-from xblock.fields import Boolean, Scope, String, XBlockMixin, Dict
+from xblock.fields import Boolean, Dict, Scope, String, XBlockMixin
 from xblock.validation import ValidationMessage
-from openedx.core.lib.xblock_fields.inherited_fields import UserPartitionList
-from openedx.core.lib.partitions.partitions import NoSuchUserPartitionError, NoSuchUserPartitionGroupError
 
 # Please do not remove, this is a workaround for Django 1.8.
 # more information can be found here: https://openedx.atlassian.net/browse/PLAT-902
diff --git a/lms/djangoapps/lms_xblock/runtime.py b/lms/djangoapps/lms_xblock/runtime.py
index b42e3e04cbf..0a8434ea7be 100644
--- a/lms/djangoapps/lms_xblock/runtime.py
+++ b/lms/djangoapps/lms_xblock/runtime.py
@@ -1,24 +1,22 @@
 """
 Module implementing `xblock.runtime.Runtime` functionality for the LMS
 """
-from django.conf import settings
-from django.core.urlresolvers import reverse
-
+import xblock.reference.plugins
 from badges.service import BadgingService
 from badges.utils import badges_enabled
+from django.conf import settings
+from django.core.urlresolvers import reverse
+from lms.djangoapps.lms_xblock.models import XBlockAsidesConfig
 from openedx.core.djangoapps.user_api.course_tag import api as user_course_tag_api
-from openedx.core.lib.xblock_utils import xblock_local_resource_url
+from openedx.core.lib.partitions.partitions_service import PartitionService
 from openedx.core.lib.url_utils import quote_slashes
+from openedx.core.lib.xblock_utils import xblock_local_resource_url
 from request_cache.middleware import RequestCache
-import xblock.reference.plugins
 from xmodule.library_tools import LibraryToolsService
-from xmodule.modulestore.django import modulestore, ModuleI18nService
-from openedx.core.lib.partitions.partitions_service import PartitionService
+from xmodule.modulestore.django import ModuleI18nService, modulestore
 from xmodule.services import SettingsService
 from xmodule.x_module import ModuleSystem
 
-from lms.djangoapps.lms_xblock.models import XBlockAsidesConfig
-
 
 def handler_url(block, handler_name, suffix='', query='', thirdparty=False):
     """
diff --git a/lms/djangoapps/mobile_api/video_outlines/tests.py b/lms/djangoapps/mobile_api/video_outlines/tests.py
index a3fa6b45335..1f4ba044159 100644
--- a/lms/djangoapps/mobile_api/video_outlines/tests.py
+++ b/lms/djangoapps/mobile_api/video_outlines/tests.py
@@ -4,23 +4,22 @@ Tests for video outline API
 """
 
 import itertools
-from uuid import uuid4
 from collections import namedtuple
+from uuid import uuid4
 
 import ddt
-from nose.plugins.attrib import attr
 from edxval import api
-from xmodule.modulestore.tests.factories import ItemFactory
-from xmodule.video_module import transcripts_utils
-from xmodule.modulestore.django import modulestore
 from milestones.tests.utils import MilestonesTestCaseMixin
-
 from mobile_api.models import MobileApiConfig
-from openedx.core.lib.partitions.partitions import Group, UserPartition
-from openedx.core.djangoapps.course_groups.tests.helpers import CohortFactory
-from openedx.core.djangoapps.course_groups.models import CourseUserGroupPartitionGroup
-from openedx.core.djangoapps.course_groups.cohorts import add_user_to_cohort, remove_user_from_cohort
 from mobile_api.testutils import MobileAPITestCase, MobileAuthTestMixin, MobileCourseAccessTestMixin
+from nose.plugins.attrib import attr
+from openedx.core.djangoapps.course_groups.cohorts import add_user_to_cohort, remove_user_from_cohort
+from openedx.core.djangoapps.course_groups.models import CourseUserGroupPartitionGroup
+from openedx.core.djangoapps.course_groups.tests.helpers import CohortFactory
+from openedx.core.lib.partitions.partitions import Group, UserPartition
+from xmodule.modulestore.django import modulestore
+from xmodule.modulestore.tests.factories import ItemFactory
+from xmodule.video_module import transcripts_utils
 
 
 class TestVideoAPITestCase(MobileAPITestCase):
diff --git a/lms/lib/xblock/test/test_mixin.py b/lms/lib/xblock/test/test_mixin.py
index c09d336ca4b..60d0e8b5e16 100644
--- a/lms/lib/xblock/test/test_mixin.py
+++ b/lms/lib/xblock/test/test_mixin.py
@@ -2,14 +2,13 @@
 Tests of the LMS XBlock Mixin
 """
 import ddt
+from lms_xblock.mixin import INVALID_USER_PARTITION_GROUP_VALIDATION, INVALID_USER_PARTITION_VALIDATION
 from nose.plugins.attrib import attr
-
-from lms_xblock.mixin import INVALID_USER_PARTITION_VALIDATION, INVALID_USER_PARTITION_GROUP_VALIDATION
+from openedx.core.lib.partitions.partitions import Group, UserPartition
 from xblock.validation import ValidationMessage
 from xmodule.modulestore import ModuleStoreEnum
-from xmodule.modulestore.tests.factories import CourseFactory, ToyCourseFactory, ItemFactory
-from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, TEST_DATA_MIXED_MODULESTORE
-from openedx.core.lib.partitions.partitions import Group, UserPartition
+from xmodule.modulestore.tests.django_utils import TEST_DATA_MIXED_MODULESTORE, ModuleStoreTestCase
+from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory, ToyCourseFactory
 
 
 class LmsXBlockMixinTestCase(ModuleStoreTestCase):
diff --git a/openedx/core/djangoapps/course_groups/partition_scheme.py b/openedx/core/djangoapps/course_groups/partition_scheme.py
index ad6968ff52e..4a5b37bba12 100644
--- a/openedx/core/djangoapps/course_groups/partition_scheme.py
+++ b/openedx/core/djangoapps/course_groups/partition_scheme.py
@@ -12,7 +12,6 @@ from openedx.core.lib.partitions.partitions import NoSuchUserPartitionGroupError
 
 from .cohorts import get_cohort, get_group_info_for_cohort
 
-
 log = logging.getLogger(__name__)
 
 
diff --git a/openedx/core/djangoapps/course_groups/tests/test_partition_scheme.py b/openedx/core/djangoapps/course_groups/tests/test_partition_scheme.py
index 285ed77c1cb..eb0b99932bf 100644
--- a/openedx/core/djangoapps/course_groups/tests/test_partition_scheme.py
+++ b/openedx/core/djangoapps/course_groups/tests/test_partition_scheme.py
@@ -3,22 +3,21 @@ Test the partitions and partitions service
 
 """
 import django.test
+from courseware.tests.test_masquerade import StaffMasqueradeTestCase
 from mock import patch
 from nose.plugins.attrib import attr
-
-from courseware.tests.test_masquerade import StaffMasqueradeTestCase
+from openedx.core.djangoapps.user_api.partition_schemes import RandomUserPartitionScheme
+from openedx.core.djangolib.testing.utils import skip_unless_lms
+from openedx.core.lib.partitions.partitions import Group, UserPartition, UserPartitionError
 from student.tests.factories import UserFactory
 from xmodule.modulestore.django import modulestore
-from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, TEST_DATA_MIXED_MODULESTORE
+from xmodule.modulestore.tests.django_utils import TEST_DATA_MIXED_MODULESTORE, ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import ToyCourseFactory
 
-from openedx.core.djangoapps.user_api.partition_schemes import RandomUserPartitionScheme
-from openedx.core.djangolib.testing.utils import skip_unless_lms
-from openedx.core.lib.partitions.partitions import Group, UserPartition, UserPartitionError
-from ..partition_scheme import CohortPartitionScheme, get_cohorted_user_partition
+from ..cohorts import add_user_to_cohort, get_course_cohorts, remove_user_from_cohort
 from ..models import CourseUserGroupPartitionGroup
+from ..partition_scheme import CohortPartitionScheme, get_cohorted_user_partition
 from ..views import link_cohort_to_partition_group, unlink_cohort_partition_group
-from ..cohorts import add_user_to_cohort, remove_user_from_cohort, get_course_cohorts
 from .helpers import CohortFactory, config_course_cohorts
 
 
diff --git a/openedx/core/djangoapps/models/course_details.py b/openedx/core/djangoapps/models/course_details.py
index db87026384f..4fb3d7c9175 100644
--- a/openedx/core/djangoapps/models/course_details.py
+++ b/openedx/core/djangoapps/models/course_details.py
@@ -1,17 +1,15 @@
 """
 CourseDetails
 """
-import re
 import logging
+import re
 
 from django.conf import settings
-
-from openedx.core.lib.xblock_fields.fields import Date
-from xmodule.modulestore.exceptions import ItemNotFoundError
 from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration
 from openedx.core.lib.courses import course_image_url
+from openedx.core.lib.xblock_fields.fields import Date
 from xmodule.modulestore.django import modulestore
-
+from xmodule.modulestore.exceptions import ItemNotFoundError
 
 # This list represents the attribute keys for a course's 'about' info.
 # Note: The 'video' attribute is intentionally excluded as it must be
diff --git a/openedx/core/djangoapps/user_api/partition_schemes.py b/openedx/core/djangoapps/user_api/partition_schemes.py
index ea6c08865f3..85ba29fa1cc 100644
--- a/openedx/core/djangoapps/user_api/partition_schemes.py
+++ b/openedx/core/djangoapps/user_api/partition_schemes.py
@@ -3,9 +3,9 @@ Provides partition support to the user service.
 """
 import logging
 import random
-import course_tag.api as course_tag_api
 
-from openedx.core.lib.partitions.partitions import UserPartitionError, NoSuchUserPartitionGroupError
+import course_tag.api as course_tag_api
+from openedx.core.lib.partitions.partitions import NoSuchUserPartitionGroupError, UserPartitionError
 
 log = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/user_api/tests/test_partition_schemes.py b/openedx/core/djangoapps/user_api/tests/test_partition_schemes.py
index 7ce38aa570a..396fc7e6057 100644
--- a/openedx/core/djangoapps/user_api/tests/test_partition_schemes.py
+++ b/openedx/core/djangoapps/user_api/tests/test_partition_schemes.py
@@ -2,9 +2,9 @@
 Test the user api's partition extensions.
 """
 from collections import defaultdict
-from mock import patch
 from unittest import TestCase
 
+from mock import patch
 from openedx.core.djangoapps.user_api.partition_schemes import RandomUserPartitionScheme, UserPartitionError
 from openedx.core.lib.partitions.partitions import Group, UserPartition
 from openedx.core.lib.partitions.tests.test_partitions import PartitionTestCase
diff --git a/openedx/core/djangoapps/util/testing.py b/openedx/core/djangoapps/util/testing.py
index e78644a4502..4cde8eccae3 100644
--- a/openedx/core/djangoapps/util/testing.py
+++ b/openedx/core/djangoapps/util/testing.py
@@ -1,15 +1,15 @@
 """ Mixins for setting up particular course structures (such as split tests or cohorted content) """
 
 from datetime import datetime
-from pytz import UTC
 
 from openedx.core.djangoapps.course_groups.models import CourseUserGroupPartitionGroup
 from openedx.core.djangoapps.course_groups.tests.helpers import CohortFactory
 from openedx.core.djangoapps.user_api.tests.factories import UserCourseTagFactory
-from openedx.core.lib.partitions.partitions import UserPartition, Group
-from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
-from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
+from openedx.core.lib.partitions.partitions import Group, UserPartition
+from pytz import UTC
 from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
+from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
 
 class ContentGroupTestCase(ModuleStoreTestCase):
diff --git a/openedx/core/djangoapps/verified_track_content/partition_scheme.py b/openedx/core/djangoapps/verified_track_content/partition_scheme.py
index 01e3a5365e8..b11b22d12ca 100644
--- a/openedx/core/djangoapps/verified_track_content/partition_scheme.py
+++ b/openedx/core/djangoapps/verified_track_content/partition_scheme.py
@@ -1,19 +1,17 @@
 """
 UserPartitionScheme for enrollment tracks.
 """
-from django.conf import settings
-
+from course_modes.models import CourseMode
 from courseware.masquerade import (
     get_course_masquerade,
     get_masquerading_user_group,
     is_masquerading_as_specific_student
 )
-from course_modes.models import CourseMode
-from student.models import CourseEnrollment
+from django.conf import settings
 from opaque_keys.edx.keys import CourseKey
 from openedx.core.djangoapps.verified_track_content.models import VerifiedTrackCohortedCourse
-from openedx.core.lib.partitions.partitions import NoSuchUserPartitionGroupError, Group, UserPartition
-
+from openedx.core.lib.partitions.partitions import Group, NoSuchUserPartitionGroupError, UserPartition
+from student.models import CourseEnrollment
 
 # These IDs must be less than 100 so that they do not overlap with Groups in
 # CohortUserPartition or RandomUserPartitionScheme
diff --git a/openedx/core/djangoapps/verified_track_content/tests/test_partition_scheme.py b/openedx/core/djangoapps/verified_track_content/tests/test_partition_scheme.py
index f7a076eaca4..66e47448c9a 100644
--- a/openedx/core/djangoapps/verified_track_content/tests/test_partition_scheme.py
+++ b/openedx/core/djangoapps/verified_track_content/tests/test_partition_scheme.py
@@ -2,17 +2,17 @@
 Tests for verified_track_content/partition_scheme.py.
 """
 from datetime import datetime, timedelta
-import pytz
 
-from ..partition_scheme import EnrollmentTrackPartitionScheme, EnrollmentTrackUserPartition, ENROLLMENT_GROUP_IDS
-from ..models import VerifiedTrackCohortedCourse
+import pytz
 from course_modes.models import CourseMode
-
+from openedx.core.lib.partitions.partitions import MINIMUM_STATIC_PARTITION_ID, UserPartition
 from student.models import CourseEnrollment
 from student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
-from openedx.core.lib.partitions.partitions import UserPartition, MINIMUM_STATIC_PARTITION_ID
+
+from ..models import VerifiedTrackCohortedCourse
+from ..partition_scheme import ENROLLMENT_GROUP_IDS, EnrollmentTrackPartitionScheme, EnrollmentTrackUserPartition
 
 
 class EnrollmentTrackUserPartitionTest(SharedModuleStoreTestCase):
diff --git a/openedx/core/lib/xblock_fields/inherited_fields.py b/openedx/core/lib/xblock_fields/inherited_fields.py
index 0486c086ec1..4bde53364be 100644
--- a/openedx/core/lib/xblock_fields/inherited_fields.py
+++ b/openedx/core/lib/xblock_fields/inherited_fields.py
@@ -2,16 +2,16 @@
 Inherited fields for all XBlocks.
 """
 from __future__ import absolute_import
+
 from datetime import datetime
 
 from django.conf import settings
+from openedx.core.lib.partitions.partitions import UserPartition
 from pytz import utc
+from xblock.fields import Boolean, Dict, Float, Integer, List, Scope, String, XBlockMixin
 
-from xblock.fields import Scope, Boolean, String, Float, XBlockMixin, Dict, Integer, List
-from openedx.core.lib.partitions.partitions import UserPartition
 from .fields import Date, Timedelta
 
-
 DEFAULT_START_DATE = datetime(2030, 1, 1, tzinfo=utc)
 
 # Make '_' a no-op so we can scrape strings
-- 
GitLab