MQTT3.1.3-6 stated that the client can connect without giving up an client identifier. However, the broker should generate one for the client id as of the client gave the identifier to broker. The client will now disconnect if the client hasn't given up an identifier with clean session set to 0. Done this regarding issue #190
NettyChannelAssertions class has been modified so you could add a message to the assertion. Unit tests have been added to test the modified processConnect() method. The server can allow zero byte client identifiers through moquette configuration.
This commit is contained in:
@@ -30,9 +30,17 @@ import static org.junit.Assert.assertTrue;
|
||||
class NettyChannelAssertions {
|
||||
|
||||
static void assertEqualsConnAck(byte expectedCode, Object connAck) {
|
||||
assertTrue(connAck instanceof ConnAckMessage);
|
||||
assertEqualsConnAck(null, expectedCode, connAck);
|
||||
}
|
||||
|
||||
static void assertEqualsConnAck(String msg, byte expectedCode, Object connAck) {
|
||||
assertTrue("connAck is not an instance of ConnAckMessage", connAck instanceof ConnAckMessage);
|
||||
ConnAckMessage connAckMsg = (ConnAckMessage) connAck;
|
||||
assertEquals(expectedCode, connAckMsg.getReturnCode());
|
||||
|
||||
if(msg == null)
|
||||
assertEquals(expectedCode, connAckMsg.getReturnCode());
|
||||
else
|
||||
assertEquals(msg, expectedCode, connAckMsg.getReturnCode());
|
||||
}
|
||||
|
||||
static void assertConnAckAccepted(EmbeddedChannel channel) {
|
||||
|
||||
Reference in New Issue
Block a user