Files
edx-platform/common/lib/xmodule/xmodule/tests/helpers.py
muhammad-ammar 152ae4b1c2 fix xblock urls for verticals
TNL-5003
2016-07-27 22:42:30 +05:00

42 lines
1.2 KiB
Python

"""
Utility methods for unit tests.
"""
import filecmp
from path import Path as path
from xblock.reference.user_service import XBlockUser, UserService
def directories_equal(directory1, directory2):
"""
Returns True if the 2 directories have equal content, else false.
"""
def compare_dirs(dir1, dir2):
""" Compare directories for equality. """
comparison = filecmp.dircmp(dir1, dir2)
if (len(comparison.left_only) > 0) or (len(comparison.right_only) > 0):
return False
if (len(comparison.funny_files) > 0) or (len(comparison.diff_files) > 0):
return False
for subdir in comparison.subdirs:
if not compare_dirs(dir1 / subdir, dir2 / subdir):
return False
return True
return compare_dirs(path(directory1), path(directory2))
class StubUserService(UserService):
"""
Stub UserService for testing the sequence module.
"""
def get_current_user(self):
"""
Implements abstract method for getting the current user.
"""
user = XBlockUser()
user.opt_attrs['edx-platform.username'] = 'bilbo'
return user