This repository has been archived on 2021-09-15. You can view files and clone it, but cannot push or open issues or pull requests.
M2OLA/backend/tests/api/test_loginAPI.py
Clément ARNAUDEAU f5b7026e40 TG-35 : Typo
2017-01-24 11:45:07 +01:00

58 lines
1.7 KiB
Python

import unittest
from flask import json
from app.core import app
from app.model import USER, getUser
class AuthTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
if getUser(login="admin") is None:
query = USER.insert().values(login="admin", email="admin@admin.com", role="4", phone="00.00.00.00.00")
query.execute()
@classmethod
def tearDownClass(cls):
pass
def setUp(self):
self.app = app.test_client()
def tearDown(self):
pass
def login(self, email, password):
return self.app.post('/api/login',
data=json.dumps(
dict(
login=email,
password=password
)
), content_type='application/json')
def logout(self):
return self.app.delete('/api/login')
def test_login_logout(self):
rv = self.login('admin', 'admin')
self.assertEqual(rv.status_code, 200, 'Login as admin Failed')
rv = self.logout()
self.assertEqual(rv.status_code, 200, 'Logout Failed')
rv = self.login('adminx', 'admin')
self.assertEqual(rv.status_code, 401, 'Authentication from CAS has not failed for the invalid user xadmin !')
rv = self.login('admin', 'adminx')
self.assertEqual(rv.status_code, 401,
'Authentication from CAS has not failed for the invalid password xadmin !')
rv = self.login('toto', 'toto')
self.assertEqual(rv.status_code, 403, 'Authentication shouldn\'t be allowed for user toto !')
if __name__ == '__main__':
unittest.main()