Skip to content

Commit 6d7236f

Browse files
MarcialRosalesmergify[bot]
authored andcommitted
Test merge signing keys when using oauth_providers
(cherry picked from commit 17ca51d) (cherry picked from commit fe4cf43)
1 parent 4d6a19d commit 6d7236f

File tree

1 file changed

+43
-5
lines changed

1 file changed

+43
-5
lines changed

deps/rabbitmq_auth_backend_oauth2/test/rabbit_oauth2_config_SUITE.erl

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ groups() -> [
3636
{with_root_static_signing_keys, [], [
3737
replace_merge_root_static_keys_with_newly_added_keys,
3838
replace_override_root_static_keys_with_newly_added_keys
39+
]},
40+
{with_static_signing_keys_for_specific_oauth_provider, [], [
41+
replace_merge_static_keys_with_newly_added_keys,
42+
replace_override_static_keys_with_newly_added_keys
3943
]}
4044
]},
4145
{with_resource_server_id, [], [
@@ -184,14 +188,25 @@ init_per_group(with_default_key, Config) ->
184188
proplists:delete(default_key, KeyConfig) ++ [{default_key,<<"default-key">>}]),
185189
Config;
186190
init_per_group(with_root_static_signing_keys, Config) ->
187-
KeyConfig = application:get_env(rabbitmq_auth_backend_oauth2, key_config, []),
191+
KeyConfig = call_get_env(Config, key_config, []),
188192
SigningKeys = #{
189193
<<"mykey-root-1">> => <<"some key root-1">>,
190194
<<"mykey-root-2">> => <<"some key root-2">>
191195
},
192-
application:set_env(rabbitmq_auth_backend_oauth2, key_config,
196+
call_set_env(Config, key_config,
193197
proplists:delete(default_key, KeyConfig) ++ [{signing_keys,SigningKeys}]),
194198
Config;
199+
init_per_group(with_static_signing_keys_for_specific_oauth_provider, Config) ->
200+
OAuthProviders = call_get_env(Config, oauth_providers, #{}),
201+
OAuthProvider = maps:get(<<"A">>, OAuthProviders, []),
202+
SigningKeys = #{
203+
<<"mykey-root-1">> => <<"some key root-1">>,
204+
<<"mykey-root-2">> => <<"some key root-2">>
205+
},
206+
OAuthProvider1 = proplists:delete(signing_keys, OAuthProvider) ++ [{signing_keys, SigningKeys}],
207+
208+
call_set_env(Config, oauth_providers, maps:put(<<"A">>, OAuthProvider1, OAuthProviders)),
209+
Config;
195210

196211
init_per_group(with_default_key_for_provider_A, Config) ->
197212
OAuthProviders = application:get_env(rabbitmq_auth_backend_oauth2, oauth_providers, #{}),
@@ -387,9 +402,8 @@ init_per_group(_any, Config) ->
387402
end_per_group(with_rabbitmq_node, Config) ->
388403
rabbit_ct_helpers:run_steps(Config, rabbit_ct_broker_helpers:teardown_steps());
389404
end_per_group(with_root_static_signing_keys, Config) ->
390-
KeyConfig = application:get_env(rabbitmq_auth_backend_oauth2, key_config, []),
391-
application:set_env(rabbitmq_auth_backend_oauth2, key_config,
392-
proplists:delete(signing_keys, KeyConfig)),
405+
KeyConfig = call_get_env(Config, key_config, []),
406+
call_set_env(Config, key_config, KeyConfig),
393407
Config;
394408

395409
end_per_group(with_resource_server_id, Config) ->
@@ -529,6 +543,14 @@ end_per_testcase(_Testcase, Config) ->
529543

530544
%% -----
531545

546+
call_set_env(Config, Par, Value) ->
547+
rabbit_ct_broker_helpers:rpc(Config, 0, application, set_env,
548+
[rabbitmq_auth_backend_oauth2, Par, Value]).
549+
550+
call_get_env(Config, Par, Def) ->
551+
rabbit_ct_broker_helpers:rpc(Config, 0, application, get_env,
552+
[rabbitmq_auth_backend_oauth2, Par, Def]).
553+
532554
call_add_signing_key(Config, Args) ->
533555
rabbit_ct_broker_helpers:rpc(Config, 0, rabbit_oauth2_config, add_signing_key, Args).
534556

@@ -594,13 +616,29 @@ replace_merge_root_static_keys_with_newly_added_keys(Config) ->
594616
<<"key-2">> := <<"some key 2">>,
595617
<<"key-3">> := <<"some key 3">>
596618
} = call_get_signing_keys(Config).
619+
replace_merge_static_keys_with_newly_added_keys(Config) ->
620+
NewKeys = #{<<"key-2">> => <<"some key 2">>, <<"key-3">> => <<"some key 3">>},
621+
call_replace_signing_keys(Config, [NewKeys, <<"A">>]),
622+
#{ <<"mykey-root-1">> := <<"some key root-1">>,
623+
<<"mykey-root-2">> := <<"some key root-2">>,
624+
<<"key-2">> := <<"some key 2">>,
625+
<<"key-3">> := <<"some key 3">>
626+
} = call_get_signing_keys(Config, [<<"A">>]).
597627
replace_override_root_static_keys_with_newly_added_keys(Config) ->
598628
NewKeys = #{<<"mykey-root-1">> => <<"new key root-1">>, <<"key-3">> => <<"some key 3">>},
599629
call_replace_signing_keys(Config, [NewKeys]),
600630
#{ <<"mykey-root-1">> := <<"new key root-1">>,
601631
<<"mykey-root-2">> := <<"some key root-2">>,
602632
<<"key-3">> := <<"some key 3">>
603633
} = call_get_signing_keys(Config).
634+
replace_override_static_keys_with_newly_added_keys(Config) ->
635+
NewKeys = #{<<"mykey-root-1">> => <<"new key root-1">>, <<"key-3">> => <<"some key 3">>},
636+
call_replace_signing_keys(Config, [NewKeys, <<"A">>]),
637+
#{ <<"mykey-root-1">> := <<"new key root-1">>,
638+
<<"mykey-root-2">> := <<"some key root-2">>,
639+
<<"key-3">> := <<"some key 3">>
640+
} = call_get_signing_keys(Config, [<<"A">>]).
641+
604642
replace_signing_keys_for_root_oauth_provider(Config) ->
605643
call_add_signing_key(Config, [<<"mykey-1">>, <<"some key 1">>]),
606644
NewKeys = #{<<"key-2">> => <<"some key 2">>, <<"key-3">> => <<"some key 3">>},

0 commit comments

Comments
 (0)