Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
6d371640
Commit
6d371640
authored
12 years ago
by
David Ormsbee
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed signal removal in django_comment_client test (we're no longer doing user replication)
parent
783a3905
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
2 additions
and
112 deletions
+2
-112
lms/djangoapps/django_comment_client/tests.py
+2
-112
No files found.
lms/djangoapps/django_comment_client/tests.py
View file @
6d371640
from
django.contrib.auth.models
import
User
from
django.
utils
import
unittest
from
django.
test
import
TestCase
from
student.models
import
CourseEnrollment
,
\
replicate_enrollment_save
,
\
replicate_enrollment_delete
,
\
...
...
@@ -13,120 +13,11 @@ import random
from
.permissions
import
has_permission
from
.models
import
Role
,
Permission
# code adapted from https://github.com/justquick/django-activity-stream/issues/88
class
NoSignalTestCase
(
unittest
.
TestCase
):
def
_receiver_in_lookup_keys
(
self
,
receiver
,
lookup_keys
):
"""
Evaluate if the receiver is in the provided lookup_keys; instantly terminates when found.
"""
for
key
in
lookup_keys
:
if
(
receiver
[
0
][
0
]
==
key
[
0
]
or
key
[
0
]
is
None
)
and
receiver
[
0
][
1
]
==
key
[
1
]:
return
True
return
False
def
_find_allowed_receivers
(
self
,
receivers
,
lookup_keys
):
"""
Searches the receivers, keeping any that have a lookup_key in the lookup_keys list
"""
kept_receivers
=
[]
for
receiver
in
receivers
:
if
self
.
_receiver_in_lookup_keys
(
receiver
,
lookup_keys
):
kept_receivers
.
append
(
receiver
)
return
kept_receivers
def
_create_lookup_keys
(
self
,
sender_receivers_tuple_list
):
"""
Creates a signal lookup keys from the provided array of tuples.
"""
lookup_keys
=
[]
for
keep
in
sender_receivers_tuple_list
:
receiver
=
keep
[
0
]
sender
=
keep
[
1
]
lookup_key
=
(
_make_id
(
receiver
)
if
receiver
else
receiver
,
_make_id
(
sender
))
lookup_keys
.
append
(
lookup_key
)
return
lookup_keys
def
_remove_disallowed_receivers
(
self
,
receivers
,
lookup_keys
):
"""
Searches the receivers, discarding any that have a lookup_key in the lookup_keys list
"""
kept_receivers
=
[]
for
receiver
in
receivers
:
if
not
self
.
_receiver_in_lookup_keys
(
receiver
,
lookup_keys
):
kept_receivers
.
append
(
receiver
)
return
kept_receivers
def
setUp
(
self
,
sender_receivers_to_keep
=
None
,
sender_receivers_to_discard
=
None
):
"""
Turns off signals from other apps
The `sender_receivers_to_keep` can be set to an array of tuples (reciever, sender,), preserving matching signals.
The `sender_receivers_to_discard` can be set to an array of tuples (reciever, sender,), discarding matching signals.
with both, you can set the `receiver` to None if you want to target all signals for a model
"""
self
.
m2m_changed_receivers
=
m2m_changed
.
receivers
self
.
pre_delete_receivers
=
pre_delete
.
receivers
self
.
pre_save_receivers
=
pre_save
.
receivers
self
.
post_delete_receivers
=
post_delete
.
receivers
self
.
post_save_receivers
=
post_save
.
receivers
new_m2m_changed_receivers
=
[]
new_pre_delete_receivers
=
[]
new_pre_save_receivers
=
[]
new_post_delete_receivers
=
[]
new_post_save_receivers
=
[]
if
sender_receivers_to_keep
:
lookup_keys
=
self
.
_create_lookup_keys
(
sender_receivers_to_keep
)
new_m2m_changed_receivers
=
self
.
_find_allowed_receivers
(
self
.
m2m_changed_receivers
,
lookup_keys
)
new_pre_delete_receivers
=
self
.
_find_allowed_receivers
(
self
.
pre_delete_receivers
,
lookup_keys
)
new_pre_save_receivers
=
self
.
_find_allowed_receivers
(
self
.
pre_save_receivers
,
lookup_keys
)
new_post_delete_receivers
=
self
.
_find_allowed_receivers
(
self
.
post_delete_receivers
,
lookup_keys
)
new_post_save_receivers
=
self
.
_find_allowed_receivers
(
self
.
post_save_receivers
,
lookup_keys
)
if
sender_receivers_to_discard
:
lookup_keys
=
self
.
_create_lookup_keys
(
sender_receivers_to_discard
)
new_m2m_changed_receivers
=
self
.
_remove_disallowed_receivers
(
new_m2m_changed_receivers
or
self
.
m2m_changed_receivers
,
lookup_keys
)
new_pre_delete_receivers
=
self
.
_remove_disallowed_receivers
(
new_pre_delete_receivers
or
self
.
pre_delete_receivers
,
lookup_keys
)
new_pre_save_receivers
=
self
.
_remove_disallowed_receivers
(
new_pre_save_receivers
or
self
.
pre_save_receivers
,
lookup_keys
)
new_post_delete_receivers
=
self
.
_remove_disallowed_receivers
(
new_post_delete_receivers
or
self
.
post_delete_receivers
,
lookup_keys
)
new_post_save_receivers
=
self
.
_remove_disallowed_receivers
(
new_post_save_receivers
or
self
.
post_save_receivers
,
lookup_keys
)
m2m_changed
.
receivers
=
new_m2m_changed_receivers
pre_delete
.
receivers
=
new_pre_delete_receivers
pre_save
.
receivers
=
new_pre_save_receivers
post_delete
.
receivers
=
new_post_delete_receivers
post_save
.
receivers
=
new_post_save_receivers
super
(
NoSignalTestCase
,
self
)
.
setUp
()
def
tearDown
(
self
):
"""
Restores the signals that were turned off.
"""
super
(
NoSignalTestCase
,
self
)
.
tearDown
()
m2m_changed
.
receivers
=
self
.
m2m_changed_receivers
pre_delete
.
receivers
=
self
.
pre_delete_receivers
pre_save
.
receivers
=
self
.
pre_save_receivers
post_delete
.
receivers
=
self
.
post_delete_receivers
post_save
.
receivers
=
self
.
post_save_receivers
class
PermissionsTestCase
(
NoSignalTestCase
):
class
PermissionsTestCase
(
TestCase
):
def
random_str
(
self
,
length
=
15
,
chars
=
string
.
ascii_uppercase
+
string
.
digits
):
return
''
.
join
(
random
.
choice
(
chars
)
for
x
in
range
(
length
))
def
setUp
(
self
):
sender_receivers_to_discard
=
[
(
replicate_enrollment_save
,
CourseEnrollment
),
(
replicate_enrollment_delete
,
CourseEnrollment
),
(
update_user_information
,
User
),
(
replicate_user_save
,
User
),
]
super
(
PermissionsTestCase
,
self
)
.
setUp
(
sender_receivers_to_discard
=
sender_receivers_to_discard
)
self
.
course_id
=
"MITx/6.002x/2012_Fall"
self
.
moderator_role
=
Role
.
objects
.
get_or_create
(
name
=
"Moderator"
,
course_id
=
self
.
course_id
)[
0
]
...
...
@@ -146,7 +37,6 @@ class PermissionsTestCase(NoSignalTestCase):
self
.
moderator_enrollment
.
delete
()
self
.
student
.
delete
()
self
.
moderator
.
delete
()
super
(
PermissionsTestCase
,
self
)
.
tearDown
()
def
testDefaultRoles
(
self
):
self
.
assertTrue
(
self
.
student_role
in
self
.
student
.
roles
.
all
())
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment