From 1a7c870b7d8a6a3ef5b3e9be401e3e41ae1b34d8 Mon Sep 17 00:00:00 2001 From: firest Date: Thu, 5 May 2022 16:06:22 +0800 Subject: [PATCH] test(limiter): add more cases for rate parser --- apps/emqx/test/emqx_ratelimiter_SUITE.erl | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/apps/emqx/test/emqx_ratelimiter_SUITE.erl b/apps/emqx/test/emqx_ratelimiter_SUITE.erl index 8ad7cb3f1..bb751f9ee 100644 --- a/apps/emqx/test/emqx_ratelimiter_SUITE.erl +++ b/apps/emqx/test/emqx_ratelimiter_SUITE.erl @@ -568,11 +568,32 @@ t_decimal(_) -> t_schema_unit(_) -> M = emqx_limiter_schema, ?assertEqual(limiter, M:namespace()), + + %% infinity ?assertEqual({ok, infinity}, M:to_rate(" infinity ")), + + %% xMB ?assertMatch({ok, _}, M:to_rate("100")), - ?assertMatch({error, _}, M:to_rate("0")), + ?assertMatch({ok, _}, M:to_rate(" 100 ")), + ?assertMatch({ok, _}, M:to_rate("100MB")), + + %% xMB/s + ?assertMatch({ok, _}, M:to_rate("100/s")), + ?assertMatch({ok, _}, M:to_rate("100MB/s")), + + %% xMB/ys ?assertMatch({ok, _}, M:to_rate("100/10s")), + ?assertMatch({ok, _}, M:to_rate("100MB/10s")), + + ?assertMatch({error, _}, M:to_rate("infini")), + ?assertMatch({error, _}, M:to_rate("0")), + ?assertMatch({error, _}, M:to_rate("MB")), + ?assertMatch({error, _}, M:to_rate("10s")), + ?assertMatch({error, _}, M:to_rate("100MB/")), + ?assertMatch({error, _}, M:to_rate("100MB/xx")), + ?assertMatch({error, _}, M:to_rate("100MB/1")), ?assertMatch({error, _}, M:to_rate("100/10x")), + ?assertEqual({ok, infinity}, M:to_capacity("infinity")), ?assertEqual({ok, 100}, M:to_capacity("100")), ?assertEqual({ok, 100 * 1024}, M:to_capacity("100KB")),