diff --git a/test/emqx_SUITE.erl b/test/emqx_SUITE.erl index ed5c04ad8..952fc6cb9 100644 --- a/test/emqx_SUITE.erl +++ b/test/emqx_SUITE.erl @@ -40,6 +40,17 @@ username = <<"admin">>, clean_start = false, password = <<"public">>})). + +-define(SUBCODE, [0]). + +-define(PACKETID, 1). + +-define(PUBQOS, 1). + +-define(SUBPACKET, ?SUBSCRIBE_PACKET(?PACKETID, [{<<"sub/topic">>, ?DEFAULT_SUBOPTS}])). + +-define(PUBPACKET, ?PUBLISH_PACKET(?PUBQOS, <<"sub/topic">>, ?PACKETID, <<"publish">>)). + all() -> [{group, connect}%, % {group, cleanSession} @@ -48,11 +59,11 @@ all() -> groups() -> [{connect, [non_parallel_tests], [ - % mqtt_connect, - % mqtt_connect_with_tcp, - % mqtt_connect_with_ssl_oneway, - % mqtt_connect_with_ssl_twoway%, - mqtt_connect_with_ws%, + mqtt_connect, + mqtt_connect_with_tcp, + mqtt_connect_with_ssl_oneway, + mqtt_connect_with_ssl_twoway, + mqtt_connect_with_ws ]}, {cleanSession, [sequence], [cleanSession_validate] @@ -130,10 +141,24 @@ mqtt_connect_with_ssl_twoway(_Config) -> mqtt_connect_with_ws(_Config) -> WS = rfc6455_client:new("ws://127.0.0.1:8083" ++ "/mqtt", self()), {ok, _} = rfc6455_client:open(WS), + + %% Connect Packet Packet = raw_send_serialise(?CLIENT), ok = rfc6455_client:send_binary(WS, Packet), - {binary, P} = rfc6455_client:recv(WS), - ct:log(":~p", [P]), + {binary, CONACK} = rfc6455_client:recv(WS), + {ok, ?CONNACK_PACKET(?CONNACK_ACCEPT), _} = raw_recv_pase(CONACK), + + %% Sub Packet + SubPacket = raw_send_serialise(?SUBPACKET), + rfc6455_client:send_binary(WS, SubPacket), + {binary, SubAck} = rfc6455_client:recv(WS), + {ok, ?SUBACK_PACKET(?PACKETID, ?SUBCODE), _} = raw_recv_pase(SubAck), + + %% Pub Packet QoS 1 + PubPacket = raw_send_serialise(?PUBPACKET), + rfc6455_client:send_binary(WS, PubPacket), + {binary, PubAck} = rfc6455_client:recv(WS), + {ok, ?PUBACK_PACKET(?PACKETID), _} = raw_recv_pase(PubAck), {close, _} = rfc6455_client:close(WS), ok.