Esempio n. 1
0
    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
Esempio n. 2
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)
Esempio n. 3
0
 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."
Esempio n. 4
0
 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)     
Esempio n. 5
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'], 'track0041', header))
    idList.append(
        api.search_user(test_parameter['prefix'], 'track0042', header))
Esempio n. 6
0
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])
Esempio n. 7
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))
Esempio n. 8
0
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)
Esempio n. 9
0
 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', '')        
Esempio n. 10
0
    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
Esempio n. 11
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'
Esempio n. 12
0
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))
Esempio n. 13
0
 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
Esempio n. 14
0
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])
Esempio n. 15
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))
Esempio n. 16
0
    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
Esempio n. 17
0
 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)
Esempio n. 18
0
 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))
Esempio n. 19
0
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'])
Esempio n. 20
0
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)
Esempio n. 21
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['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))
Esempio n. 22
0
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
Esempio n. 23
0
    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
Esempio n. 24
0
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('')
Esempio n. 25
0
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)
Esempio n. 26
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']
    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)
Esempio n. 27
0
    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
Esempio n. 28
0
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)
Esempio n. 29
0
    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'])