From 02b8bbf76a9318029f6854542d71f854fef0a0ad Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Wed, 6 Sep 2023 15:25:52 -0300 Subject: [PATCH] chore: drop templating support for `Subscription-Identifier` This is highly-dependent on the session state, as is `Topic-Alias`. --- .../src/emqx_rule_engine_schema.erl | 4 +--- .../test/emqx_rule_engine_SUITE.erl | 16 ++++++---------- .../test/emqx_rule_engine_schema_tests.erl | 4 +--- 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/apps/emqx_rule_engine/src/emqx_rule_engine_schema.erl b/apps/emqx_rule_engine/src/emqx_rule_engine_schema.erl index bd7d44b69..ba4056421 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_engine_schema.erl +++ b/apps/emqx_rule_engine/src/emqx_rule_engine_schema.erl @@ -188,9 +188,7 @@ fields("republish_mqtt_properties") -> {'Content-Type', ?HOCON(binary(), #{required => false, desc => ?DESC('Content-Type')})}, {'Response-Topic', ?HOCON(binary(), #{required => false, desc => ?DESC('Response-Topic')})}, {'Correlation-Data', - ?HOCON(binary(), #{required => false, desc => ?DESC('Correlation-Data')})}, - {'Subscription-Identifier', - ?HOCON(binary(), #{required => false, desc => ?DESC('Subscription-Identifier')})} + ?HOCON(binary(), #{required => false, desc => ?DESC('Correlation-Data')})} ]. desc("rule_engine") -> diff --git a/apps/emqx_rule_engine/test/emqx_rule_engine_SUITE.erl b/apps/emqx_rule_engine/test/emqx_rule_engine_SUITE.erl index 2e24ab3a2..e23da39f8 100644 --- a/apps/emqx_rule_engine/test/emqx_rule_engine_SUITE.erl +++ b/apps/emqx_rule_engine/test/emqx_rule_engine_SUITE.erl @@ -1424,8 +1424,7 @@ t_sqlselect_03(_Config) -> <<"Message-Expiry-Interval">> => <<"${.payload.mei}">>, <<"Content-Type">> => <<"${.payload.ct}">>, <<"Response-Topic">> => <<"${.payload.rt}">>, - <<"Correlation-Data">> => <<"${.payload.cd}">>, - <<"Subscription-Identifier">> => <<"${.payload.si}">> + <<"Correlation-Data">> => <<"${.payload.cd}">> } ), RepubRaw = emqx_utils_maps:binary_key_map(Repub#{function => <<"republish">>}), @@ -1462,9 +1461,7 @@ t_sqlselect_03(_Config) -> mei => 2, ct => <<"3">>, rt => <<"4">>, - cd => <<"5">>, - si => 6, - ta => 7 + cd => <<"5">> } ), {ok, Client} = emqtt:start_link([ @@ -1482,7 +1479,6 @@ t_sqlselect_03(_Config) -> 'Content-Type' => <<"3">>, 'Response-Topic' => <<"4">>, 'Correlation-Data' => <<"5">>, - 'Subscription-Identifier' => 6, %% currently, `Topic-Alias' is dropped `emqx_message:filter_pub_props', %% so the channel controls those aliases on its own, starting from 1. 'Topic-Alias' => 1, @@ -1503,7 +1499,6 @@ t_sqlselect_03(_Config) -> 'Content-Type' => <<"3">>, 'Response-Topic' => <<"4">>, 'Correlation-Data' => <<"5">>, - 'Subscription-Identifier' => 6, 'User-Property' => maps:from_list(UserProps), 'User-Property-Pairs' => [ #{key => K, value => V} @@ -1524,6 +1519,9 @@ t_sqlselect_03(_Config) -> ct:pal("testing payload that is not a json object"), emqtt:publish(Client, <<"t/r">>, PubProps, <<"not-a-map">>, [{qos, 0}]), ExpectedMQTTProps2 = #{ + 'Content-Type' => <<"undefined">>, + 'Correlation-Data' => <<"undefined">>, + 'Response-Topic' => <<"undefined">>, %% currently, `Topic-Alias' is dropped `emqx_message:filter_pub_props', %% so the channel controls those aliases on its own, starting from 1. 'Topic-Alias' => 1, @@ -1548,9 +1546,7 @@ t_sqlselect_03(_Config) -> mei => <<"bad_value2">>, ct => <<"some_value3">>, rt => <<"some_value4">>, - cd => <<"some_value5">>, - si => <<"bad_value6">>, - ta => <<"bad_value7">> + cd => <<"some_value5">> }), emqtt:publish(Client, <<"t/r">>, PubProps, Payload1, [{qos, 0}]), ExpectedMQTTProps3 = #{ diff --git a/apps/emqx_rule_engine/test/emqx_rule_engine_schema_tests.erl b/apps/emqx_rule_engine/test/emqx_rule_engine_schema_tests.erl index 74b55e151..27dbafdc8 100644 --- a/apps/emqx_rule_engine/test/emqx_rule_engine_schema_tests.erl +++ b/apps/emqx_rule_engine/test/emqx_rule_engine_schema_tests.erl @@ -43,7 +43,6 @@ rule_engine.rules.my_rule { \"Content-Type\" = \"${.payload.ct}\" \"Response-Topic\" = \"${.payload.rt}\" \"Correlation-Data\" = \"${.payload.cd}\" - \"Subscription-Identifier\" = \"${.payload.si}\" } user_properties = \"${pub_props.'User-Property'}\" } @@ -113,8 +112,7 @@ republish_test_() -> <<"Message-Expiry-Interval">> := <<_/binary>>, <<"Content-Type">> := <<_/binary>>, <<"Response-Topic">> := <<_/binary>>, - <<"Correlation-Data">> := <<_/binary>>, - <<"Subscription-Identifier">> := <<_/binary>> + <<"Correlation-Data">> := <<_/binary>> } } },