Bump query counts for grading in Django 1.11.
This commit is contained in:
@@ -10,6 +10,7 @@ from datetime import datetime, timedelta
|
||||
import ddt
|
||||
import pytz
|
||||
import six
|
||||
import django
|
||||
from django.conf import settings
|
||||
from django.db.utils import IntegrityError
|
||||
from mock import MagicMock, patch
|
||||
@@ -107,6 +108,28 @@ class HasCourseWithProblemsMixin(object):
|
||||
# pylint: enable=attribute-defined-outside-init,no-member
|
||||
|
||||
|
||||
# TODO: Remove Django 1.11 upgrade shim
|
||||
# SHIM: Django 1.11 results in a few more SAVEPOINTs due to:
|
||||
# https://github.com/django/django/commit/d44afd88#diff-5b0dda5eb9a242c15879dc9cd2121379L485
|
||||
# Get rid of this logic post-upgrade.
|
||||
def _recalc_expected_query_counts():
|
||||
if django.VERSION >= (1, 11):
|
||||
return 27
|
||||
else:
|
||||
return 23
|
||||
|
||||
|
||||
# TODO: Remove Django 1.11 upgrade shim
|
||||
# SHIM: Django 1.11 results in a few more SAVEPOINTs due to:
|
||||
# https://github.com/django/django/commit/d44afd88#diff-5b0dda5eb9a242c15879dc9cd2121379L485
|
||||
# Get rid of this logic post-upgrade.
|
||||
def _recalc_persistent_expected_query_counts():
|
||||
if django.VERSION >= (1, 11):
|
||||
return 28
|
||||
else:
|
||||
return 24
|
||||
|
||||
|
||||
@patch.dict(settings.FEATURES, {'PERSISTENT_GRADES_ENABLED_FOR_ALL_TESTS': False})
|
||||
@ddt.ddt
|
||||
class RecalculateSubsectionGradeTest(HasCourseWithProblemsMixin, ModuleStoreTestCase):
|
||||
@@ -164,10 +187,10 @@ class RecalculateSubsectionGradeTest(HasCourseWithProblemsMixin, ModuleStoreTest
|
||||
self.assertEquals(mock_block_structure_create.call_count, 1)
|
||||
|
||||
@ddt.data(
|
||||
(ModuleStoreEnum.Type.mongo, 1, 23, True),
|
||||
(ModuleStoreEnum.Type.mongo, 1, 23, False),
|
||||
(ModuleStoreEnum.Type.split, 3, 23, True),
|
||||
(ModuleStoreEnum.Type.split, 3, 23, False),
|
||||
(ModuleStoreEnum.Type.mongo, 1, _recalc_expected_query_counts(), True),
|
||||
(ModuleStoreEnum.Type.mongo, 1, _recalc_expected_query_counts(), False),
|
||||
(ModuleStoreEnum.Type.split, 3, _recalc_expected_query_counts(), True),
|
||||
(ModuleStoreEnum.Type.split, 3, _recalc_expected_query_counts(), False),
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_query_counts(self, default_store, num_mongo_calls, num_sql_calls, create_multiple_subsections):
|
||||
@@ -179,8 +202,8 @@ class RecalculateSubsectionGradeTest(HasCourseWithProblemsMixin, ModuleStoreTest
|
||||
self._apply_recalculate_subsection_grade()
|
||||
|
||||
@ddt.data(
|
||||
(ModuleStoreEnum.Type.mongo, 1, 23),
|
||||
(ModuleStoreEnum.Type.split, 3, 23),
|
||||
(ModuleStoreEnum.Type.mongo, 1, _recalc_expected_query_counts()),
|
||||
(ModuleStoreEnum.Type.split, 3, _recalc_expected_query_counts()),
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_query_counts_dont_change_with_more_content(self, default_store, num_mongo_calls, num_sql_calls):
|
||||
@@ -240,8 +263,8 @@ class RecalculateSubsectionGradeTest(HasCourseWithProblemsMixin, ModuleStoreTest
|
||||
self.assertEqual(len(PersistentSubsectionGrade.bulk_read_grades(self.user.id, self.course.id)), 0)
|
||||
|
||||
@ddt.data(
|
||||
(ModuleStoreEnum.Type.mongo, 1, 24),
|
||||
(ModuleStoreEnum.Type.split, 3, 24),
|
||||
(ModuleStoreEnum.Type.mongo, 1, _recalc_persistent_expected_query_counts()),
|
||||
(ModuleStoreEnum.Type.split, 3, _recalc_persistent_expected_query_counts()),
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_persistent_grades_enabled_on_course(self, default_store, num_mongo_queries, num_sql_queries):
|
||||
|
||||
Reference in New Issue
Block a user