mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-19 01:44:13 +00:00
[tests] add account api test
This commit is contained in:
@@ -14,10 +14,14 @@
|
||||
from common.common import BASE_URL, USERNAME, PASSWORD
|
||||
import requests, re
|
||||
|
||||
BASE_URL = BASE_URL
|
||||
PING_URL = BASE_URL + u'/api2/ping/'
|
||||
TOKEN_URL = BASE_URL + u'/api2/auth-token/'
|
||||
AUTH_PING_URL = BASE_URL + u'/api2/auth/ping/'
|
||||
|
||||
ACCOUNTS_URL = BASE_URL + u'/api2/accounts/'
|
||||
ACCOUNT_INFO_URL = BASE_URL + u'/api2/account/info'
|
||||
|
||||
META_AUTH = {'username': USERNAME, 'password': PASSWORD}
|
||||
|
||||
def get_auth_token():
|
||||
@@ -29,10 +33,13 @@ def get_auth_token():
|
||||
return None
|
||||
return token
|
||||
|
||||
_token = get_auth_token()
|
||||
if (_token != None):
|
||||
_instance = requests.Session()
|
||||
_instance.headers.update({'Authorization': 'Token ' + _token})
|
||||
else:
|
||||
_instance = None
|
||||
|
||||
def get_authed_instance():
|
||||
token = get_auth_token()
|
||||
if (token == None):
|
||||
return None
|
||||
s = requests.Session()
|
||||
s.headers.update({'Authorization': 'Token ' + token})
|
||||
return s
|
||||
return _instance
|
||||
|
||||
|
67
tests/integration_api/account.py
Normal file
67
tests/integration_api/account.py
Normal file
@@ -0,0 +1,67 @@
|
||||
from integration_api import ACCOUNTS_URL, ACCOUNT_INFO_URL, get_authed_instance
|
||||
from integration_api import USERNAME
|
||||
import unittest
|
||||
|
||||
ACCOUNT_USERNAME = u'test_tmp@test.com'
|
||||
ACCOUNT_PASSWORD = r'test_test'
|
||||
ACCOUNT_PASSWORD2 = r'test_test2'
|
||||
ACCOUNT_URL = ACCOUNTS_URL + ACCOUNT_USERNAME + u'/'
|
||||
|
||||
class AccountApiTestCase(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.requests = get_authed_instance()
|
||||
self.assertIsNotNone(self.requests)
|
||||
|
||||
def testCheckAccountInfoApi(self):
|
||||
res = self.requests.get(ACCOUNT_INFO_URL)
|
||||
self.assertEqual(res.status_code, 200)
|
||||
json = res.json()
|
||||
self.assertIsNotNone(json)
|
||||
self.assertEqual(json['email'], USERNAME)
|
||||
self.assertIsNotNone(json['total'])
|
||||
self.assertIsNotNone(json['usage'])
|
||||
|
||||
def testListAccountsApi(self):
|
||||
res = self.requests.get(ACCOUNTS_URL)
|
||||
self.assertEqual(res.status_code, 200)
|
||||
self.assertIsNotNone(res.json())
|
||||
found = False
|
||||
for i in res.json():
|
||||
if (i['email'] == USERNAME):
|
||||
found = True
|
||||
self.assertEqual(found, True)
|
||||
|
||||
def testCreateAccountApi(self):
|
||||
data = { 'password': ACCOUNT_PASSWORD }
|
||||
res = self.requests.put(ACCOUNT_URL, data=data)
|
||||
self.assertEqual(res.status_code, 201)
|
||||
self.assertEqual(res.text, u'"success"')
|
||||
self.requests.delete(ACCOUNT_URL)
|
||||
|
||||
def testUpdateAccountApi(self):
|
||||
data = { 'password': ACCOUNT_PASSWORD }
|
||||
self.requests.put(ACCOUNT_URL, data=data)
|
||||
data = { 'password': ACCOUNT_PASSWORD2, 'is_staff': 1,
|
||||
'is_active': 1 }
|
||||
res = self.requests.put(ACCOUNT_URL, data=data)
|
||||
self.assertEqual(res.status_code, 200)
|
||||
self.assertEqual(res.text, u'"success"')
|
||||
self.requests.delete(ACCOUNT_URL)
|
||||
#TODO: verify updated account
|
||||
|
||||
def testDeleteAccountApi(self):
|
||||
data = { 'password': ACCOUNT_PASSWORD }
|
||||
res = self.requests.put(ACCOUNT_URL, data=data)
|
||||
res = self.requests.delete(ACCOUNT_URL)
|
||||
self.assertEqual(res.status_code, 200)
|
||||
self.assertEqual(res.text, u'"success"')
|
||||
res = self.requests.get(ACCOUNTS_URL)
|
||||
found = False
|
||||
for i in res.json():
|
||||
if (i['email'] == ACCOUNT_USERNAME):
|
||||
found = True
|
||||
self.assertEqual(found, False)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
@@ -8,10 +8,12 @@ def suite():
|
||||
))
|
||||
|
||||
from integration_api.ping import PingApiTestCase
|
||||
from integration_api.authping import AuthPingApiTestCase
|
||||
from integration_api.authping import AuthPingApiTestCase
|
||||
from integration_api.account import AccountApiTestCase
|
||||
integration_api_suite = unittest.TestSuite((\
|
||||
unittest.makeSuite(PingApiTestCase),
|
||||
unittest.makeSuite(AuthPingApiTestCase),
|
||||
unittest.makeSuite(AccountApiTestCase),
|
||||
))
|
||||
|
||||
return unittest.TestSuite([integration_api_suite, integration_suite])
|
||||
|
Reference in New Issue
Block a user