diff --git a/apps/emqtt/include/emqtt_packet.hrl b/apps/emqtt/include/emqtt_packet.hrl index 396387fef..d0160e776 100644 --- a/apps/emqtt/include/emqtt_packet.hrl +++ b/apps/emqtt/include/emqtt_packet.hrl @@ -182,8 +182,8 @@ %%------------------------------------------------------------------------------ %% MQTT Packet Match %%------------------------------------------------------------------------------ --define(CONNECT_PACKET(Packet), - #mqtt_packet{header = #mqtt_packet_header{type = ?CONNECT}, variable = Packet}). +-define(CONNECT_PACKET(Var), + #mqtt_packet{header = #mqtt_packet_header{type = ?CONNECT}, variable = Var}). -define(CONNACK_PACKET(ReturnCode), #mqtt_packet{header = #mqtt_packet_header{type = ?CONNACK}, diff --git a/apps/emqtt/test/emqtt_serialiser_tests.erl b/apps/emqtt/test/emqtt_serialiser_tests.erl index 72485b2b9..03f38833d 100644 --- a/apps/emqtt/test/emqtt_serialiser_tests.erl +++ b/apps/emqtt/test/emqtt_serialiser_tests.erl @@ -32,13 +32,45 @@ -include_lib("eunit/include/eunit.hrl"). +serialise_connect_test() -> + emqtt_serialiser:serialise(?CONNECT_PACKET(#mqtt_packet_connect{})). + serialise_connack_test() -> ConnAck = #mqtt_packet{header = #mqtt_packet_header{type = ?CONNACK}, variable = #mqtt_packet_connack{ack_flags = 0, return_code = 0}}, ?assertEqual(<<32,2,0,0>>, emqtt_serialiser:serialise(ConnAck)). +serialise_publish_test() -> + emqtt_serialiser:serialise(?PUBLISH_PACKET(?QOS_0, <<"Topic">>, undefined, <<"Payload">>)), + emqtt_serialiser:serialise(?PUBLISH_PACKET(?QOS_1, <<"Topic">>, 938, <<"Payload">>)). + serialise_puback_test() -> - ok. + emqtt_serialiser:serialise(?PUBACK_PACKET(?PUBACK, 10384)). + +serialise_pubrel_test() -> + emqtt_serialiser:serialise(?PUBREL_PACKET(10384)). + +serialise_subscribe_test() -> + TopicTable = [{<<"TopicQos0">>, ?QOS_0}, {<<"TopicQos1">>, ?QOS_1}, {<<"TopicQos2">>, ?QOS_2}], + emqtt_serialiser:serialise(?SUBSCRIBE_PACKET(10, TopicTable)). + +serialise_suback_test() -> + emqtt_serialiser:serialise(?SUBACK_PACKET(10, [?QOS_0, ?QOS_1, 128])). + +serialise_unsubscribe_test() -> + emqtt_serialiser:serialise(?UNSUBSCRIBE_PACKET(10, [<<"Topic1">>, <<"Topic2">>])). + +serialise_unsuback_test() -> + emqtt_serialiser:serialise(?UNSUBACK_PACKET(10)). + +serialise_pingreq_test() -> + emqtt_serialiser:serialise(?PACKET(?PINGREQ)). + +serialise_pingresp_test() -> + emqtt_serialiser:serialise(?PACKET(?PINGRESP)). + +serialise_disconnect_test() -> + emqtt_serialiser:serialise(?PACKET(?DISCONNECT)). -endif.