From dbb8742e0ea0fec7674cc6ab926c015d470b5b80 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Thu, 8 Jun 2023 14:17:02 +0800 Subject: [PATCH] test: cover max_connection in infinity value --- .../test/emqx_gateway_api_SUITE.erl | 32 +++++++++++++++++++ changes/ce/feat-10961.en.md | 3 ++ 2 files changed, 35 insertions(+) create mode 100644 changes/ce/feat-10961.en.md diff --git a/apps/emqx_gateway/test/emqx_gateway_api_SUITE.erl b/apps/emqx_gateway/test/emqx_gateway_api_SUITE.erl index b2e5861af..091a81142 100644 --- a/apps/emqx_gateway/test/emqx_gateway_api_SUITE.erl +++ b/apps/emqx_gateway/test/emqx_gateway_api_SUITE.erl @@ -411,6 +411,38 @@ t_listeners_tcp(_) -> {404, _} = request(get, "/gateways/stomp/listeners/stomp:tcp:def"), ok. +t_listeners_max_conns(_) -> + {204, _} = request(put, "/gateways/stomp", #{}), + {404, _} = request(get, "/gateways/stomp/listeners"), + LisConf = #{ + name => <<"def">>, + type => <<"tcp">>, + bind => <<"127.0.0.1:61613">>, + max_connections => 1024 + }, + {201, _} = request(post, "/gateways/stomp/listeners", LisConf), + {200, ConfResp} = request(get, "/gateways/stomp/listeners"), + assert_confs([LisConf], ConfResp), + {200, ConfResp1} = request(get, "/gateways/stomp/listeners/stomp:tcp:def"), + assert_confs(LisConf, ConfResp1), + + LisConf2 = maps:merge(LisConf, #{max_connections => <<"infinity">>}), + {200, _} = request( + put, + "/gateways/stomp/listeners/stomp:tcp:def", + LisConf2 + ), + + {200, ConfResp2} = request(get, "/gateways/stomp/listeners/stomp:tcp:def"), + assert_confs(LisConf2, ConfResp2), + + {200, [Listeners]} = request(get, "/gateways/stomp/listeners"), + ?assertMatch(#{max_connections := <<"infinity">>}, Listeners), + + {204, _} = request(delete, "/gateways/stomp/listeners/stomp:tcp:def"), + {404, _} = request(get, "/gateways/stomp/listeners/stomp:tcp:def"), + ok. + t_listeners_authn(_) -> GwConf = #{ name => <<"stomp">>, diff --git a/changes/ce/feat-10961.en.md b/changes/ce/feat-10961.en.md new file mode 100644 index 000000000..375a11af7 --- /dev/null +++ b/changes/ce/feat-10961.en.md @@ -0,0 +1,3 @@ +Adds support for unlimited max connections for gateway listeners by allowing +infinity as a valid value for the `max_connections` field in the configuration +and HTTP API