Google云端功能-测试/模拟具有HTTP触发功能的身份验证吗?

时间:2019-03-07 05:13:59

标签: flask google-cloud-functions

我有一个使用GCP Cloud Functions构建的API,我知道它是基于Flask构建的,但是该应用程序本身并未向用户公开。

从用于GCP云功能的Testing Documentation中,它使用来自Python内置的Mock的{​​{1}}对象。

但是,我有一个身份验证修饰符,可以将其扔掉,它可以检测标题的unittest中是否存在适当的密码。

x-api-key

然后我可以将其应用于Google Cloud Functions:

"""Authentication for Cloud Functions."""

from functools import partial, wraps

from flask import request, abort

import config


def auth(func=None):
    if func is None:
        return partial(auth)

    @wraps(func)
    def wrap(*args, **kwargs):
        if request.headers.get('x-api-key') and request.headers.get('x-api-key') == config.API_KEY:
            return func(*args, **kwargs)
        else:
            abort(401)
    return wrap

您可以使用@auth @log_func def frontend_query(request): request_json = request.get_json(silent=True) # Do Something Else 创建一个mock,但是如何将伪造的标头数据也放入request_json中呢?

0 个答案:

没有答案