Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
E
edx-platform-release
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
1
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package Registry
Operate
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Hsin-Yu Chien
edx-platform-release
Commits
87edb542
Unverified
Commit
87edb542
authored
4 years ago
by
Tim McCormack
Committed by
GitHub
4 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Delete flaky test according to process (#24441)
https://openedx.atlassian.net/browse/CR-2425
for re-evaluating it
parent
9bb9d655
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
lms/djangoapps/discussion/tests/test_views.py
+1
-91
1 addition, 91 deletions
lms/djangoapps/discussion/tests/test_views.py
with
1 addition
and
91 deletions
lms/djangoapps/discussion/tests/test_views.py
+
1
−
91
View file @
87edb542
...
...
@@ -54,19 +54,15 @@ from openedx.core.djangoapps.django_comment_common.utils import ThreadContext, s
from
openedx.core.djangoapps.util.testing
import
ContentGroupTestCase
from
openedx.core.djangoapps.waffle_utils.testutils
import
WAFFLE_TABLES
from
openedx.core.lib.teams_config
import
TeamsConfig
from
openedx.features.content_type_gating.models
import
ContentTypeGatingConfig
from
openedx.features.enterprise_support.tests.mixins.enterprise
import
EnterpriseTestConsentRequired
from
student.roles
import
CourseStaffRole
,
UserBasedRole
from
student.tests.factories
import
CourseEnrollmentFactory
,
UserFactory
from
util.testing
import
EventTestMixin
,
UrlResetMixin
from
xmodule.modulestore
import
ModuleStoreEnum
from
xmodule.modulestore.django
import
modulestore
from
xmodule.modulestore.tests.django_utils
import
(
TEST_DATA_MONGO_MODULESTORE
,
ModuleStoreTestCase
,
SharedModuleStoreTestCase
)
from
xmodule.modulestore.tests.factories
import
CourseFactory
,
ItemFactory
,
check_mongo_calls
from
xmodule.modulestore.tests.factories
import
CourseFactory
,
ItemFactory
log
=
logging
.
getLogger
(
__name__
)
...
...
@@ -447,92 +443,6 @@ class SingleThreadTestCase(ForumsEnableMixin, ModuleStoreTestCase):
)
@ddt.ddt
@patch
(
'
requests.request
'
,
autospec
=
True
)
class
SingleThreadQueryCountTestCase
(
ForumsEnableMixin
,
ModuleStoreTestCase
):
"""
Ensures the number of modulestore queries and number of sql queries are
independent of the number of responses retrieved for a given discussion thread.
"""
MODULESTORE
=
TEST_DATA_MONGO_MODULESTORE
@ddt.data
(
# Old mongo with cache. There is an additional SQL query for old mongo
# because the first time that disabled_xblocks is queried is in call_single_thread,
# vs. the creation of the course (CourseFactory.create). The creation of the
# course is outside the context manager that is verifying the number of queries,
# and with split mongo, that method ends up querying disabled_xblocks (which is then
# cached and hence not queried as part of call_single_thread).
(
ModuleStoreEnum
.
Type
.
mongo
,
False
,
1
,
5
,
2
,
21
,
7
),
(
ModuleStoreEnum
.
Type
.
mongo
,
False
,
50
,
5
,
2
,
21
,
7
),
# split mongo: 3 queries, regardless of thread response size.
(
ModuleStoreEnum
.
Type
.
split
,
False
,
1
,
3
,
3
,
21
,
8
),
(
ModuleStoreEnum
.
Type
.
split
,
False
,
50
,
3
,
3
,
21
,
8
),
# Enabling Enterprise integration should have no effect on the number of mongo queries made.
(
ModuleStoreEnum
.
Type
.
mongo
,
True
,
1
,
5
,
2
,
21
,
7
),
(
ModuleStoreEnum
.
Type
.
mongo
,
True
,
50
,
5
,
2
,
21
,
7
),
# split mongo: 3 queries, regardless of thread response size.
(
ModuleStoreEnum
.
Type
.
split
,
True
,
1
,
3
,
3
,
21
,
8
),
(
ModuleStoreEnum
.
Type
.
split
,
True
,
50
,
3
,
3
,
21
,
8
),
)
@ddt.unpack
def
test_number_of_mongo_queries
(
self
,
default_store
,
enterprise_enabled
,
num_thread_responses
,
num_uncached_mongo_calls
,
num_cached_mongo_calls
,
num_uncached_sql_queries
,
num_cached_sql_queries
,
mock_request
):
ContentTypeGatingConfig
.
objects
.
create
(
enabled
=
True
,
enabled_as_of
=
datetime
(
2018
,
1
,
1
))
with
modulestore
().
default_store
(
default_store
):
course
=
CourseFactory
.
create
(
discussion_topics
=
{
'
dummy discussion
'
:
{
'
id
'
:
'
dummy_discussion_id
'
}})
student
=
UserFactory
.
create
()
CourseEnrollmentFactory
.
create
(
user
=
student
,
course_id
=
course
.
id
)
test_thread_id
=
"
test_thread_id
"
mock_request
.
side_effect
=
make_mock_request_impl
(
course
=
course
,
text
=
"
dummy content
"
,
thread_id
=
test_thread_id
,
num_thread_responses
=
num_thread_responses
)
request
=
RequestFactory
().
get
(
"
dummy_url
"
,
HTTP_X_REQUESTED_WITH
=
"
XMLHttpRequest
"
)
request
.
user
=
student
def
call_single_thread
():
"""
Call single_thread and assert that it returns what we expect.
"""
with
patch
.
dict
(
"
django.conf.settings.FEATURES
"
,
dict
(
ENABLE_ENTERPRISE_INTEGRATION
=
enterprise_enabled
)):
response
=
views
.
single_thread
(
request
,
text_type
(
course
.
id
),
"
dummy_discussion_id
"
,
test_thread_id
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
len
(
json
.
loads
(
response
.
content
.
decode
(
'
utf-8
'
))[
"
content
"
][
"
children
"
]),
num_thread_responses
)
# Test uncached first, then cached now that the cache is warm.
cached_calls
=
[
[
num_uncached_mongo_calls
,
num_uncached_sql_queries
],
[
num_cached_mongo_calls
,
num_cached_sql_queries
],
]
for
expected_mongo_calls
,
expected_sql_queries
in
cached_calls
:
with
self
.
assertNumQueries
(
expected_sql_queries
,
table_blacklist
=
QUERY_COUNT_TABLE_BLACKLIST
):
with
check_mongo_calls
(
expected_mongo_calls
):
call_single_thread
()
@patch
(
'
requests.request
'
,
autospec
=
True
)
class
SingleCohortedThreadTestCase
(
CohortedTestCase
):
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment