Skip to content

Commit

Permalink
rabbit_mgmt_http_SUITE: make users_test less dependent on test execut…
Browse files Browse the repository at this point in the history
…ion order
  • Loading branch information
michaelklishin committed Jul 2, 2024
1 parent 4f2538c commit ed42cd1
Showing 1 changed file with 35 additions and 25 deletions.
60 changes: 35 additions & 25 deletions deps/rabbitmq_management/test/rabbit_mgmt_http_SUITE.erl
Original file line number Diff line number Diff line change
Expand Up @@ -555,44 +555,54 @@ users_test(Config) ->
tags => [<<"administrator">>],
login_session_timeout => 100},
http_get(Config, "/whoami")),
http_get(Config, "/users/myuser", ?NOT_FOUND),
http_put_raw(Config, "/users/myuser", "Something not JSON", ?BAD_REQUEST),
http_put(Config, "/users/myuser", [{flim, <<"flam">>}], ?BAD_REQUEST),
http_put(Config, "/users/myuser", [{tags, [<<"management">>]},
{password, <<"myuser">>}],
http_delete(Config, "/users/users_test", [?NO_CONTENT, ?NOT_FOUND]),
http_get(Config, "/users/users_test", [?NO_CONTENT, ?NOT_FOUND]),
http_put_raw(Config, "/users/users_test", "Something not JSON", ?BAD_REQUEST),
http_put(Config, "/users/users_test", [{flim, <<"flam">>}], ?BAD_REQUEST),
http_put(Config, "/users/users_test", [{tags, [<<"management">>]},
{password, <<"users_test">>}],
{group, '2xx'}),
http_put(Config, "/users/myuser", [{password_hash, <<"not_hash">>}], ?BAD_REQUEST),
http_put(Config, "/users/myuser", [{password_hash,
http_put(Config, "/users/users_test", [{password_hash, <<"not_hash">>}], ?BAD_REQUEST),
http_put(Config, "/users/users_test", [{password_hash,
<<"IECV6PZI/Invh0DL187KFpkO5Jc=">>},
{tags, <<"management">>}], {group, '2xx'}),
assert_item(#{name => <<"myuser">>, tags => [<<"management">>],
assert_item(#{name => <<"users_test">>, tags => [<<"management">>],
password_hash => <<"IECV6PZI/Invh0DL187KFpkO5Jc=">>,
hashing_algorithm => <<"rabbit_password_hashing_sha256">>},
http_get(Config, "/users/myuser")),
http_get(Config, "/users/users_test")),

http_put(Config, "/users/myuser", [{password_hash,
http_put(Config, "/users/users_test", [{password_hash,
<<"IECV6PZI/Invh0DL187KFpkO5Jc=">>},
{hashing_algorithm, <<"rabbit_password_hashing_md5">>},
{tags, [<<"management">>]}], {group, '2xx'}),
assert_item(#{name => <<"myuser">>, tags => [<<"management">>],
assert_item(#{name => <<"users_test">>, tags => [<<"management">>],
password_hash => <<"IECV6PZI/Invh0DL187KFpkO5Jc=">>,
hashing_algorithm => <<"rabbit_password_hashing_md5">>},
http_get(Config, "/users/myuser")),
http_put(Config, "/users/myuser", [{password, <<"password">>},
http_get(Config, "/users/users_test")),
http_put(Config, "/users/users_test", [{password, <<"password">>},
{tags, [<<"administrator">>, <<"foo">>]}], {group, '2xx'}),
assert_item(#{name => <<"myuser">>, tags => [<<"administrator">>, <<"foo">>]},
http_get(Config, "/users/myuser")),
assert_list(lists:sort([#{name => <<"myuser">>, tags => [<<"administrator">>, <<"foo">>]},
#{name => <<"guest">>, tags => [<<"administrator">>]}]),
lists:sort(http_get(Config, "/users"))),
test_auth(Config, ?OK, [auth_header("myuser", "password")]),
http_put(Config, "/users/myuser", [{password, <<"password">>},
assert_item(#{name => <<"users_test">>, tags => [<<"administrator">>, <<"foo">>]},
http_get(Config, "/users/users_test")),
Listed = lists:sort(http_get(Config, "/users")),
ct:pal("Listed users: ~tp", [Listed]),
User1 = #{name => <<"users_test">>, tags => [<<"administrator">>, <<"foo">>]},
User2 = #{name => <<"guest">>, tags => [<<"administrator">>]},
?assert(lists:any(fun(U) ->
maps:get(name, U) =:= maps:get(name, User1) andalso
maps:get(tags, U) =:= maps:get(tags, User1)
end, Listed)),
?assert(lists:any(fun(U) ->
maps:get(name, U) =:= maps:get(name, User2) andalso
maps:get(tags, U) =:= maps:get(tags, User2)
end, Listed)),
test_auth(Config, ?OK, [auth_header("users_test", "password")]),
http_put(Config, "/users/users_test", [{password, <<"password">>},
{tags, []}], {group, '2xx'}),
assert_item(#{name => <<"myuser">>, tags => []},
http_get(Config, "/users/myuser")),
http_delete(Config, "/users/myuser", {group, '2xx'}),
test_auth(Config, ?NOT_AUTHORISED, [auth_header("myuser", "password")]),
http_get(Config, "/users/myuser", ?NOT_FOUND),
assert_item(#{name => <<"users_test">>, tags => []},
http_get(Config, "/users/users_test")),
http_delete(Config, "/users/users_test", {group, '2xx'}),
test_auth(Config, ?NOT_AUTHORISED, [auth_header("users_test", "password")]),
http_get(Config, "/users/users_test", ?NOT_FOUND),
passed.

without_permissions_users_test(Config) ->
Expand Down

0 comments on commit ed42cd1

Please sign in to comment.