|
41 | 41 | %% for testing
|
42 | 42 | -export([clear/0]).
|
43 | 43 |
|
| 44 | +-ifdef(TEST). |
| 45 | +-export([get_in_mnesia/1, |
| 46 | + get_in_khepri/1, |
| 47 | + create_in_mnesia/2, |
| 48 | + create_in_khepri/2, |
| 49 | + get_all_in_mnesia/0, |
| 50 | + get_all_in_khepri/0, |
| 51 | + update_in_mnesia/2, |
| 52 | + update_in_khepri/2, |
| 53 | + delete_in_mnesia/1, |
| 54 | + delete_in_khepri/1, |
| 55 | + get_user_permissions_in_mnesia/2, |
| 56 | + get_user_permissions_in_khepri/2, |
| 57 | + set_user_permissions_in_mnesia/3, |
| 58 | + set_user_permissions_in_khepri/3, |
| 59 | + set_topic_permissions_in_mnesia/3, |
| 60 | + set_topic_permissions_in_khepri/3, |
| 61 | + match_user_permissions_in_mnesia/2, |
| 62 | + match_user_permissions_in_khepri/2, |
| 63 | + clear_user_permissions_in_mnesia/2, |
| 64 | + clear_user_permissions_in_khepri/2, |
| 65 | + get_topic_permissions_in_mnesia/3, |
| 66 | + get_topic_permissions_in_khepri/3, |
| 67 | + match_topic_permissions_in_mnesia/3, |
| 68 | + match_topic_permissions_in_khepri/3, |
| 69 | + clear_topic_permissions_in_mnesia/3, |
| 70 | + clear_topic_permissions_in_khepri/3 |
| 71 | + ]). |
| 72 | +-endif. |
| 73 | + |
44 | 74 | -define(MNESIA_TABLE, rabbit_user).
|
45 | 75 | -define(PERM_MNESIA_TABLE, rabbit_user_permission).
|
46 | 76 | -define(TOPIC_PERM_MNESIA_TABLE, rabbit_topic_permission).
|
@@ -334,7 +364,12 @@ match_user_permissions_in_mnesia_tx(Username, VHostName) ->
|
334 | 364 |
|
335 | 365 | match_user_permissions_in_khepri('_' = _Username, '_' = _VHostName) ->
|
336 | 366 | Path = khepri_user_permission_path(?KHEPRI_WILDCARD_STAR, ?KHEPRI_WILDCARD_STAR),
|
337 |
| - rabbit_khepri:match(Path); |
| 367 | + case rabbit_khepri:match(Path) of |
| 368 | + {ok, Map} -> |
| 369 | + maps:values(Map); |
| 370 | + _ -> |
| 371 | + [] |
| 372 | + end; |
338 | 373 | match_user_permissions_in_khepri('_' = _Username, VHostName) ->
|
339 | 374 | rabbit_khepri:transaction(
|
340 | 375 | rabbit_db_vhost:with_fun_in_khepri_tx(
|
@@ -916,7 +951,11 @@ delete_topic_permission_in_mnesia_tx(Username, VHostName, ExchangeName) ->
|
916 | 951 |
|
917 | 952 | delete_in_khepri(Username) ->
|
918 | 953 | Path = khepri_user_path(Username),
|
919 |
| - rabbit_khepri:delete(Path). |
| 954 | + case rabbit_khepri:delete_or_fail(Path) of |
| 955 | + ok -> true; |
| 956 | + {error, {node_not_found, _}} -> false; |
| 957 | + _ -> false |
| 958 | + end. |
920 | 959 |
|
921 | 960 | user_permission_pattern(Username, VHostName) ->
|
922 | 961 | #user_permission{user_vhost = #user_vhost{
|
|
0 commit comments