def test_0002(self): """ Test some failed situations for register """ response = self.client.post( '/user/sign/register', { 'token': self.token, 'username': '******', 'password': encrypt('Password233'), 'phone': '11223344556', 'CAPTCHA': 'Hello' }) self.assertEqual(response.status_code, 200) self.assertEqual( analyse_response(response).get('msg'), 'Username exists') response = self.client.post( '/user/sign/register', { 'token': self.token, 'username': '******', 'password': encrypt('Password233'), 'phone': '11223344556', 'CAPTCHA': 'Hello' }) self.assertEqual(response.status_code, 200) self.assertEqual( analyse_response(response).get('msg'), 'CAPTCHA Error')
def test_0003(self): """this is a test of user download """ school = SchoolHelper.get_school_by_name('测试大学') school_id = school.get('id') theme = SubjectHelper.get_subject_by_name('计算机科学与技术') theme_id = theme.get('id') response = self.client.post( '/program/user/submit', { 'token': self.token, 'code_name': 'TestProgram', 'code_content': 'print("Hello World")', 'code_readme': 'Hello World', 'school_id': school_id, 'theme_id': theme_id }) data = analyse_response(response) self.assertEqual(data.get('status'), 1) program = ProgramHelper.get_program_by_name('TestProgram') code_id = program.get('id') response = self.client.get('/program/user/download', { 'token': self.token, 'code_id': code_id }) data = analyse_response(response) self.assertEqual(data.get('status'), 1)
def test_0004_checksession(self): """ Test Start and Check Session """ response = self.client.post('/session/start') self.assertEqual(response.status_code, 200) data = analyse_response(response) self.assertEqual(data.get('status'), 1) token = data.get('data').get('token') response = self.client.get('/session/check', data={'token': token}) self.assertEqual(response.status_code, 200) data = analyse_response(response) self.assertEqual(data.get('status'), 1)
def test0001(self): """test user info get username is None """ response = self.client.get('/user/info/get', {'token': self.token}) self.assertEqual(response.status_code, 200) data = analyse_response(response) self.assertEqual(data.get('msg'), 'Success')
def test_0003_checksession_error(self): """ Test Check Session Failed """ response = self.client.get('/session/check', data={}) self.assertEqual(response.status_code, 200) data = analyse_response(response) self.assertEqual(data.get('status'), 0)
def promote_user(testcase, permission): """promote a user """ response = testcase.client.get('/user/info/get', {'token': testcase.token}) response = analyse_response(response) data = response.get('data') user_id = data.get('user').get('id') UserHelper.modify_permission_for_test(user_id, permission)
def test_0002_checksession_error(self): """ Test Check Session Failed """ token = 'hello world' response = self.client.get('/session/check', data={'token': token}) self.assertEqual(response.status_code, 200) data = analyse_response(response) self.assertEqual(data.get('status'), 0)
def test0004(self): """this is a schoolist """ response = self.client.get('/school/school/get_list', { 'token' : self.token, 'search_text' : '大学' }) data = analyse_response(response) self.assertEqual(data.get('status'), 1)
def test0003(self): """test user info with no user """ response = self.client.get('/user/info/get', { 'token': self.token, 'username': '******' }) self.assertEqual(response.status_code, 200) data = analyse_response(response) self.assertEqual(data.get('msg'), 'No User')
def test0005(self): """this is a list with invalid page """ response = self.client.get('/school/school/get_list', { 'token' : self.token, 'page' : -1, 'search_text' : '大学' }) data = analyse_response(response) self.assertEqual(data.get('status'), 0)
def promote_user_in_school(testcase, permission): """promote a user in school """ response = testcase.client.get('/user/info/get', {'token': testcase.token}) response = analyse_response(response) data = response.get('data') user_id = data.get('user').get('id') school = PermissionHelper.get_user_school(user_id) PermissionHelper.set_permission(user_id, school, permission)
def start_session(testcase): """start session for test """ response = testcase.client.post('/session/start') data = analyse_response(response) token = data.get('data').get('token') response = testcase.client.get('/myip') ip_addr = str(response.content, encoding="utf8") testcase.assertIsInstance(ip_addr, str) return token, ip_addr
def test_0001(self): """this is a test for admin download """ code_id = ProgramHelper.get_program_by_name('测试代码').get('id') response = self.client.get('/program/admin/download', { 'token': self.token, 'code_id': code_id }) data = analyse_response(response) self.assertEqual(data.get('msg'), 'Success')
def test0003(self): """this is a school with no headmaster """ response = self.client.post('/school/school/create', { 'token' : self.token, 'username' : 'No User', 'school_name' : '新建大学', 'school_description' : '没有校长的大学' }) data = analyse_response(response) self.assertEqual(data.get('status'), 0)
def test0002(self): """this is a school with duplicated name """ response = self.client.post('/school/school/create', { 'token' : self.token, 'username' : 'testuser', 'school_name' : '测试大学', 'school_description' : '重复的名字' }) data = analyse_response(response) self.assertEqual(data.get('status'), 0)
def test0001(self): """this is the test for create school """ response = self.client.post('/school/school/create', { 'token' : self.token, 'username' : 'testuser', 'school_name' : '新建大学', 'school_description' : '新建一个大学' }) data = analyse_response(response) self.assertEqual(data.get('status'), 1)
def add_user_to_school(testcase, schoolname): """add a user to school """ school = SchoolHelper.get_school_by_name(schoolname) school_id = school.get('id') response = testcase.client.get('/user/info/get', {'token': testcase.token}) response = analyse_response(response) data = response.get('data') user_id = data.get('user').get('id') PermissionHelper.user_join_school(user_id, school_id)
def test0006(self): """test user info set_phone """ response = self.client.post('/user/info/setphone', { 'token': self.token, 'phone': '11012311011', 'CAPTCHA': 'GUXYNB' }) self.assertEqual(response.status_code, 200) data = analyse_response(response) self.assertEqual(data.get('msg'), 'CAPTCHA Error')
def test_0008(self): """ Test fot retrieve error cases """ response = self.client.post('/user/sign/retrieve', { 'token': self.token, 'username': '******', 'phone': '11011011011' }) self.assertEqual(response.status_code, 200) data = analyse_response(response) self.assertEqual(data.get('msg'), 'No User') response = self.client.post('/user/sign/retrieve', { 'token': self.token, 'username': '******', 'phone': '11011211211' }) self.assertEqual(response.status_code, 200) data = analyse_response(response) self.assertEqual(data.get('msg'), 'Phone Number Error')
def test_0007(self): """ Test for retrieve """ response = self.client.post('/user/sign/retrieve', { 'token': self.token, 'username': '******', 'phone': '11011011011' }) self.assertEqual(response.status_code, 200) data = analyse_response(response) self.assertEqual(data.get('msg'), 'Success')
def test0001(self): """Test request for list info """ response = self.client.get( '/user/list/get', { 'token': self.token, "show_invalid": 'true', 'manager_first': 'true', 'school_id': 0 }) self.assertEqual(response.status_code, 200) self.assertEqual(analyse_response(response).get('msg'), 'Success')
def login(testcase, username, password): """register """ response = testcase.client.post( '/user/sign/login', { 'token': testcase.token, 'username': username, 'password': encrypt(password) }) testcase.assertEqual(response.status_code, 200) data = analyse_response(response) testcase.assertEqual(data.get('status'), 1)
def test0001(self): """test error of create theme """ response = self.client.post('/school/theme/create', { 'token' : self.token, 'school_id' : 0, 'theme_name' : '测试帖子', 'theme_description' : '测试帖子', 'theme_deadline' : '2019-10-30 00:00:00.000000' }) data = analyse_response(response) self.assertEqual(data.get('status'), 1)
def test0002(self): """test for school user with some error """ schoolid = -1 response = self.client.post( '/school/user/apply', { 'token': self.token, 'apply_reason': 'I am Stupid', 'apply_school_id': schoolid }) data = analyse_response(response) self.assertEqual(data.get('status'), 0)
def test_0003(self): """ Test some failed situations for login """ response = self.client.post( '/user/sign/login', { 'token': self.token, 'username': '******', 'password': encrypt('Password233'), }) self.assertEqual(response.status_code, 200) self.assertEqual(analyse_response(response).get('msg'), 'NoUser') response = self.client.post( '/user/sign/login', { 'token': self.token, 'username': '******', 'password': encrypt('Password233') }) self.assertEqual(response.status_code, 200) self.assertEqual( analyse_response(response).get('msg'), 'PasswordError')
def test0001(self): """test for school user """ school = SchoolHelper.get_school_by_name('测试大学') schoolid = school.get('id') response = self.client.post( '/school/user/apply', { 'token': self.token, 'apply_reason': 'I am Stupid', 'apply_school_id': schoolid }) data = analyse_response(response) self.assertEqual(data.get('status'), 1)
def test_0005(self): """ Test for change password """ response = self.client.post( '/user/sign/modify', { 'token': self.token, 'oldpassword': encrypt("Test666"), 'newpassword': encrypt('Stupid123') }) self.assertEqual(response.status_code, 200) data = analyse_response(response) self.assertEqual(data.get('msg'), 'Success')
def test0004(self): """test user info modify_info """ response = self.client.post( '/user/info/modify', { 'token': self.token, 'realname': 'realtestname', 'school': 'tsinghua', 'motto': 'I am stupid' }) self.assertEqual(response.status_code, 200) msg = analyse_response(response).get('msg') self.assertEqual(msg, 'Modify Success')
def test_0006(self): """ Test for change password error cases """ response = self.client.post( '/user/sign/modify', { 'token': self.token, 'oldpassword': encrypt("WrongPassword233"), 'newpassword': encrypt('Stupid123') }) self.assertEqual(response.status_code, 200) data = analyse_response(response) self.assertEqual(data.get('msg'), 'Old Password Error')
def test0002(self): """test user info for username is testuser """ response = self.client.get('/user/info/get', { 'token': self.token, 'username': '******' }) self.assertEqual(response.status_code, 200) data = analyse_response(response) self.assertEqual( data.get('data').get('user').get('username'), 'testuser') self.assertEqual( data.get('data').get('user').get('phone'), '11011011011')