|
14 | 14 | %%% CALLBACKS |
15 | 15 |
|
16 | 16 | init(Req, #{request := ExpectedRequest, response := ExpectedResponse} = Expected) -> |
17 | | - ct:log("init oauth_http_mock Req:~p", [Req]), |
18 | | - match_request(Req, ExpectedRequest), |
19 | | - {Code, Headers, JsonPayload} = produce_expected_response(ExpectedResponse), |
20 | | - {ok, case JsonPayload of |
21 | | - undefined -> cowboy_req:reply(Code, Req); |
22 | | - _ -> cowboy_req:reply(Code, Headers, JsonPayload, Req) |
23 | | - end, Expected}. |
| 17 | + ct:log("init oauth_http_mock Req:~p", [Req]), |
| 18 | + match_request(Req, ExpectedRequest), |
| 19 | + {Code, Headers, JsonPayload} = produce_expected_response(ExpectedResponse), |
| 20 | + {ok, case JsonPayload of |
| 21 | + undefined -> cowboy_req:reply(Code, Req); |
| 22 | + _ -> cowboy_req:reply(Code, Headers, JsonPayload, Req) |
| 23 | + end, Expected}. |
24 | 24 |
|
25 | 25 | match_request_parameters_in_body(Req, #{parameters := Parameters}) -> |
26 | | - ?assertEqual(true, cowboy_req:has_body(Req)), |
27 | | - {ok, KeyValues, _Req2} = cowboy_req:read_urlencoded_body(Req), |
28 | | - [ ?assertEqual(Value, proplists:get_value(list_to_binary(Parameter), KeyValues)) |
29 | | - || {Parameter, Value} <- Parameters]. |
| 26 | + ?assertEqual(true, cowboy_req:has_body(Req)), |
| 27 | + {ok, KeyValues, _Req2} = cowboy_req:read_urlencoded_body(Req), |
| 28 | + [ ?assertEqual(Value, proplists:get_value(list_to_binary(Parameter), KeyValues)) |
| 29 | + || {Parameter, Value} <- Parameters]. |
30 | 30 |
|
31 | 31 | match_request(Req, #{method := Method} = ExpectedRequest) -> |
32 | | - ?assertEqual(Method, maps:get(method, Req)), |
33 | | - case maps:is_key(parameters, ExpectedRequest) of |
34 | | - true -> match_request_parameters_in_body(Req, ExpectedRequest); |
35 | | - false -> ok |
36 | | - end. |
| 32 | + ?assertEqual(Method, maps:get(method, Req)), |
| 33 | + case maps:is_key(parameters, ExpectedRequest) of |
| 34 | + true -> match_request_parameters_in_body(Req, ExpectedRequest); |
| 35 | + false -> ok |
| 36 | + end. |
37 | 37 |
|
38 | 38 | produce_expected_response(ExpectedResponse) -> |
39 | | - case proplists:is_defined(content_type, ExpectedResponse) of |
40 | | - true -> |
41 | | - Payload = proplists:get_value(payload, ExpectedResponse), |
42 | | - case is_proplist(Payload) of |
| 39 | + case proplists:is_defined(content_type, ExpectedResponse) of |
43 | 40 | true -> |
44 | | - { proplists:get_value(code, ExpectedResponse), |
45 | | - #{<<"content-type">> => proplists:get_value(content_type, ExpectedResponse)}, |
46 | | - rabbit_json:encode(Payload) |
47 | | - }; |
48 | | - _ -> |
49 | | - { proplists:get_value(code, ExpectedResponse), |
50 | | - #{<<"content-type">> => proplists:get_value(content_type, ExpectedResponse)}, |
51 | | - Payload |
52 | | - } |
53 | | - end; |
54 | | - false -> {proplists:get_value(code, ExpectedResponse), undefined, undefined} |
55 | | - end. |
| 41 | + Payload = proplists:get_value(payload, ExpectedResponse), |
| 42 | + case is_proplist(Payload) of |
| 43 | + true -> |
| 44 | + { proplists:get_value(code, ExpectedResponse), |
| 45 | + #{<<"content-type">> => proplists:get_value(content_type, ExpectedResponse)}, |
| 46 | + rabbit_json:encode(Payload) |
| 47 | + }; |
| 48 | + _ -> |
| 49 | + { proplists:get_value(code, ExpectedResponse), |
| 50 | + #{<<"content-type">> => proplists:get_value(content_type, ExpectedResponse)}, |
| 51 | + Payload |
| 52 | + } |
| 53 | + end; |
| 54 | + false -> |
| 55 | + {proplists:get_value(code, ExpectedResponse), undefined, undefined} |
| 56 | + end. |
56 | 57 |
|
57 | 58 |
|
58 | 59 | is_proplist([{_Key, _Val}|_] = List) -> lists:all(fun({_K, _V}) -> true; (_) -> false end, List); |
|
0 commit comments