fix(limiter): fix test case error

This commit is contained in:
firest 2022-06-15 09:39:21 +08:00
parent e5d223000e
commit 6ca58e5fbc
2 changed files with 11 additions and 8 deletions

View File

@ -558,11 +558,13 @@ get_counter_rate(_Cfg, _GlobalCfg) ->
emqx_limiter_schema:infinity_value(). emqx_limiter_schema:infinity_value().
-spec get_initial_val(hocons:config()) -> decimal(). -spec get_initial_val(hocons:config()) -> decimal().
get_initial_val(#{ get_initial_val(
#{
initial := Initial, initial := Initial,
rate := Rate, rate := Rate,
capacity := Capacity capacity := Capacity
}) -> }
) ->
%% initial will nevner be infinity(see the emqx_limiter_schema) %% initial will nevner be infinity(see the emqx_limiter_schema)
InfVal = emqx_limiter_schema:infinity_value(), InfVal = emqx_limiter_schema:infinity_value(),
if if
@ -570,7 +572,7 @@ get_initial_val(#{
Initial; Initial;
Rate =/= infinity -> Rate =/= infinity ->
erlang:min(Rate, Capacity); erlang:min(Rate, Capacity);
Capacity =/= InfVal -> Capacity =/= infinity andalso Capacity =/= InfVal ->
Capacity; Capacity;
true -> true ->
0 0

View File

@ -246,7 +246,8 @@ t_infinity_client(_) ->
end, end,
Case = fun() -> Case = fun() ->
Client = connect(default), Client = connect(default),
?assertEqual(infinity, Client), InfVal = emqx_limiter_schema:infinity_value(),
?assertMatch(#{bucket := #{rate := InfVal}}, Client),
Result = emqx_htb_limiter:check(100000, Client), Result = emqx_htb_limiter:check(100000, Client),
?assertEqual({ok, Client}, Result) ?assertEqual({ok, Client}, Result)
end, end,
@ -596,7 +597,7 @@ t_schema_unit(_) ->
?assertMatch({error, _}, M:to_rate("100MB/1")), ?assertMatch({error, _}, M:to_rate("100MB/1")),
?assertMatch({error, _}, M:to_rate("100/10x")), ?assertMatch({error, _}, M:to_rate("100/10x")),
?assertEqual({ok, infinity}, M:to_capacity("infinity")), ?assertEqual({ok, emqx_limiter_schema:infinity_value()}, M:to_capacity("infinity")),
?assertEqual({ok, 100}, M:to_capacity("100")), ?assertEqual({ok, 100}, M:to_capacity("100")),
?assertEqual({ok, 100 * 1024}, M:to_capacity("100KB")), ?assertEqual({ok, 100 * 1024}, M:to_capacity("100KB")),
?assertEqual({ok, 100 * 1024 * 1024}, M:to_capacity("100MB")), ?assertEqual({ok, 100 * 1024 * 1024}, M:to_capacity("100MB")),