Sfoglia il codice sorgente

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
Kjell Winblad 1 anno fa
parent
commit
db48a977bb

+ 7 - 3
apps/emqx_auth_mongodb/test/emqx_authn_mongodb_SUITE.erl

@@ -285,11 +285,12 @@ raw_mongo_auth_config() ->
         <<"filter">> => #{<<"username">> => <<"${username}">>},
         <<"filter">> => #{<<"username">> => <<"${username}">>},
         <<"password_hash_field">> => <<"password_hash">>,
         <<"password_hash_field">> => <<"password_hash">>,
         <<"salt_field">> => <<"salt">>,
         <<"salt_field">> => <<"salt">>,
-        <<"is_superuser_field">> => <<"is_superuser">>
+        <<"is_superuser_field">> => <<"is_superuser">>,
+        <<"use_legacy_protocol">> => <<"auto">>
     }.
     }.
 
 
 user_seeds() ->
 user_seeds() ->
-    [
+    PlainSeed =
         #{
         #{
             data => #{
             data => #{
                 username => <<"plain">>,
                 username => <<"plain">>,
@@ -304,7 +305,10 @@ user_seeds() ->
             config_params => #{},
             config_params => #{},
             result => {ok, #{is_superuser => true}}
             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 => #{
             data => #{
                 username => <<"md5">>,
                 username => <<"md5">>,

+ 11 - 4
apps/emqx_auth_mongodb/test/emqx_authz_mongodb_SUITE.erl

@@ -75,9 +75,14 @@ end_per_testcase(_TestCase, _Config) ->
 %%------------------------------------------------------------------------------
 %%------------------------------------------------------------------------------
 
 
 t_run_case(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),
     Case = ?config(test_case, Config),
     ok = setup_source_data(Case),
     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).
     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),
     {{true, _}, _} = mc_worker_api:insert(?MONGO_CLIENT, <<"acl">>, Records),
     ok.
     ok.
 
 
-setup_authz_source(#{filter := Filter}) ->
+setup_authz_source(#{filter := Filter, use_legacy_protocol := UseLegazyProtocol}) ->
     setup_config(
     setup_config(
         #{
         #{
-            <<"filter">> => Filter
+            <<"filter">> => Filter,
+            <<"use_legacy_protocol">> => UseLegazyProtocol
         }
         }
     ).
     ).
 
 
@@ -401,7 +407,8 @@ raw_mongo_authz_config() ->
         <<"username">> => mongo_username(),
         <<"username">> => mongo_username(),
         <<"password">> => mongo_password(),
         <<"password">> => mongo_password(),
 
 
-        <<"filter">> => #{<<"username">> => <<"${username}">>}
+        <<"filter">> => #{<<"username">> => <<"${username}">>},
+        <<"use_legacy_protocol">> => <<"auto">>
     }.
     }.
 
 
 mongo_server() ->
 mongo_server() ->