summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@clojurewerkz.org>2017-01-05 03:35:09 +0800
committerMichael Klishin <michael@clojurewerkz.org>2017-01-05 03:35:09 +0800
commit99a170cd36464762bf868484643695804e8b9a95 (patch)
treecbc5188760bbe3be06023a7c12d3ea03aa59ab30
parent75bee2611c8efcbfd4bb3f464a642405f4cec0dd (diff)
downloadrabbitmq-server-git-99a170cd36464762bf868484643695804e8b9a95.tar.gz
Test suite fixes
-rw-r--r--src/rabbit_credential_validator_min_length.erl2
-rw-r--r--test/credential_validation_SUITE.erl90
2 files changed, 55 insertions, 37 deletions
diff --git a/src/rabbit_credential_validator_min_length.erl b/src/rabbit_credential_validator_min_length.erl
index cb5973d3ed..3a66239138 100644
--- a/src/rabbit_credential_validator_min_length.erl
+++ b/src/rabbit_credential_validator_min_length.erl
@@ -36,7 +36,7 @@
validate_password(Password) ->
MinLength = case application:get_env(rabbit, credential_validator) of
- undefined ->
+ undefined ->
?DEFAULT_MIN_LENGTH;
{ok, Proplist} ->
case proplists:get_value(min_length, Proplist) of
diff --git a/test/credential_validation_SUITE.erl b/test/credential_validation_SUITE.erl
index a1a5bda63d..3acea5aa86 100644
--- a/test/credential_validation_SUITE.erl
+++ b/test/credential_validation_SUITE.erl
@@ -30,21 +30,21 @@ all() ->
groups() ->
[
{integration, [], [
- basic_unconditionally_accepting_succeeds,
- min_length_fails,
- min_length_succeeds,
- min_length_proper_fails,
- min_length_proper_succeeds,
- regexp_fails,
- regexp_succeeds,
- regexp_proper_fails,
- regexp_proper_succeeds
+ min_length_integration_fails
+ , regexp_integration_fails
+ , min_length_integration_succeeds
+ , regexp_integration_succeeds
]},
{unit, [parallel], [
- min_length_integration_fails,
- regexp_integration_fails,
- min_length_integration_succeeds,
- regexp_integration_succeeds
+ basic_unconditionally_accepting_succeeds,
+ min_length_fails,
+ min_length_succeeds,
+ min_length_proper_fails,
+ min_length_proper_succeeds,
+ regexp_fails,
+ regexp_succeeds,
+ regexp_proper_fails,
+ regexp_proper_succeeds
]}
].
@@ -53,6 +53,10 @@ suite() ->
{timetrap, {minutes, 4}}
].
+%%
+%% Setup/teardown
+%%
+
init_per_suite(Config) ->
rabbit_ct_helpers:log_environment(),
rabbit_ct_helpers:run_setup_steps(Config).
@@ -61,29 +65,31 @@ end_per_suite(Config) ->
rabbit_ct_helpers:run_teardown_steps(Config).
init_per_group(integration, Config) ->
- rabbit_ct_helpers:set_config(Config, [
- {rmq_nodes_count, 1}
- ]);
+ Suffix = rabbit_ct_helpers:testcase_absname(Config, "", "-"),
+ Config1 = rabbit_ct_helpers:set_config(Config, [
+ {rmq_nodes_count, 1},
+ {rmq_nodename_suffix, Suffix}
+ ]),
+ rabbit_ct_helpers:run_steps(Config1,
+ rabbit_ct_broker_helpers:setup_steps());
init_per_group(unit, Config) ->
Config.
-end_per_group(_, Config) ->
+end_per_group(integration, Config) ->
+ switch_validator(Config, accept_everything),
+ rabbit_ct_helpers:run_steps(Config,
+ rabbit_ct_broker_helpers:teardown_steps());
+end_per_group(unit, Config) ->
Config.
+-define(USERNAME, <<"abc">>).
+
init_per_testcase(Testcase, Config) ->
- rabbit_ct_helpers:testcase_started(Config, Testcase),
- rabbit_ct_helpers:run_steps(Config,
- rabbit_ct_broker_helpers:setup_steps() ++
- rabbit_ct_client_helpers:setup_steps()).
+ rabbit_ct_helpers:testcase_started(Config, Testcase).
end_per_testcase(Testcase, Config) ->
- switch_validator(Config, accept_everything),
- Config1 = rabbit_ct_helpers:run_steps(Config,
- rabbit_ct_client_helpers:teardown_steps() ++
- rabbit_ct_broker_helpers:teardown_steps()),
- rabbit_ct_helpers:testcase_finished(Config1, Testcase).
-
+ rabbit_ct_helpers:testcase_finished(Config, Testcase).
%%
%% Test Cases
@@ -154,20 +160,28 @@ regexp_proper_succeeds(_Config) ->
rabbit_ct_proper_helpers:run_proper(fun prop_regexp_passes_validation/0, [], 500).
min_length_integration_fails(Config) ->
- switch_validator(Config, min_length),
- ?assertMatch({error, _}, add_user(Config, <<"abc">>, <<"ab">>)).
+ delete_user(Config, ?USERNAME),
+ switch_validator(Config, min_length, 50),
+ ?assertMatch(rabbit_credential_validator_min_length, validator_backend(Config)),
+ ?assertMatch({error, _}, add_user(Config, ?USERNAME, <<"_">>)).
regexp_integration_fails(Config) ->
+ delete_user(Config, ?USERNAME),
switch_validator(Config, regexp),
- ?assertMatch({error, _}, add_user(Config, <<"abc">>, <<"ab">>)).
+ ?assertMatch(rabbit_credential_validator_regexp, validator_backend(Config)),
+ ?assertMatch({error, _}, add_user(Config, ?USERNAME, <<"_">>)).
min_length_integration_succeeds(Config) ->
- switch_validator(Config, min_length),
- ?assertMatch({error, _}, add_user(Config, <<"abc">>, <<"abcdefghi">>)).
+ delete_user(Config, ?USERNAME),
+ switch_validator(Config, min_length, 5),
+ ?assertMatch(rabbit_credential_validator_min_length, validator_backend(Config)),
+ ?assertMatch(ok, add_user(Config, ?USERNAME, <<"abcdefghi">>)).
regexp_integration_succeeds(Config) ->
+ delete_user(Config, ?USERNAME),
switch_validator(Config, regexp),
- ?assertMatch({error, _}, add_user(Config, <<"abc">>, <<"xyz12345678901">>)).
+ ?assertMatch(rabbit_credential_validator_regexp, validator_backend(Config)),
+ ?assertMatch(ok, add_user(Config, ?USERNAME, <<"xyz12345678901">>)).
%%
%% PropEr
@@ -227,17 +241,17 @@ switch_validator(Config, min_length) ->
switch_validator(Config, min_length, 5);
switch_validator(Config, regexp) ->
- switch_validator(Config, regexp, <<"xyz\d{10,12}">>).
+ switch_validator(Config, regexp, <<"^xyz\\d{10,12}$">>).
switch_validator(Config, min_length, MinLength) ->
- rabbit_ct_broker_helpers:rpc(Config, 0, application, set_env,
+ ok = rabbit_ct_broker_helpers:rpc(Config, 0, application, set_env,
[rabbit, credential_validator,
[{validation_backend, rabbit_credential_validator_min_length},
{min_length, MinLength}]]);
switch_validator(Config, regexp, RegExp) ->
- rabbit_ct_broker_helpers:rpc(Config, 0, application, set_env,
+ ok = rabbit_ct_broker_helpers:rpc(Config, 0, application, set_env,
[rabbit, credential_validator,
[{validation_backend, rabbit_credential_validator_regexp},
{regexp, RegExp}]]).
@@ -247,3 +261,7 @@ add_user(Config, Username, Password) ->
delete_user(Config, Username) ->
rabbit_ct_broker_helpers:rpc(Config, 0, rabbit_auth_backend_internal, delete_user, [Username]).
+
+validator_backend(Config) ->
+ rabbit_ct_broker_helpers:rpc(Config, 0, rabbit_credential_validation, backend, []).
+