def test_get_onairtime(self): header['X-Auth-Token'] = test_parameter['broadcaster_token'] header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce'] # uid不存在 uid = '1234EERR' res = api.get_onairtime(test_parameter['prefix'], uid, header) assert res.status_code == 404 # uid為粉絲 uid = api.search_user(test_parameter['prefix'], test_parameter['backend_acc'], header) res = api.get_onairtime(test_parameter['prefix'], uid, header) json_result = json.loads(res.text) assert json_result['Message'] == 'User is not LiveMaster.' assert json_result['Status'] == 'Error' # uid為直播主 uid = api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header) res = api.get_onairtime(test_parameter['prefix'], uid, header) json_result = json.loads(res.text) assert res.status_code == 200 assert len(json_result['data']) > 0 # uid為直播主但未設定過開播時間 uid = api.search_user(test_parameter['prefix'], test_parameter['broadcaster2_acc'], header) res = api.get_onairtime(test_parameter['prefix'], uid, header) json_result = json.loads(res.text) assert res.status_code == 200 assert len(json_result['data']) == 0
def setup_module(): initdata.set_test_data(env, test_parameter) header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] idList.append( api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header)) idList.append( api.search_user(test_parameter['prefix'], test_parameter['backend_acc'], header)) idList.append( api.search_user(test_parameter['prefix'], test_parameter['liveController1_acc'], header)) idList.append( api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header)) idList.append('3420dkajfpi4wujfasdkdp') header['X-Auth-Token'] = test_parameter['liveController1_token'] header['X-Auth-Nonce'] = test_parameter['liveController1_nonce'] url = '/api/v2/identity/myInfo' body = { 'nickname': '231QQ', 'sex': 0, 'isPublicSexInfo': True, 'description': '我是liveController!!!', 'birthday': int(time.time() - 5000) } api.apiFunction(test_parameter['prefix'], header, url, 'put', body) time.sleep(30)
def testLiveController(self): midlist = [] apilink = '/api/v2/identity/{{uid}}/role/liveController?item=20&page=1' header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] #非任何人的場控 uid = api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header) mid = api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header) linkadd = apilink.replace('{{uid}}', uid) res = api.apiFunction(test_parameter['prefix'], header, linkadd, 'get', '') restext = json.loads(res.text) assert int(res.status_code / 100) == 4 assert restext['Message'] == "User's live controller is not existed." #設為場控 header['X-Auth-Token'] = test_parameter['broadcaster_token'] header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce'] addController = '/api/v2/liveMaster/liveController' body = {"userId": uid} res = api.apiFunction(test_parameter['prefix'], header, addController, 'post', body) assert int(res.status_code / 100) == 2 res = api.apiFunction(test_parameter['prefix'], header, linkadd, 'get', '') restext = json.loads(res.text) assert int(res.status_code / 100) == 2 assert restext['data'][0]['userId'] == mid assert restext['totalCount'] == 1 #直播主變成一般用戶 header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] midlist.append(mid) api.change_roles(test_parameter['prefix'], header, midlist, 5) res = api.apiFunction(test_parameter['prefix'], header, linkadd, 'get', '') restext = json.loads(res.text) assert int(res.status_code / 100) == 4 assert restext['Message'] == "User's live controller is not existed."
def setup_class(self): sqlList = [] header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] self.idlist.append(api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header)) self.idlist.append(api.search_user(test_parameter['prefix'], test_parameter['broadcaster1_acc'], header)) self.idlist.append(api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header)) self.idlist.append(api.search_user(test_parameter['prefix'], test_parameter['user1_acc'], header)) getLinkAddr = '/api/v2/backend/announcement/list?item=1000&page=1' delLinkaddr = '/api/v2/backend/announcement/{announcementid}' res = api.apiFunction(test_parameter['prefix'], header, getLinkAddr, 'get', '') restext = json.loads(res.text) for i in restext['data']: linkAddr = delLinkaddr.replace('{announcementid}', str(i['id'])) res = api.apiFunction(test_parameter['prefix'], header, linkAddr, 'delete', '') #update token sqlstr = "update identity set push_token = '" + "' where id in ('" for i in range(4): sqlstr += self.idlist[i] if i < 3: sqlstr += "', '" else: sqlstr += "')" sqlList.append(sqlstr) dbConnect.dbSetting(test_parameter['db'], sqlList)
def setup_module(): initdata.set_test_data(env, test_parameter) header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] idList.append( api.search_user(test_parameter['prefix'], 'track0041', header)) idList.append( api.search_user(test_parameter['prefix'], 'track0042', header))
def initTestingData(): #print('init data') header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] idlist.append(api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header)) idlist.append(api.search_user(test_parameter['prefix'], test_parameter['broadcaster1_acc'], header)) idlist.append(api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header)) idlist.append(api.search_user(test_parameter['prefix'], test_parameter['user1_acc'], header)) idlist.append(api.search_user(test_parameter['prefix'], test_parameter['broadcaster2_acc'], header)) initdata.resetData(test_parameter['db'], idlist[0])
def setup_module(): initdata.set_test_data(env, test_parameter) header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] idlist.append( api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header)) idlist.append( api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header))
def init(): initdata.set_test_data(env, test_parameter) header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] idlist.append(api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header)) idlist.append(api.search_user(test_parameter['prefix'], test_parameter['broadcaster1_acc'], header)) idlist.append(api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header)) idlist.append(api.search_user(test_parameter['prefix'], test_parameter['user1_acc'], header)) initdata.resetData(test_parameter['db'], idlist[0]) sqlList = ["insert into zego_master values('" + idlist[0] + "')"] dbConnect.dbSetting(test_parameter['db'], sqlList)
def teardown_class(self): #移除場控身份 #回復直播主身份 midlist = [] header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] mid = api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header) midlist.append(mid) api.change_roles(test_parameter['prefix'], header, midlist, 4) uid = api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header) header['X-Auth-Token'] = test_parameter['broadcaster_token'] header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce'] delController = '/api/v2/liveMaster/liveController/' + uid api.apiFunction(test_parameter['prefix'], header, delController, 'delete', '')
def test_delete_liveController(self): ''' 1.直播主可以刪除自己的場控 2.輸入錯的uuid(404) 3.錯誤的token/nonce(401) 4.直播主不可刪除非自己的場控(404) 註:順便測試取得liveController api ''' header['X-Auth-Token'] = test_parameter['broadcaster1_token'] header['X-Auth-Nonce'] = test_parameter['broadcaster1_nonce'] mid = api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header) uid = api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header) res = api.delete_livecontroller(test_parameter['prefix'], header, uid) assert res.status_code == 404 header['X-Auth-Token'] = test_parameter['err_token'] header['X-Auth-Nonce'] = test_parameter['err_nonce'] res = api.delete_livecontroller(test_parameter['prefix'], header, uid) assert res.status_code == 401 header['X-Auth-Token'] = test_parameter['broadcaster_token'] header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce'] res = api.delete_livecontroller(test_parameter['prefix'], header, 'UU1238-jdakda-123Dba') assert res.status_code == 404 res = api.get_livecontroller(test_parameter['prefix'], header, mid, '5', '1') restext = json.loads(res.text) #pprint(restext) assert res.status_code == 200 assert restext['data'][0]['userId'] == uid assert len(restext['data']) == 2 assert restext['totalCount'] == 2 for i in restext['data']: res = api.delete_livecontroller(test_parameter['prefix'], header, i['userId']) assert res.status_code == 200 res = api.get_livecontroller(test_parameter['prefix'], header, mid, '5', '1') restext = json.loads(res.text) assert res.status_code == 200 assert len(restext['data']) == 0 assert restext['totalCount'] == 0
def testCreatenormalcase(self): #normal case: check all columns pic = 'https://d3eq1e23ftm9f0.cloudfront.net/announcement/picture/4c5f70eaf40011e9beff42010a8c0fcc.png' #pic1 = 'https://d3eq1e23ftm9f0.cloudfront.net/announcement/picture/c601c27af47f11e9beff42010a8c0fcc.png' link = 'https://truelovelive.com.tw:777' loginTime = {} regTime = {} startTime = int(time.time()) header['X-Auth-Token'] = test_parameter['cs_token'] header['X-Auth-Nonce'] = test_parameter['cs_nonce'] loginTime['startTime'] = startTime loginTime['endTime'] = startTime + 120 regTime['startTime'] = startTime regTime['endTime'] = startTime + 120 res = T.createAnnounce('NormalCase', 'Check all columns is correct', self.dep[0], 6, [], 'all', loginTime, regTime,pic,link,header) assert int(res.status_code / 100) == 2 strAPI = T.getAnnounceList('', 10, 1) res = api.apiFunction(test_parameter['prefix'], header, strAPI, 'get', None) restext = json.loads(res.text) assert restext['data'][0]['announcer']['id'] == api.search_user(test_parameter['prefix'], test_parameter['cs_acc'], header) assert restext['data'][0]['content'] == 'Check all columns is correct' assert restext['data'][0]['createAt'] >= startTime assert restext['data'][0]['department'] == 'customer_service' assert restext['data'][0]['lastLoginPeriod']['endTime'] == startTime + 120 assert restext['data'][0]['link'] == link assert restext['data'][0]['pictureUrl'] == pic assert restext['data'][0]['registerTimePeriod']['startTime'] == startTime assert restext['data'][0]['tag']['id'] == 6 assert restext['data'][0]['title'] == 'NormalCase' assert len(restext['data'][0]['userLevel']) == 0 assert restext['data'][0]['userType'] == 'all'
def getLivemasterList(): header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] prefix = 'broadcaster0' for i in range(4): account = prefix + str(10 + i) lmList.append(api.search_user(test_parameter['prefix'], account, header))
def setup_class(self): sqlList = ['truncate table user_notification_settings'] dbConnect.dbSetting(test_parameter['db'], sqlList) header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] self.mid = api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header) changelist = [self.mid] api.change_roles(test_parameter['prefix'], header, changelist, 4) #一般用戶:5;直播主:4
def init(): initdata.set_test_data(env, test_parameter) header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] idlist.append( api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header)) idlist.append( api.search_user(test_parameter['prefix'], test_parameter['broadcaster1_acc'], header)) idlist.append( api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header)) idlist.append( api.search_user(test_parameter['prefix'], test_parameter['user1_acc'], header)) initdata.resetData(test_parameter['db'], idlist[0])
def setup_module(): initdata.set_test_data(env, test_parameter) header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] idList.append( api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header)) idList.append( api.search_user(test_parameter['prefix'], test_parameter['user1_acc'], header)) idList.append( api.search_user(test_parameter['prefix'], 'track0900', header)) idList.append( api.search_user(test_parameter['prefix'], 'track0901', header)) idList.append( api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header)) idList.append( api.search_user(test_parameter['prefix'], test_parameter['broadcaster1_acc'], header)) initdata.resetData(test_parameter['db'], idList[0]) for i in range(10): liveAccount = 'broadcaster0' + str(30 + i) liveList.append( api.search_user(test_parameter['prefix'], liveAccount, header))
def test_add_liveController(self): ''' 1.直播主可以新增自己的場控 2.輸入錯的uuid(404) 3.錯誤的token/nonce(401) 4.json格式錯誤 5.輸入重複的uuid會擋掉(422) 6.無論是一般用戶或是直播主,皆可設為場控 註:順便測試取得liveController api ''' header['X-Auth-Token'] = test_parameter['broadcaster_token'] header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce'] mid = api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header) mid1 = api.search_user(test_parameter['prefix'], test_parameter['broadcaster1_acc'], header) uid = api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header) body = {'userId': uid} res = api.add_livecontroller(test_parameter['prefix'], header, body) assert res.status_code == 200 body = {'userId': mid1} res = api.add_livecontroller(test_parameter['prefix'], header, body) assert res.status_code == 200 body = {'userId': uid} res = api.add_livecontroller(test_parameter['prefix'], header, body) assert res.status_code == 422 res = api.get_livecontroller(test_parameter['prefix'], header, mid, '5', '1') restext = json.loads(res.text) assert res.status_code == 200 assert restext['data'][0]['userId'] == uid assert len(restext['data']) == 2 assert restext['totalCount'] == 2 body = {'userId': 'Abjowjefpr1234'} res = api.add_livecontroller(test_parameter['prefix'], header, body) assert int(res.status_code / 100) == 4 body = {} res = api.add_livecontroller(test_parameter['prefix'], header, body) assert res.status_code == 406
def setup_class(self): experience = [0, 1537090.91, 4623272.73, 34603636.36, 93818181.82] header['X-Auth-Token'] = test_parameter['broadcaster_token'] header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce'] self.userList.append( api.search_user(test_parameter['prefix'], 'broadcaster100', header)) self.userList.append( api.search_user(test_parameter['prefix'], 'broadcaster099', header)) self.userList.append( api.search_user(test_parameter['prefix'], 'broadcaster098', header)) self.userList.append( api.search_user(test_parameter['prefix'], 'broadcaster097', header)) self.userList.append( api.search_user(test_parameter['prefix'], 'broadcaster096', header)) self.userList.append( api.search_user(test_parameter['prefix'], 'track0100', header)) self.userList.append( api.search_user(test_parameter['prefix'], 'track0099', header)) self.userList.append( api.search_user(test_parameter['prefix'], 'track0098', header)) self.userList.append( api.search_user(test_parameter['prefix'], 'track0097', header)) self.userList.append( api.search_user(test_parameter['prefix'], 'track0096', header)) sqlList = [] p_token = 'eUOePK4v6Xg:APA91bHqcnv2C7MSD9GMMTG2rs34cy4sVabpnNJ-hKqzjBzUHtWKHa84SRpZTQWDL7vX4b2tppZvFT25eXJerOVpBy_3xFWagcc6Z307JbJq' for i in range(len(self.userList)): j = i % 5 sqlstr = "update user_experience set experience = " + str( experience[j] ) + " where identity_id = '" + self.userList[i] + "'" sqlList.append(sqlstr) sqlstr = "update identity set create_at = FROM_UNIXTIME(" + str( self.startTime + j * 20) + "), push_token = '" + p_token sqlstr += "', update_at = FROM_UNIXTIME(" + str( self.startTime + j * 25) + ") where id = '" + self.userList[i] + "'" print(sqlstr) sqlList.append(sqlstr) dbConnect.dbSetting(test_parameter['db'], sqlList)
def setup_class(self): header['X-Auth-Token'] = test_parameter['broadcaster_token'] header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce'] self.idlist.append( api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header)) self.idlist.append( api.search_user(test_parameter['prefix'], test_parameter['broadcaster1_acc'], header)) self.idlist.append( api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header)) self.idlist.append( api.search_user(test_parameter['prefix'], test_parameter['user1_acc'], header)) self.idlist.append( api.search_user(test_parameter['prefix'], test_parameter['backend_acc'], header))
def teardown_module(): header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] mid = api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header) #reset onairtime res = api.get_onairtime(test_parameter['prefix'], mid, header) json_result = json.loads(res.text) for i in json_result['data']: api.del_onairtime(test_parameter['prefix'], header, i['type'], i['id'])
def teardown_module(): header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] mid1 = api.search_user(test_parameter['prefix'], test_parameter['broadcaster1_acc'], header) #reset tracking status header['X-Auth-Token'] = test_parameter['user_token'] header['X-Auth-Nonce'] = test_parameter['user_nonce'] res = api.set_tracking(test_parameter['prefix'], header, 'delete', mid1) if res.status_code != 200: pprint(res.text)
def setup_module(): initdata.set_test_data(env, test_parameter) header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] idList.append( api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header)) idList.append( api.search_user(test_parameter['prefix'], test_parameter['broadcaster1_acc'], header)) idList.append( api.search_user(test_parameter['prefix'], test_parameter['backend_acc'], header)) idList.append( api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header)) initdata.resetData(test_parameter['db'], idList[0]) for i in range(2000, 2030): account = 'track' + str(i) userList.append( api.search_user(test_parameter['prefix'], account, header))
def createAccount(account): header = { 'Connection': 'Keep-alive', 'X-Auth-Token': '', 'X-Auth-Nonce': '' } header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] idlist = [] api.register(test_parameter['prefix'], account, header) uid = api.search_user(test_parameter['prefix'], account, header) print('uid=%s' % uid) api.change_user_mode(test_parameter['prefix'], uid, -2, header) api.change_user_mode(test_parameter['prefix'], uid, 1, header) idlist.append(uid) api.change_roles(test_parameter['prefix'], header, idlist, 5) return
def test_delete_onairtime(self): header1 = { 'Content-Type': 'application/json', 'Connection': 'Keep-alive', 'X-Auth-Token': test_parameter['broadcaster1_token'], 'X-Auth-Nonce': test_parameter['broadcaster1_nonce'] } header['X-Auth-Token'] = test_parameter['broadcaster_token'] header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce'] uid = api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header) res = api.get_onairtime(test_parameter['prefix'], uid, header) json_result = json.loads(res.text) for i in json_result['data']: # 刪非自己的直播時間 res = api.del_onairtime(test_parameter['prefix'], header1, i['type'], i['id']) assert res.status_code == 404 # type正確但ID不存在 res = api.del_onairtime(test_parameter['prefix'], header, i['type'], i['id'] - 30) assert res.status_code == 404 if i['type'] == 'oneTime': errtype = 'repeat' else: errtype = 'oneTime' # ID存在但type不正確 res = api.del_onairtime(test_parameter['prefix'], header, errtype, i['id']) assert res.status_code == 404 # ID存在但type不存在 res = api.del_onairtime(test_parameter['prefix'], header, 'fake', i['id']) json_result = json.loads(res.text) assert json_result['Message'] == 'Invaild AirTime settings.' assert json_result['Status'] == 'Error' # 刪除正確的資料 res = api.del_onairtime(test_parameter['prefix'], header, i['type'], i['id']) assert res.status_code == 200
def setup_module(): initdata.set_test_data(env, test_parameter) initdata.clearFansInfo(test_parameter['db']) initdata.clearPhoto(test_parameter['db']) initdata.initIdList( test_parameter['prefix'], test_parameter['backend_token'], test_parameter['backend_nonce'], [ test_parameter['broadcaster_acc'], test_parameter['broadcaster1_acc'], test_parameter['user_acc'], test_parameter['user1_acc'] ], idList) header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] for i in range(10): liveMasterList.append( api.search_user(test_parameter['prefix'], 'broadcaster01' + str(i), header)) api.changeRole(test_parameter['prefix'], test_parameter['backend_token'], test_parameter['backend_nonce'], liveMasterList, 4) liveMasterList.append('')
def createLiveData(masterId, diffHours, diffMins,isSend): sqlList = [] begDatetime = (datetime.fromtimestamp(int(time.time())) - timedelta(hours=diffHours) - timedelta(minutes=diffMins)).strftime('%Y-%m-%d %H:%M:%S') endDatetime = (datetime.fromtimestamp(int(time.time())) - timedelta(hours=diffHours)).strftime('%Y-%m-%d %H:%M:%S') sqlStr = "insert into live_room(create_at, end_at, live_master_id, rtmp_url, status, chat_server_id, title) values ('" + begDatetime + "', '" + endDatetime + "', '" sqlStr += masterId + "', 'rtmp://ottworigin2.media.hinet.net/live_angel06/3955fd05-309f-4a07-a8a2-a2bb6146e605', 0, 350, 0)" sqlList.append(sqlStr) if isSend: header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] sendID = api.search_user(test_parameter['prefix'], followList[masterId][0], header) sendDatetime = begDatetime = (datetime.fromtimestamp(int(time.time())) - timedelta(hours=diffHours) - timedelta(minutes=2)).strftime('%Y-%m-%d %H:%M:%S') sqlStr = "insert into live_room_gift set consumption_point = 35" sqlStr += ", create_at = '" + sendDatetime + "', " sqlStr += "create_user_id = '" + sendID + "', " sqlStr += "room_id = (select max(id) from live_room), status = 0, " sqlStr += "target_user_id = '" + masterId + "', " sqlStr += "barrage_id = 1" sqlList.append(sqlStr) dbConnect.dbSetting(test_parameter['db'], sqlList)
def setup_module(): initdata.set_test_data(env, test_parameter) header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] header['Content-Type'] = 'application/json' #generate 46 accounts id and add in indList list account_list = ["track{0:04d}".format(i) for i in range(101, 147)] global idList idList = [ api.search_user(test_parameter['prefix'], account, header) for account in account_list ] #generate 4 roles id and add in indList list initdata.initIdList( test_parameter['prefix'], test_parameter['backend_token'], test_parameter['backend_nonce'], [ test_parameter['broadcaster_acc'], test_parameter['broadcaster1_acc'], test_parameter['user_acc'], test_parameter['user1_acc'] ], idList)
def test_get_fans_list(self): ''' 1.依uid取得粉絲清單,與token/nonce無關 2.每頁筆數符合設定值 3.粉絲數應與namecard相符 ''' fans = [] fans1 = [] #print('get fans list') header['X-Auth-Token'] = test_parameter['broadcaster1_token'] header['X-Auth-Nonce'] = test_parameter['broadcaster1_nonce'] mid = api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header) mid1 = api.search_user(test_parameter['prefix'], test_parameter['broadcaster1_acc'], header) uid = api.search_user(test_parameter['prefix'], test_parameter['user_acc'], header) header['X-Auth-Token'] = test_parameter['user_token'] header['X-Auth-Nonce'] = test_parameter['user_nonce'] res = api.set_tracking(test_parameter['prefix'], header, 'post', mid) res = api.set_tracking(test_parameter['prefix'], header, 'post', mid1) header['X-Auth-Token'] = test_parameter['broadcaster1_token'] header['X-Auth-Nonce'] = test_parameter['broadcaster1_nonce'] res = api.get_fans_list(test_parameter['prefix'], header, mid1, '50', '1') mid1_list = json.loads(res.text) assert res.status_code == 200 assert len(mid1_list['data']) <= 50 for i in mid1_list['data']: fans1.append(i['id']) assert uid in fans1 res = api.get_fans_list(test_parameter['prefix'], header, mid, '50', '1') mid_list = json.loads(res.text) assert res.status_code == 200 assert len(mid_list['data']) <= 50 for i in mid_list['data']: fans.append(i['id']) assert uid in fans fans.clear() fans1.clear() mid_list.clear() mid1_list.clear() header['X-Auth-Token'] = test_parameter['user_token'] header['X-Auth-Nonce'] = test_parameter['user_nonce'] res = api.set_tracking(test_parameter['prefix'], header, 'delete', mid) assert res.status_code == 200 header['X-Auth-Token'] = test_parameter['broadcaster1_token'] header['X-Auth-Nonce'] = test_parameter['broadcaster1_nonce'] res = api.get_fans_list(test_parameter['prefix'], header, mid1, '50', '1') mid1_list = json.loads(res.text) assert res.status_code == 200 assert len(mid1_list['data']) <= 50 for i in mid1_list['data']: fans1.append(i['id']) assert uid in fans1 res = api.get_fans_list(test_parameter['prefix'], header, mid, '50', '1') mid_list = json.loads(res.text) assert res.status_code == 200 assert len(mid_list['data']) <= 50 for i in mid_list['data']: fans.append(i['id']) assert uid not in fans uid = api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header) res = api.namecard_operator(test_parameter['prefix'], header, 'get', uid, '') result1 = json.loads(res.text) totalLike = result1['data']['fansCount'] assert len(mid_list['data']) == totalLike
def setup_module(): sqlList = [] initdata.set_test_data(env, test_parameter) header['X-Auth-Token'] = test_parameter['backend_token'] header['X-Auth-Nonce'] = test_parameter['backend_nonce'] for i in range(85, 101): if i // 10 < 10: account = 'broadcaster0' + str(i) else: account = 'broadcaster' + str(i) BClist.append(api.search_user(test_parameter['prefix'], account, header)) for i in range(3): if i > 0: account = 'track0' + str(i * 100 + 77) else: account = 'track0077' URlist.append(api.search_user(test_parameter['prefix'], account, header)) initdata.resetData(test_parameter['db'], BClist[0]) tableList = ['liveshow_gift_history', 'live_room_gift', 'live_room'] for i in tableList: if i == 'live_room': sqlStr = "delete from " + i + " where chat_server_id = 350" sqlList.append(sqlStr) elif i == 'live_room_gift': for k in URlist: sqlStr = "delete from " + i + " where create_user_id = '" + k + "'" sqlList.append(sqlStr) else: for k in URlist: sqlStr = "delete from " + i + " where giver_user_id = '" + k + "'" sqlList.append(sqlStr) dbConnect.dbSetting(test_parameter['db'], sqlList) sqlList.clear() for i in range(13): k = i % 3 if giftList[i * 2] in ('253b4361-1b0d-499d-9943-4452ab81a88c', '57cfc4a6-92f3-4c9f-86e5-045e3a5ba2fa', 'fd514de8-fdfb-4c56-9170-a9d92ffa125a'): if URlist[k] in category74: category74[URlist[k]] += giftList[i * 2 + 1] else: category74[URlist[k]] = giftList[i * 2 + 1] if BClist[i] in category74Formaster: category74Formaster[BClist[i]] += giftList[i * 2 + 1] else: category74Formaster[BClist[i]] = giftList[i * 2 + 1] if i < 5: if URlist[k] in top5Master: top5Master[URlist[k]] += giftList[i * 2 + 1] else: top5Master[URlist[k]] = giftList[i * 2 + 1] if i not in (1, 2): if BClist[i] in newMaster: newMaster[BClist[i]] += giftList[i * 2 + 1] else: newMaster[BClist[i]] = giftList[i * 2 + 1] if BClist[i] in totalMaster: totalMaster[BClist[i]] += giftList[i * 2 + 1] else: totalMaster[BClist[i]] = giftList[i * 2 + 1] if URlist[k] in totalPoint: totalPoint[URlist[k]] += giftList[i * 2 + 1] else: totalPoint[URlist[k]] = giftList[i * 2 + 1] sqlStr = "insert into live_room_gift(consumption_point, create_at, create_user_id, room_id, status, gift_id, target_user_id) values (" + str(giftList[i * 2 + 1]) sqlStr += ", FROM_UNIXTIME(" + str(create_At + i * 120) + ", '%Y-%m-%d %H:%i:%s'), '" + URlist[k] + "', 5487, 0, '" + giftList[i * 2] + "', '" + BClist[i] + "')" sqlList.append(sqlStr) begDatetime = datetime.fromtimestamp(create_At - 2) + timedelta(hours=-8) endDatetime = datetime.fromtimestamp(create_At + (600 + i * 120)) + timedelta(hours=-8) liveTimeSum[BClist[i]] = (endDatetime - begDatetime).seconds sqlStr = "insert into live_room(create_at, end_at, live_master_id, rtmp_url, status, chat_server_id, title) values ('" + begDatetime.strftime('%Y-%m-%d %H:%M:%S') + "', '" sqlStr += endDatetime.strftime('%Y-%m-%d %H:%M:%S') + "', '" + BClist[i] + "', 'rtmp://ottworigin2.media.hinet.net/live_angel06/3955fd05-309f-4a07-a8a2-a2bb6146e605', 0, 350, 0)" sqlList.append(sqlStr) Barrage = [35, 350] for i in range(13, 15): k = i % 3 totalPoint[URlist[k]] += Barrage[i % 13] if BClist[i] in totalMaster: totalMaster[BClist[i]] += Barrage[i % 13] else: totalMaster[BClist[i]] = Barrage[i % 13] if BClist[i] in newMaster: newMaster[BClist[i]] += Barrage[i % 13] else: newMaster[BClist[i]] = Barrage[i % 13] sqlStr = "insert into live_room_gift(consumption_point, create_at, create_user_id, room_id, status, barrage_id, target_user_id) values (" + str(Barrage[i % 13]) sqlStr += ", FROM_UNIXTIME(" + str(create_At + i * 120) + ", '%Y-%m-%d %H:%i:%s'), '" + URlist[k] + "', 5487, 0, '" + str(i % 13 + 1) + "', '" + BClist[i] + "')" sqlList.append(sqlStr) begDatetime = datetime.fromtimestamp(create_At - 2) + timedelta(hours=-8) endDatetime = datetime.fromtimestamp(create_At + (600 + i * 120)) + timedelta(hours=-8) liveTimeSum[BClist[i]] = (endDatetime - begDatetime).seconds sqlStr = "insert into live_room(create_at, end_at, live_master_id, rtmp_url, status, chat_server_id, title) values ('" + begDatetime.strftime('%Y-%m-%d %H:%M:%S') + "', '" sqlStr += endDatetime.strftime('%Y-%m-%d %H:%M:%S') + "', '" + BClist[i] + "', 'rtmp://ottworigin2.media.hinet.net/live_angel06/3955fd05-309f-4a07-a8a2-a2bb6146e605', 0, 350, 0)" sqlList.append(sqlStr) begDatetime = datetime.now() - timedelta(days=1) begDatetime = begDatetime.replace(hour=15, minute=30, second=0) endDatetime = datetime.now() - timedelta(days=1) endDatetime = endDatetime.replace(hour=17, minute=30, second=0) endDatetime1 = datetime.now() - timedelta(days=1) for i in range(10, 12): endDatetime1 = endDatetime1.replace(hour=17, minute=i, second=0) totalPoint[URlist[2]] += giftList[i * 2 + 1] if BClist[15] in totalMaster: totalMaster[BClist[15]] += giftList[i * 2 + 1] else: totalMaster[BClist[15]] = giftList[i * 2 + 1] if BClist[15] in newMaster: newMaster[BClist[15]] += giftList[i * 2 + 1] else: newMaster[BClist[15]] = giftList[i * 2 + 1] sqlStr = "insert into liveshow_gift_history(liveshow, team, giver_user_id, live_master_id, room_id, gift_id, points, ratio, create_at) values (1, 148, '" sqlStr += URlist[2] + "', '" + BClist[15] + "', 4567, '" + giftList[i * 2] + "'," + str(giftList[i * 2 + 1]) + ", 2.00, '" + endDatetime.strftime('%Y-%m-%d %H:%M:%S') + "')" sqlList.append(sqlStr) liveTimeSum[BClist[15]] = (endDatetime - begDatetime).seconds sqlStr = "insert into live_room(create_at, end_at, live_master_id, rtmp_url, status, chat_server_id, title) values ('" + begDatetime.strftime('%Y-%m-%d %H:%M:%S') + "', '" sqlStr += endDatetime.strftime('%Y-%m-%d %H:%M:%S') + "', '" + BClist[15] + "', 'rtmp://ottworigin2.media.hinet.net/live_angel06/3955fd05-309f-4a07-a8a2-a2bb6146e605', 0, 350, 0)" sqlList.append(sqlStr) OneToOneMessage # 加入1對1私訊資料 sendGiftToPost(BClist[15], URlist[0]) #加入動態送禮 for i in range(3): sqlStr = "update user_experience set experience = " + str(48000000 + i * 10000) + " where identity_id = '" + BClist[i] + "'" if i > 0: sqlStr2 = "delete from new_live_master where live_master_id = '" + BClist[i] + "'" sqlList.append(sqlStr2) sqlList.append(sqlStr) dbConnect.dbSetting(test_parameter['db'], sqlList)
def test_repeat_timeZone(self): iscrossweek = True header['X-Auth-Token'] = test_parameter['broadcaster_token'] header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce'] uid = api.search_user(test_parameter['prefix'], test_parameter['broadcaster_acc'], header) body = { 'type': 'repeat', 'repeatTime': { 'week': [1, 3, 5], 'onAirTime': '18:00:00', 'timeZone': '+0800' } } res = api.set_onairtime(test_parameter['prefix'], body, header) res = api.get_onairtime(test_parameter['prefix'], uid, header) json_result = json.loads(res.text) for i in json_result['data'][0]['repeatTime']['week']: if i == datetime.date.today().isoweekday(): format_time = str(datetime.date.today().year) + '-' + str( datetime.date.today().month) + '-' + str( datetime.date.today().day) format_time = format_time + ' ' + json_result['data'][0][ 'repeatTime']['onAirTime'] onairtime = str( int( time.mktime( time.strptime(format_time, "%Y-%m-%d %H:%M:%S")))) if int(onairtime) >= int(time.time()): iscrossweek = False break elif i > datetime.date.today().isoweekday(): interval_date = i - datetime.date.today().isoweekday() format_time = str(datetime.date.today().year) + '-' + str( datetime.date.today().month) + '-' + str( datetime.date.today().day + interval_date) format_time = format_time + ' ' + json_result['data'][0][ 'repeatTime']['onAirTime'] onairtime = str( int( time.mktime( time.strptime(format_time, "%Y-%m-%d %H:%M:%S")))) iscrossweek = False break if iscrossweek: interval_date = 7 - datetime.date.today().isoweekday( ) + json_result['data'][0]['repeatTime']['week'][0] format_time = str(datetime.date.today().year) + '-' + str( datetime.date.today().month) + '-' + str( datetime.date.today().day + interval_date) format_time = format_time + ' ' + json_result['data'][0][ 'repeatTime']['onAirTime'] onairtime = str( int( time.mktime(time.strptime(format_time, "%Y-%m-%d %H:%M:%S")))) res = api.namecard_operator(test_parameter['prefix'], header, 'get', uid, '') result1 = json.loads(res.text) assert result1['data']['onAirTime'] == int(onairtime) res = api.del_onairtime(test_parameter['prefix'], header, json_result['data'][0]['type'], json_result['data'][0]['id']) body = { 'type': 'repeat', 'repeatTime': { 'week': [2, 4, 6], 'onAirTime': '18:00:00', 'timeZone': '+0900' } } res = api.set_onairtime(test_parameter['prefix'], body, header) res = api.get_onairtime(test_parameter['prefix'], uid, header) json_result = json.loads(res.text) for i in json_result['data'][0]['repeatTime']['week']: if i == datetime.date.today().isoweekday(): format_time = str(datetime.date.today().year) + '-' + str( datetime.date.today().month) + '-' + str( datetime.date.today().day) format_time = format_time + ' ' + json_result['data'][0][ 'repeatTime']['onAirTime'] onairtime = str( int( time.mktime( time.strptime(format_time, "%Y-%m-%d %H:%M:%S"))) - 3600) if int(onairtime) >= int(time.time()): iscrossweek = False break elif i > datetime.date.today().isoweekday(): interval_date = i - datetime.date.today().isoweekday() format_time = str(datetime.date.today().year) + '-' + str( datetime.date.today().month) + '-' + str( datetime.date.today().day + interval_date) format_time = format_time + ' ' + json_result['data'][0][ 'repeatTime']['onAirTime'] onairtime = str( int( time.mktime( time.strptime(format_time, "%Y-%m-%d %H:%M:%S"))) - 3600) iscrossweek = False break if iscrossweek: interval_date = 7 - datetime.date.today().isoweekday( ) + json_result['data'][0]['repeatTime']['week'][0] format_time = str(datetime.date.today().year) + '-' + str( datetime.date.today().month) + '-' + str( datetime.date.today().day + interval_date) format_time = format_time + ' ' + json_result['data'][0][ 'repeatTime']['onAirTime'] onairtime = str( int( time.mktime(time.strptime(format_time, "%Y-%m-%d %H:%M:%S"))) - 3600) res = api.namecard_operator(test_parameter['prefix'], header, 'get', uid, '') result1 = json.loads(res.text) assert result1['data']['onAirTime'] == int(onairtime) res = api.del_onairtime(test_parameter['prefix'], header, json_result['data'][0]['type'], json_result['data'][0]['id'])