From db48a977bb142fcebe76a9f77c9b2522346cb746 Mon Sep 17 00:00:00 2001 From: Kjell Winblad Date: Fri, 26 Apr 2024 12:37:27 +0200 Subject: [PATCH 1/2] test(mongodb authn, authz): add test cases for use_legacy_protocol This commit adds test cases that check that the authn and authz modules for MongoDB support the use_legacy_protocol configuration option. Fixes: https://emqx.atlassian.net/browse/EMQX-12245 --- .../test/emqx_authn_mongodb_SUITE.erl | 10 +++++++--- .../test/emqx_authz_mongodb_SUITE.erl | 15 +++++++++++---- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/apps/emqx_auth_mongodb/test/emqx_authn_mongodb_SUITE.erl b/apps/emqx_auth_mongodb/test/emqx_authn_mongodb_SUITE.erl index 643b99d7b..07d7dc4a3 100644 --- a/apps/emqx_auth_mongodb/test/emqx_authn_mongodb_SUITE.erl +++ b/apps/emqx_auth_mongodb/test/emqx_authn_mongodb_SUITE.erl @@ -285,11 +285,12 @@ raw_mongo_auth_config() -> <<"filter">> => #{<<"username">> => <<"${username}">>}, <<"password_hash_field">> => <<"password_hash">>, <<"salt_field">> => <<"salt">>, - <<"is_superuser_field">> => <<"is_superuser">> + <<"is_superuser_field">> => <<"is_superuser">>, + <<"use_legacy_protocol">> => <<"auto">> }. user_seeds() -> - [ + PlainSeed = #{ data => #{ username => <<"plain">>, @@ -304,7 +305,10 @@ user_seeds() -> config_params => #{}, result => {ok, #{is_superuser => true}} }, - + [ + PlainSeed#{config_params => #{<<"use_legacy_protocol">> => <<"auto">>}}, + PlainSeed#{config_params => #{<<"use_legacy_protocol">> => <<"true">>}}, + PlainSeed#{config_params => #{<<"use_legacy_protocol">> => <<"false">>}}, #{ data => #{ username => <<"md5">>, diff --git a/apps/emqx_auth_mongodb/test/emqx_authz_mongodb_SUITE.erl b/apps/emqx_auth_mongodb/test/emqx_authz_mongodb_SUITE.erl index e0d95e00c..e4d8821a3 100644 --- a/apps/emqx_auth_mongodb/test/emqx_authz_mongodb_SUITE.erl +++ b/apps/emqx_auth_mongodb/test/emqx_authz_mongodb_SUITE.erl @@ -75,9 +75,14 @@ end_per_testcase(_TestCase, _Config) -> %%------------------------------------------------------------------------------ t_run_case(Config) -> + run_case(Config, true), + run_case(Config, false), + run_case(Config, auto). + +run_case(Config, UseLegazyProtocol) -> Case = ?config(test_case, Config), ok = setup_source_data(Case), - ok = setup_authz_source(Case), + ok = setup_authz_source(Case#{use_legacy_protocol => UseLegazyProtocol}), ok = emqx_authz_test_lib:run_checks(Case). %%------------------------------------------------------------------------------ @@ -374,10 +379,11 @@ setup_source_data(#{records := Records}) -> {{true, _}, _} = mc_worker_api:insert(?MONGO_CLIENT, <<"acl">>, Records), ok. -setup_authz_source(#{filter := Filter}) -> +setup_authz_source(#{filter := Filter, use_legacy_protocol := UseLegazyProtocol}) -> setup_config( #{ - <<"filter">> => Filter + <<"filter">> => Filter, + <<"use_legacy_protocol">> => UseLegazyProtocol } ). @@ -401,7 +407,8 @@ raw_mongo_authz_config() -> <<"username">> => mongo_username(), <<"password">> => mongo_password(), - <<"filter">> => #{<<"username">> => <<"${username}">>} + <<"filter">> => #{<<"username">> => <<"${username}">>}, + <<"use_legacy_protocol">> => <<"auto">> }. mongo_server() -> From 7b638a58298da3ae144eadb2dc8390b3063abcc3 Mon Sep 17 00:00:00 2001 From: Kjell Winblad Date: Tue, 30 Apr 2024 09:28:12 +0200 Subject: [PATCH 2/2] style: fix spelling mistake (thanks @savonarola) --- apps/emqx_auth_mongodb/test/emqx_authz_mongodb_SUITE.erl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/emqx_auth_mongodb/test/emqx_authz_mongodb_SUITE.erl b/apps/emqx_auth_mongodb/test/emqx_authz_mongodb_SUITE.erl index e4d8821a3..abff878ef 100644 --- a/apps/emqx_auth_mongodb/test/emqx_authz_mongodb_SUITE.erl +++ b/apps/emqx_auth_mongodb/test/emqx_authz_mongodb_SUITE.erl @@ -79,10 +79,10 @@ t_run_case(Config) -> run_case(Config, false), run_case(Config, auto). -run_case(Config, UseLegazyProtocol) -> +run_case(Config, UseLegacyProtocol) -> Case = ?config(test_case, Config), ok = setup_source_data(Case), - ok = setup_authz_source(Case#{use_legacy_protocol => UseLegazyProtocol}), + ok = setup_authz_source(Case#{use_legacy_protocol => UseLegacyProtocol}), ok = emqx_authz_test_lib:run_checks(Case). %%------------------------------------------------------------------------------ @@ -379,11 +379,11 @@ setup_source_data(#{records := Records}) -> {{true, _}, _} = mc_worker_api:insert(?MONGO_CLIENT, <<"acl">>, Records), ok. -setup_authz_source(#{filter := Filter, use_legacy_protocol := UseLegazyProtocol}) -> +setup_authz_source(#{filter := Filter, use_legacy_protocol := UseLegacyProtocol}) -> setup_config( #{ <<"filter">> => Filter, - <<"use_legacy_protocol">> => UseLegazyProtocol + <<"use_legacy_protocol">> => UseLegacyProtocol } ).