1
0
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:
Chilledheart
2014-08-27 23:40:52 +08:00
committed by lins05
parent 3044d2de20
commit f7f304096b
3 changed files with 83 additions and 7 deletions

View File

@@ -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

View 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)

View File

@@ -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])