| <testcase> | 
 | <info> | 
 | <keywords> | 
 | MQTT | 
 | MQTT PUBLISH | 
 | </keywords> | 
 | </info> | 
 |  | 
 | # | 
 | # Server-side | 
 | <reply> | 
 | <data nocheck="yes"> | 
 | hello | 
 | </data> | 
 | <datacheck hex="yes"> | 
 | 00 04 31 31 39 30   68 65 6c 6c 6f 5b 4c 46 5d 0a | 
 | </datacheck> | 
 | </reply> | 
 |  | 
 | # | 
 | # Client-side | 
 | <client> | 
 |  | 
 | # require HTTP too as otherwise CURLOPT_POST doesn't exist | 
 | <features> | 
 | mqtt | 
 | http | 
 | </features> | 
 | <server> | 
 | mqtt | 
 | </server> | 
 | <name> | 
 | MQTT PUBLISH with CURLOPT_POST set (no payload) | 
 | </name> | 
 | <tool> | 
 | lib%TESTNUMBER | 
 | </tool> | 
 | <command option="binary-trace"> | 
 | "mqtt://%HOSTIP:%MQTTPORT/%20" | 
 | </command> | 
 | </client> | 
 |  | 
 | # | 
 | # Verify data after the test has been "shot" | 
 | <verify> | 
 | # These are hexadecimal protocol dumps from the client | 
 | # | 
 | # Strip out the random part of the client id from the CONNECT message | 
 | # before comparison | 
 | <strippart> | 
 | s/^(.* 00044d5154540402003c000c6375726c).*/$1/ | 
 | </strippart> | 
 | <protocol> | 
 | client CONNECT 18 00044d5154540402003c000c6375726c | 
 | server CONNACK 2 20020000 | 
 | </protocol> | 
 | <errorcode> | 
 | 43 | 
 | </errorcode> | 
 | </verify> | 
 | </testcase> |