mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-27 23:56:18 +00:00
125 lines
5.8 KiB
Python
125 lines
5.8 KiB
Python
from django.utils import timezone
|
|
|
|
from seahub.test_utils import BaseTestCase
|
|
from seahub.options.models import (
|
|
UserOptions, KEY_USER_GUIDE,
|
|
VAL_USER_GUIDE_ON, VAL_USER_GUIDE_OFF,
|
|
KEY_DEFAULT_REPO, KEY_FORCE_2FA, VAL_FORCE_2FA,
|
|
KEY_FILE_UPDATES_EMAIL_INTERVAL, KEY_FILE_UPDATES_LAST_EMAILED_TIME,
|
|
KEY_WEBDAV_SECRET)
|
|
|
|
|
|
class UserOptionsManagerTest(BaseTestCase):
|
|
def test_is_user_guide_enabled(self):
|
|
assert UserOptions.objects.is_user_guide_enabled(self.user.email) is True
|
|
|
|
UserOptions.objects.create(email=self.user.email,
|
|
option_key=KEY_USER_GUIDE,
|
|
option_val=VAL_USER_GUIDE_OFF)
|
|
|
|
assert UserOptions.objects.is_user_guide_enabled(self.user.email) is False
|
|
|
|
def test_is_user_guide_enabled_with_multiple_records(self):
|
|
UserOptions.objects.create(email=self.user.email,
|
|
option_key=KEY_USER_GUIDE,
|
|
option_val=VAL_USER_GUIDE_OFF)
|
|
UserOptions.objects.create(email=self.user.email,
|
|
option_key=KEY_USER_GUIDE,
|
|
option_val=VAL_USER_GUIDE_ON)
|
|
|
|
assert len(UserOptions.objects.filter(email=self.user.email,
|
|
option_key=KEY_USER_GUIDE)) == 2
|
|
assert UserOptions.objects.is_user_guide_enabled(self.user.email) is True
|
|
assert len(UserOptions.objects.filter(email=self.user.email,
|
|
option_key=KEY_USER_GUIDE)) == 1
|
|
|
|
def test_get_default_repo(self):
|
|
assert len(UserOptions.objects.filter(email=self.user.email, option_key=KEY_DEFAULT_REPO)) == 0
|
|
|
|
UserOptions.objects.create(email=self.user.email,
|
|
option_key=KEY_DEFAULT_REPO,
|
|
option_val=self.repo.id)
|
|
|
|
assert len(UserOptions.objects.filter(email=self.user.email, option_key=KEY_DEFAULT_REPO)) == 1
|
|
assert UserOptions.objects.get_default_repo(self.user.email) is not None
|
|
|
|
def test_get_default_repo_with_multiple_records(self):
|
|
assert len(UserOptions.objects.filter(email=self.user.email, option_key=KEY_DEFAULT_REPO)) == 0
|
|
|
|
UserOptions.objects.create(email=self.user.email,
|
|
option_key=KEY_DEFAULT_REPO,
|
|
option_val=self.repo.id)
|
|
|
|
UserOptions.objects.create(email=self.user.email,
|
|
option_key=KEY_DEFAULT_REPO,
|
|
option_val=self.repo.id)
|
|
|
|
assert len(UserOptions.objects.filter(email=self.user.email, option_key=KEY_DEFAULT_REPO)) == 2
|
|
assert UserOptions.objects.get_default_repo(self.user.email) is not None
|
|
assert len(UserOptions.objects.filter(email=self.user.email, option_key=KEY_DEFAULT_REPO)) == 1
|
|
|
|
def test_force_2fa(self):
|
|
assert len(UserOptions.objects.filter(email=self.user.email,
|
|
option_key=KEY_FORCE_2FA)) == 0
|
|
assert UserOptions.objects.is_force_2fa(self.user.email) is False
|
|
|
|
UserOptions.objects.set_force_2fa(self.user.email)
|
|
|
|
assert len(UserOptions.objects.filter(email=self.user.email,
|
|
option_key=KEY_FORCE_2FA)) == 1
|
|
assert UserOptions.objects.is_force_2fa(self.user.email) is True
|
|
|
|
UserOptions.objects.unset_force_2fa(self.user.email)
|
|
|
|
assert len(UserOptions.objects.filter(email=self.user.email,
|
|
option_key=KEY_FORCE_2FA)) == 0
|
|
assert UserOptions.objects.is_force_2fa(self.user.email) is False
|
|
|
|
def test_webdav_secret(self, ):
|
|
assert len(UserOptions.objects.filter(email=self.user.email,
|
|
option_key=KEY_WEBDAV_SECRET)) == 0
|
|
|
|
assert UserOptions.objects.get_webdav_secret(self.user.email) is None
|
|
|
|
UserOptions.objects.set_webdav_secret(self.user.email, '123456')
|
|
assert UserOptions.objects.get_webdav_secret(self.user.email) == '123456'
|
|
|
|
UserOptions.objects.unset_webdav_secret(self.user.email)
|
|
assert UserOptions.objects.get_webdav_secret(self.user.email) is None
|
|
|
|
assert len(UserOptions.objects.filter(email=self.user.email,
|
|
option_key=KEY_WEBDAV_SECRET)) == 0
|
|
|
|
def test_file_updates_email_interval(self, ):
|
|
assert len(UserOptions.objects.filter(
|
|
email=self.user.email, option_key=KEY_FILE_UPDATES_EMAIL_INTERVAL)) == 0
|
|
|
|
UserOptions.objects.set_file_updates_email_interval(
|
|
self.user.email, 300)
|
|
assert len(UserOptions.objects.filter(
|
|
email=self.user.email, option_key=KEY_FILE_UPDATES_EMAIL_INTERVAL)) == 1
|
|
|
|
interv = UserOptions.objects.get_file_updates_email_interval(self.user.email)
|
|
assert interv == 300
|
|
|
|
UserOptions.objects.unset_file_updates_email_interval(self.user.email)
|
|
assert len(UserOptions.objects.filter(
|
|
email=self.user.email, option_key=KEY_FILE_UPDATES_EMAIL_INTERVAL)) == 0
|
|
|
|
def test_file_updates_last_emailed_time(self, ):
|
|
assert len(UserOptions.objects.filter(
|
|
email=self.user.email, option_key=KEY_FILE_UPDATES_LAST_EMAILED_TIME)) == 0
|
|
|
|
t = timezone.now().replace(microsecond=0)
|
|
|
|
UserOptions.objects.set_file_updates_last_emailed_time(self.user.email, t)
|
|
assert len(UserOptions.objects.filter(
|
|
email=self.user.email, option_key=KEY_FILE_UPDATES_LAST_EMAILED_TIME)) == 1
|
|
|
|
val = UserOptions.objects.get_file_updates_last_emailed_time(self.user.email)
|
|
assert t == val
|
|
|
|
UserOptions.objects.unset_file_updates_last_emailed_time(self.user.email)
|
|
assert len(UserOptions.objects.filter(
|
|
email=self.user.email, option_key=KEY_FILE_UPDATES_LAST_EMAILED_TIME)) == 0
|