From d206d24975987774f8f95395c23ca813bae19d19 Mon Sep 17 00:00:00 2001 From: Kjell Winblad Date: Thu, 4 Jul 2024 14:32:10 +0200 Subject: [PATCH] fix: only set default for max_conn_rate and update test case This revert the change in commit e291dcd for all listener "short path fields" except the field max_conn_rate so they no longer have a default value. It also updates a test case that assume that no listener config is created by default but this is no longer the case when there is a default value for the max_conn_rate field. --- .../emqx_limiter/src/emqx_limiter_schema.erl | 26 ++++++++++++++----- apps/emqx/test/emqx_ratelimiter_SUITE.erl | 4 +-- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/apps/emqx/src/emqx_limiter/src/emqx_limiter_schema.erl b/apps/emqx/src/emqx_limiter/src/emqx_limiter_schema.erl index b9bfda166..32c92c8f0 100644 --- a/apps/emqx/src/emqx_limiter/src/emqx_limiter_schema.erl +++ b/apps/emqx/src/emqx_limiter/src/emqx_limiter_schema.erl @@ -212,17 +212,29 @@ short_paths_fields() -> short_paths_fields(Importance) -> [ {Name, - ?HOCON(rate_type(), #{ - desc => ?DESC(Name), - required => false, - default => infinity, - importance => Importance, - example => Example - })} + ?HOCON( + rate_type(), + maps:merge( + #{ + desc => ?DESC(Name), + required => false, + importance => Importance, + example => Example + }, + short_paths_fields_extra(Name) + ) + )} || {Name, Example} <- lists:zip(short_paths(), [<<"1000/s">>, <<"1000/s">>, <<"100MB/s">>]) ]. +short_paths_fields_extra(max_conn_rate) -> + #{ + default => infinity + }; +short_paths_fields_extra(_Name) -> + #{}. + desc(limiter) -> "Settings for the rate limiter."; desc(node_opts) -> diff --git a/apps/emqx/test/emqx_ratelimiter_SUITE.erl b/apps/emqx/test/emqx_ratelimiter_SUITE.erl index 28a05ce23..b76c5dd33 100644 --- a/apps/emqx/test/emqx_ratelimiter_SUITE.erl +++ b/apps/emqx/test/emqx_ratelimiter_SUITE.erl @@ -816,8 +816,8 @@ t_no_limiter_for_listener(_) -> CfgStr = <<>>, ok = emqx_common_test_helpers:load_config(emqx_schema, CfgStr), ListenerOpt = emqx:get_config([listeners, tcp, default]), - ?assertEqual( - undefined, + ?assertMatch( + #{connection := #{rate := infinity}}, emqx_limiter_utils:get_listener_opts(ListenerOpt) ).