Skip to content

Commit ed42cd1

Browse files
rabbit_mgmt_http_SUITE: make users_test less dependent on test execution order
1 parent 4f2538c commit ed42cd1

File tree

1 file changed

+35
-25
lines changed

1 file changed

+35
-25
lines changed

deps/rabbitmq_management/test/rabbit_mgmt_http_SUITE.erl

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -555,44 +555,54 @@ users_test(Config) ->
555555
tags => [<<"administrator">>],
556556
login_session_timeout => 100},
557557
http_get(Config, "/whoami")),
558-
http_get(Config, "/users/myuser", ?NOT_FOUND),
559-
http_put_raw(Config, "/users/myuser", "Something not JSON", ?BAD_REQUEST),
560-
http_put(Config, "/users/myuser", [{flim, <<"flam">>}], ?BAD_REQUEST),
561-
http_put(Config, "/users/myuser", [{tags, [<<"management">>]},
562-
{password, <<"myuser">>}],
558+
http_delete(Config, "/users/users_test", [?NO_CONTENT, ?NOT_FOUND]),
559+
http_get(Config, "/users/users_test", [?NO_CONTENT, ?NOT_FOUND]),
560+
http_put_raw(Config, "/users/users_test", "Something not JSON", ?BAD_REQUEST),
561+
http_put(Config, "/users/users_test", [{flim, <<"flam">>}], ?BAD_REQUEST),
562+
http_put(Config, "/users/users_test", [{tags, [<<"management">>]},
563+
{password, <<"users_test">>}],
563564
{group, '2xx'}),
564-
http_put(Config, "/users/myuser", [{password_hash, <<"not_hash">>}], ?BAD_REQUEST),
565-
http_put(Config, "/users/myuser", [{password_hash,
565+
http_put(Config, "/users/users_test", [{password_hash, <<"not_hash">>}], ?BAD_REQUEST),
566+
http_put(Config, "/users/users_test", [{password_hash,
566567
<<"IECV6PZI/Invh0DL187KFpkO5Jc=">>},
567568
{tags, <<"management">>}], {group, '2xx'}),
568-
assert_item(#{name => <<"myuser">>, tags => [<<"management">>],
569+
assert_item(#{name => <<"users_test">>, tags => [<<"management">>],
569570
password_hash => <<"IECV6PZI/Invh0DL187KFpkO5Jc=">>,
570571
hashing_algorithm => <<"rabbit_password_hashing_sha256">>},
571-
http_get(Config, "/users/myuser")),
572+
http_get(Config, "/users/users_test")),
572573

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

598608
without_permissions_users_test(Config) ->

0 commit comments

Comments
 (0)