Add condition to handle when mqx_topic_alias do not exist
This commit is contained in:
parent
c145cb89f4
commit
765ab5ad7b
|
@ -69,6 +69,8 @@ do_check_pub(Props = #{ topic_alias := TopicAlias}, [{max_topic_alias, MaxTopicA
|
|||
end;
|
||||
do_check_pub(#{retain := true}, [{mqtt_retain_available, false}|_Caps]) ->
|
||||
{error, ?RC_RETAIN_NOT_SUPPORTED};
|
||||
do_check_pub(Props, [{max_topic_alias, _} | Caps]) ->
|
||||
do_check_pub(Props, Caps);
|
||||
do_check_pub(Props, [{mqtt_retain_available, _}|Caps]) ->
|
||||
do_check_pub(Props, Caps).
|
||||
|
||||
|
|
|
@ -63,10 +63,12 @@ t_check_pub(_) ->
|
|||
{ok, _} = emqx_zone:start_link(),
|
||||
PubCaps = #{
|
||||
max_qos_allowed => ?QOS_1,
|
||||
mqtt_retain_available => false
|
||||
mqtt_retain_available => false,
|
||||
max_topic_alias => 4
|
||||
},
|
||||
emqx_zone:set_env(zone, '$mqtt_pub_caps', PubCaps),
|
||||
timer:sleep(100),
|
||||
ct:log("~p", [emqx_mqtt_caps:get_caps(zone, publish)]),
|
||||
BadPubProps1 = #{
|
||||
qos => ?QOS_2,
|
||||
retain => false
|
||||
|
@ -77,6 +79,12 @@ t_check_pub(_) ->
|
|||
retain => true
|
||||
},
|
||||
{error, ?RC_RETAIN_NOT_SUPPORTED} = emqx_mqtt_caps:check_pub(zone, BadPubProps2),
|
||||
BadPubProps3 = #{
|
||||
qos => ?QOS_1,
|
||||
retain => false,
|
||||
topic_alias => 5
|
||||
},
|
||||
{error, ?RC_TOPIC_ALIAS_INVALID} = emqx_mqtt_caps:check_pub(zone, BadPubProps3),
|
||||
PubProps = #{
|
||||
qos => ?QOS_1,
|
||||
retain => false
|
||||
|
|
Loading…
Reference in New Issue