test: ensure $mqtt_pub_caps is cleared after test run

This commit is contained in:
Zaiming (Stone) Shi 2022-11-02 15:28:01 +01:00
parent 25863b6773
commit 3d7dd4f738
3 changed files with 30 additions and 25 deletions

View File

@ -822,15 +822,18 @@ t_enrich_connack_caps(_) ->
wildcard_subscription => true wildcard_subscription => true
} }
end), end),
AckProps = emqx_channel:enrich_connack_caps(#{}, channel()), try
?assertMatch(#{'Retain-Available' := 1, AckProps = emqx_channel:enrich_connack_caps(#{}, channel()),
'Maximum-Packet-Size' := 1024, ?assertMatch(#{'Retain-Available' := 1,
'Topic-Alias-Maximum' := 10, 'Maximum-Packet-Size' := 1024,
'Wildcard-Subscription-Available' := 1, 'Topic-Alias-Maximum' := 10,
'Subscription-Identifier-Available' := 1, 'Wildcard-Subscription-Available' := 1,
'Shared-Subscription-Available' := 1 'Subscription-Identifier-Available' := 1,
}, AckProps), 'Shared-Subscription-Available' := 1
ok = meck:unload(emqx_mqtt_caps). }, AckProps)
after
ok = meck:unload(emqx_mqtt_caps)
end.
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
%% Test cases for terminate %% Test cases for terminate

View File

@ -52,13 +52,15 @@ t_check_sub(_) ->
wildcard_subscription => false wildcard_subscription => false
}, },
emqx_zone:set_env(zone, '$mqtt_sub_caps', SubCaps), emqx_zone:set_env(zone, '$mqtt_sub_caps', SubCaps),
timer:sleep(50), try
ClientInfo = #{zone => zone}, ClientInfo = #{zone => zone},
ok = emqx_mqtt_caps:check_sub(ClientInfo, <<"topic">>, SubOpts), ok = emqx_mqtt_caps:check_sub(ClientInfo, <<"topic">>, SubOpts),
?assertEqual({error, ?RC_TOPIC_FILTER_INVALID}, ?assertEqual({error, ?RC_TOPIC_FILTER_INVALID},
emqx_mqtt_caps:check_sub(ClientInfo, <<"a/b/c/d">>, SubOpts)), emqx_mqtt_caps:check_sub(ClientInfo, <<"a/b/c/d">>, SubOpts)),
?assertEqual({error, ?RC_WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED}, ?assertEqual({error, ?RC_WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED},
emqx_mqtt_caps:check_sub(ClientInfo, <<"+/#">>, SubOpts)), emqx_mqtt_caps:check_sub(ClientInfo, <<"+/#">>, SubOpts)),
?assertEqual({error, ?RC_SHARED_SUBSCRIPTIONS_NOT_SUPPORTED}, ?assertEqual({error, ?RC_SHARED_SUBSCRIPTIONS_NOT_SUPPORTED},
emqx_mqtt_caps:check_sub(ClientInfo, <<"topic">>, SubOpts#{share => true})), emqx_mqtt_caps:check_sub(ClientInfo, <<"topic">>, SubOpts#{share => true}))
emqx_zone:unset_env(zone, '$mqtt_pub_caps'). after
emqx_zone:unset_env(zone, '$mqtt_pub_caps')
end.

View File

@ -468,8 +468,8 @@ t_connack_max_qos_allowed(_) ->
%% max_qos_allowed = 0 %% max_qos_allowed = 0
emqx_zone:set_env(external, max_qos_allowed, 0), emqx_zone:set_env(external, max_qos_allowed, 0),
persistent_term:erase({emqx_zone, external, '$mqtt_caps'}), emqx_zone:unset_env(external, '$mqtt_caps'),
persistent_term:erase({emqx_zone, external, '$mqtt_pub_caps'}), emqx_zone:unset_env(external, '$mqtt_pub_caps'),
{ok, Client1} = emqtt:start_link([{proto_ver, v5}]), {ok, Client1} = emqtt:start_link([{proto_ver, v5}]),
{ok, Connack1} = emqtt:connect(Client1), {ok, Connack1} = emqtt:connect(Client1),
@ -496,8 +496,8 @@ t_connack_max_qos_allowed(_) ->
%% max_qos_allowed = 1 %% max_qos_allowed = 1
emqx_zone:set_env(external, max_qos_allowed, 1), emqx_zone:set_env(external, max_qos_allowed, 1),
persistent_term:erase({emqx_zone, external, '$mqtt_caps'}), emqx_zone:unset_env(external, '$mqtt_caps'),
persistent_term:erase({emqx_zone, external, '$mqtt_pub_caps'}), emqx_zone:unset_env(external, '$mqtt_pub_caps'),
{ok, Client3} = emqtt:start_link([{proto_ver, v5}]), {ok, Client3} = emqtt:start_link([{proto_ver, v5}]),
{ok, Connack3} = emqtt:connect(Client3), {ok, Connack3} = emqtt:connect(Client3),
@ -524,8 +524,8 @@ t_connack_max_qos_allowed(_) ->
%% max_qos_allowed = 2 %% max_qos_allowed = 2
emqx_zone:set_env(external, max_qos_allowed, 2), emqx_zone:set_env(external, max_qos_allowed, 2),
persistent_term:erase({emqx_zone, external, '$mqtt_caps'}), emqx_zone:unset_env(external, '$mqtt_caps'),
persistent_term:erase({emqx_zone, external, '$mqtt_pub_caps'}), emqx_zone:unset_env(external, '$mqtt_pub_caps'),
{ok, Client5} = emqtt:start_link([{proto_ver, v5}]), {ok, Client5} = emqtt:start_link([{proto_ver, v5}]),
{ok, Connack5} = emqtt:connect(Client5), {ok, Connack5} = emqtt:connect(Client5),