Skip to content

Commit 31a7b09

Browse files
Split management HTTP API tests to reduce interference
Plus don't store DQT as 'undefined' at definition import time.
1 parent 8bfdc2a commit 31a7b09

File tree

4 files changed

+121
-98
lines changed

4 files changed

+121
-98
lines changed

deps/rabbit/src/rabbit_definitions.erl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -783,6 +783,9 @@ add_vhost(VHost, ActingUser) ->
783783
Tags = maps:get(tags, VHost, maps:get(tags, Metadata, [])),
784784
DefaultQueueType = maps:get(default_queue_type, Metadata, undefined),
785785

786+
rabbit_log:debug("Definition import: asked to import a virtual host '~ts' with default queue type of '~tp'",
787+
[Name, DefaultQueueType]),
788+
786789
rabbit_vhost:put_vhost(Name, Description, Tags, DefaultQueueType, IsTracingEnabled, ActingUser).
787790

788791
add_permission(Permission, ActingUser) ->

deps/rabbit/src/rabbit_queue_type.erl

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,23 +267,30 @@ discover(Other) when is_binary(Other) ->
267267
{ok, Mod} = rabbit_registry:lookup_module(queue, T),
268268
Mod.
269269

270-
-spec short_alias_of(queue_type()) -> binary().
270+
-spec short_alias_of(queue_type() | binary()) -> binary() | undefined.
271271
%% The opposite of discover/1: returns a short alias given a module name
272272
short_alias_of(<<"rabbit_quorum_queue">>) ->
273273
<<"quorum">>;
274+
short_alias_of(<<"quorum">>) ->
275+
<<"quorum">>;
274276
short_alias_of(rabbit_quorum_queue) ->
275277
<<"quorum">>;
276278
short_alias_of(<<"rabbit_classic_queue">>) ->
277279
<<"classic">>;
280+
short_alias_of(<<"classic">>) ->
281+
<<"classic">>;
278282
short_alias_of(rabbit_classic_queue) ->
279283
<<"classic">>;
280284
short_alias_of(<<"rabbit_stream_queue">>) ->
281285
<<"stream">>;
286+
short_alias_of(<<"stream">>) ->
287+
<<"stream">>;
282288
short_alias_of(rabbit_stream_queue) ->
283289
<<"stream">>;
284290
short_alias_of(_Other) ->
285291
undefined.
286292

293+
-spec feature_flag_name(binary()) -> atom() | undefined.
287294
feature_flag_name(<<"quorum">>) ->
288295
quorum_queue;
289296
feature_flag_name(<<"classic">>) ->

deps/rabbit/src/rabbit_vhost.erl

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,20 @@ update_metadata(Name, Metadata0, ActingUser) ->
255255

256256
-spec update(vhost:name(), binary(), [atom()], rabbit_queue_type:queue_type() | 'undefined', rabbit_types:username()) -> rabbit_types:ok_or_error(any()).
257257
update(Name, Description, Tags, DefaultQueueType, ActingUser) ->
258-
Metadata = #{description => Description, tags => Tags, default_queue_type => DefaultQueueType},
258+
ResolvedDQT = rabbit_queue_type:short_alias_of(rabbit_queue_type:discover(DefaultQueueType)),
259+
Metadata = case ResolvedDQT of
260+
undefined ->
261+
#{
262+
description => Description,
263+
tags => Tags
264+
};
265+
_ ->
266+
#{
267+
description => Description,
268+
tags => Tags,
269+
default_queue_type => DefaultQueueType
270+
}
271+
end,
259272
update_metadata(Name, Metadata, ActingUser).
260273

261274
-spec delete(vhost:name(), rabbit_types:username()) -> rabbit_types:ok_or_error(any()).

0 commit comments

Comments
 (0)