Skip to content

defaultdata 示例

Be5yond edited this page Dec 10, 2020 · 1 revision
import uuid
import time
from testtp import Session, dafaultdata


def gen_trace_id():
    return uuid.uuid1(4).hex


class CustomSession(Session):
    def __init__(self, env: str = 'test'):
        super().__init__()
        self._host = 'http://httpbin.org'
        # 此session下所有请求默认 header字段中添加X-trance-id、X-default-header,params字段中添加timestamp
        self.headers = {'X-default-header': 'session-header', 'X-trace-id': gen_trace_id()}
        self.params = {'timestamp': int(time.time())}
        # 登录
        token = self.login()        
    
    def login(self):
        "登录"
        token = '...'
        return token
        
    @defaultdata(
        params={'default-api1': 'api-params'},
        json={'default-api1': 'api-body'}
    )
    def api1(self, **kwargs):
        '''带默认参数'''
        self.post(self._host+'/post', **kwargs)

    def api2(self, **kwargs):
        '''不带默认参数'''
        self.post(self._host+'/post', **kwargs)

c = CustomSession()
c.api1(json=data_1)
c.api1(json=data_2)
Clone this wiki locally