Skip to content

Commit 588a1d3

Browse files
rabbit_mgmt_http_SUITE: make users_test less dependent on test execution order
1 parent 25f90f4 commit 588a1d3

File tree

1 file changed

+49
-38
lines changed

1 file changed

+49
-38
lines changed

deps/rabbitmq_management/test/rabbit_mgmt_http_SUITE.erl

Lines changed: 49 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -554,49 +554,60 @@ vhosts_trace_test(Config) ->
554554
users_test(Config) ->
555555
assert_item(#{name => <<"guest">>, tags => [<<"administrator">>]},
556556
http_get(Config, "/whoami")),
557-
rpc(Config, application, set_env, [rabbitmq_management, login_session_timeout, 100]),
557+
rabbit_ct_broker_helpers:rpc(Config, 0, application, set_env,
558+
[rabbitmq_management, login_session_timeout, 100]),
558559
assert_item(#{name => <<"guest">>,
559-
tags => [<<"administrator">>],
560-
login_session_timeout => 100},
560+
tags => [<<"administrator">>],
561+
login_session_timeout => 100},
561562
http_get(Config, "/whoami")),
562-
http_get(Config, "/users/myuser", ?NOT_FOUND),
563-
http_put_raw(Config, "/users/myuser", "Something not JSON", ?BAD_REQUEST),
564-
http_put(Config, "/users/myuser", [{flim, <<"flam">>}], ?BAD_REQUEST),
565-
http_put(Config, "/users/myuser", [{tags, [<<"management">>]},
566-
{password, <<"myuser">>}],
567-
{group, '2xx'}),
568-
http_put(Config, "/users/myuser", [{password_hash, <<"not_hash">>}], ?BAD_REQUEST),
569-
http_put(Config, "/users/myuser", [{password_hash,
563+
http_delete(Config, "/users/users_test", [?NO_CONTENT, ?NOT_FOUND]),
564+
http_get(Config, "/users/users_test", [?NO_CONTENT, ?NOT_FOUND]),
565+
http_put_raw(Config, "/users/users_test", "Something not JSON", ?BAD_REQUEST),
566+
http_put(Config, "/users/users_test", [{flim, <<"flam">>}], ?BAD_REQUEST),
567+
http_put(Config, "/users/users_test", [{tags, [<<"management">>]},
568+
{password, <<"users_test">>}],
569+
{group, '2xx'}),
570+
http_put(Config, "/users/users_test", [{password_hash, <<"not_hash">>}], ?BAD_REQUEST),
571+
http_put(Config, "/users/users_test", [{password_hash,
570572
<<"IECV6PZI/Invh0DL187KFpkO5Jc=">>},
571-
{tags, <<"management">>}], {group, '2xx'}),
572-
assert_item(#{name => <<"myuser">>, tags => [<<"management">>],
573-
password_hash => <<"IECV6PZI/Invh0DL187KFpkO5Jc=">>,
574-
hashing_algorithm => <<"rabbit_password_hashing_sha256">>},
575-
http_get(Config, "/users/myuser")),
573+
{tags, <<"management">>}], {group, '2xx'}),
574+
assert_item(#{name => <<"users_test">>, tags => [<<"management">>],
575+
password_hash => <<"IECV6PZI/Invh0DL187KFpkO5Jc=">>,
576+
hashing_algorithm => <<"rabbit_password_hashing_sha256">>},
577+
http_get(Config, "/users/users_test")),
576578

577-
http_put(Config, "/users/myuser", [{password_hash,
579+
http_put(Config, "/users/users_test", [{password_hash,
578580
<<"IECV6PZI/Invh0DL187KFpkO5Jc=">>},
579-
{hashing_algorithm, <<"rabbit_password_hashing_md5">>},
580-
{tags, [<<"management">>]}], {group, '2xx'}),
581-
assert_item(#{name => <<"myuser">>, tags => [<<"management">>],
582-
password_hash => <<"IECV6PZI/Invh0DL187KFpkO5Jc=">>,
583-
hashing_algorithm => <<"rabbit_password_hashing_md5">>},
584-
http_get(Config, "/users/myuser")),
585-
http_put(Config, "/users/myuser", [{password, <<"password">>},
586-
{tags, [<<"administrator">>, <<"foo">>]}], {group, '2xx'}),
587-
assert_item(#{name => <<"myuser">>, tags => [<<"administrator">>, <<"foo">>]},
588-
http_get(Config, "/users/myuser")),
589-
assert_list(lists:sort([#{name => <<"myuser">>, tags => [<<"administrator">>, <<"foo">>]},
590-
#{name => <<"guest">>, tags => [<<"administrator">>]}]),
591-
lists:sort(http_get(Config, "/users"))),
592-
test_auth(Config, ?OK, [auth_header("myuser", "password")]),
593-
http_put(Config, "/users/myuser", [{password, <<"password">>},
594-
{tags, []}], {group, '2xx'}),
595-
assert_item(#{name => <<"myuser">>, tags => []},
596-
http_get(Config, "/users/myuser")),
597-
http_delete(Config, "/users/myuser", {group, '2xx'}),
598-
test_auth(Config, ?NOT_AUTHORISED, [auth_header("myuser", "password")]),
599-
http_get(Config, "/users/myuser", ?NOT_FOUND),
581+
{hashing_algorithm, <<"rabbit_password_hashing_md5">>},
582+
{tags, [<<"management">>]}], {group, '2xx'}),
583+
assert_item(#{name => <<"users_test">>, tags => [<<"management">>],
584+
password_hash => <<"IECV6PZI/Invh0DL187KFpkO5Jc=">>,
585+
hashing_algorithm => <<"rabbit_password_hashing_md5">>},
586+
http_get(Config, "/users/users_test")),
587+
http_put(Config, "/users/users_test", [{password, <<"password">>},
588+
{tags, [<<"administrator">>, <<"foo">>]}], {group, '2xx'}),
589+
assert_item(#{name => <<"users_test">>, tags => [<<"administrator">>, <<"foo">>]},
590+
http_get(Config, "/users/users_test")),
591+
Listed = lists:sort(http_get(Config, "/users")),
592+
ct:pal("Listed users: ~tp", [Listed]),
593+
User1 = #{name => <<"users_test">>, tags => [<<"administrator">>, <<"foo">>]},
594+
User2 = #{name => <<"guest">>, tags => [<<"administrator">>]},
595+
?assert(lists:any(fun(U) ->
596+
maps:get(name, U) =:= maps:get(name, User1) andalso
597+
maps:get(tags, U) =:= maps:get(tags, User1)
598+
end, Listed)),
599+
?assert(lists:any(fun(U) ->
600+
maps:get(name, U) =:= maps:get(name, User2) andalso
601+
maps:get(tags, U) =:= maps:get(tags, User2)
602+
end, Listed)),
603+
test_auth(Config, ?OK, [auth_header("users_test", "password")]),
604+
http_put(Config, "/users/users_test", [{password, <<"password">>},
605+
{tags, []}], {group, '2xx'}),
606+
assert_item(#{name => <<"users_test">>, tags => []},
607+
http_get(Config, "/users/users_test")),
608+
http_delete(Config, "/users/users_test", {group, '2xx'}),
609+
test_auth(Config, ?NOT_AUTHORISED, [auth_header("users_test", "password")]),
610+
http_get(Config, "/users/users_test", ?NOT_FOUND),
600611
passed.
601612

602613
without_permissions_users_test(Config) ->

0 commit comments

Comments
 (0)