95 lines
3.3 KiB
Python
95 lines
3.3 KiB
Python
import unittest
|
|
|
|
from flask import json
|
|
|
|
from app.core import app
|
|
from app.model import USER, user_class
|
|
|
|
|
|
class UserTestCase(unittest.TestCase):
|
|
uid = None
|
|
gid = None
|
|
tid = None
|
|
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
query = USER.delete().where(user_class.login == "admin")
|
|
query.execute()
|
|
query = USER.delete().where(user_class.login == "adminx")
|
|
query.execute()
|
|
|
|
def setUp(self):
|
|
self.app = app.test_client()
|
|
|
|
def tearDown(self):
|
|
pass
|
|
|
|
def create_user(self, login, role):
|
|
return self.app.post('/api/user',
|
|
data=json.dumps(
|
|
dict(
|
|
CASid=login,
|
|
role=role
|
|
)
|
|
), content_type='application/json')
|
|
|
|
def getUserByID(self, UID):
|
|
return self.app.get('/api/user/byuid/' + str(UID))
|
|
|
|
def getUserByLogin(self, login):
|
|
return self.app.get('/api/user/bylogin/' + login)
|
|
|
|
def getUserByEmail(self, email):
|
|
return self.app.get('/api/user/byemail/' + email)
|
|
|
|
def change_user(self, UID, login, role, email, phone):
|
|
return self.app.put('/api/user/byuid/' + str(UID),
|
|
data=json.dumps(
|
|
dict(
|
|
CASid=login,
|
|
role=role,
|
|
email=email,
|
|
phone=phone
|
|
)
|
|
), content_type='application/json')
|
|
|
|
def test_user(self):
|
|
rv = self.create_user('admin', '4')
|
|
self.assertEqual(rv.status_code, 201, 'Creating user Failed')
|
|
uid = json.loads(rv.data)['UID']
|
|
self.assertIsNotNone(uid)
|
|
|
|
rv = self.create_user('admin', '4')
|
|
self.assertEqual(rv.status_code, 200, 'User is supposed to already exist')
|
|
uid2 = json.loads(rv.data)['UID']
|
|
self.assertEqual(uid, uid2, "The UID must be the same !")
|
|
|
|
rv = self.getUserByID(uid)
|
|
self.assertEqual(rv.status_code, 200, 'Getting user failed by ID')
|
|
user = json.loads(rv.data)['USER']
|
|
self.assertIsNotNone(user)
|
|
|
|
rv = self.getUserByLogin("admin")
|
|
self.assertEqual(rv.status_code, 200, 'Getting user failed by Login')
|
|
user2 = json.loads(rv.data)['USER']
|
|
self.assertEqual(user, user2, "User by login must be the same !")
|
|
|
|
rv = self.getUserByEmail("admin@ola.com")
|
|
self.assertEqual(rv.status_code, 200, 'Getting user failed by email')
|
|
user3 = json.loads(rv.data)['USER']
|
|
self.assertEqual(user, user3, "User by email must be the same !")
|
|
|
|
rv = self.change_user(uid, 'adminx', '3', 'adminx@email.com', '11.11.11.11.11')
|
|
self.assertEqual(rv.status_code, 200, 'User modification failed !')
|
|
uid3 = json.loads(rv.data)['UID']
|
|
self.assertEqual(uid, uid3, "UIDs doesn't match !")
|
|
|
|
rv = self.getUserByLogin("adminx")
|
|
self.assertEqual(rv.status_code, 200, 'Getting modified user failed by Login')
|
|
user4 = json.loads(rv.data)['USER']
|
|
self.assertIsNotNone(user4, "Modified user shouldn't be None !")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|