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();
}
public MqttTestClient(boolean generateClientId) throws MqttException {
this.client = createClient(generateClientId);
}
public MqttTestClient(String clientId) throws MqttException {
this.client = createClient(clientId);
}
@ -121,18 +117,13 @@ public class MqttTestClient {
}
private MqttAsyncClient createClient() throws MqttException {
return createClient(true);
return createClient(null);
}
private MqttAsyncClient createClient(boolean generateClientId) throws MqttException {
String clientId = null;
if (generateClientId) {
private MqttAsyncClient createClient(String clientId) throws MqttException {
if (clientId == null) {
clientId = MqttAsyncClient.generateClientId();
}
return createClient(clientId);
}
private MqttAsyncClient createClient(String clientId) throws MqttException {
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 {
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) {
MqttFixedHeader mqttFixedHeader =
new MqttFixedHeader(CONNACK, false, AT_MOST_ONCE, false, 0);
MqttMessageBuilders.ConnAckBuilder connAckBuilder = MqttMessageBuilders.connAck();
connAckBuilder.sessionPresent(!msg.variableHeader().isCleanSession());
MqttConnectReturnCode finalReturnCode = ReturnCodeResolver.getConnectionReturnCode(deviceSessionCtx.getMqttVersion(), returnCode);
MqttConnAckVariableHeader mqttConnAckVariableHeader =
new MqttConnAckVariableHeader(finalReturnCode, !msg.variableHeader().isCleanSession());
return new MqttConnAckMessage(mqttFixedHeader, mqttConnAckVariableHeader);
connAckBuilder.returnCode(finalReturnCode);
return connAckBuilder.build();
}
@Override

Loading…
Cancel
Save