@@ -1699,33 +1699,47 @@ permissions_vhost_test(Config) ->
16991699 {tags , <<" administrator" >>}], {group , '2xx' }),
17001700 http_put (Config , " /users/myuser" , [{password , <<" myuser" >>},
17011701 {tags , <<" management" >>}], {group , '2xx' }),
1702+ http_put (Config , " /users/mymonitor" , [{password , <<" mymonitor" >>},
1703+ {tags , [<<" monitor" >>, <<" management" >>]}], {group , '2xx' }),
17021704 http_put (Config , " /vhosts/myvhost1" , none , {group , '2xx' }),
17031705 http_put (Config , " /vhosts/myvhost2" , none , {group , '2xx' }),
17041706 http_put (Config , " /permissions/myvhost1/myuser" , PermArgs , {group , '2xx' }),
1707+ http_put (Config , " /permissions/myvhost1/mymonitor" , PermArgs , {group , '2xx' }),
17051708 http_put (Config , " /permissions/myvhost1/guest" , PermArgs , {group , '2xx' }),
17061709 http_put (Config , " /permissions/myvhost2/guest" , PermArgs , {group , '2xx' }),
17071710 assert_list ([#{name => <<" /" >>},
17081711 #{name => <<" myvhost1" >>},
17091712 #{name => <<" myvhost2" >>}], http_get (Config , " /vhosts" , ? OK )),
17101713 assert_list ([#{name => <<" myvhost1" >>}],
17111714 http_get (Config , " /vhosts" , " myuser" , " myuser" , ? OK )),
1715+ assert_list ([#{name => <<" myvhost1" >>}],
1716+ http_get (Config , " /vhosts" , " mymonitor" , " mymonitor" , ? OK )),
17121717 http_put (Config , " /queues/myvhost1/myqueue" , QArgs , {group , '2xx' }),
17131718 http_put (Config , " /queues/myvhost2/myqueue" , QArgs , {group , '2xx' }),
1719+ CheckResult = fun (Path , Result ) ->
1720+ case maps :get (vhost , Result ) of
1721+ <<" myvhost2" >> ->
1722+ throw ({got_result_from_vhost2_in , Path , Result });
1723+ _ ->
1724+ ok
1725+ end
1726+ end ,
17141727 Test1 =
17151728 fun (Path ) ->
1716- Results = http_get (Config , Path , " myuser" , " myuser" , ? OK ),
1717- [case maps :get (vhost , Result ) of
1718- <<" myvhost2" >> ->
1719- throw ({got_result_from_vhost2_in , Path , Result });
1720- _ ->
1721- ok
1722- end || Result <- Results ]
1729+ Results0 = http_get (Config , Path , " myuser" , " myuser" , ? OK ),
1730+ [CheckResult (Path , Result0 ) || Result0 <- Results0 ],
1731+ Results1 = http_get (Config , Path , " mymonitor" , " mymonitor" , ? OK ),
1732+ [CheckResult (Path , Result1 ) || Result1 <- Results1 ]
17231733 end ,
17241734 Test2 =
17251735 fun (Path1 , Path2 ) ->
17261736 http_get (Config , Path1 ++ " /myvhost1/" ++ Path2 , " myuser" , " myuser" ,
17271737 ? OK ),
17281738 http_get (Config , Path1 ++ " /myvhost2/" ++ Path2 , " myuser" , " myuser" ,
1739+ ? NOT_AUTHORISED ),
1740+ http_get (Config , Path1 ++ " /myvhost1/" ++ Path2 , " mymonitor" , " mymonitor" ,
1741+ ? OK ),
1742+ http_get (Config , Path1 ++ " /myvhost2/" ++ Path2 , " mymonitor" , " mymonitor" ,
17291743 ? NOT_AUTHORISED )
17301744 end ,
17311745 Test3 =
0 commit comments