fix(ds): Fix return type of emqx_persistent_session_ds:publish

This commit is contained in:
ieQu1 2023-11-23 20:08:55 +01:00
parent c5bb86db67
commit a158f25a40
2 changed files with 27 additions and 2 deletions

View File

@ -274,12 +274,12 @@ get_subscription(TopicFilter, #{subscriptions := Subs}) ->
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
-spec publish(emqx_types:packet_id(), emqx_types:message(), session()) -> -spec publish(emqx_types:packet_id(), emqx_types:message(), session()) ->
{ok, emqx_types:publish_result(), replies(), session()} {ok, emqx_types:publish_result(), session()}
| {error, emqx_types:reason_code()}. | {error, emqx_types:reason_code()}.
publish(_PacketId, Msg, Session) -> publish(_PacketId, Msg, Session) ->
%% TODO: QoS2 %% TODO: QoS2
Result = emqx_broker:publish(Msg), Result = emqx_broker:publish(Msg),
{ok, Result, [], Session}. {ok, Result, Session}.
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
%% Client -> Broker: PUBACK %% Client -> Broker: PUBACK

View File

@ -258,6 +258,31 @@ t_qos0(Config) ->
emqtt:stop(Pub) emqtt:stop(Pub)
end. end.
t_publish_as_persistent(Config) ->
Sub = connect(<<?MODULE_STRING "1">>, true, 30),
Pub = connect(<<?MODULE_STRING "2">>, true, 30),
try
{ok, _, [1]} = emqtt:subscribe(Sub, <<"t/#">>, qos1),
Messages = [
{<<"t/1">>, <<"1">>, 0},
{<<"t/1">>, <<"2">>, 1},
{<<"t/1">>, <<"3">>, 2}
],
[emqtt:publish(Pub, Topic, Payload, Qos) || {Topic, Payload, Qos} <- Messages],
?assertMatch(
[
#{qos := 0, topic := <<"t/1">>, payload := <<"1">>},
#{qos := 1, topic := <<"t/1">>, payload := <<"2">>}
%% TODO: QoS 2
%% #{qos := 2, topic := <<"t/1">>, payload := <<"3">>}
],
receive_messages(3)
)
after
emqtt:stop(Sub),
emqtt:stop(Pub)
end.
%% %%
connect(ClientId, CleanStart, EI) -> connect(ClientId, CleanStart, EI) ->