Skip to content

Commit 5ea15b2

Browse files
committed
test(mqtt): add should_remove_from_retained test for message retention behavior
1 parent 63666b2 commit 5ea15b2

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

deps/rabbitmq_mqtt/test/retainer_SUITE.erl

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ tests() ->
3232
should_translate_amqp2mqtt_on_retention_search,
3333
recover,
3434
recover_with_message_expiry_interval,
35-
retained_wildcard_single_level, retained_wildcard_multi_level, retained_wildcard_mixed].
35+
retained_wildcard_single_level,
36+
retained_wildcard_multi_level,
37+
retained_wildcard_mixed,
38+
should_remove_from_retained].
3639

3740
suite() ->
3841
[{timetrap, {minutes, 2}}].
@@ -274,3 +277,22 @@ retained_wildcard_mixed(Config) ->
274277
{ok, _, _} = emqtt:subscribe(C, <<"devices/+/readings/#">>, qos1),
275278
ok = expect_publishes(C, <<"devices/sensor1/readings/temperature">>, [<<"23.5">>]),
276279
ok = emqtt:disconnect(C).
280+
281+
should_remove_from_retained(Config) ->
282+
C = connect(<<"wildcardClientRetainer">>, Config, [{ack_timeout, 1}]),
283+
ok =
284+
emqtt:publish(C,
285+
<<"devices/sensor1/readings/temperature">>,
286+
#{},
287+
<<"23.5">>,
288+
[{retain, true}]),
289+
ok =
290+
emqtt:publish(C, <<"devices/sensor1/readings/temperature">>, #{}, <<>>, [{retain, true}]),
291+
{ok, _, _} = emqtt:subscribe(C, <<"devices/sensor1/readings/temperature">>, qos1),
292+
receive
293+
Unexpected ->
294+
ct:fail("Unexpected message: ~p", [Unexpected])
295+
after 1000 ->
296+
ok
297+
end,
298+
ok = emqtt:disconnect(C).

0 commit comments

Comments
 (0)