diff --git a/apps/emqx_bridge/src/emqx_bridge_v2.erl b/apps/emqx_bridge/src/emqx_bridge_v2.erl index 7ee384b84..9e3687777 100644 --- a/apps/emqx_bridge/src/emqx_bridge_v2.erl +++ b/apps/emqx_bridge/src/emqx_bridge_v2.erl @@ -1221,6 +1221,10 @@ unpack_bridge_conf(Type, PackedConf, TopLevelConf) -> bridge_v1_is_valid(BridgeV1Type, BridgeName) -> bridge_v1_is_valid(?ROOT_KEY_ACTIONS, BridgeV1Type, BridgeName). +%% rabbitmq's source don't have v1 version. but action has v1 version... +%% There's no good way to distinguish it, so it has to be hardcoded here. +bridge_v1_is_valid(?ROOT_KEY_SOURCES, rabbitmq, _BridgeName) -> + false; bridge_v1_is_valid(ConfRootKey, BridgeV1Type, BridgeName) -> BridgeV2Type = ?MODULE:bridge_v1_type_to_bridge_v2_type(BridgeV1Type), case lookup_conf(ConfRootKey, BridgeV2Type, BridgeName) of diff --git a/apps/emqx_bridge_rabbitmq/test/emqx_bridge_rabbitmq_v2_SUITE.erl b/apps/emqx_bridge_rabbitmq/test/emqx_bridge_rabbitmq_v2_SUITE.erl index 8b11f732a..711eab013 100644 --- a/apps/emqx_bridge_rabbitmq/test/emqx_bridge_rabbitmq_v2_SUITE.erl +++ b/apps/emqx_bridge_rabbitmq/test/emqx_bridge_rabbitmq_v2_SUITE.erl @@ -144,6 +144,8 @@ t_source(Config) -> Name = atom_to_binary(?FUNCTION_NAME), create_source(Name), Sources = emqx_bridge_v2:list(sources), + %% Don't show rabbitmq source in bridge_v1_list + ?assertEqual([], emqx_bridge_v2:bridge_v1_list_and_transform()), Any = fun(#{name := BName}) -> BName =:= Name end, ?assert(lists:any(Any, Sources), Sources), Topic = <<"tesldkafd">>,