__init__.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:sdk-py 作者: predicthq 项目源码 文件源码
def with_mock_responses(req_resp=None):
    def decorator(f):
        @functools.wraps(f)
        def wrapper(*args, **kwargs):
            class_name, func_name = re.sub(r'([A-Z]+)', r'_\1', args[0].__class__.__name__).lower().strip('_'), f.__name__
            fixtures = load_reqresp_fixture(req_resp or "{}/{}".format(class_name, func_name))
            with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps:
                for fixture in fixtures:
                    if 'url_re' in fixture:
                        url_re = fixture.pop('url_re')
                        fixture['url'] = re.compile(Client.build_url(url_re))
                    else:
                        fixture['url'] = Client.build_url(fixture['url'])
                    if "content_type" in fixture and fixture['content_type'] == "application/json":
                        fixture['body'] = json.dumps(fixture['body'])
                    rsps.add(**fixture)
                return f(responses=rsps, *args, **kwargs)
        return wrapper
    return decorator
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号