mirror of
https://github.com/haiwen/seahub.git
synced 2025-06-28 07:57:50 +00:00
50 lines
1.9 KiB
Python
50 lines
1.9 KiB
Python
from mock import patch
|
|
|
|
from seahub.test_utils import BaseTestCase
|
|
from seahub.api2.serializers import AuthTokenSerializer
|
|
from seahub.profile.models import Profile
|
|
|
|
class AuthTokenSerializerTest(BaseTestCase):
|
|
|
|
def test_validate(self):
|
|
d = {
|
|
'username': self.user.username,
|
|
'password': self.user_password,
|
|
'platform': 'linux',
|
|
'device_id': '701143c1238e6736b61c20e73de82fc95989c413',
|
|
'device_name': 'test',
|
|
}
|
|
|
|
assert AuthTokenSerializer(
|
|
data=d, context={'request': self.fake_request}).is_valid() is True
|
|
|
|
Profile.objects.add_or_update(username=self.user.username, login_id='aaa')
|
|
d1 = d.copy()
|
|
d1.update({'username': 'aaa'})
|
|
assert AuthTokenSerializer(
|
|
data=d, context={'request': self.fake_request}).is_valid() is True
|
|
assert AuthTokenSerializer(
|
|
data=d1, context={'request': self.fake_request}).is_valid() is True
|
|
|
|
Profile.objects.add_or_update(username=self.user.username,
|
|
contact_email='a+1@a.com')
|
|
d1 = d.copy()
|
|
d1.update({'username': 'a+1@a.com'})
|
|
assert AuthTokenSerializer(
|
|
data=d, context={'request': self.fake_request}).is_valid() is True
|
|
assert AuthTokenSerializer(
|
|
data=d1, context={'request': self.fake_request}).is_valid() is True
|
|
|
|
@patch('seahub.api2.serializers.has_two_factor_auth')
|
|
def test_two_factor_auth(self, mock_has_two_factor_auth):
|
|
mock_has_two_factor_auth.return_value = True
|
|
|
|
s = AuthTokenSerializer(data={
|
|
'username': self.user.username,
|
|
'password': self.user_password,
|
|
'platform': 'linux',
|
|
'device_id': '701143c1238e6736b61c20e73de82fc95989c413',
|
|
'device_name': 'test',
|
|
}, context={'request': self.fake_request})
|
|
assert s.is_valid() is True
|