def get(self): res = ResMsg() try: data = config_env.get_env() res.update(data=data) except Exception as e: res.update(code=ResponseCode.FAIL, msg=str(e)) res = jsonify(res.data) return res
class ConfigCase: ENV = get_env() PROTOCOL = "https" if ENV == 'prod' else "http" HOST_STUDY = "study.ewt360.com" if ENV == 'prod' else "study.{}.mistong.com".format( ENV) HOST_TIKU = "gateway.ewt360.com" if ENV == 'prod' else "gateway.{}.mistong.com".format( ENV) HOST_TEACHER = "teacher.ewt360.com" if ENV == 'prod' else "teacher.{}.mistong.com".format( ENV) HOST_WX = "wx.ewt360.com" if ENV == 'prod' else "wx.test.mistong.com" HOST_GATEWAY = "gateway.ewt360.com" if ENV == 'prod' else "gateway.test.mistong.com" HOST_WEB = "web.ewt360.com" if ENV == 'prod' else "web.test.mistong.com" HOST_INSIDEGATEWAY = "insidegateway.ewt360.com" if ENV == 'prod' else "insidegateway.test.mistong.com" HOST_ADMIN = "admin.mistong.com" if ENV == 'prod' else "admin.test.mistong.com" HOST_PASSPORT = "passport.ewt360.com" if ENV == 'prod' else "my.{}.mistong.com".format( ENV) HOST_QBANK = "admin.mistong.com" if ENV == 'prod' else "admin.{}.mistong.com".format( ENV) QQopenId = "B7A0621A87508E323DD098F279499336" if ENV == 'prod' else "72F8A3C4625EE2171814CF078000D883"
from config.config_env import get_env sleeptime = 20 if get_env() != 'prod' else 30 basketaddinputs1 = [{ "Qid": 343, "KeMu": 1, "KnowledgeId": -1 }] if get_env() != 'prod' else [{ "Qid": 2096, "KeMu": "1", "KnowledgeId": -1 }] basketaddinputs2 = [{"Qid": 343, "KeMu": 1, "KnowledgeId": -1}, {"Qid": 342, "KeMu": 1, "KnowledgeId": -1}, {"Qid": 99, "KeMu": 1, "KnowledgeId": -1}] \ if get_env() != 'prod' else [{"Qid": 2096, "KeMu": "1", "KnowledgeId": -1}, {"Qid": 2094, "KeMu": "1", "KnowledgeId": -1}] knowLedgeIds = [ 7682, 7683, 6678, 6727, 6775, 6871, 6902, 6851, 6852, 6793, 6853, 6856, 6857, 6858, 6859, 6860, 6861, 6862, 6863, 6865, 6866, 6947, 6948, 6949, 6950, 6876, 6877, 6878, 6879, 6951, 6943, 6944, 6945, 6946, 7027, 7028 ]
from common.unittest_v2 import TestCaseV2 from lib.api_lib.tiku.tiku_api import Tiku as tiku from lib.api_lib.ewt_client import WebClient from testcases.api_testcases.tiku_testcases.tiku_data import * import unittest from config.config_env import get_env @unittest.skipIf(get_env() != 'prod', "线下case还未跑通") class SubjectTest(TestCaseV2): @classmethod def setUpClass(cls): pass # cls.tiku_web = tiku(WebClient(username=user_vip['username'], password=user_vip['password'])) @classmethod def tearDownClass(cls): pass def test_post_unioncheck(self): """ title: 聚合接口-查询题目信息(自建题库、菁优题库和老数据) url: /api/qbank/uniform/question/info author: 廖文龙 """ tiku_web = tiku(WebClient(username=user_vip['username'], password=user_vip['password'])) res = tiku_web.post_Unioncheck(questionIdList=questionIdList) print(res) self.assertEqual('200', res['code']) self.assertEqual('操作成功', res['msg']) self.assertIn('questionId', res['data'][0]) self.assertIn('optionsList', res['data'][0])
menu_menuId = 25 menu_subjectId = 2 assign_subjectId = 2 solutionid1 = 33 solutionid2 = 141 # 直连 Id = 162 paperId = 856 timestring = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) paper_title = "试卷" + timestring paper_refIds = [787] video_title = "2个视频" + timestring video_refIds = [2419, 1] topic_title = "专题" + timestring topic_refIds = [172] if get_env() == 'prod': menu_menuId = 3 menu_subjectId = 1 assign_subjectId = 1 solutionid1 = 11 # solutionid2 = 141 直连 Id = 285 paperId = 43228 paper_title = "试卷" + timestring paper_refIds = [43228] video_title = "2个视频" + timestring video_refIds = [19463, 19464] topic_title = "专题" + timestring topic_refIds = [264] promotion_themeid = 4 if get_env() == 'prod' else 70
class SbrLive(TestCaseV2): @classmethod def setUpClass(cls): pass @classmethod def tearDownClass(cls): pass def test_p1_1_sbrlive_listTeacherLiveRecord(self): """ title: 查询教师端直播的回放列表 url: /api/netschool/sbrlive/listTeacherLiveRecord author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_listTeacherLiveRecord(liveId=liveId) print(res) self.assertEqual("200", res['code']) for i in range(0, len(res['data'])): self.assertEqual(str(liveId), res['data'][i]['liveId']) self.assertIn("片段%s" % (i + 1), res['data'][i]['recordName']) self.assertIsNotNone(res['data'][i]['beginTime']) self.assertIsNotNone(res['data'][i]['endTime']) self.assertIsNotNone(res['data'][i]['ccLiveId']) self.assertIsNotNone(res['data'][i]['ccRecordId']) self.assertTrue(res['data'][i]['duration'] > 10) def get_liveId(self, teacher_web, status): res = teacher_web.sbrlive_pageQueryMyLive(liveStatus=status, pageIndex=1, pageSize=100) print(res) liveIds = [i['id'] for i in res['data']] sorted(liveIds) print(liveIds) return liveIds[-1] def test_p1_1_sbrlive_create(self): """ title: 校长给单个班级创建直播, 编辑直播, 删除直播 url: /api/netschool/sbrlive/create,/api/netschool/sbrlive/edit,/api/netschool/sbrlive/delete author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) startTime = CaseServices.get_deadlinetime() finishTime = CaseServices.get_deadlinetime() + 3000000 res = teacher_web.sbrlive_create(liveName="直播自动化测试", roomStyle=1, startTime=startTime, finishTime=finishTime, schoolId=schoolid, classType=1, numberOfStudent=12, gradeClassList=[ {"graduationYear": expireyear, "isAll": 0, "classIdList": [str(groupid_xingzheng)]}]) print(res) self.assertEqual("200", res['code']) self.assertTrue(res['data']) liveId = self.get_liveId(teacher_web, status=0) res2 = teacher_web.sbrlive_edit(id=liveId, liveName="直播自动化测试_编辑", roomStyle=1, startTime=startTime + 1000000, finishTime=finishTime, schoolId=schoolid, classType=1, numberOfStudent=12, gradeClassList=[ {"graduationYear": expireyear, "isAll": 0, "classIdList": [str(groupid_xingzheng)]}]) print(res2) self.assertEqual("200", res2['code']) self.assertTrue(res2['data']) res3 = teacher_web.sbrlive_delete(liveId=liveId) print(res3) self.assertEqual("200", res3['code']) self.assertTrue(res['data']) def test_p1_2_sbrlive_create(self): """ title: 年级主任给年级创建直播, 编辑直播, 删除直播 url: /api/netschool/sbrlive/create,/api/netschool/sbrlive/edit,/api/netschool/sbrlive/delete author: 章志君 """ teacher_web = teacher(web_client(username=grademaster_user['username'])) startTime = CaseServices.get_deadlinetime() finishTime = CaseServices.get_deadlinetime() + 3000000 res = teacher_web.sbrlive_create(liveName="直播自动化测试", roomStyle=1, startTime=startTime, finishTime=finishTime, schoolId=schoolid, classType=1, numberOfStudent=12, gradeClassList=[{"graduationYear": expireyear, "isAll": 1, "classIdList": []}]) print(res) self.assertEqual("200", res['code']) self.assertTrue(res['data']) time.sleep(10) liveId = self.get_liveId(teacher_web, status=0) res3 = teacher_web.sbrlive_delete(liveId=liveId) print(res3) self.assertEqual("200", res3['code']) self.assertTrue(res['data']) def test_p1_3_sbrlive_create(self): """ title: 教学班主任给单个教学班班级创建直播, 删除直播 url: /api/netschool/sbrlive/create,/api/netschool/sbrlive/edit,/api/netschool/sbrlive/delete author: 章志君 """ teacher_web = teacher(web_client(username=classheadteacher_user['username'])) startTime = CaseServices.get_deadlinetime() finishTime = CaseServices.get_deadlinetime() + 3000000 res = teacher_web.sbrlive_create(liveName="直播自动化测试", roomStyle=1, startTime=startTime, finishTime=finishTime, schoolId=schoolid, classType=2, numberOfStudent=12, gradeClassList=[ {"graduationYear": expireyear, "isAll": 0, "classIdList": [str(groupid_jiaoxue)]}]) print(res) self.assertEqual("200", res['code']) self.assertTrue(res['data']) time.sleep(10) liveId = self.get_liveId(teacher_web, status=0) res3 = teacher_web.sbrlive_delete(liveId=liveId) print(res3) self.assertEqual("200", res3['code']) self.assertTrue(res['data']) def test_p1_4_sbrlive_create(self): """ title: 行政班主任给单个教学班班级创建直播, 删除直播 url: /api/netschool/sbrlive/create,/api/netschool/sbrlive/edit,/api/netschool/sbrlive/delete author: 章志君 """ teacher_web = teacher(web_client(username=headteacher_user['username'])) startTime = CaseServices.get_deadlinetime() finishTime = CaseServices.get_deadlinetime() + 3000000 res = teacher_web.sbrlive_create(liveName="直播自动化测试", roomStyle=1, startTime=startTime, finishTime=finishTime, schoolId=schoolid, classType=1, numberOfStudent=12, gradeClassList=[ {"graduationYear": expireyear, "isAll": 0, "classIdList": [str(groupid_xingzheng)]}]) print(res) self.assertEqual("200", res['code']) self.assertTrue(res['data']) time.sleep(10) liveId = self.get_liveId(teacher_web, status=0) res3 = teacher_web.sbrlive_delete(liveId=liveId) print(res3) self.assertEqual("200", res3['code']) self.assertTrue(res['data']) def test_p1_5_sbrlive_create(self): """ title: 心理老师给单个班级创建直播, 编辑为年级直播作业, 删除直播 url: /api/netschool/sbrlive/create,/api/netschool/sbrlive/edit,/api/netschool/sbrlive/delete author: 章志君 """ teacher_web = teacher(web_client(username=psychologicalteacher_user['username'])) startTime = CaseServices.get_deadlinetime() finishTime = CaseServices.get_deadlinetime() + 3000000 res = teacher_web.sbrlive_create(liveName="直播自动化测试", roomStyle=1, startTime=startTime, finishTime=finishTime, schoolId=schoolid, classType=1, numberOfStudent=12, gradeClassList=[ {"graduationYear": expireyear, "isAll": 0, "classIdList": [str(groupid_xingzheng)]}]) print(res) self.assertEqual("200", res['code']) self.assertTrue(res['data']) time.sleep(10) liveId = self.get_liveId(teacher_web, status=0) res2 = teacher_web.sbrlive_edit(id=liveId, liveName="直播自动化测试_编辑", roomStyle=1, startTime=startTime + 1000000, finishTime=finishTime, schoolId=schoolid, classType=1, numberOfStudent=12, gradeClassList=[{"graduationYear": expireyear, "isAll": 1, "classIdList": []}]) print(res2) self.assertEqual("501", res2['code']) self.assertIn("已被布置为班级作业,不能切换为年级作业", res2['msg']) res3 = teacher_web.sbrlive_delete(liveId=liveId) print(res3) self.assertEqual("200", res3['code']) self.assertTrue(res['data']) def test_p1_6_sbrlive_create_edit(self): """ title: 混合角色老师给单个教学班班级创建直播, 编辑为年级直播作业, 删除直播 url: /api/netschool/sbrlive/create,/api/netschool/sbrlive/edit,/api/netschool/sbrlive/delete author: 章志君 """ teacher_web = teacher(web_client(username=teacher_mix_user['username'])) startTime = CaseServices.get_deadlinetime() finishTime = CaseServices.get_deadlinetime() + 3000000 res = teacher_web.sbrlive_create(liveName="直播自动化测试", roomStyle=1, startTime=startTime, finishTime=finishTime, schoolId=schoolid, classType=1, numberOfStudent=12, gradeClassList=[ {"graduationYear": expireyear, "isAll": 0, "classIdList": [str(groupid_xingzheng)]}]) print(res) self.assertEqual("200", res['code']) self.assertTrue(res['data']) time.sleep(10) liveId = self.get_liveId(teacher_web, status=0) res2 = teacher_web.sbrlive_edit(id=liveId, liveName="直播自动化测试_编辑", roomStyle=1, startTime=startTime + 1000000, finishTime=finishTime, schoolId=schoolid, classType=1, numberOfStudent=12, gradeClassList=[ {"graduationYear": expireyear, "isAll": 0, "classIdList": [str(groupid_xingzheng)]}]) print(res2) self.assertEqual("200", res2['code']) self.assertTrue(res2['data']) res3 = teacher_web.sbrlive_delete(liveId=liveId) print(res3) self.assertEqual("200", res3['code']) self.assertTrue(res['data']) def test_p1_1_sbrlive_listTeacherClasses(self): """ title: 查询教师的班级列表_校长返回新高一、高一、高二、高三所有年级班级 url: /api/netschool/sbrlive/listTeacherClasses author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_listTeacherClasses() print(res) self.assertEqual("200", res['code']) graduationYears = [i['graduationYear'] for i in res['data']] self.assertIn(len(graduationYears), (3, 4)) for i in res['data']: self.assertIsNotNone(i['gradeName']) self.assertTrue(i['isGradeLeader']) for j in i['classInfoList']: self.assertIsNotNone(j['className']) self.assertIn(j['classType'], (1, 2)) self.assertIsNotNone(j['classId']) if j['classId'] == str(groupid_xingzheng): self.assertIsNotNone(j['className']) self.assertTrue(j['numberOfStudent'] > 5) self.assertIn(j['classType'], (1, 2)) def test_p1_2_sbrlive_listTeacherClasses(self): """ title: 查询教师的班级列表_年级主任返回对应年级的所有年级班级 url: /api/netschool/sbrlive/listTeacherClasses author: 章志君 """ teacher_web = teacher(web_client(username=grademaster_user['username'])) res = teacher_web.sbrlive_listTeacherClasses() print(res) self.assertEqual("200", res['code']) self.assertEqual(expireyear, res['data'][0]['graduationYear']) for i in res['data']: self.assertIsNotNone(i['gradeName']) self.assertTrue(i['isGradeLeader']) for j in i['classInfoList']: self.assertIsNotNone(j['className']) self.assertIn(j['classType'], (1, 2)) self.assertIsNotNone(j['classId']) if j['classId'] == str(groupid_xingzheng): self.assertIsNotNone(j['className']) self.assertTrue(j['numberOfStudent'] > 5) self.assertIn(j['classType'], (1, 2)) def test_p1_3_sbrlive_listTeacherClasses(self): """ title: 查询教师的班级列表_班主任对应的班级 url: /api/netschool/sbrlive/listTeacherClasses author: 章志君 """ teacher_web = teacher(web_client(username=headteacher_user['username'])) res = teacher_web.sbrlive_listTeacherClasses() print(res) self.assertEqual("200", res['code']) self.assertEqual(expireyear, res['data'][0]['graduationYear']) for i in res['data']: self.assertIsNotNone(i['gradeName']) self.assertFalse(i['isGradeLeader']) for j in i['classInfoList']: self.assertEqual(1, len(i['classInfoList'])) if j['classId'] == str(groupid_xingzheng): self.assertIsNotNone(j['className']) self.assertTrue(j['numberOfStudent'] > 5) self.assertIn(j['classType'], (1, 2)) def test_p1_4_sbrlive_listTeacherClasses(self): """ title: 查询教师的班级列表_接班主任对应的班级 url: /api/netschool/sbrlive/listTeacherClasses author: 章志君 """ teacher_web = teacher(web_client(username=headteacher_user['username'])) res = teacher_web.sbrlive_listTeacherClasses() print(res) self.assertEqual("200", res['code']) self.assertEqual(expireyear, res['data'][0]['graduationYear']) for i in res['data']: self.assertIsNotNone(i['gradeName']) self.assertFalse(i['isGradeLeader']) for j in i['classInfoList']: self.assertEqual(str(groupid_xingzheng), j['classId']) self.assertIsNotNone(j['className']) self.assertTrue(j['numberOfStudent'] > 5) self.assertIn(j['classType'], (1, 2)) def test_p1_5_sbrlive_listTeacherClasses(self): """ title: 查询教师的班级列表_接教学班主任对应的班级 url: /api/netschool/sbrlive/listTeacherClasses author: 章志君 """ teacher_web = teacher(web_client(username=classheadteacher_user['username'])) res = teacher_web.sbrlive_listTeacherClasses() print(res) self.assertEqual("200", res['code']) self.assertEqual(expireyear, res['data'][0]['graduationYear']) for i in res['data']: self.assertIsNotNone(i['gradeName']) self.assertFalse(i['isGradeLeader']) for j in i['classInfoList']: self.assertEqual(str(groupid_jiaoxue), j['classId']) self.assertIsNotNone(j['className']) self.assertTrue(j['numberOfStudent'] > 5) self.assertIn(j['classType'], (1, 2)) def test_p1_6_sbrlive_listTeacherClasses(self): """ title: 查询教师的班级列表_任课老师对应的班级 url: /api/netschool/sbrlive/listTeacherClasses author: 章志君 """ teacher_web = teacher(web_client(username=teacher_user['username'])) res = teacher_web.sbrlive_listTeacherClasses() print(res) self.assertEqual("200", res['code']) self.assertEqual(expireyear, res['data'][0]['graduationYear']) for i in res['data']: self.assertIsNotNone(i['gradeName']) self.assertFalse(i['isGradeLeader']) for j in i['classInfoList']: self.assertEqual(str(groupid_xingzheng), j['classId']) self.assertIsNotNone(j['className']) self.assertTrue(j['numberOfStudent'] > 5) self.assertIn(j['classType'], (1, 2)) def test_p1_7_sbrlive_listTeacherClasses(self): """ title: 查询教师的班级列表_混合角色(校长、任课老师)返回新高一、高一、高二、高三所有年级班级 url: /api/netschool/sbrlive/listTeacherClasses author: 章志君 """ teacher_web = teacher(web_client(username=teacher_mix_user['username'])) res = teacher_web.sbrlive_listTeacherClasses() print(res) self.assertEqual("200", res['code']) graduationYears = [i['graduationYear'] for i in res['data']] self.assertIn(len(graduationYears), (3, 4)) for i in res['data']: self.assertIsNotNone(i['gradeName']) self.assertTrue(i['isGradeLeader']) for j in i['classInfoList']: self.assertIsNotNone(j['className']) self.assertIn(j['classType'], (1, 2)) self.assertIsNotNone(j['classId']) if j['classId'] == str(groupid_xingzheng): self.assertIsNotNone(j['className']) self.assertTrue(j['numberOfStudent'] > 5) self.assertIn(j['classType'], (1, 2)) def test_p1_sbrlive_getLiveInfo(self): """ title: 查看直播信息 url: /api/netschool/sbrlive/getLiveInfo author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_getLiveInfo(liveId=liveId) print(res) self.assertEqual("200", res['code']) self.assertEqual(liveInfo, res['data']) def test_p1_1_sbrlive_pageQueryMyLive(self): """ title: 我的直播_根据直播Id查询 url: /api/netschool/sbrlive/pageQueryMyLive author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_pageQueryMyLive(liveId=liveId, liveStatus="", pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertEqual(1, res['totalRecords']) self.assertEqual(liveInfo['id'], res['data'][0]['id']) self.assertEqual(liveInfo['liveName'], res['data'][0]['liveName']) self.assertEqual(liveInfo['startTime'], res['data'][0]['startTime']) self.assertEqual(liveInfo['finishTime'], res['data'][0]['finishTime']) self.assertEqual(str(teacher_web.client.user_id), res['data'][0]['teacherId']) self.assertEqual(2, res['data'][0]['liveStatus']) self.assertEqual(3, res['data'][0]['liveDetailStatus']) self.assertTrue(res['data'][0]['numberOfStudent'] > 5) def test_p1_2_sbrlive_pageQueryMyLive(self): """ title: 我的直播_根据直播名称查询 url: /api/netschool/sbrlive/pageQueryMyLive author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_pageQueryMyLive(liveName=liveInfo['liveName'], liveStatus="", pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertTrue(res['totalRecords'] >= 1) for i in res['data']: self.assertIn(liveInfo['liveName'], res['data'][0]['liveName']) def test_p1_3_sbrlive_pageQueryMyLive(self): """ title: 我的直播_时间段筛选直播 url: /api/netschool/sbrlive/pageQueryMyLive author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_pageQueryMyLive(startTime=liveInfo['startTime'], finishTime=liveInfo['finishTime'], liveStatus="", pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertTrue(res['totalRecords'] >= 1) for i in res['data']: self.assertTrue(liveInfo['startTime'] <= i['startTime']) self.assertTrue(i['startTime'] <= liveInfo['finishTime']) def test_p1_4_sbrlive_pageQueryMyLive(self): """ title: 我的直播_筛选出已截止的直播 url: /api/netschool/sbrlive/pageQueryMyLive author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_pageQueryMyLive(liveStatus=2, pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertTrue(res['totalRecords'] >= 1) for i in res['data']: self.assertTrue(2, i['liveStatus']) def test_p1_5_sbrlive_pageQueryMyLive(self): """ title: 我的直播_混合查询 url: /api/netschool/sbrlive/pageQueryMyLive author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_pageQueryMyLive(liveId=liveId, liveName=liveInfo['liveName'], startTime=liveInfo['startTime'], finishTime=liveInfo['finishTime'], liveStatus=2, pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertEqual(1, res['totalRecords']) for i in res['data']: self.assertTrue(2, i['liveStatus']) self.assertIn(liveInfo['liveName'], res['data'][0]['liveName']) def test_p1_1_sbrlive_pageQuerySchoolLive(self): """ title: 校内直播列表_无条件查询 url: /api/netschool/sbrlive/pageQuerySchoolLive author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_pageQuerySchoolLive(liveStatus="", pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertTrue(len(res['data']) >= 1) def test_p1_2_sbrlive_pageQuerySchoolLive(self): """ title: 校内直播列表_根据liveId筛选直播 url: /api/netschool/sbrlive/pageQuerySchoolLive author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_pageQuerySchoolLive(liveId=liveId, liveStatus="", pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertEqual(1, res['totalRecords']) self.assertEqual(liveInfo['id'], res['data'][0]['id']) self.assertEqual(liveInfo['liveName'], res['data'][0]['liveName']) self.assertEqual(liveInfo['startTime'], res['data'][0]['startTime']) self.assertEqual(liveInfo['finishTime'], res['data'][0]['finishTime']) self.assertEqual(str(teacher_web.client.user_id), res['data'][0]['teacherId']) self.assertEqual(2, res['data'][0]['liveStatus']) self.assertTrue(res['data'][0]['numberOfStudent'] > 5) def test_p1_3_sbrlive_pageQuerySchoolLive(self): """ title: 校内直播列表_根据直播名称查询 url: /api/netschool/sbrlive/pageQuerySchoolLive author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_pageQuerySchoolLive(liveName=liveInfo['liveName'], liveStatus="", pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertTrue(res['totalRecords'] >= 1) for i in res['data']: self.assertIn(liveInfo['liveName'], res['data'][0]['liveName']) def test_p1_4_sbrlive_pageQuerySchoolLive(self): """ title: 校内直播列表_混合查询 url: /api/netschool/sbrlive/pageQuerySchoolLive author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_pageQuerySchoolLive(liveId=liveId, liveName=liveInfo['liveName'], startTime=liveInfo['startTime'], finishTime=liveInfo['finishTime'], liveStatus=2, pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertEqual(1, res['totalRecords']) for i in res['data']: self.assertTrue(2, i['liveStatus']) self.assertIn(liveInfo['liveName'], res['data'][0]['liveName']) def test_p1_5_sbrlive_pageQuerySchoolLive(self): """ title: 校内直播列表_年级主任显示对应年级的校内直播列表 url: /api/netschool/sbrlive/pageQuerySchoolLive author: 章志君 """ teacher_web = teacher(web_client(username=grademaster_user['username'])) res = teacher_web.sbrlive_pageQuerySchoolLive(liveStatus="", pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertTrue(len(res['data']) >= 1) self.assertEqual(len(res['data']), res['totalRecords']) def test_p1_6_sbrlive_pageQuerySchoolLive(self): """ title: 校内直播列表_班主任显示对应管理班级的直播列表 url: /api/netschool/sbrlive/pageQuerySchoolLive author: 章志君 """ teacher_web = teacher(web_client(username=headteacher_user['username'])) res = teacher_web.sbrlive_pageQuerySchoolLive(liveStatus="", pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertTrue(len(res['data']) >= 1) self.assertEqual(len(res['data']), res['totalRecords']) def test_p1_7_sbrlive_pageQuerySchoolLive(self): """ title: 校内直播列表_心理老师直播列表空 url: /api/netschool/sbrlive/pageQuerySchoolLive author: 章志君 """ teacher_web = teacher(web_client(username=psychologicalteacher_user['username'])) res = teacher_web.sbrlive_pageQuerySchoolLive(liveStatus="", pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertEqual(0, len(res['data'])) self.assertEqual(len(res['data']), res['totalRecords']) def test_p1_8_sbrlive_pageQuerySchoolLive(self): """ title: 校内直播列表_教学班主任老师直播列表空 url: /api/netschool/sbrlive/pageQuerySchoolLive author: 章志君 """ teacher_web = teacher(web_client(username=classheadteacher_user['username'])) res = teacher_web.sbrlive_pageQuerySchoolLive(liveStatus="", pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertEqual(0, len(res['data'])) self.assertEqual(len(res['data']), res['totalRecords']) def test_p1_9_sbrlive_pageQuerySchoolLive(self): """ title: 校内直播列表_任课老师直播列表空 url: /api/netschool/sbrlive/pageQuerySchoolLive author: 章志君 """ teacher_web = teacher(web_client(username=teacher_user['username'])) res = teacher_web.sbrlive_pageQuerySchoolLive(liveStatus="", pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertEqual(0, len(res['data'])) self.assertEqual(len(res['data']), res['totalRecords']) def test_p1_10_sbrlive_pageQuerySchoolLive(self): """ title: 校内直播列表_混合角色显示直播列表 url: /api/netschool/sbrlive/pageQuerySchoolLive author: 章志君 """ teacher_web = teacher(web_client(username=teacher_mix_user['username'])) res = teacher_web.sbrlive_pageQuerySchoolLive(liveStatus="", pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertTrue(len(res['data']) >= 1) self.assertEqual(len(res['data']), res['totalRecords']) def test_p1_sbrlive_getLiveToken(self): """ title: 获取直播令牌信息(c端) url: /api/netschool/sbrlive/getLiveToken author: 章志君 """ teacher_web = teacher(web_client(username=student_user['username'], password=student_user['password'])) res = teacher_web.sbrlive_getLiveToken(liveId=liveId) print(res) self.assertEqual("200", res['code']) self.assertIsNotNone(res['data']['adminUserId']) self.assertIsNotNone(res['data']['roomId']) self.assertIsNotNone(res['data']['viewerName']) self.assertIsNotNone(res['data']['viewerCustomua']) self.assertIsNotNone(res['data']['viewerToken']) self.assertIn(str(teacher_web.client.user_id), res['data']['viewerToken']) def test_p1_sbrlive_getTeacherLiveToken(self): """ title: 获取直播令牌信息(讲师) url: /api/netschool/sbrlive/getTeacherLiveToken author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_getTeacherLiveToken(liveId=liveId) print(res) self.assertEqual("200", res['code']) self.assertIsNotNone(res['data']['adminUserId']) self.assertIsNotNone(res['data']['roomId']) self.assertIsNotNone(res['data']['realName']) self.assertIsNotNone(res['data']['publisherPass']) teacher_web = teacher(web_client(username=student_user['username'], password=student_user['password'])) res2 = teacher_web.sbrlive_getLiveToken(liveId=liveId) self.assertIsNotNone(res['data']['roomId'], res2['data']['roomId']) @unittest.skipIf(get_env() != 'prod', '线下跳过((仅线上,测试环境没数据-cc只提供了一套环境))') def test_p1_sbrlive_listLiveRecord(self): """ title: 查询直播的回放列表 url: /api/netschool/sbrlive/listLiveRecord author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_listLiveRecord(liveId=liveId) print(res) self.assertEqual("200", res['code']) self.assertIsNotNone(res['data']['roomId']) self.assertTrue(len(res['data']['recordList']) >= 1) def test_p1_sbrlive_listLiveState(self): """ title: 根据直播id列表查询直播状态(c端) url: /api/netschool/sbrlive/listLiveState author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res2 = teacher_web.sbrlive_pageQueryMyLive(liveStatus="", pageIndex=1, pageSize=100) liveIds = [i['id'] for i in res2['data']] res = teacher_web.sbrlive_listLiveState(liveIdList=liveIds) print(res) self.assertEqual("200", res['code']) for i in res['data']: self.assertIn(i['liveId'], liveIds) self.assertIn(i['state'], [0, 1, 2, 3]) def test_p1_sbrlive_uncompleted(self): """ title: 直播未参与学生 url: /api/netschool/sbrlive/uncompleted author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_uncompleted(liveId=liveId, classId="", pageIndex=1, pageSize=100) print(res) self.assertEqual("200", res['code']) self.assertTrue(res['totalRecords'] > 1) self.assertEqual(len(res['data']), res['totalRecords']) classIds = [i['classId'] for i in res['data']] self.assertIn(str(groupid_xingzheng), classIds) for i in res['data']: self.assertIsNotNone(i['studentId']) self.assertIsNotNone(i['studentName']) def test_p1_sbrlive_arrangingClassList(self): """ title: 直播布置到的全部班级 url: /api/netschool/sbrlive/arrangingClassList author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_arrangingClassList(liveId=liveId) print(res) self.assertEqual("200", res['code']) classIds = [i['classId'] for i in res['data']] classNames = [i['className'] for i in res['data']] res2 = teacher_web.class_listClassesContainDisbanded(classIdList=[groupid_xingzheng]) print(res2) self.assertIn(res2['data'][0]['classId'], classIds) self.assertIn(res2['data'][0]['className'], classNames) @unittest.skipIf(get_env() != 'prod', '线下跳过((仅线上,测试环境没数据-cc只提供了一套环境))') def test_p1_sbrlive_overview(self): """ title: 直播概况 url: /api/netschool/sbrlive/statistics/overview author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_overview(liveId=liveId) print(res) self.assertEqual("200", res['code']) self.assertEqual(str(liveId), res['data']['liveId']) self.assertTrue(res['data']['totalCount'] > 5) self.assertTrue(res['data']['participateCount'] >= 1) self.assertTrue(res['data']['maxConcurrentCount'] >= 1) self.assertTrue(res['data']['averageDuration'] >= 100) @unittest.skipIf(get_env() != 'prod', '线下跳过((仅线上,测试环境没数据-cc只提供了一套环境))') def test_p1_sbrlive_online(self): """ title: 直播在线人数 url: /api/netschool/sbrlive/statistics/online author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_online(liveId=liveId) print(res) self.assertEqual("200", res['code']) self.assertEqual(str(liveId), res['data']['liveId']) self.assertTrue(len(res['data']['onlineStatistics']) > 2) for i in res['data']['onlineStatistics']: self.assertIsNotNone(i['moment']) self.assertTrue(i['connectionCount'] >= 1) @unittest.skipIf(get_env() != 'prod', '线下跳过((仅线上,测试环境没数据-cc只提供了一套环境))') def test_p1_sbrlive_details(self): """ title: 直播明细 url: /api/netschool/sbrlive/statistics/details author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) teacher_web2 = teacher(web_client(username=student_user['username'], password=student_user['password'])) res = teacher_web.sbrlive_details(liveId=liveId, classId=groupid_xingzheng, pageIndex=1, pageSize=20) print(res) self.assertEqual("200", res['code']) self.assertTrue(len(res['data']) >= 1) self.assertEqual(str(groupid_xingzheng), res['data'][0]['classId']) self.assertEqual(str(teacher_web2.client.user_id), res['data'][0]['studentId']) self.assertTrue(res['data'][0]['completion'] > 10) self.assertTrue(int(res['data'][0]['watchTime']) > 10) self.assertTrue(res['data'][0]['enterLeaveCount'] >= 1) self.assertTrue(res['data'][0]['chatCount'] >= 1) self.assertTrue(res['data'][0]['rollcallCount'] >= 1) @unittest.skipIf(get_env() != 'prod', '线下跳过((仅线上,测试环境没数据-cc只提供了一套环境))') def test_p1_sbrlive_getRecordAvgDuration(self): """ title: 获取回放的平均观看时长 url: /api/netschool/sbrlive/statistics/getRecordAvgDuration author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_getRecordAvgDuration(liveId=liveId) print(res) self.assertEqual("200", res['code']) self.assertTrue(int(res['data']['avgDuration']) >= 1) self.assertTrue(int(res['data']['unCompleteAvgDuration']) >= 1) @unittest.skipIf(get_env() != 'prod', '线下跳过((仅线上,测试环境没数据-cc只提供了一套环境))') def test_p1_sbrlive_pageQueryRecordDetails(self): """ title: 分页查询回放观看明细 url: /api/netschool/sbrlive/statistics/pageQueryRecordDetails author: 章志君 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.sbrlive_pageQueryRecordDetails(liveId=liveId, classId=0, order=0, pageIndex=1, pageSize=20) print(res) self.assertEqual("200", res['code']) self.assertTrue(res['totalRecords'] > 0) self.assertIn(str(groupid_xingzheng), str(res['data'])) for i in res['data']: self.assertIsNotNone(i['userId']) self.assertIsNotNone(i['duration']) self.assertIsNotNone(i['rate'])
from config.config_env import get_env svip_account = "qianshui" if get_env() == 'prod' else "qianyan" unreactivated_account = "qianwan" if get_env() == 'prod' else "qianhe" QQopenId = "B7A0621A87508E323DD098F279499336" if get_env( ) == 'prod' else "72F8A3C4625EE2171814CF078000D883" mobile = "15088738891" if get_env() == 'prod' else '15011223344' userid = "13726882" if get_env() == 'prod' else '100113705' ontrial = "zpyxs315410" if get_env() == 'prod' else 'kcg200918001'
from config.config_env import get_env basketforteaaddinput1 = [{ "qid": 2397, "kemu": "10", "typeid": 1 }] if get_env() != "prod" else [{ "qid": 24525, "kemu": "10", "typeid": 1 }] basketforteaaddinput2 = [{"qid": 2355, "kemu": "10", "typeid": 1}, {"qid": 2356, "kemu": "10", "typeid": 1}, {"qid": 2357, "kemu": "10", "typeid": 1}] \ if get_env() != "prod" else [{"qid": 24584, "kemu": "10", "typeid": 1}, {"qid": 24585, "kemu": "10", "typeid": 1}, {"qid": 24602, "kemu": "10", "typeid": 1}] typelist = [{'id': 17, 'title': '生涯规划', 'childlist': [{'id': 17, 'title': '全部'}, {'id': 29, 'title': '认识自我'}, {'id': 31, 'title': '学会决策'}, {'id': 32, 'title': '学会管理'}, {'id': 49, 'title': '认识世界'}]}, {'id': 18, 'title': '志愿填报', 'childlist': [ {'id': 18, 'title': '全部'}, {'id': 33, 'title': '填报常识'}, {'id': 34, 'title': '填报技巧'}, {'id': 35, 'title': '填报案例'}]}, {'id': 19, 'title': '大学风采', 'childlist': []}, {'id': 20, 'title': '职业介绍', 'childlist': []}, {'id': 21, 'title': '专业解读', 'childlist': [{'id': 21, 'title': '全部'}, {'id': 37, 'title': '工学'}, {'id': 38, 'title': '法学'}, {'id': 39, 'title': '教育学'}, {'id': 40, 'title': '经济学'}, {'id': 41, 'title': '文学'}, {'id': 42, 'title': '管理学'}, {'id': 43, 'title': '历史学'}, {'id': 44, 'title': '医学'}, {'id': 45, 'title': '农学'}, {'id': 46, 'title': '艺术学'}, {'id': 47, 'title': '理学'},
'description': '化学' }, { 'value': 6, 'description': '生物' }, { 'value': 7, 'description': '政治' }, { 'value': 8, 'description': '历史' }, { 'value': 9, 'description': '地理' }] if get_env() == 'prod': cellphone1 = 14100000003 #无职务,用于老师管理-添加老师删除老师 userIdTest1 = 112421139 #手机号14100000003对应的userId cellphone = 14100000004 #校长,密码会变(发送短信case),用于OA编辑老师、发送短信等case userIdTest = 112421147 #手机号14100000004对应的userId cellphone3 = 14100000006 #非老师 classIdTest = 1018921 #oa_teacher_test.py 添加老师任课老师时选择班级用 schoolconf = [{ 'key': 'SCHOOL_BASED_VIDEO_PERMISSION', 'value': 'true' }, { 'key': 'LIGHT_WEIGHT_ONLINE_SCHOOL_PERMISSION', 'value': 'true' }, { 'key': 'SCHOOL_BASED_PAPERS_PERMISSION', 'value': 'true'
from config.config_env import get_env sbr_paperid = 24160 if get_env() == 'prod' else 199 syllabuses_expect = [{ 'no': 1, 'title': '一、选择题', 'type': 1, 'totalscore': 40.0, 'questioncnt': 4, 'details': [{ 'questionid': 268653524, 'no': 1, 'type': 1, 'correct': 0, 'totalscore': 0.0, 'score': None, 'options': [{ 'iscorrect': False, 'chosed': False,
class ContentsTest(TestCaseV2): @classmethod def setUpClass(cls): pass @classmethod def tearDownClass(cls): pass def test_p1_get_menuall(self): """ title: 验证微信端的/menu/all(获取菜单)接口 url: /api/eteacherproduct/menu/all author: 吴丽燕 """ teacher_web = teacher(web_client(username=principal_user['username'])) token = teacher_web.client.user_token res = teacher_web.menuall(token=token) print(res) self.assertEqual("200", res['code']) self.assertEqual("操作成功", res['msg']) self.assertTrue(len(res['data']) > 0) def test_p1_get_menuselect(self): """ title: 验证微信端的/menu/select(设置教学进度)接口 url: /api/eteacherproduct/menu/select author: 吴丽燕 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.menuselect(menuId=menu_menuId, subjectId=menu_subjectId) print(res) self.assertEqual("200", res['code']) self.assertEqual("操作成功", res['msg']) def test_p1_get_solutionlist_1(self): """ title: 验证微信端的/solution/list(方案列表)接口,check点:非直连方式 url: /api/eteacherproduct/solution/list author: 吴丽燕 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.solutionlist(menuId=menu_menuId) print(res) self.assertEqual("200", res['code']) self.assertEqual("操作成功", res['msg']) # 目录方式 connectedMode1 = [ s['connectedMode'] for s in res['data']['data'] if s['id'] == solutionid1 ] self.assertEqual(1, connectedMode1[0]) @unittest.skipIf(get_env() == 'prod', '线上暂时跳过(无数据)') def test_p1_get_solutionlist_2(self): """ title: 验证微信端的/solution/list(方案列表)接口,check点:直连方式 url: /api/eteacherproduct/solution/list author: 吴丽燕 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.solutionlist(menuId=menu_menuId) print(res) self.assertEqual("200", res['code']) self.assertEqual("操作成功", res['msg']) # 专题直连方式 connectedMode1 = [ s['connectedMode'] for s in res['data']['data'] if s['id'] == solutionid2 ] self.assertEqual(2, connectedMode1[0]) def test_p1_get_topicdetail(self): """ title: 验证微信端的topicDetail(专题详情)接口,check点:返回url url: /api/eteacherproduct/solution/content/topicDetail author: 吴丽燕 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.topicdetail(topicId=Id) print(res) self.assertEqual("200", res['code']) self.assertEqual("操作成功", res['msg']) self.assertTrue(len(res['data']['h5url']) > 0) self.assertTrue(len(res['data']['pcurl']) > 0) @unittest.skipIf(get_env() == 'prod', '线上暂时跳过(数据不一致)') def test_p1_get_solutioncontent_test(self): """ title: 验证微信端的contents(内容获取)接口,check点:视频、试卷、专题类型字段 url: /api/eteacherproduct/solution/contents author: 吴丽燕 """ # 专题内容获取(验证视频、试卷、专题) teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.solutioncontent(solutionId=solutionid1) print(res) self.assertEqual("200", res['code']) self.assertEqual("操作成功", res['msg']) self.assertEqual( 1, res['data']['solution']['subList'][2]['content'][1]['contentType']) self.assertEqual( 2, res['data']['solution']['subList'][2]['content'][0]['contentType']) self.assertEqual( 3, res['data']['solution']['subList'][3]['content'][1]['contentType']) @unittest.skipIf(get_env() != 'prod', '线下暂时跳过(数据不一致)') def test_p1_get_solutioncontent_prod(self): """ title: 验证微信端的contents(内容获取)接口,check点:视频、试卷类型字段 url: /api/eteacherproduct/solution/contents author: 吴丽燕 """ # 专题内容获取(验证视频、试卷、专题) teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.solutioncontent(solutionId=solutionid1) print(res) self.assertEqual("200", res['code']) self.assertEqual("操作成功", res['msg']) self.assertEqual( 1, res['data']['solution']['subList'][0]['content'][0]['contentType']) self.assertEqual( 2, res['data']['solution']['subList'][8]['content'][0]['contentType']) def test_p1_get_solutionintroduce(self): """ title: 验证微信端的introduce(内容介绍)接口 url: /api/eteacherproduct/solution/introduce author: 吴丽燕 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.solutionintroduce(solutionId=Id) print(res) self.assertEqual("200", res['code']) self.assertEqual("操作成功", res['msg']) def test_p1_get_papergetquestions(self): """ title: 验证微信端的获取试卷题目接口 url: /api/homeworkprod/resource/paper/getPaperInfo author: 吴丽燕 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.homeworkprod_getPaperInfo(paperId=paperId, schoolId=schoolid) print(res) self.assertEqual(res['code'], '200') self.assertTrue(len(res['data']['questionList']) > 0) self.assertTrue( len(res['data']['questionList'][0]['questionContent']) > 0) def test_p1_get_createpaper(self): """ title: 验证微信端的组卷接口 url: /api/paperlibrary/createpaper author: 吴丽燕 """ teacher_web = teacher(web_client(username=principal_user['username'])) questions = teacher_web.homeworkprod_getPaperInfo(paperId=paperId, schoolId=schoolid) selectedquestions = [] selectedquestions.append( questions['data']['questionList'][0]['questionId']) selectedquestions.append( questions['data']['questionList'][1]['questionId']) post_data = {"questionIdList": selectedquestions, "subjectId": 1} res = teacher_web.homeworkprod_generatePaperByQuestionList(post_data) print(res) self.assertEqual(res['code'], '200') self.assertTrue(res['success']) self.assertTrue(res['data']) def test_p1_get_getclasseswithgradeinfo(self): """ title: 验证获取班级接口,check:验证只能获取到行政班+对应学科的教学班,withSpecialTopic字段只是用于前端 url: /api/services/HomeworkService/weChatHomework/GetClassesWithGradeInfo author: 吴丽燕 """ teacher_web = teacher(web_client(username=principal_user['username'])) res = teacher_web.wxgetclasseswithgradeinfo(subjectId=assign_subjectId, withSpecialTopic="false") print(res) self.assertTrue(res['code'], 200) # 判断返回的是行政班+对应学科的教学班 for grades in res['data']['grades']: for classes in grades['classes']: improvedsubject = [0, assign_subjectId] self.assertTrue( set([classes['subject']]).issubset(set(improvedsubject))) def test_p1_get_assign_gradehomework(self): """ title: 验证年级立即布置视频1、试卷2、专题3作业 url: /api/services/HomeworkService/weChatHomework/GetClassesWithGradeInfo, /api/eteacherproduct/homework/assignment author: 吴丽燕 """ # todo 最好通过学生的作业列表来check teacher_web = teacher(web_client(username=principal_user['username'])) arrangeType = 0 # arrangeType立即布置:0;定时布置:1; classType = 1 # classType行政班:1;教学班:2 components = [] # 试卷信息 components.append({ "title": paper_title, "type": 2, "refIds": paper_refIds, "count": 0 }) # 多个视频作业 components.append({ "title": video_title, "type": 1, "refIds": video_refIds }) # 专题作业 components.append({ "title": topic_title, "type": 3, "refIds": topic_refIds, "count": 0 }) classinfo = teacher_web.wxgetclasseswithgradeinfo( subjectId=assign_subjectId, withSpecialTopic="false") expireYear = classinfo['data']['grades'][0]['classes'][0]['gradeyear'] classList = classinfo['data']['grades'][0]['classes'][0]['classid'] isGradeHomework = True gradeClasses = [] currentClass = classinfo['data']['grades'][0]['classes'][0] expireYears = [expireYear] selectedClass = [] subject = menu_subjectId solutionId = str(solutionid1) usetimes = 200 startTime = int(round(time.time() * 1000)) # 当前时间 deadline = startTime + 86400000 res = teacher_web.homeworkassign(arrangeType, classType, components, isGradeHomework, gradeClasses, currentClass, expireYears, selectedClass, subject, solutionId, usetimes, startTime, deadline) print(res) self.assertEqual("200", res['code']) self.assertEqual("操作成功", res['msg']) def test_p1_get_assign_classhomework_arrangeType0(self): """ title: 验证年级立即布置视频1、试卷2、专题3作业 url: /api/services/HomeworkService/weChatHomework/GetClassesWithGradeInfo, /api/eteacherproduct/homework/assignment author: 吴丽燕 """ # todo 最好通过学生的作业列表来check teacher_web = teacher( web_client(username=headteacher_user['username'])) arrangeType = 0 # arrangeType立即布置:0;定时布置:1; classType = 1 # classType行政班:1;教学班:2 components = [] # 试卷信息 components.append({ "title": paper_title, "type": 2, "refIds": paper_refIds, "count": 0 }) # 多个视频作业 components.append({ "title": video_title, "type": 1, "refIds": video_refIds }) # 专题作业 components.append({ "title": topic_title, "type": 3, "refIds": topic_refIds, "count": 0 }) classinfo = teacher_web.wxgetclasseswithgradeinfo( subjectId=assign_subjectId, withSpecialTopic="false") expireYear = classinfo['data']['grades'][0]['classes'][0]['gradeyear'] classList = classinfo['data']['grades'][0]['classes'][0]['classid'] isGradeHomework = False gradeClasses = [{"expireYear": expireYear, "classList": [classList]}] currentClass = classinfo['data']['grades'][0]['classes'][0] expireYears = [] selectedClass = [] subject = menu_subjectId solutionId = str(solutionid1) usetimes = 200 startTime = int(round(time.time() * 1000)) # 当前时间 deadline = startTime + 86400000 res = teacher_web.homeworkassign(arrangeType, classType, components, isGradeHomework, gradeClasses, currentClass, expireYears, selectedClass, subject, solutionId, usetimes, startTime, deadline) print(res) self.assertEqual("200", res['code']) self.assertEqual("操作成功", res['msg']) def test_p1_get_assign_classhomework_arrangeType1(self): """ title: 验证班级定时布置视频1、试卷2、专题3作业 url: /api/services/HomeworkService/weChatHomework/GetClassesWithGradeInfo, /api/eteacherproduct/homework/assignment author: 吴丽燕 """ # todo 最好通过教师的作业列表来check teacher_web = teacher( web_client(username=headteacher_user['username'])) arrangeType = 1 # arrangeType立即布置:0;定时布置:1; classType = 1 # classType行政班:1;教学班:2 components = [] # 试卷信息 components.append({ "title": paper_title, "type": 2, "refIds": paper_refIds, "count": 0 }) # 多个视频作业 components.append({ "title": video_title, "type": 1, "refIds": video_refIds }) # 专题作业 components.append({ "title": topic_title, "type": 3, "refIds": topic_refIds, "count": 0 }) classinfo = teacher_web.wxgetclasseswithgradeinfo( subjectId=assign_subjectId, withSpecialTopic="false") expireYear = classinfo['data']['grades'][0]['classes'][0]['gradeyear'] classList = classinfo['data']['grades'][0]['classes'][0]['classid'] isGradeHomework = False gradeClasses = [{"expireYear": expireYear, "classList": [classList]}] currentClass = classinfo['data']['grades'][0]['classes'][0] expireYears = [] selectedClass = [] subject = menu_subjectId solutionId = str(solutionid1) usetimes = 200 startTime = int(round(time.time() * 1000) + 43200000) # 当前时间+12h deadline = startTime + 86400000 res = teacher_web.homeworkassign(arrangeType, classType, components, isGradeHomework, gradeClasses, currentClass, expireYears, selectedClass, subject, solutionId, usetimes, startTime, deadline) print(res) self.assertEqual("200", res['code']) self.assertEqual("操作成功", res['msg'])
from config.config_env import get_env ENV = get_env() oa_uid = 412 expireyear = 2020 grade = 3 schoolid = 25729 current_school_year = 2020 # 校长账号 principal_user = {'username': '******', 'password': '******'} new_senior_user = {'username': '******', 'password': '******'} # 心理老师账号 psychologicalteacher_user = {'username': '******', 'password': '******'} # 行政班班主任账号 headteacher_user = {'username': '******', 'password': '******'} # 年级主任账号 grademaster_user = {'username': '******', 'password': '******'} # g1年级主任账号 grademaster_user_of_g1 = {'username': '******', 'password': '******'} # 学科老师账号 teacher_user = {'username': '******', 'password': '******'} # 无角色老师账号 normalteacher_user = {'username': '******', 'password': '******'} # 教学班班主任账号 classheadteacher_user = {'username': '******', 'password': '******'} # 混合角色老师账号(既担任校领导,又担任多个老师角色) teacher_mix_user = {'username': '******', 'password': '******'} # 行政班班级id(行政班班主任所管理的班级) groupid_xingzheng = 543529 # 教学班班级id
from config.config_env import get_env new_evalution_id = 100000 if get_env() == 'prod' else 100001 if get_env() == 'prod': submit_url = 'http://gateway.ewt360.com/api/evaluation/eval/post/user/record' question_list_url = 'http://gateway.ewt360.com/api/evaluation/eval/get/user/questionlist' report_url = 'http://gateway.ewt360.com/api/evaluation/eval/get/group/report' else: submit_url = 'http://10.0.11.86:8769/api/evaluation/eval/post/user/record' question_list_url = 'http://10.0.11.86:8769/api/evaluation/eval/get/user/questionlist' report_url = 'http://10.0.11.86:8769/api/evaluation/eval/get/group/report'
from config.config_env import get_env from testcases.api_testcases.b_end_testcases.schooluser_data import current_school_year # expireyear = 2020 # studentzzj_user = {'username': '******', 'password': '******'} student_name = '田彦涛a' classinfo = { 'classId': 173713, 'className': '新高一(1)班' } if get_env() != 'prod' else { 'classId': 907448, 'className': '高一(1)班' } # 3+3 自由选科 # subjectlist_33_1 = [{"id":1,"name":"物理"},{"id":2,"name":"化学"},{"id":3,"name":"生物"},{"id":4,"name":"历史"},{"id":5,"name":"地理"},{"id":6,"name":"政治"},{"id":7,"name":"技术"}] subjectlist_33_1 = [{ "id": 8, "name": "物理" }, { "id": 9, "name": "化学" }, { "id": 10, "name": "生物" }, { "id": 11, "name": "历史" }, { "id": 12, "name": "地理"
import requests from config.config_env import get_env user_vip = { "username": '******', "password": '******' } if get_env() == 'prod' else { "username": '******', "password": '******' } # qbank的数据池 questionIdList = [ 1683946698346446966, 1683946698346446995, 2683947583109709925, 2683947583109709926, 2683947608879513602 ] if get_env() == 'prod' else [2678819443697336324] def get_login_for_admin(): admin_url = 'http://admin.mistong.com/api/ssoprod/auth/preLogin' try: headers = {"Content-Type": "application/json"} params = {"username": "******", "password": "******"} response = requests.post(url=admin_url, headers=headers, json=params, timeout=20) # 设置超时 response.raise_for_status() response.encoding = response.apparent_encoding if response.status_code == 200: result = response.json()['data'] # base_operationdb_interface.op_sql("UPDATE token_total set value_config='%s' where id=4" % (result))