Skip to content

Commit 1f00bf5

Browse files
committed
test: add tests
1 parent fe9f7ae commit 1f00bf5

File tree

3 files changed

+594
-20
lines changed

3 files changed

+594
-20
lines changed

xblocks_contrib/lti/tests/helpers.py

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
"""
2+
Utility methods for unit tests.
3+
"""
4+
5+
6+
import pytest
7+
from path import Path as path
8+
from xblock.reference.user_service import UserService, XBlockUser
9+
10+
11+
class StubUserService(UserService):
12+
"""
13+
Stub UserService for testing the sequence block.
14+
"""
15+
16+
def __init__(self,
17+
user=None,
18+
user_is_staff=False,
19+
user_role=None,
20+
anonymous_user_id=None,
21+
deprecated_anonymous_user_id=None,
22+
request_country_code=None,
23+
**kwargs):
24+
self.user = user
25+
self.user_is_staff = user_is_staff
26+
self.user_role = user_role
27+
self.anonymous_user_id = anonymous_user_id
28+
self.deprecated_anonymous_user_id = deprecated_anonymous_user_id
29+
self.request_country_code = request_country_code
30+
self._django_user = user
31+
super().__init__(**kwargs)
32+
33+
def get_current_user(self):
34+
"""
35+
Implements abstract method for getting the current user.
36+
"""
37+
user = XBlockUser()
38+
if self.user and self.user.is_authenticated:
39+
user.opt_attrs['edx-platform.anonymous_user_id'] = self.anonymous_user_id
40+
user.opt_attrs['edx-platform.deprecated_anonymous_user_id'] = self.deprecated_anonymous_user_id
41+
user.opt_attrs['edx-platform.request_country_code'] = self.request_country_code
42+
user.opt_attrs['edx-platform.user_is_staff'] = self.user_is_staff
43+
user.opt_attrs['edx-platform.user_id'] = self.user.id
44+
user.opt_attrs['edx-platform.user_role'] = self.user_role
45+
user.opt_attrs['edx-platform.username'] = self.user.username
46+
else:
47+
user.opt_attrs['edx-platform.username'] = 'anonymous'
48+
user.opt_attrs['edx-platform.request_country_code'] = self.request_country_code
49+
user.opt_attrs['edx-platform.is_authenticated'] = False
50+
return user
51+
52+
def get_user_by_anonymous_id(self, uid=None): # pylint: disable=unused-argument
53+
"""
54+
Return the original user passed into the service.
55+
"""
56+
return self.user

xblocks_contrib/lti/tests/test_lti20_unit.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
from lti_2_util import LTIError
1313
from lti import LTIBlock
14-
from xmodule.tests.helpers import StubUserService
14+
from .helpers import StubUserService
1515

1616
from . import get_test_system
1717

0 commit comments

Comments
 (0)