Parcourir la source

fix(rules_api): downgrade bridge id

Fixes https://emqx.atlassian.net/browse/EMQX-11312
Thales Macedo Garitezi il y a 2 ans
Parent
commit
0ee74cd8ae

+ 1 - 1
apps/emqx_rule_engine/src/emqx_rule_engine_api.erl

@@ -522,7 +522,7 @@ format_action(Actions) ->
 do_format_action({bridge, BridgeType, BridgeName, _ResId}) ->
     emqx_bridge_resource:bridge_id(BridgeType, BridgeName);
 do_format_action({bridge_v2, BridgeType, BridgeName}) ->
-    emqx_bridge_resource:bridge_id(BridgeType, BridgeName);
+    emqx_bridge_resource:bridge_id(emqx_bridge_lib:downgrade_type(BridgeType), BridgeName);
 do_format_action(#{mod := Mod, func := Func, args := Args}) ->
     #{
         function => printable_function_name(Mod, Func),

+ 14 - 0
apps/emqx_rule_engine/test/emqx_rule_engine_api_SUITE.erl

@@ -310,6 +310,20 @@ t_rule_engine(_) ->
     }),
     {400, _} = emqx_rule_engine_api:'/rule_engine'(put, #{body => #{<<"something">> => <<"weird">>}}).
 
+t_downgrade_bridge_type(_) ->
+    #{id := RuleId} = create_rule((?SIMPLE_RULE(<<>>))#{<<"actions">> => [<<"kafka:name">>]}),
+    ?assertMatch(
+        %% returns a bridges_v2 ID
+        {200, #{data := [#{actions := [<<"kafka:name">>]}]}},
+        emqx_rule_engine_api:'/rules'(get, #{query_string => #{}})
+    ),
+    ?assertMatch(
+        %% returns a bridges_v2 ID
+        {200, #{actions := [<<"kafka:name">>]}},
+        emqx_rule_engine_api:'/rules/:id'(get, #{bindings => #{id => RuleId}})
+    ),
+    ok.
+
 rules_fixture(N) ->
     lists:map(
         fun(Seq0) ->