Exemple #1
0
 def sendPostGift(self):
     sql = "select g.id, g.name, g.point from gift_v2 g join gift_category_v2 gc on category_id = gc.id where gc.type = 'post_gift' and g.point > 0"
     dbResult = dbConnect.dbQuery(test_parameter['db'], sql)
     giftId = dbResult[0][0]
     giftName = dbResult[0][1]
     giftPoint = dbResult[0][2]
     header['X-Auth-Token'] = test_parameter['broadcaster2_token']
     header['X-Auth-Nonce'] = test_parameter['broadcaster2_nonce']
     apiName = '/api/v2/liveMaster/photoPost'
     body = {
         "photoPath": test_parameter['photo_url'],
         "content": "動態送禮。。測試中"
     }
     api.apiFunction(test_parameter['prefix'], header, apiName, 'post',
                     body)
     apiName = '/api/v2/liveMaster/' + idlist[4] + '/photoPost?item=5&page=1'
     res = api.apiFunction(test_parameter['prefix'], header, apiName, 'get',
                           None)
     restext = json.loads(res.text)
     postId = restext['data'][0]['id']
     apiName = '/api/v2/identity/sendGift'
     header['X-Auth-Token'] = test_parameter['user1_token']
     header['X-Auth-Nonce'] = test_parameter['user1_nonce']
     body = {'giftId': giftId, 'postId': postId}
     api.apiFunction(test_parameter['prefix'], header, apiName, 'post',
                     body)
     today1List.append({
         'name': giftName,
         'point': giftPoint,
         'createAt': int(time.time())
     })
Exemple #2
0
def sendGiftToPost(masterid, userid):
    sql = "select g.id, g.point from gift g  join gift_category gc on category_id = gc.id  where gc.type = 'post_gif'"
    dbResult = dbConnect.dbQuery(test_parameter, sql)
    giftId = dbResult[0][0]
    giftPoint = dbResult[0][1]
    result = api.user_login(test_parameter['prefix'], 'broadcaster100',
                            test_parameter['user_pass'])
    header['X-Auth-Token'] = result['token']
    header['X-Auth-Nonce'] = result['nonce']
    apiName = '/api/v2/liveMaster/photoPost'
    body = {"photoPath": test_parameter['photo_url'], "content": "動態送禮。。測試中"}
    api.apiFunction(test_parameter['prefix'], header, apiName, 'post', body)
    apiName = '/api/v2/liveMaster/' + masterid + '/photoPost?item=5&page=1'
    res = api.apiFunction(test_parameter['prefix'], header, apiName, 'get',
                          None)
    restext = json.loads(res.text)
    postId = restext['data'][0]['id']
    result = api.user_login(test_parameter['prefix'], 'track0077',
                            test_parameter['user_pass'])
    header['X-Auth-Token'] = result['token']
    header['X-Auth-Nonce'] = result['nonce']
    apiName = '/api/v2/identity/sendGift'
    body = {'giftId': giftId, 'postId': postId}
    api.apiFunction(test_parameter['prefix'], header, apiName, 'post', body)
    totalPoint[userid] += giftPoint
    totalMaster[masterid] += giftPoint
    newMaster[masterid] += giftPoint
Exemple #3
0
def OneToOneMessage():
    result = api.user_login(test_parameter['prefix'], 'broadcaster100', test_parameter['user_pass'])
    header['X-Auth-Token'] = result['token']
    header['X-Auth-Nonce'] = result['nonce']
    apiName = '/api/v2/liveMaster/instantMessage'
    content = '哈囉,你好。歡迎來到Truelove😄😄😄 ' 
    body = { 
    "receiver": URlist[2],
    "msgType": "text",
    "textContent": content,
    "imageUrl": "",
    "previewUrl": "",
    "videoUrl": "",
    "origin": "giftGiversToSendIM"
    }
    api.apiFunction(test_parameter['prefix'], header, apiName, 'post', body)
    apiName = '/api/v2/identity/instantMessage'
    header['X-Auth-Token'] = test_parameter['user_token']
    header['X-Auth-Nonce'] = test_parameter['user_nonce']      
    content = '哈囉,你好。我是你的小粉絲😄😄😄 ' 
    body = { 
    "receiver": BClist[15],
    "msgType": "text",
    "textContent": content,
    "imageUrl": "",
    "previewUrl": "",
    "videoUrl": "",
    "origin": "giftGiversToSendIM"
    }
    api.apiFunction(test_parameter['prefix'], header, apiName, 'post', body)  
    totalPoint[URlist[2]] += 20
    totalMaster[BClist[15]] += 20
    newMaster[BClist[15]] += 20
Exemple #4
0
 def testHistoryTalkWithCS(self):
     # 與客服的訊息不限時間
     sqlList = []
     changelist = []
     apiName = '/api/v2/identity/instantMessage/history?dialogId={id}&item=10&page=1'
     UpdateDatetime = datetime.fromtimestamp(int(
         time.time())) - timedelta(days=366)
     sqlList.append("update instant_message set create_at = '" +
                    UpdateDatetime.strftime('%Y-%m-%d %H:%M:%S') +
                    "' where dialog_id = '" + self.dialogIdList[0] + "'")
     dbConnect.dbSetting(test_parameter['db'], sqlList)
     apiName = apiName.replace('{id}', self.dialogIdList[0])
     #print(apiName)
     header['X-Auth-Token'] = test_parameter['user_token']
     header['X-Auth-Nonce'] = test_parameter['user_nonce']
     res = api.apiFunction(test_parameter['prefix'], header, apiName, 'get',
                           None)
     restext = json.loads(res.text)
     assert res.status_code // 100 == 2
     assert restext['totalCount'] == 2
     changelist.append(idList[3])
     header['X-Auth-Token'] = test_parameter['backend_token']
     header['X-Auth-Nonce'] = test_parameter['backend_nonce']
     api.change_roles(test_parameter['prefix'], header, changelist,
                      '4')  #轉成直播主
     header['X-Auth-Token'] = test_parameter['user_token']
     header['X-Auth-Nonce'] = test_parameter['user_nonce']
     res = api.apiFunction(test_parameter['prefix'], header, apiName, 'get',
                           None)
     restext = json.loads(res.text)
     assert res.status_code // 100 == 2
     assert restext['totalCount'] == 2
Exemple #5
0
def testNofitycation(scenario, identity, uid, action, token, nonce,
                     description, content, link, expected):
    funDic = {
        'track': setTrackingAndBlock,
        'post': postPhoto,
        'comment': postComment,
        'sendPost': sendGift,
        'onAir': onAir
    }
    funDic[action]() if action != '' else None
    time.sleep(30)
    header['X-Auth-Nonce'] = test_parameter[nonce]
    header['X-Auth-Token'] = test_parameter[token]
    urlName = '/api/v2/identity/' + idList[uid] + '/notification/listMore'
    res = api.apiFunction(test_parameter['prefix'], header, urlName, 'get',
                          None)
    restext = json.loads(res.text)
    assert res.status_code // 100 == expected
    if identity == 'black':
        restext['data'] == []
    else:
        assert restext['data'][0]['action'] == description
        assert restext['data'][0]['content'] == content
        assert link in restext['data'][0]['link']
        if len(restext['data']) < 20:
            assert 'offset' not in restext
        elif (len(restext['data']) >= 20):
            offset = restext['offset']
            res1 = api.apiFunction(test_parameter['prefix'], header,
                                   urlName + '?offset=' + str(offset), 'get',
                                   None)
            restext1 = json.loads(res1.text)
            assert res1.status_code // 100 == 2
            assert restext['data'] != restext1['data']
Exemple #6
0
 def testAlreadySendMessage(self):
     # 已送過訊息給該用戶;但其他直播主可以撈出
     getList = []
     header['X-Auth-Token'] = test_parameter['broadcaster_token']
     header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce']
     self.sendMessage(idList[0], 'newUsersToSendIM')
     apiName = '/api/v2/liveMaster/newUsersToSendIM'
     res = api.apiFunction(test_parameter['prefix'], header, apiName, 'get',
                           None)
     restext = json.loads(res.text)
     if idList[0] in self.newlist:
         self.newlist.remove(idList[0])
     for i in restext['data']:
         assert i['id'] in self.newlist
     assert res.status_code // 100 == 2
     assert restext['totalCount'] == len(self.newlist)
     assert restext['sentCount'] == 1
     header['X-Auth-Token'] = test_parameter['broadcaster1_token']
     header['X-Auth-Nonce'] = test_parameter['broadcaster1_nonce']
     apiName = '/api/v2/liveMaster/newUsersToSendIM'
     res = api.apiFunction(test_parameter['prefix'], header, apiName, 'get',
                           None)
     restext = json.loads(res.text)
     for i in restext['data']:
         getList.append(i['id'])
     assert res.status_code // 100 == 2
     assert restext['totalCount'] == len(self.newlist) + 1
     assert restext['sentCount'] == 0
     assert idList[0] in getList
Exemple #7
0
 def testCSGetOverhalfYear(self):
     # 客服可取得半年內的資料
     sqlList = []
     apiName = '/api/v2/identity/instantMessage/history?dialogId={id}&item=10&page=1'
     UpdateDatetime = datetime.fromtimestamp(int(
         time.time())) - timedelta(days=183)
     sqlList.append("update instant_message set create_at = '" +
                    UpdateDatetime.strftime('%Y-%m-%d %H:%M:%S') +
                    "' where dialog_id = '" + self.dialogIdList[0] + "'")
     dbConnect.dbSetting(test_parameter['db'], sqlList)
     apiName = apiName.replace('{id}', self.dialogIdList[0])
     header['X-Auth-Token'] = test_parameter['liveController1_token']
     header['X-Auth-Nonce'] = test_parameter['liveController1_nonce']
     res = api.apiFunction(test_parameter['prefix'], header, apiName, 'get',
                           None)
     restext = json.loads(res.text)
     assert res.status_code // 100 == 2
     assert restext['totalCount'] == 2
     sqlList.clear()
     UpdateDatetime = datetime.fromtimestamp(int(
         time.time())) - timedelta(days=184)
     sqlList.append("update instant_message set create_at = '" +
                    UpdateDatetime.strftime('%Y-%m-%d %H:%M:%S') +
                    "' where dialog_id = '" + self.dialogIdList[0] + "'")
     dbConnect.dbSetting(test_parameter['db'], sqlList)
     apiName = apiName.replace('{id}', self.dialogIdList[0])
     header['X-Auth-Token'] = test_parameter['liveController1_token']
     header['X-Auth-Nonce'] = test_parameter['liveController1_nonce']
     res = api.apiFunction(test_parameter['prefix'], header, apiName, 'get',
                           None)
     restext = json.loads(res.text)
     assert res.status_code // 100 == 2
     assert restext['totalCount'] == 0
Exemple #8
0
 def sendMessage(self):
     apiName = '/api/v2/liveMaster/instantMessage'
     header['X-Auth-Token'] = test_parameter['broadcaster2_token']
     header['X-Auth-Nonce'] = test_parameter['broadcaster2_nonce']             
     content = '哈囉,你好。歡迎來到Truelove😄😄😄 ' 
     body = { 
     "receiver": idlist[3],
     "msgType": "text",
     "textContent": content,
     "imageUrl": "",
     "previewUrl": "",
     "videoUrl": "",
     "origin": "giftGiversToSendIM"
     }
     api.apiFunction(test_parameter['prefix'], header, apiName, 'post', body)
     apiName = '/api/v2/identity/instantMessage'
     header['X-Auth-Token'] = test_parameter['user1_token']
     header['X-Auth-Nonce'] = test_parameter['user1_nonce']      
     content = '哈囉,你好。我是你的小粉絲😄😄😄 ' 
     body = { 
     "receiver": idlist[4],
     "msgType": "text",
     "textContent": content,
     "imageUrl": "",
     "previewUrl": "",
     "videoUrl": "",
     "origin": "giftGiversToSendIM"
     }
     api.apiFunction(test_parameter['prefix'], header, apiName, 'post', body)  
     today1List.append({'name': '20點聊天訊息', 'point': 20, 'createAt': int(time.time())}) 
Exemple #9
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)     
Exemple #10
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)
Exemple #11
0
def testGetUserInfo(scenario, token, nonce, idIndex, role, isUpdate, expect):
    apiName = '/api/v2/identity/userInfo/'
    header['X-Auth-Token'] = test_parameter[token]
    header['X-Auth-Nonce'] = test_parameter[nonce]
    #print(apiName + idList[idIndex])
    res = api.apiFunction(test_parameter['prefix'], header,
                          apiName + idList[idIndex], 'get', None)
    assert res.status_code // 100 == expect
    if expect == 2:
        restext = json.loads(res.text)
        assert restext['data']['roles'][0]['name'] == role
        assert len(restext['data']['profilePicture']) > 0
        assert len(restext['data']['nickname']) > 0
        assert len(restext['data']['userLevel']['levelId']) > 0
        assert restext['data']['userLevel']['levelNum'] >= 0
        if isUpdate:
            url = '/api/v2/identity/myInfo'
            body = {
                'nickname': '466123QQ',
                'sex': 1,
                'isPublicSexInfo': True,
                'description': 'haha',
                'birthday': int(time.time() - 5000)
            }
            api.apiFunction(test_parameter['prefix'], header, url, 'put', body)
            checkCache(header, apiName + idList[idIndex], restext, body)
Exemple #12
0
 def testGetSingelAnnounce(self):
     header['X-Auth-Token'] = test_parameter['user_token']
     header['X-Auth-Nonce'] = test_parameter['user_nonce']                  
     apilink = '/api/v2/identity/{user id}/announcement/list?item=10&page=1'
     linkAddr = apilink.replace('{user id}',self.idlist[2])
     res = api.apiFunction(test_parameter['prefix'], header, linkAddr, 'get', '')
     restext = json.loads(res.text)
     id = restext['data'][0]['id']
     #取得正確資料
     linkAddr = '/api/v2/identity/announcement/' + str(id)
     res = api.apiFunction(test_parameter['prefix'], header, linkAddr, 'get', '')
     restext = json.loads(res.text)
     assert res.status_code == 200
     assert restext['data']['title'] == 'Only for users'
     assert restext['data']['content'] == '針對一般使用者公告'
     assert restext['data']['source']['department'] == self.dep[0]
     #給錯誤的id
     linkAddr = '/api/v2/identity/announcement/0'
     res = api.apiFunction(test_parameter['prefix'], header, linkAddr, 'get', '')
     restext = json.loads(res.text)
     assert int(res.status_code / 100) == 4
     #給不存在的token/nonce
     header['X-Auth-Token'] = test_parameter['err_token']
     header['X-Auth-Nonce'] = test_parameter['err_nonce']                      
     linkAddr = '/api/v2/identity/announcement/'  + str(id)
     res = api.apiFunction(test_parameter['prefix'], header, linkAddr, 'get', '')
     restext = json.loads(res.text)
     assert int(res.status_code / 100) == 4
     #給正確的token/nonce,但這則公告不屬於我
     header['X-Auth-Token'] = test_parameter['broadcaster_token']
     header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce']                  
     linkAddr = '/api/v2/identity/announcement/'  + str(id)
     res = api.apiFunction(test_parameter['prefix'], header, linkAddr, 'get', '')
     restext = json.loads(res.text)
     assert int(res.status_code / 100) == 4    
Exemple #13
0
def OneToOneMessage():
    sqlList = []
    sqlList.append("update remain_points set remain_points = 50 where identity_id = '" + URlist[2] + "'")
    dbConnect.dbSetting(test_parameter['db'], sqlList)
    result = api.user_login(test_parameter['prefix'], 'broadcaster100', test_parameter['user_pass'])
    header['X-Auth-Token'] = result['token']
    header['X-Auth-Nonce'] = result['nonce']
    apiName = '/api/v2/liveMaster/instantMessage'
    content = '哈囉,你好。歡迎來到Truelove😄😄😄 ' 
    body = { 
    "receiver": URlist[2],
    "msgType": "text",
    "textContent": content,
    "imageUrl": "",
    "previewUrl": "",
    "videoUrl": "",
    "origin": "giftGiversToSendIM"
    }
    api.apiFunction(test_parameter['prefix'], header, apiName, 'post', body)
    apiName = '/api/v2/identity/instantMessage'
    header['X-Auth-Token'] = test_parameter['user_token']
    header['X-Auth-Nonce'] = test_parameter['user_nonce']      
    content = '哈囉,你好。我是你的小粉絲😄😄😄 ' 
    body = { 
    "receiver": BClist[15],
    "msgType": "text",
    "textContent": content,
    "imageUrl": "",
    "previewUrl": "",
    "videoUrl": "",
    "origin": "giftGiversToSendIM"
    }
    api.apiFunction(test_parameter['prefix'], header, apiName, 'post', body)  
    totalPoint[URlist[2]] += 20
Exemple #14
0
def createAccountByEmail():
    sqlStr = "select id from identity where login_id = '*****@*****.**'" 
    result = dbConnect.dbQuery(test_parameter['db'], sqlStr)
    sqlStr = "update identity set login_id = '" + str(int(time.time())) + "' where id = '" + result[0] + "'"
    dbConnect.dbSetting(test_parameter['db'], [sqlStr])
    head = {'Content-Type': 'application/json'}
    url = '/api/v2/identity/register/email/send'
    body = {
                'email': '*****@*****.**',
                'password': '******',
                'pushToken': 'emailRegrjhjayegrkldfkhgdkfasd'
            }
    res = api.apiFunction(test_parameter['prefix'], head, url, 'post', body)  
    restext = json.loads(res.text)    
    tempToken = restext['data']['tmpToken']
    sqlStr = "select activate_code from identity_email_register_history where token = '" + tempToken + "'"
    result = dbConnect.dbQuery(test_parameter['db'], sqlStr)
    actCode = result[0][0]
    url = '/api/v2/identity/register/email/activate'
    body = {
            "tmpToken": tempToken,
            "activateCode": actCode,
            "pushToken": "emailRegrjhjayegrkldfkhgdkfasd"
        }
    api.apiFunction(test_parameter['prefix'], head, url, 'post', body)
    sqlStr = "select id from identity where login_id = '*****@*****.**'" 
    result = dbConnect.dbQuery(test_parameter['db'], sqlStr)
    print('email註冊的uid(%s)'%result[0][0])
    return result[0][0]
Exemple #15
0
 def testUserInBlack(self):
     # 用戶在A直播主黑名單內;但不在B直播主名單內
     header['X-Auth-Token'] = test_parameter['broadcaster_token']
     header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce']
     apiName = '/api/v2/liveMaster/newUsersToSendIM'
     body = {'userId': idList[0]}
     api.add_block_user(test_parameter['prefix'], header, body)
     res = api.apiFunction(test_parameter['prefix'], header, apiName, 'get',
                           None)
     restext = json.loads(res.text)
     if idList[0] in self.newlist:
         self.newlist.remove(idList[0])
     for i in restext['data']:
         assert i['id'] in self.newlist
     assert res.status_code // 100 == 2
     assert restext['totalCount'] == len(self.newlist)
     assert restext['sentCount'] == 0
     api.delete_block_user(test_parameter['prefix'], header, idList[0])
     self.newlist.append(idList[0])
     header['X-Auth-Token'] = test_parameter['broadcaster1_token']
     header['X-Auth-Nonce'] = test_parameter['broadcaster1_nonce']
     apiName = '/api/v2/liveMaster/newUsersToSendIM'
     res = api.apiFunction(test_parameter['prefix'], header, apiName, 'get',
                           None)
     restext = json.loads(res.text)
     for i in restext['data']:
         assert i['id'] in self.newlist
     assert res.status_code // 100 == 2
     assert restext['totalCount'] == len(self.newlist)
     assert restext['sentCount'] == 0
Exemple #16
0
 def cancelTracking(self):
     uid = followList[lmList[1]][0]
     apiName = '/api/v2/identity/track/' + lmList[1]
     header['X-Auth-Token'] = fansList[uid][0]
     header['X-Auth-Nonce'] = fansList[uid][1]
     api.apiFunction(test_parameter['prefix'], header, apiName, 'delete', None)
     followList[lmList[1]].pop(0)
Exemple #17
0
def testResetPassword(codition, token, nonce, PWD, expected):
    header['X-Auth-Token'] = test_parameter[token]
    header['X-Auth-Nonce'] = test_parameter[nonce]
    for i in range(len(PWD)):
        urlName = '/api/v2/identity/password/reset'
        if codition == 'pwdNotMatch':
            body = {"newPassword": PWD[i], "newPasswordConfirm": "Tl0214Hello"}
        else:
            body = {"newPassword": PWD[i], "newPasswordConfirm": PWD[i]}
        res = api.apiFunction(test_parameter['prefix'], header, urlName,
                              'patch', body)
        assert res.status_code // 100 == expected[i]
        if codition == 'happyCase':
            urlName = '/api/v2/identity/auth/login'
            body = {
                "account": test_parameter['user_acc'],
                "password": PWD[i],
                "pushToken": "pwdkusaoxcjfoiakfjosaidjf"
            }
            res = api.apiFunction(test_parameter['prefix'],
                                  {"Content-Type": "application/json"},
                                  urlName, 'post', body)
            assert res.status_code // 100 == 2
            restext = json.loads(res.text)
            header['X-Auth-Token'] = restext['data']['token']
            header['X-Auth-Nonce'] = restext['data']['nonce']
Exemple #18
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."
Exemple #19
0
def sendMessage(original, repeats, timeList, today, yesterday, thisWeek,
                thisMonth, lastMonth):
    valuesList = []
    header['X-Auth-Token'] = test_parameter['broadcaster_token']
    header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce']
    apiName = '/api/v2/liveMaster/instantMessage'
    content = '哈囉,你好。😄😄😄 '
    valuesList.extend([idList[0], original, 'text', content, '', '', ''])
    body = createBody(valuesList)
    api.apiFunction(test_parameter['prefix'], header, apiName, 'post', body)
    apiName = '/api/v2/identity/instantMessage'
    header['X-Auth-Token'] = test_parameter['user_token']
    header['X-Auth-Nonce'] = test_parameter['user_nonce']
    for i in range(repeats):
        valuesList.clear()
        content = '哈囉大主播,我是你的小粉1號;第' + str(i + 1) + '次傳訊息'
        valuesList.extend([idList[2], '', 'text', content, '', '', ''])
        body = createBody(valuesList)
        api.apiFunction(test_parameter['prefix'], header, apiName, 'post',
                        body)
        #print(res.text)
        if idList[0] in today:
            today[idList[0]] += 20
        else:
            today[idList[0]] = 20
        if idList[0] in thisMonth:
            thisMonth[idList[0]] += 20
        else:
            thisMonth[idList[0]] = 20
        if idList[0] in thisWeek:
            thisWeek[idList[0]] += 20
        else:
            thisWeek[idList[0]] = 20
Exemple #20
0
 def addForbidden(self):
     apiName = '/api/v2/backend/forbidden'
     header['X-Auth-Token'] = test_parameter['backend_token']
     header['X-Auth-Nonce'] = test_parameter['backend_nonce']
     body = {'word': ''}
     for i in self.words:
         body['word'] = i
         api.apiFunction(test_parameter['prefix'], header, apiName, 'post', body)
Exemple #21
0
 def sendMessage(self, uid, orignal):
     valuesList = []
     apiName = '/api/v2/liveMaster/instantMessage'
     content = '哈囉,你好。😄😄😄 '
     valuesList.extend([uid, orignal, 'text', content, '', '', ''])
     body = self.createBody(valuesList)
     api.apiFunction(test_parameter['prefix'], header, apiName, 'post',
                     body)
Exemple #22
0
def createMessage(recevier, sender, header, msgtype, content, photo_url,
                  preview_url, video_url):
    valuesList = []
    apiName = '/api/v2/backend/instantMessage'
    valuesList.extend([
        recevier, sender, msgtype, content, photo_url, preview_url, video_url
    ])
    body = createBody(valuesList)
    api.apiFunction(test_parameter['prefix'], header, apiName, 'post', body)
Exemple #23
0
 def testLiveMasterBlackUser(self):
     # 直播主封鎖該名user,該user仍可傳訊息
     header['X-Auth-Token'] = test_parameter['broadcaster_token']
     header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce']
     body = {'userId': idList[3]}
     api.add_block_user(test_parameter['prefix'], header, body)
     valuesList = []
     sqlStr = "select experience, identity_id from user_experience where identity_id in ('" + idList[
         0] + "', '" + idList[3] + "') order by identity_id"
     bfExperience = self.getDBData(sqlStr)
     self.updatePoint(20, idList[3])
     #直播主封鎖該名user;直播主聊天室無該名user,但該user卻可看到聊天室
     apiName = '/api/v2/identity/instantMessage/roomList?item=20&page=1'
     res = api.apiFunction(test_parameter['prefix'], header, apiName, 'get',
                           None)
     assert res.status_code // 100 == 2
     restext = json.loads(res.text)
     assert idList[3] not in restext['data']
     header['X-Auth-Token'] = test_parameter['user_token']
     header['X-Auth-Nonce'] = test_parameter['user_nonce']
     res = api.apiFunction(test_parameter['prefix'], header, apiName, 'get',
                           None)
     assert res.status_code // 100 == 2
     restext = json.loads(res.text)
     assert restext['data']['userId'] == idList[0]
     dialogId = restext['data']['dialogId']
     apiName = '/api/v2/identity/instantMessage'
     header['X-Auth-Token'] = test_parameter['user_token']
     header['X-Auth-Nonce'] = test_parameter['user_nonce']
     content = '哈囉大主播,我是你的小粉1號'
     valuesList.extend([idList[0], '', 'text', content, '', '', ''])
     body = createBody(valuesList)
     res = api.apiFunction(test_parameter['prefix'], header, apiName,
                           'post', body)
     restest = json.loads(res.text)
     assert res.status_code // 100 == 2
     assert restest['data']['pointLeft'] == 0
     afExperience = self.getDBData(sqlStr)
     for i in range(2):
         if bfExperience[i][1] == idList[0]:
             assert afExperience[i][0] - bfExperience[i][0] == 20
         else:
             assert afExperience[i][0] - bfExperience[i][0] == 60
     #直播主無法取得黑名單聊天室的內容;但被黑的user卻仍可以看到
     apiName = '/api/v2/identity/instantMessage/history?dialogId=' + dialogId
     res = api.apiFunction(test_parameter['prefix'], header, apiName,
                           'post', body)
     restest = json.loads(res.text)
     assert res.status_code // 100 == 2
     assert restest['data']['receiver'] == idList[0]
     header['X-Auth-Token'] = test_parameter['broadcaster_token']
     header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce']
     res = api.apiFunction(test_parameter['prefix'], header, apiName,
                           'post', body)
     restest = json.loads(res.text)
     assert res.status_code // 100 == 2
     assert restest['data'] == []
Exemple #24
0
 def teardown_class(self):
     header['X-Auth-Token'] = test_parameter['cs_token']
     header['X-Auth-Nonce'] = test_parameter['cs_nonce']   
     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', '')
Exemple #25
0
def loginByLine():
    url = '/api/v2/3rdParty/line/verify'
    idToken, accessToken = (lineLogin.line_login())
    body = {
        'accessToken': accessToken,
        'idToken': idToken
    }
    api.apiFunction(test_parameter['prefix'], {}, url, 'post', body)
    sqlStr = "select identity_id from identity_third_party" 
    result = dbConnect.dbQuery(test_parameter['db'], sqlStr)
    return result[0][0]
Exemple #26
0
 def setup_class(self):
     valuesList = []
     apiName = '/api/v2/liveMaster/instantMessage'
     header['X-Auth-Token'] = test_parameter['broadcaster_token']
     header['X-Auth-Nonce'] = test_parameter['broadcaster_nonce']
     content = '哈囉,歡迎到Truelove新天地。來看看我的直播😄😄😄 '
     valuesList.extend(
         [idList[3], 'giftGiversToSendIM', 'text', content, '', '', ''])
     body = createBody(valuesList)
     api.apiFunction(test_parameter['prefix'], header, apiName, 'post',
                     body)
Exemple #27
0
    def testVerifyActive(self, scenario, expected):
        urlName = '/api/v2/identity/password/verify'
        body = {}
        if len(self.info) < 2:
            self.getActiveCode()
        if scenario == 'tokenWrong':
            body = {
                "tmpToken": "wJalrXUtnFEMI...",
                "activateCode": self.info[0]['activateCode']
            }
        elif scenario == 'codeWrong':
            body = {
                "tmpToken": self.info[0]['tmpToken'],
                "activateCode": '214324'
            }
        elif scenario == 'notMatch':
            body = {
                "tmpToken": self.info[0]['tmpToken'],
                "activateCode": self.info[1]['activateCode']
            }
        elif scenario == 'expired':
            sqlList = [
                "update identity_pwd_reset_history set expires_in = 1 where token = '"
                + self.info[0]['tmpToken'] + "'"
            ]
            dbConnect.dbSetting(test_parameter['db'], sqlList)
            body = {
                "tmpToken": self.info[0]['tmpToken'],
                "activateCode": self.info[0]['activateCode']
            }
            time.sleep(2)
        elif scenario == 'success':
            body = {
                "tmpToken": self.info[1]['tmpToken'],
                "activateCode": self.info[1]['activateCode']
            }

        res = api.apiFunction(test_parameter['prefix'],
                              {'Content-Type': 'application/json'}, urlName,
                              'post', body)
        assert res.status_code // 100 == expected
        if res.status_code // 100 == 2:
            head = {
                'Content-Type': 'application/json',
                'Connection': 'Keep-alive'
            }
            restext = json.loads(res.text)
            urlName = '/api/v2/identity/myInfo'
            head['X-Auth-Token'] = restext['data']['token']
            head['X-Auth-Nonce'] = restext['data']['nonce']
            res = api.apiFunction(test_parameter['prefix'], head, urlName,
                                  'get', None)
            restext = json.loads(res.text)
            assert restext['data']['verifiedEmail'] == '*****@*****.**'
Exemple #28
0
 def getActiveCode(self, bindMail):
     url = '/api/v2/identity/binding/email/send'
     body = {'email': bindMail}
     api.apiFunction(test_parameter['prefix'], self.head, url, 'post', body)
     sqlStr = "select max(id) from identity_email_bind_history"
     result = dbConnect.dbQuery(test_parameter['db'], sqlStr)
     sqlStr = "select activate_code from identity_email_bind_history where id = " + str(
         result[0][0])
     result = dbConnect.dbQuery(test_parameter['db'], sqlStr)
     #pprint(result)
     return result[0][0]
Exemple #29
0
 def runActiveCode(self, bindMail):
     sqlStr = "select activate_code from identity_email_bind_history where id = (select max(id) from identity_email_bind_history)"
     result = dbConnect.dbQuery(test_parameter['db'], sqlStr)
     actCode = result[0][0]
     url = '/api/v2/identity/binding/email/activate'
     body = {
         "source": "advance",
         "email": bindMail,
         "password": '******',
         "activateCode": actCode
     }
     api.apiFunction(test_parameter['prefix'], self.head, url, 'post', body)
Exemple #30
0
 def setup_class(self):
     apiName = '/api/v2/identity/track'
     header['X-Auth-Token'] = test_parameter['user_token']
     header['X-Auth-Nonce'] = test_parameter['user_nonce']
     body = {"liveMasterId": idlist[0]}
     api.apiFunction(test_parameter['prefix'], header, apiName, 'post',
                     body)
     apiName = '/api/v2/identity/track/photoPost?item=10&page=1'
     res = api.apiFunction(test_parameter['prefix'], header, apiName, 'get',
                           None)
     restext = json.loads(res.text)
     self.postId = restext['data'][0][
         'id'] if restext['totalCount'] > 0 else None