From 0ee74cd8ae030f6c5349a1e6fd274f719e3ef4db Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Fri, 3 Nov 2023 15:57:13 -0300 Subject: [PATCH] fix(rules_api): downgrade bridge id Fixes https://emqx.atlassian.net/browse/EMQX-11312 --- apps/emqx_rule_engine/src/emqx_rule_engine_api.erl | 2 +- .../test/emqx_rule_engine_api_SUITE.erl | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl b/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl index 246bd8f01..1e978828b 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl +++ b/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), diff --git a/apps/emqx_rule_engine/test/emqx_rule_engine_api_SUITE.erl b/apps/emqx_rule_engine/test/emqx_rule_engine_api_SUITE.erl index e55eea977..a4e659ce6 100644 --- a/apps/emqx_rule_engine/test/emqx_rule_engine_api_SUITE.erl +++ b/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) ->