From 6ca58e5fbcb0f44be7e87fee87e7ca665bc9cf87 Mon Sep 17 00:00:00 2001 From: firest Date: Wed, 15 Jun 2022 09:39:21 +0800 Subject: [PATCH] fix(limiter): fix test case error --- .../src/emqx_limiter/src/emqx_limiter_server.erl | 14 ++++++++------ apps/emqx/test/emqx_ratelimiter_SUITE.erl | 5 +++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/apps/emqx/src/emqx_limiter/src/emqx_limiter_server.erl b/apps/emqx/src/emqx_limiter/src/emqx_limiter_server.erl index c1956f780..519b32eca 100644 --- a/apps/emqx/src/emqx_limiter/src/emqx_limiter_server.erl +++ b/apps/emqx/src/emqx_limiter/src/emqx_limiter_server.erl @@ -558,11 +558,13 @@ get_counter_rate(_Cfg, _GlobalCfg) -> emqx_limiter_schema:infinity_value(). -spec get_initial_val(hocons:config()) -> decimal(). -get_initial_val(#{ - initial := Initial, - rate := Rate, - capacity := Capacity -}) -> +get_initial_val( + #{ + initial := Initial, + rate := Rate, + capacity := Capacity + } +) -> %% initial will nevner be infinity(see the emqx_limiter_schema) InfVal = emqx_limiter_schema:infinity_value(), if @@ -570,7 +572,7 @@ get_initial_val(#{ Initial; Rate =/= infinity -> erlang:min(Rate, Capacity); - Capacity =/= InfVal -> + Capacity =/= infinity andalso Capacity =/= InfVal -> Capacity; true -> 0 diff --git a/apps/emqx/test/emqx_ratelimiter_SUITE.erl b/apps/emqx/test/emqx_ratelimiter_SUITE.erl index d6ad9f1a0..1251278f2 100644 --- a/apps/emqx/test/emqx_ratelimiter_SUITE.erl +++ b/apps/emqx/test/emqx_ratelimiter_SUITE.erl @@ -246,7 +246,8 @@ t_infinity_client(_) -> end, Case = fun() -> Client = connect(default), - ?assertEqual(infinity, Client), + InfVal = emqx_limiter_schema:infinity_value(), + ?assertMatch(#{bucket := #{rate := InfVal}}, Client), Result = emqx_htb_limiter:check(100000, Client), ?assertEqual({ok, Client}, Result) end, @@ -596,7 +597,7 @@ t_schema_unit(_) -> ?assertMatch({error, _}, M:to_rate("100MB/1")), ?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 * 1024}, M:to_capacity("100KB")), ?assertEqual({ok, 100 * 1024 * 1024}, M:to_capacity("100MB")),