109 lines
4.3 KiB
Python
109 lines
4.3 KiB
Python
import unittest
|
|
|
|
from flask import json
|
|
|
|
from app.core import app
|
|
from app.model import USER, user_class, GROUP, group_class
|
|
|
|
|
|
class GroupTestCase(unittest.TestCase):
|
|
uid = None
|
|
uid2 = None
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
query = USER.insert().values(email="admin@admin.com", role="4", phone="00.00.00.00.00", name="admin",
|
|
hash="toto")
|
|
res = query.execute()
|
|
cls.uid = res.lastrowid
|
|
query = USER.insert().values(email="adminx@admin.com", role="3", phone="00.00.00.00.00", name="adminx",
|
|
hash="zozo")
|
|
res = query.execute()
|
|
cls.uid2 = res.lastrowid
|
|
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
query = GROUP.delete().where(group_class.name == "group_test")
|
|
query.execute()
|
|
query = GROUP.delete().where(group_class.name == "group_test2")
|
|
query.execute()
|
|
query = USER.delete().where(user_class.email == "admin@admin.com")
|
|
query.execute()
|
|
query = USER.delete().where(user_class.email == "adminx@admin.com")
|
|
query.execute()
|
|
|
|
def setUp(self):
|
|
self.app = app.test_client()
|
|
|
|
def tearDown(self):
|
|
pass
|
|
|
|
def create_group(self, name, year, class_short, class_long, department, resp_id, sec_id):
|
|
return self.app.post('/api/group',
|
|
data=json.dumps(
|
|
dict(
|
|
name=name,
|
|
year=year,
|
|
class_short=class_short,
|
|
class_long=class_long,
|
|
department=department,
|
|
resp_id=resp_id,
|
|
sec_id=sec_id
|
|
)
|
|
), content_type='application/json')
|
|
|
|
def getGroupByID(self, GID):
|
|
return self.app.get('/api/group/bygid/' + str(GID))
|
|
|
|
def getGroupByName(self, name):
|
|
return self.app.get('/api/group/byname/' + name)
|
|
|
|
def change_group(self, GID, name, year, class_short, class_long, department, resp_id, sec_id):
|
|
return self.app.put('/api/group/bygid/' + str(GID),
|
|
data=json.dumps(
|
|
dict(
|
|
name=name,
|
|
year=year,
|
|
class_short=class_short,
|
|
class_long=class_long,
|
|
department=department,
|
|
resp_id=resp_id,
|
|
sec_id=sec_id
|
|
)
|
|
), content_type='application/json')
|
|
|
|
def test_group(self):
|
|
rv = self.create_group('group_test', '2017', 'GT', 'GROUP_TEST', 'TESTING', self.uid, self.uid2)
|
|
self.assertEqual(rv.status_code, 201, 'Creating group Failed')
|
|
gid = json.loads(rv.data)['GID']
|
|
self.assertIsNotNone(gid)
|
|
|
|
rv = self.create_group('group_test', '2017', 'GT', 'GROUP_TEST', 'TESTING', self.uid, self.uid2)
|
|
self.assertEqual(rv.status_code, 200, 'Group is supposed to already exist')
|
|
gid2 = json.loads(rv.data)['GID']
|
|
self.assertEqual(gid, gid2, "The GID must be the same !")
|
|
|
|
rv = self.getGroupByID(gid)
|
|
self.assertEqual(rv.status_code, 200, 'Getting group failed by ID')
|
|
group = json.loads(rv.data)['GROUP']
|
|
self.assertIsNotNone(group)
|
|
|
|
rv = self.getGroupByName("group_test")
|
|
self.assertEqual(rv.status_code, 200, 'Getting group failed by Name')
|
|
group2 = json.loads(rv.data)['GROUP']
|
|
self.assertEqual(group, group2, "Group by name must be the same !")
|
|
|
|
rv = self.change_group(gid, 'group_test2', '2018', 'GT2', 'GROUP_TEST2', 'TESTING2', self.uid2, self.uid)
|
|
self.assertEqual(rv.status_code, 200, 'Group modification failed !')
|
|
gid3 = json.loads(rv.data)['GID']
|
|
self.assertEqual(gid, gid3, "GIDs doesn't match !")
|
|
|
|
rv = self.getGroupByName('group_test2')
|
|
self.assertEqual(rv.status_code, 200, 'Getting modified group failed by Name')
|
|
group4 = json.loads(rv.data)['GROUP']
|
|
self.assertIsNotNone(group4, "Modified group shouldn't be None !")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|