Example #1
0
def test_ignore_request_parameter():

    @annotate({"x": int, "y": int})
    def handle_request(request, x, y):
        pass

    argspec = getfullargspec(handle_request)
    signature = FunctionSignature.from_argspec(argspec)
    params = get_parameters(signature, TransmuteAttributes(),
                            arguments_to_ignore=["request"])
    for typ in ["query", "body", "header", "path"]:
        assert "request" not in getattr(params, typ)
def test_ignore_request_parameter():

    @annotate({"x": int, "y": int})
    def handle_request(request, x, y):
        pass

    argspec = getfullargspec(handle_request)
    signature = FunctionSignature.from_argspec(argspec)
    params = get_parameters(signature, TransmuteAttributes(),
                            arguments_to_ignore=["request"])
    for typ in ["query", "body", "header", "path"]:
        assert "request" not in getattr(params, typ)
def test_get_argument_set():
    @describe(paths="/{x}", body_parameters=["y"])
    @annotate({"x": int, "y": float, "z": int, "width": int, "height": float})
    def make_square(x, y, z, width=None, height=12):
        pass

    argspec = getfullargspec(make_square)
    signature = FunctionSignature.from_argspec(argspec)
    argument_sets = get_parameters(signature, make_square.transmute)
    assert ["y"] == list(argument_sets.body.keys())
    assert set(["x"]) == set(argument_sets.path.keys())
    assert set(["z", "width", "height"]) == set(argument_sets.query.keys())
def test_get_argument_set():

    @describe(paths="/{x}", body_parameters=["y"])
    @annotate({"x": int, "y": float, "z": int, "width": int, "height": float})
    def make_square(x, y, z, width=None, height=12):
        pass

    argspec = getfullargspec(make_square)
    signature = FunctionSignature.from_argspec(argspec)
    argument_sets = get_parameters(signature, make_square.transmute)
    assert ["y"] == list(argument_sets.body.keys())
    assert set(["x"]) == set(argument_sets.path.keys())
    assert set(["z", "width", "height"]) == set(argument_sets.query.keys())