serialise tests

This commit is contained in:
Ery Lee 2015-03-08 17:37:04 +08:00
parent 5e9d2886ff
commit 292b178678
2 changed files with 35 additions and 3 deletions

View File

@ -182,8 +182,8 @@
%%------------------------------------------------------------------------------ %%------------------------------------------------------------------------------
%% MQTT Packet Match %% MQTT Packet Match
%%------------------------------------------------------------------------------ %%------------------------------------------------------------------------------
-define(CONNECT_PACKET(Packet), -define(CONNECT_PACKET(Var),
#mqtt_packet{header = #mqtt_packet_header{type = ?CONNECT}, variable = Packet}). #mqtt_packet{header = #mqtt_packet_header{type = ?CONNECT}, variable = Var}).
-define(CONNACK_PACKET(ReturnCode), -define(CONNACK_PACKET(ReturnCode),
#mqtt_packet{header = #mqtt_packet_header{type = ?CONNACK}, #mqtt_packet{header = #mqtt_packet_header{type = ?CONNACK},

View File

@ -32,13 +32,45 @@
-include_lib("eunit/include/eunit.hrl"). -include_lib("eunit/include/eunit.hrl").
serialise_connect_test() ->
emqtt_serialiser:serialise(?CONNECT_PACKET(#mqtt_packet_connect{})).
serialise_connack_test() -> serialise_connack_test() ->
ConnAck = #mqtt_packet{header = #mqtt_packet_header{type = ?CONNACK}, ConnAck = #mqtt_packet{header = #mqtt_packet_header{type = ?CONNACK},
variable = #mqtt_packet_connack{ack_flags = 0, return_code = 0}}, variable = #mqtt_packet_connack{ack_flags = 0, return_code = 0}},
?assertEqual(<<32,2,0,0>>, emqtt_serialiser:serialise(ConnAck)). ?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() -> 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. -endif.