Browse Source

Updated ConAck message building

pull/7596/head
imbeacon 4 years ago
parent
commit
885c1c3d88
  1. 15
      application/src/test/java/org/thingsboard/server/transport/mqtt/mqttv3/MqttTestClient.java
  2. 9
      application/src/test/java/org/thingsboard/server/transport/mqtt/mqttv3/client/AbstractMqttClientConnectionTest.java
  3. 5
      application/src/test/java/org/thingsboard/server/transport/mqtt/mqttv3/client/MqttClientConnectionTest.java
  4. 9
      common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java

15
application/src/test/java/org/thingsboard/server/transport/mqtt/mqttv3/MqttTestClient.java

@ -43,10 +43,6 @@ public class MqttTestClient {
this.client = createClient(); this.client = createClient();
} }
public MqttTestClient(boolean generateClientId) throws MqttException {
this.client = createClient(generateClientId);
}
public MqttTestClient(String clientId) throws MqttException { public MqttTestClient(String clientId) throws MqttException {
this.client = createClient(clientId); this.client = createClient(clientId);
} }
@ -121,18 +117,13 @@ public class MqttTestClient {
} }
private MqttAsyncClient createClient() throws MqttException { private MqttAsyncClient createClient() throws MqttException {
return createClient(true); return createClient(null);
} }
private MqttAsyncClient createClient(boolean generateClientId) throws MqttException { private MqttAsyncClient createClient(String clientId) throws MqttException {
String clientId = null; if (clientId == null) {
if (generateClientId) {
clientId = MqttAsyncClient.generateClientId(); clientId = MqttAsyncClient.generateClientId();
} }
return createClient(clientId);
}
private MqttAsyncClient createClient(String clientId) throws MqttException {
return new MqttAsyncClient(MQTT_URL, clientId, new MemoryPersistence()); return new MqttAsyncClient(MQTT_URL, clientId, new MemoryPersistence());
} }

9
application/src/test/java/org/thingsboard/server/transport/mqtt/mqttv3/client/AbstractMqttClientConnectionTest.java

@ -47,13 +47,4 @@ public abstract class AbstractMqttClientConnectionTest extends AbstractMqttInteg
} }
} }
protected void processClientWithNoCredentialsTest() throws Exception {
MqttTestClient client = new MqttTestClient(false);
try {
client.connectAndWait();
} catch (MqttException e) {
Assert.assertEquals(MqttException.REASON_CODE_NOT_AUTHORIZED, e.getReasonCode());
}
}
} }

5
application/src/test/java/org/thingsboard/server/transport/mqtt/mqttv3/client/MqttClientConnectionTest.java

@ -45,9 +45,4 @@ public class MqttClientConnectionTest extends AbstractMqttClientConnectionTest {
public void testClientWithWrongClientIdAndEmptyUsernamePassword() throws Exception { public void testClientWithWrongClientIdAndEmptyUsernamePassword() throws Exception {
processClientWithWrongClientIdAndEmptyUsernamePasswordTest(); processClientWithWrongClientIdAndEmptyUsernamePasswordTest();
} }
@Test
public void testClientWithNoCredentialsTest() throws Exception {
processClientWithNoCredentialsTest();
}
} }

9
common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java

@ -891,12 +891,11 @@ public class MqttTransportHandler extends ChannelInboundHandlerAdapter implement
} }
private MqttConnAckMessage createMqttConnAckMsg(ReturnCode returnCode, MqttConnectMessage msg) { private MqttConnAckMessage createMqttConnAckMsg(ReturnCode returnCode, MqttConnectMessage msg) {
MqttFixedHeader mqttFixedHeader = MqttMessageBuilders.ConnAckBuilder connAckBuilder = MqttMessageBuilders.connAck();
new MqttFixedHeader(CONNACK, false, AT_MOST_ONCE, false, 0); connAckBuilder.sessionPresent(!msg.variableHeader().isCleanSession());
MqttConnectReturnCode finalReturnCode = ReturnCodeResolver.getConnectionReturnCode(deviceSessionCtx.getMqttVersion(), returnCode); MqttConnectReturnCode finalReturnCode = ReturnCodeResolver.getConnectionReturnCode(deviceSessionCtx.getMqttVersion(), returnCode);
MqttConnAckVariableHeader mqttConnAckVariableHeader = connAckBuilder.returnCode(finalReturnCode);
new MqttConnAckVariableHeader(finalReturnCode, !msg.variableHeader().isCleanSession()); return connAckBuilder.build();
return new MqttConnAckMessage(mqttFixedHeader, mqttConnAckVariableHeader);
} }
@Override @Override

Loading…
Cancel
Save