コード例 #1
0
ファイル: test_search_video.py プロジェクト: dongyn/APItest
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.headers = RunMain().headers()
     self.baseurl = url.baseurl()
     self.version = ReadConfig().get_app("version")
     self.app_key = ReadConfig().get_app("app_key")
     self.aes = AES_CBC()
コード例 #2
0
ファイル: test_search_video.py プロジェクト: dongyn/APItest
class test_Search_video(unittest.TestCase):
    # 搜索点播视频,播放视频

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.headers = RunMain().headers()
        self.baseurl = url.baseurl()
        self.version = ReadConfig().get_app("version")
        self.app_key = ReadConfig().get_app("app_key")
        self.aes = AES_CBC()

    def get_sql_list(self):
        return mysql.select_all(
            'select video.id, video.title FROM cms.video LEFT JOIN cms.resource_param on '
            'cms.video.id = cms.resource_param.content_id '
            'where resource_param.online = 1 and resource_param.app_id = 1 and resource_param.content_type = 1;'
        )

    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)

    @staticmethod
    def getTestFunc(video):
        def func(self):
            self.videolist(video)

        return func
コード例 #3
0
ファイル: test_page.py プロジェクト: dongyn/APItest
# @Time  : 2019/7/10 10:23
# @Author: pengjuan
# @interfacetest: http://apiv1.starschina.com/cms/v1.2/page

from common.configHttp import RunMain
from readConfig import ReadConfig
from common.getSign import get_Sign
from common.AES_CBC import AES_CBC
from datetime import datetime
import common.url as url
import requests, unittest, json, time

baseurl = url.baseurl()
version = ReadConfig().get_app('version')
app_key = ReadConfig().get_app('app_key')
aes = AES_CBC()
headers = RunMain().headers()


class test_Page(unittest.TestCase):
    """测试页面加载接口"""
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.url = baseurl + "/cms/v1.2/page"

    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",' \