Esempio n. 1
0
 def test_ordercreate_03(self):
     """source_id参数值错误"""
     timeStamp_login = int(time.mktime(datetime.now().timetuple()))
     headers = RunMain().headers_token(timeStamp_login)
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     access_token = md5.encrypt_md5(timeStamp)
     data = '{"app_version":"%(version)s",' \
            '"access_token":"%(access_token)s",' \
            '"os_type":1,' \
            '"timestamp":%(timeStamp)d,' \
            '"source_id":"a",' \
            '"source_type":2,' \
            '"pay_method":3,' \
            '"app_key":"%(app_key)s",' \
            '}' % {
                'version': version,
                'app_key': app_key,
                'access_token': access_token,
                'timeStamp': timeStamp}
     data = get_Sign().encrypt(data)
     response = requests.post(self.url,
                              data=json.dumps(data),
                              headers=headers)
     self.assertEqual(400, response.status_code,
                      "source_id参数值错误接口状态码应返回400")
Esempio n. 2
0
 def test_ordercreate_01(self):
     """正确的参数"""
     timeStamp_login = int(time.mktime(datetime.now().timetuple()))
     headers = RunMain().headers_token(timeStamp_login)
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     access_token = md5.encrypt_md5(timeStamp)
     # source_type 必填, 1是商品, 2是套餐;source_id 必填, 商品或者套餐id;pay_method 必填, 支付方式
     data = '{"app_version":"%(version)s",' \
            '"access_token":"%(access_token)s",' \
            '"os_type":1,' \
            '"timestamp":%(timeStamp)d,' \
            '"source_id":1,'\
            '"source_type":2,'\
            '"pay_method":3,'\
            '"app_key":"%(app_key)s"' \
            '}' % {
                'version': version,
                'app_key': app_key,
                'access_token': access_token,
                'timeStamp': timeStamp}
     data = get_Sign().encrypt(data)
     response = requests.post(self.url,
                              data=json.dumps(data),
                              headers=headers)
     self.assertEqual(1,
                      response.json()['data']['source_id'],
                      "订单创建接口返回的source_id应为1")
Esempio n. 3
0
 def test_01_config(self):
     """正确的请求参数"""
     time.sleep(1)
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"os_type": 1,' \
            '"app_key":"%(app_key)s",' \
            '"os_version":"9",' \
            '"carrier":3,' \
            '"mac_address":"02:00:00:00:00:00",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"imei":"869384032108431",' \
            '"latitude":34.223866,' \
            '"gcid":"dba9f3c2e8926564d3c930790c232bcf",' \
            '"bssid":"4c:e9:e4:7d:41:c1",' \
            '"longitude":108.909907,' \
            '"installation_id":1904301718321742,' \
            '"force_reload_user":true,' \
            '"app_version":"%(version)s",' \
            '"timeStamp":%(timeStamp)d}' % {
                'app_key': app_key,
                'timeStamp': timeStamp,
                'version': version}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(url=self.url,
                              data=json.dumps(form),
                              headers=headers)
     response_data = RunMain().decrypt_to_dict(response, 'c_p')
     self.assertEqual(
         "1.0", response_data['api']['version'],
         "config接口返回的api-version应该为%s" % response_data['api']['version'])
Esempio n. 4
0
 def test_video_01(self):
     """正确的请求参数"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"content_id": %(content_id)d, ' \
            '"content_type": %(content_type)d, ' \
            '"os_type": 1, ' \
            '"app_version": "%(version)s", ' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"}' % {
                'content_id': self.content_video['id'],
                'content_type': self.content_type,
                'version': version,
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(self.url,
                              data=json.dumps(form),
                              headers=headers)
     response_data = RunMain().decrypt_to_dict(response, 'r')
     msg = '上线剧集{0}的期望id是{1},实际id是{2}'.format(self.content_video["title"],
                                              self.content_video["id"],
                                              response_data["id"])
     self.assertEqual(self.content_video["id"],
                      response_data["id"],
                      msg=msg)
Esempio n. 5
0
 def videolist(self, video):
     time.sleep(0.1)  #点播资源连跑有5000多条,服务器请求会有延时,加3秒等待下就好了
     url = self.baseurl + "/cms/v1.2/video"
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"os_type":1, ' \
            '"app_version":"%(version)s", ' \
            '"content_id":%(video_id)d, ' \
            '"content_type":1,' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"}' % {
                'version': self.version,
                'app_key': self.app_key,
                'timeStamp': timeStamp,
                'video_id': video["id"]}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = self.aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(url=url,
                              data=json.dumps(form),
                              headers=self.headers)
     response_data = RunMain().decrypt_to_dict(response, 'r')
     msg = '上线剧集{0}的期望id是{1},实际id是{2}'.format(video["title"], video["id"],
                                              response_data["id"])
     self.assertEqual(video["id"], response_data["id"], msg=msg)
Esempio n. 6
0
 def get_app_scret_key(self):
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     # 以下参数包括sign是必传的,总共有八个参数
     data = '{"os_type": 1,' \
            '"app_key":"xdThhy2239daax",' \
            '"os_version":"9",' \
            '"mac_address":"02:00:00:00:00:00",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"app_version":"%(version)s",' \
            '"timeStamp":%(timeStamp)d}' % {
                'timeStamp': timeStamp,
                'version': version}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = self.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(url=self.url,
                              data=json.dumps(form),
                              headers=self.headers)
     print(response.status_code)
     r_data = response.json()['data']
     str_decrypt = self.decrypt(r_data, 'c_p')
     global false, null, true
     false = null = true = ""
     response_data = eval(str_decrypt)
     app_scret_key = response_data["setting"]["app_scret_key"][0:16]
     return app_scret_key
Esempio n. 7
0
 def hotsearch_list_video(self, content, category):
     time.sleep(1)
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"content_id": %(content_id)d, ' \
            '"content_type": %(content_type)d, ' \
            '"os_type": 1, ' \
            '"app_version": "%(version)s", ' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"}' % {
                'content_id': content["content_id"],
                'content_type': content["content_type"],
                'version': version,
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     headers = RunMain().headers()
     url = baseurl + "/cms/v1.2/video"
     response = requests.post(url=url,
                              data=json.dumps(form),
                              headers=headers)
     msg = "搜索页面{0}页签的{1}视频无法点播".format(category, content["title"])
     self.assertEqual(200, response.status_code, msg=msg)
     response_data = RunMain().decrypt_to_dict(response, 'r')
     self.assertEqual(content["content_id"], response_data['id'], msg=msg)
Esempio n. 8
0
 def test_filter_result_01(self):
     """正确的请求参数, id为综艺page"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"category_id" : 1, ' \
            '"os_type" : 1, ' \
            '"os_version":"9",' \
            '"mac_address":"02:00:00:00:00:00",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"timestamp":%(timeStamp)d,' \
            '"app_version":"%(version)s", ' \
            '"app_key": "%(app_key)s", ' \
            '"content_type": 1,' \
            '"limit":5,' \
            '"offset":0}' % {
                'version': version,
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {'data': crypt_data, 'encode': 'v1'}
     response = requests.post(self.url,
                              data=json.dumps(form),
                              headers=headers)
     response_data = self.decrypt_to_dict(response.json()['data'], 1,
                                          '"expired_at":null}')
     self.assertTrue(len(response_data['title']) > 0, "页面加载的内容不能为空")
Esempio n. 9
0
 def test_minutelylist_01(self):
     """正确的参数"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     access_token = md5.encrypt_md5(timeStamp)
     data = '{"app_version":"%(version)s",' \
            '"os_type":1,' \
            '"app_key":"xdThhy2239daax",' \
            '"access_token":"%(access_token)s",' \
            '"timestamp":%(timeStamp)d,' \
            '"installation_id":1904301718321742,' \
            '"stock_code":"sh000001"' \
            '}'% {
                'version': version,
                'access_token': access_token,
                'timeStamp': self.timeStamp}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign": "%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(self.url,
                              data=json.dumps(form),
                              headers=headers)
     response_stock = RunMain().decrypt_to_dict(response,
                                                'r')["minutely"][0]
     self.assertEqual("sh000001", response_stock["stock_code"],
                      "上证股票号码应该sh000001")
Esempio n. 10
0
 def test_logout_02(self):
     """headers中不包含token"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     access_token = md5.encrypt_md5(timeStamp)
     headers = RunMain.headers(self)
     data = '{"app_version":"%(version)s",' \
            '"access_token":"%(access_token)s",' \
            '"os_type":1,' \
            '"timestamp":%(timeStamp)d,' \
            '"provider":1,' \
            '"app_key":"ddfsweer",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"country_code":"+86",' \
            '"installation_id":1904301718321742,' \
            '"longitude":108.90823353286173,' \
            '"latitude":34.21936825217505,' \
            '}' % {
                'version': version,
                'access_token': access_token,
                'timeStamp': timeStamp}
     data = get_Sign().encrypt(data)
     response = requests.post(self.url,
                              data=json.dumps(data),
                              headers=headers)
     self.assertEqual(500,
                      response.json()['err_code'], "接口返回的err_code应为500")
Esempio n. 11
0
 def test_researchreport_detail_02(self):
     """错误的请求参数"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"app_version":"%(version)s",' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s", ' \
            '"installation_id": 1904301718321742,' \
            '"os_version":"9",' \
            '"mac_address":"02:00:00:00:00:00",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"os_type":1,' \
            '"id": -1}' % {
                'version': version,
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(self.url,
                              data=json.dumps(form),
                              headers=headers)
     self.assertEqual(400, response.status_code, "大咖的id参数错误,研报接口状态码应为400")
     self.assertEqual(500,
                      response.json()["err_code"],
                      "大咖的id参数错误,研报接口应返回err_code为500")
Esempio n. 12
0
 def test_page_01(self):
     """正确的请求参数"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"id": [%(page_id)d], "os_type":1,' \
            '"app_version":"%(version)s",' \
            '"timestamp":%(timeStamp)d,' \
            '"page_alias":"",'\
            '"installation_id":1901231425555756,'\
            '"device_id":"40439d078e887033",'\
            '"os_version":"8.1.0",'\
            '"channel":"dopool",'\
            '"app_key": "%(app_key)s"}' % {
                'version': version,
                'timeStamp': timeStamp,
                'app_key': app_key,
                'page_id' : self.get_config_page_id()}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {'data': crypt_data, 'encode': 'v1'}
     response = requests.post(self.url,
                              data=json.dumps(form),
                              headers=headers)
     response_data = RunMain().decrypt_to_dict(response, 'r')[0]
     msg = '页面{0}的期望id是{1},实际id是{2}'.format(response_data['name'],
                                            self.get_config_page_id(),
                                            response_data['id'])
     self.assertEqual(self.get_config_page_id(),
                      response_data['id'],
                      msg=msg)
Esempio n. 13
0
 def test_smscode_02(self):
     """错误的参数"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     access_token = md5.encrypt_md5(timeStamp)
     data = '{"app_version":"%(version)s",' \
            '"access_token":"%(access_token)s",' \
            '"os_type":3,' \
            '"timestamp":%(timeStamp)d,' \
            '"mobile":"%(telephone)s",' \
            '"app_key":"%(app_key)s",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"country_code":"+86",' \
            '"installation_id":1904301718321742,' \
            '"longitude":108.90823353286173,' \
            '"latitude":34.21936825217505}' % {
                'version': version,
                'access_token': access_token,
                'timeStamp': self.timeStamp,
                'app_key': app_key,
                'telephone': telephone}
     data = get_Sign().encrypt(data)
     response = requests.post(self.url,
                              data=json.dumps(data),
                              headers=headers)
     assert response.json()['err_code'] == 500
Esempio n. 14
0
 def test_researchreport_detail_01(self):
     """正确的请求参数"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"app_version":"%(version)s",' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s", ' \
            '"installation_id": 1904301718321742,' \
            '"os_version":"9",' \
            '"mac_address":"02:00:00:00:00:00",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"os_type":1,' \
            '"id": %(id)d}' % {
                'version': version,
                'id': self.reseachreport_id['id'],
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(url=self.url,
                              data=json.dumps(form),
                              headers=headers)
     self.assertTrue(
         response.json()['err_code'] == 0
         and response.json()['encode'] == 'v1', "请求失败")
Esempio n. 15
0
 def test_tycoon_list_01(self):
     """参数有tycoon_id,返回单个大咖信息"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"app_version":"%(version)s",' \
            '"os_type":1,' \
            '"tycoon_id":%(tycoon_id)d,' \
            '"os_version":"9",' \
            '"mac_address":"02:00:00:00:00:00",'\
            '"device_id":"802ca0fba119ab0a",' \
            '"limit":1,' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"' \
            '}' % {
                'version': version,
                'tycoon_id': self.tycoon_detail["id"],
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {'data': crypt_data, 'encode': 'v1'}
     response = requests.post(self.url, data=json.dumps(form), headers=headers)
     print(RunMain().decrypt_to_dict(response, 'r'))
     tycoon_name = RunMain().decrypt_to_dict(response, 'r')[0]["name"]
     self.assertEqual(self.tycoon_detail["name"], tycoon_name, "大咖姓名应该是{0}".format(self.tycoon_detail["name"]))
Esempio n. 16
0
 def test_tycoon_list_02(self):
     """参数tycoon_id值错误"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"app_version":"%(version)s",' \
            '"os_type":1,' \
            '"tycoon_id":10000000,' \
            '"os_version":"9",' \
            '"mac_address":"02:00:00:00:00:00",'\
            '"device_id":"802ca0fba119ab0a",' \
            '"limit":1,' \
            '"query_type":"all",' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"' \
            '}' % {
                'version': version,
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {'data': crypt_data, 'encode': 'v1'}
     response = requests.post(self.url,
                              data=json.dumps(form),
                              headers=headers)
     video_all = RunMain().decrypt_to_dict(response, 'r')
     self.assertEqual({}, video_all, "返回的大咖视频应该为空")
Esempio n. 17
0
 def test_tycoon_video_list_01(self):
     """参数有tycoon_id,返回单个大咖信息"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"app_version":"%(version)s",' \
            '"os_type":1,' \
            '"tycoon_id":%(tycoon_id)d,' \
            '"os_version":"9",' \
            '"mac_address":"02:00:00:00:00:00",'\
            '"device_id":"802ca0fba119ab0a",' \
            '"limit":1,' \
            '"query_type":"all",' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"' \
            '}' % {
                'version': version,
                'tycoon_id': self.tycoon_id,
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {'data': crypt_data, 'encode': 'v1'}
     response = requests.post(self.url,
                              data=json.dumps(form),
                              headers=headers)
     # 返回的是curriculum课程和realtime实时分析两个列表,合在一起验证
     video_dict = self.get_response_tycoon_video(response)
     for video_id in self.get_database_tycoon_video():
         msg = "大咖{0}的视频列表中应包含的视频id为{1}".format(self.tycoon_name["name"],
                                                video_id)
         self.assertIn(video_id, video_dict, msg)
Esempio n. 18
0
 def epg_shield(self, city_ip, shield_type):
     """屏蔽"""
     stream_id = mysql.select_one(
         'select id FROM stream where title = "CCTV1";')["id"]
     date_list = self.get_date_list()
     timeStamp = int(time.mktime(datetime.datetime.now().timetuple()))
     data = '{"stream_id":%(stream_id)d,' \
            '"date":["%(date_3)s","%(date_2)s","%(date_1)s","%(date_0)s"],' \
            '"os_type":1,' \
            '"app_version":"%(version)s",' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"}' % {
                'date_3': date_list[0],
                'date_2': date_list[1],
                'date_1': date_list[2],
                'date_0': date_list[3],
                'stream_id': stream_id,
                'version': version,
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     headers = RunMain().shield_headers(city_ip)
     response = requests.post(url=self.url,
                              data=json.dumps(form),
                              headers=headers)
     if shield_type == "keyword":
         self.assert_epg_keyword_blocked(response, keyword)
     else:
         self.assert_epg_timeslot_blocked(response, starttime, endtime)
Esempio n. 19
0
 def test_researchreport_list_01(self):
     """参数有tycoon_id,返回大咖主页研报"""
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"app_version":"%(version)s",' \
            '"os_type":1,' \
            '"os_version":"9",' \
            '"mac_address":"02:00:00:00:00:00",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"tycoon_id":%(tycoon_id)d,' \
            '"query_type":"all",' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"' \
            '}' % {
                'version': version,
                'tycoon_id': self.researchreport_detail["tycoon_id"],
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {'data': crypt_data, 'encode': 'v1'}
     response = requests.post(self.url, data=json.dumps(form), headers=headers)
     researchreport_all = RunMain().decrypt_to_dict(response, 'r')
     # - charge 列表为收费研报
     # - free  列表为免费研报
     title_list = []
     for free_page in ["free", "charge"]:
         if free_page in researchreport_all.keys():
             for researchreport in researchreport_all[free_page]:
                 title_list.append(researchreport["title"])
     msg = f'大咖id为{self.researchreport_detail["tycoon_id"]},大咖的研报应该包含{self.researchreport_detail["title"]}'
     self.assertIn(self.researchreport_detail["title"], title_list, msg)
Esempio n. 20
0
 def test_update_01(self):
     """正确的请求参数"""
     timeStamp_login = int(time.mktime(datetime.now().timetuple()))
     headers = RunMain().headers_token(timeStamp_login)
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     access_token = md5.encrypt_md5(timeStamp)
     data = '{"app_version":"%(version)s",' \
            '"access_token":"%(access_token)s",' \
            '"os_type":1,' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s",' \
            '"installation_id":1904301718321742,' \
            '"avatar" : "%(avatar)s"' \
            '}' % {
                'version': version,
                'app_key': app_key,
                'access_token': access_token,
                'timeStamp': timeStamp,
                'avatar': avatar}
     data = get_Sign().encrypt(data)
     response = requests.post(self.url,
                              data=json.dumps(data),
                              headers=headers)
     response_data = response.json()
     assert response_data['err_code'] == 0 and response_data['data'][
         'UserInfo']['avatar'] == avatar
Esempio n. 21
0
 def get_config_page_id(self):
     # id需要在config接口中返回
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"os_type": 1,' \
            '"app_key":"%(app_key)s",' \
            '"os_version":"9",' \
            '"carrier":3,' \
            '"mac_address":"02:00:00:00:00:00",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"imei":"869384032108431",' \
            '"latitude":34.223866,' \
            '"gcid":"dba9f3c2e8926564d3c930790c232bcf",' \
            '"bssid":"4c:e9:e4:7d:41:c1",' \
            '"longitude":108.909907,' \
            '"installation_id":1904301718321742,' \
            '"force_reload_user":true,' \
            '"app_version":"%(version)s",' \
            '"timeStamp":%(timeStamp)d}' % {
                'app_key': app_key,
                'timeStamp': timeStamp,
                'version': version}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(url=baseurl + "/cms/v1.2/config",
                              data=json.dumps(form),
                              headers=headers)
     return RunMain().decrypt_to_dict(response,
                                      'c_p')['pages'][0]['pages'][0]['id']
Esempio n. 22
0
 def test_01_epg_list(self):
     """正确的请求参数"""
     stream_id = mysql.select_one('select id FROM stream where title = "CCTV1";')["id"]
     date_list = self.get_date_list()
     timeStamp = int(time.mktime(datetime.datetime.now().timetuple()))
     data = '{"stream_id":%(stream_id)d,' \
            '"date":["%(date_3)s","%(date_2)s","%(date_1)s","%(date_0)s","%(date_4)s"],' \
            '"os_type":1,' \
            '"app_version":"%(version)s",' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"}' % {
                'date_3': date_list[0],
                'date_2': date_list[1],
                'date_1': date_list[2],
                'date_0': date_list[3],
                'date_4': date_list[4],
                'stream_id': stream_id,
                'version': version,
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(url=self.url, data=json.dumps(form), headers=headers)
     actual_id = self.get_response_stream_id(response)
     msg = "CCTV1电视台返回的id应该是{0},实际是{1}".format(stream_id, actual_id)
     self.assertEqual(stream_id, actual_id, msg)
Esempio n. 23
0
 def tycoon_detail(self, params, param):
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"app_version":"%(version)s",' \
            '"installation_id":1904301718321742,' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s", ' \
            '"os_version":"9",' \
            '"mac_address":"02:00:00:00:00:00",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"os_type":1,' \
            '"%(key)s":%(id)d}' % {
                'version': version,
                'key': param,
                'id': params[param],
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(url=self.url,
                              data=json.dumps(form),
                              headers=headers)
     if type(params.values()) != type("a"):
         if list(params.values())[0] < 1000000000:
             acturl_tycoon_name = RunMain().decrypt_to_dict(response,
                                                            'r')["name"]
             msg = "大咖详情接口返回的大咖-{0}信息错误".format(tycoon_name["name"])
             self.assertEqual(tycoon_name["name"], acturl_tycoon_name, msg)
     else:
         self.assertEqual(400, response.status_code, "参数错误,接口应返回400")
         self.assertEqual(500,
                          response.json()["err_code"],
                          "参数错误,接口应返回err_code500")
Esempio n. 24
0
 def login(self, timeStamp):
     '''获取登录接口的token'''
     url = baseurl + '/ims/v1.0/user/login'
     data = '{"app_version":"%(version)s",' \
            '"access_token":"%(access_token)s",' \
            '"os_type":1,' \
            '"timestamp":%(timeStamp)d,' \
            '"open_id":"%(telephone)s",' \
            '"provider":1,' \
            '"app_key":"%(app_key)s",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"country_code":"+86",' \
            '"installation_id":1904301718321742,' \
            '"longitude":108.90823353286173,' \
            '"latitude":34.21936825217505,' \
            '}' % {
                'version': version,
                'app_key': app_key,
                'access_token': self.access_token,
                'timeStamp': timeStamp,
                'telephone': telephone}
     data = get_Sign().encrypt(data)
     response = requests.post(url,
                              data=json.dumps(data),
                              headers=self.headers())
     return response
Esempio n. 25
0
 def test_01_videopackage_detail(self):
     """正确的会员套餐视频包详情参数"""
     time.sleep(1)
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     data = '{"os_version":"9",' \
            '"imei":"869384032108431",' \
            '"latitude":34.223866,' \
            '"longitude":108.909907,' \
            '"gcid":"dba9f3c2e8926564d3c930790c232bcf",' \
            '"bssid":"70:57:bf:90:52:f1",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"installation_id":1904301718321742,' \
            '"mac_address":"02:00:00:00:00:00",'\
            '"channel":"dopool",' \
            '"id":[1],' \
            '"os_type":1,' \
            '"app_version":"%(version)s",' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"}' % {
                'id': self.id,
                'version': version,
                'timeStamp': timeStamp,
                'app_key': app_key}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign":"%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(url=self.url,
                              data=json.dumps(form),
                              headers=headers)
     response_data = self.decrypt_to_dict(response, 1, -1)
     assert response_data["description"] == "会员专享,老的VIP用户升级专用"
Esempio n. 26
0
 def test_login_01(self):
     '''正确的参数'''
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     access_token = md5.encrypt_md5(timeStamp)
     data = '{"app_version":"%(version)s",' \
            '"access_token":"%(access_token)s",' \
            '"os_type":1,' \
            '"timestamp":%(timeStamp)d,' \
            '"open_id":"%(telephone)s",' \
            '"provider":1,' \
            '"app_key":"%(app_key)s",' \
            '"device_id":"802ca0fba119ab0a",' \
            '"country_code":"+86",' \
            '"installation_id":1904301718321742,' \
            '"longitude":108.90823353286173,' \
            '"latitude":34.21936825217505,' \
            '}' % {
                'version': version,
                'app_key': app_key,
                'access_token': access_token,
                'timeStamp': timeStamp,
                'telephone': telephone}
     data = get_Sign().encrypt(data)
     response = requests.post(self.url,
                              data=json.dumps(data),
                              headers=headers)
     self.assertTrue("Bearer" in response.json()["data"]["token"],
                     "login接口返回的token中包含Bearer")
Esempio n. 27
0
 def get_url_params(self):
     # order_id 必填, 订单id
     data = '{"app_version":"%(version)s",' \
            '"os_type":1,' \
            '"order_id":116592,' \
            '"app_key":"%(app_key)s"' \
            '}' % {
                'version': version,
                'app_key': app_key}
     data = get_Sign().encrypt(data)
     return RunMain().get_url_params(data, self.url)
Esempio n. 28
0
 def get_url_params(self):
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     # category_id 必填
     data = '{"os_type":1,'\
            '"os_version":9,'\
            '"app_version":"%(version)s",' \
            '"category_id":1,' \
            '"timestamp":%(timeStamp)d,' \
            '"app_key":"%(app_key)s"' \
            '}' % {
                'version': version,
                'app_key': app_key,
                'timeStamp': timeStamp}
     data = get_Sign().encrypt(data)
     return RunMain().get_url_params(data, self.url)
Esempio n. 29
0
 def test_dotlist_03(self):
     """股票代码参数值为空"""
     data = '{"app_version":"%(version)s",' \
            '"os_type":1,' \
             '"app_key":"xdThhy2239daax",' \
            '"installation_id":1904301718321742' \
             '}' % {
                 'version': version}
     sign = get_Sign().encrypt(data, True)["sign"]
     data = data.replace('}', ',"sign": "%s"}' % sign)
     crypt_data = aes.encrypt(data, 'c_q')
     form = {"data": crypt_data, "encode": "v1"}
     response = requests.post(self.url,
                              data=json.dumps(form),
                              headers=headers)
     assert response.status_code == 400
Esempio n. 30
0
 def get_url_params(self):
     timeStamp = int(time.mktime(datetime.now().timetuple()))
     url_params = '{"app_version":"%(version)s",' \
                  '"app_key":"%(app_key)s", ' \
                  '"os_type":1,' \
                  '"timestamp":%(timeStamp)d,' \
                  '"installation_id": 1904301718321742,' \
                  '"os_version": "9",' \
                  '"latitude": 34.230261,' \
                  '"mac_address": "02:00:00:00:00:00",' \
                  '"longitude": 108.872503,' \
                  '"device_id": "802ca0fba119ab0a"}' % {
                      'version': version,
                      'app_key': app_key,
                      'timeStamp': timeStamp}
     params = get_Sign().encrypt(url_params)
     return RunMain().get_url_params(params, self.url)