Merge branch 'master' into develop/3.5
This commit is contained in:
commit
44a7fd5fc6
@ -28,6 +28,8 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public abstract class AbstractTransportIntegrationTest extends AbstractControllerTest {
|
public abstract class AbstractTransportIntegrationTest extends AbstractControllerTest {
|
||||||
|
|
||||||
|
protected static final int DEFAULT_WAIT_TIMEOUT_SECONDS = 10;
|
||||||
|
|
||||||
protected static final String MQTT_URL = "tcp://localhost:1883";
|
protected static final String MQTT_URL = "tcp://localhost:1883";
|
||||||
protected static final String COAP_BASE_URL = "coap://localhost:5683/api/v1/";
|
protected static final String COAP_BASE_URL = "coap://localhost:5683/api/v1/";
|
||||||
|
|
||||||
|
|||||||
@ -237,7 +237,7 @@ public abstract class AbstractCoapAttributesIntegrationTest extends AbstractCoap
|
|||||||
CoapObserveRelation observeRelation = client.getObserveRelation(callbackCoap);
|
CoapObserveRelation observeRelation = client.getObserveRelation(callbackCoap);
|
||||||
String awaitAlias = "await Json Test Subscribe To AttributesUpdates (client.getObserveRelation)";
|
String awaitAlias = "await Json Test Subscribe To AttributesUpdates (client.getObserveRelation)";
|
||||||
await(awaitAlias)
|
await(awaitAlias)
|
||||||
.atMost(10, TimeUnit.SECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
||||||
callbackCoap.getObserve() != null &&
|
callbackCoap.getObserve() != null &&
|
||||||
0 == callbackCoap.getObserve().intValue());
|
0 == callbackCoap.getObserve().intValue());
|
||||||
@ -251,7 +251,7 @@ public abstract class AbstractCoapAttributesIntegrationTest extends AbstractCoap
|
|||||||
doPostAsync("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/attributes/SHARED_SCOPE", SHARED_ATTRIBUTES_PAYLOAD, String.class, status().isOk());
|
doPostAsync("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/attributes/SHARED_SCOPE", SHARED_ATTRIBUTES_PAYLOAD, String.class, status().isOk());
|
||||||
awaitAlias = "await Json Test Subscribe To AttributesUpdates (add attributes)";
|
awaitAlias = "await Json Test Subscribe To AttributesUpdates (add attributes)";
|
||||||
await(awaitAlias)
|
await(awaitAlias)
|
||||||
.atMost(10, TimeUnit.SECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
||||||
callbackCoap.getObserve() != null &&
|
callbackCoap.getObserve() != null &&
|
||||||
expectedObserveForAttributesUpdate == callbackCoap.getObserve().intValue());
|
expectedObserveForAttributesUpdate == callbackCoap.getObserve().intValue());
|
||||||
@ -261,7 +261,7 @@ public abstract class AbstractCoapAttributesIntegrationTest extends AbstractCoap
|
|||||||
doDelete("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/SHARED_SCOPE?keys=sharedJson", String.class);
|
doDelete("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/SHARED_SCOPE?keys=sharedJson", String.class);
|
||||||
awaitAlias = "await Json Test Subscribe To AttributesUpdates (deleted attributes)";
|
awaitAlias = "await Json Test Subscribe To AttributesUpdates (deleted attributes)";
|
||||||
await(awaitAlias)
|
await(awaitAlias)
|
||||||
.atMost(10, TimeUnit.SECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
||||||
callbackCoap.getObserve() != null &&
|
callbackCoap.getObserve() != null &&
|
||||||
expectedObserveForAttributesDelete == callbackCoap.getObserve().intValue());
|
expectedObserveForAttributesDelete == callbackCoap.getObserve().intValue());
|
||||||
@ -284,7 +284,7 @@ public abstract class AbstractCoapAttributesIntegrationTest extends AbstractCoap
|
|||||||
String awaitAlias = "await Proto Test Subscribe To Attributes Updates (add attributes)";
|
String awaitAlias = "await Proto Test Subscribe To Attributes Updates (add attributes)";
|
||||||
CoapObserveRelation observeRelation = client.getObserveRelation(callbackCoap);
|
CoapObserveRelation observeRelation = client.getObserveRelation(callbackCoap);
|
||||||
await(awaitAlias)
|
await(awaitAlias)
|
||||||
.atMost(10, TimeUnit.SECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
||||||
callbackCoap.getObserve() != null &&
|
callbackCoap.getObserve() != null &&
|
||||||
0 == callbackCoap.getObserve().intValue());
|
0 == callbackCoap.getObserve().intValue());
|
||||||
@ -299,7 +299,7 @@ public abstract class AbstractCoapAttributesIntegrationTest extends AbstractCoap
|
|||||||
doPostAsync("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/attributes/SHARED_SCOPE", SHARED_ATTRIBUTES_PAYLOAD, String.class, status().isOk());
|
doPostAsync("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/attributes/SHARED_SCOPE", SHARED_ATTRIBUTES_PAYLOAD, String.class, status().isOk());
|
||||||
awaitAlias = "await Proto Test Subscribe To Attributes Updates (add attributes)";
|
awaitAlias = "await Proto Test Subscribe To Attributes Updates (add attributes)";
|
||||||
await(awaitAlias)
|
await(awaitAlias)
|
||||||
.atMost(10, TimeUnit.SECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
||||||
callbackCoap.getObserve() != null &&
|
callbackCoap.getObserve() != null &&
|
||||||
expectedObserveForAttributesUpdate == callbackCoap.getObserve().intValue());
|
expectedObserveForAttributesUpdate == callbackCoap.getObserve().intValue());
|
||||||
@ -309,7 +309,7 @@ public abstract class AbstractCoapAttributesIntegrationTest extends AbstractCoap
|
|||||||
doDelete("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/SHARED_SCOPE?keys=sharedJson", String.class);
|
doDelete("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/SHARED_SCOPE?keys=sharedJson", String.class);
|
||||||
awaitAlias = "await Proto Test Subscribe To Attributes Updates (deleted attributes)";
|
awaitAlias = "await Proto Test Subscribe To Attributes Updates (deleted attributes)";
|
||||||
await(awaitAlias)
|
await(awaitAlias)
|
||||||
.atMost(10, TimeUnit.SECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
||||||
callbackCoap.getObserve() != null &&
|
callbackCoap.getObserve() != null &&
|
||||||
expectedObserveForAttributesDelete == callbackCoap.getObserve().intValue());
|
expectedObserveForAttributesDelete == callbackCoap.getObserve().intValue());
|
||||||
@ -404,7 +404,7 @@ public abstract class AbstractCoapAttributesIntegrationTest extends AbstractCoap
|
|||||||
private void awaitClientAfterCancelObserve() {
|
private void awaitClientAfterCancelObserve() {
|
||||||
Awaitility.await("awaitClientAfterCancelObserve")
|
Awaitility.await("awaitClientAfterCancelObserve")
|
||||||
.pollInterval(10, TimeUnit.MILLISECONDS)
|
.pollInterval(10, TimeUnit.MILLISECONDS)
|
||||||
.atMost(5, TimeUnit.SECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> {
|
.until(() -> {
|
||||||
log.trace("awaiting defaultTransportService.sessions is empty");
|
log.trace("awaiting defaultTransportService.sessions is empty");
|
||||||
return defaultTransportService.sessions.isEmpty();
|
return defaultTransportService.sessions.isEmpty();
|
||||||
|
|||||||
@ -79,7 +79,7 @@ public abstract class AbstractCoapServerSideRpcIntegrationTest extends AbstractC
|
|||||||
CoapObserveRelation observeRelation = client.getObserveRelation(callbackCoap);
|
CoapObserveRelation observeRelation = client.getObserveRelation(callbackCoap);
|
||||||
String awaitAlias = "await One Way Rpc (client.getObserveRelation)";
|
String awaitAlias = "await One Way Rpc (client.getObserveRelation)";
|
||||||
await(awaitAlias)
|
await(awaitAlias)
|
||||||
.atMost(10, TimeUnit.SECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> CoAP.ResponseCode.VALID.equals(callbackCoap.getResponseCode()) &&
|
.until(() -> CoAP.ResponseCode.VALID.equals(callbackCoap.getResponseCode()) &&
|
||||||
callbackCoap.getObserve() != null &&
|
callbackCoap.getObserve() != null &&
|
||||||
0 == callbackCoap.getObserve().intValue());
|
0 == callbackCoap.getObserve().intValue());
|
||||||
@ -90,7 +90,7 @@ public abstract class AbstractCoapServerSideRpcIntegrationTest extends AbstractC
|
|||||||
String result = doPostAsync("/api/rpc/oneway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
String result = doPostAsync("/api/rpc/oneway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
||||||
awaitAlias = "await One Way Rpc setGpio(method, params, value)";
|
awaitAlias = "await One Way Rpc setGpio(method, params, value)";
|
||||||
await(awaitAlias)
|
await(awaitAlias)
|
||||||
.atMost(10, TimeUnit.SECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
||||||
callbackCoap.getObserve() != null &&
|
callbackCoap.getObserve() != null &&
|
||||||
expectedObserveCountAfterGpioRequest == callbackCoap.getObserve().intValue());
|
expectedObserveCountAfterGpioRequest == callbackCoap.getObserve().intValue());
|
||||||
@ -107,7 +107,7 @@ public abstract class AbstractCoapServerSideRpcIntegrationTest extends AbstractC
|
|||||||
CoapObserveRelation observeRelation = client.getObserveRelation(callbackCoap);
|
CoapObserveRelation observeRelation = client.getObserveRelation(callbackCoap);
|
||||||
String awaitAlias = "await Two Way Rpc (client.getObserveRelation)";
|
String awaitAlias = "await Two Way Rpc (client.getObserveRelation)";
|
||||||
await(awaitAlias)
|
await(awaitAlias)
|
||||||
.atMost(10, TimeUnit.SECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> CoAP.ResponseCode.VALID.equals(callbackCoap.getResponseCode()) &&
|
.until(() -> CoAP.ResponseCode.VALID.equals(callbackCoap.getResponseCode()) &&
|
||||||
callbackCoap.getObserve() != null &&
|
callbackCoap.getObserve() != null &&
|
||||||
0 == callbackCoap.getObserve().intValue());
|
0 == callbackCoap.getObserve().intValue());
|
||||||
@ -119,7 +119,7 @@ public abstract class AbstractCoapServerSideRpcIntegrationTest extends AbstractC
|
|||||||
String actualResult = doPostAsync("/api/rpc/twoway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
String actualResult = doPostAsync("/api/rpc/twoway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
||||||
awaitAlias = "await Two Way Rpc (setGpio(method, params, value) first";
|
awaitAlias = "await Two Way Rpc (setGpio(method, params, value) first";
|
||||||
await(awaitAlias)
|
await(awaitAlias)
|
||||||
.atMost(10, TimeUnit.SECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
||||||
callbackCoap.getObserve() != null &&
|
callbackCoap.getObserve() != null &&
|
||||||
expectedObserveCountAfterGpioRequest1 == callbackCoap.getObserve().intValue());
|
expectedObserveCountAfterGpioRequest1 == callbackCoap.getObserve().intValue());
|
||||||
@ -129,7 +129,7 @@ public abstract class AbstractCoapServerSideRpcIntegrationTest extends AbstractC
|
|||||||
actualResult = doPostAsync("/api/rpc/twoway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
actualResult = doPostAsync("/api/rpc/twoway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
||||||
awaitAlias = "await Two Way Rpc (setGpio(method, params, value) first";
|
awaitAlias = "await Two Way Rpc (setGpio(method, params, value) first";
|
||||||
await(awaitAlias)
|
await(awaitAlias)
|
||||||
.atMost(10, TimeUnit.SECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
.until(() -> CoAP.ResponseCode.CONTENT.equals(callbackCoap.getResponseCode()) &&
|
||||||
callbackCoap.getObserve() != null &&
|
callbackCoap.getObserve() != null &&
|
||||||
expectedObserveCountAfterGpioRequest2 == callbackCoap.getObserve().intValue());
|
expectedObserveCountAfterGpioRequest2 == callbackCoap.getObserve().intValue());
|
||||||
|
|||||||
@ -62,12 +62,12 @@ import org.thingsboard.server.common.data.query.EntityKeyType;
|
|||||||
import org.thingsboard.server.common.data.query.SingleEntityFilter;
|
import org.thingsboard.server.common.data.query.SingleEntityFilter;
|
||||||
import org.thingsboard.server.common.data.security.DeviceCredentials;
|
import org.thingsboard.server.common.data.security.DeviceCredentials;
|
||||||
import org.thingsboard.server.common.data.security.DeviceCredentialsType;
|
import org.thingsboard.server.common.data.security.DeviceCredentialsType;
|
||||||
import org.thingsboard.server.controller.AbstractControllerTest;
|
|
||||||
import org.thingsboard.server.dao.service.DaoSqlTest;
|
import org.thingsboard.server.dao.service.DaoSqlTest;
|
||||||
import org.thingsboard.server.service.telemetry.cmd.TelemetryPluginCmdsWrapper;
|
import org.thingsboard.server.service.telemetry.cmd.TelemetryPluginCmdsWrapper;
|
||||||
import org.thingsboard.server.service.telemetry.cmd.v2.EntityDataCmd;
|
import org.thingsboard.server.service.telemetry.cmd.v2.EntityDataCmd;
|
||||||
import org.thingsboard.server.service.telemetry.cmd.v2.EntityDataUpdate;
|
import org.thingsboard.server.service.telemetry.cmd.v2.EntityDataUpdate;
|
||||||
import org.thingsboard.server.service.telemetry.cmd.v2.LatestValueCmd;
|
import org.thingsboard.server.service.telemetry.cmd.v2.LatestValueCmd;
|
||||||
|
import org.thingsboard.server.transport.AbstractTransportIntegrationTest;
|
||||||
import org.thingsboard.server.transport.lwm2m.client.LwM2MTestClient;
|
import org.thingsboard.server.transport.lwm2m.client.LwM2MTestClient;
|
||||||
import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClientContext;
|
import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClientContext;
|
||||||
import org.thingsboard.server.transport.lwm2m.server.uplink.DefaultLwM2mUplinkMsgHandler;
|
import org.thingsboard.server.transport.lwm2m.server.uplink.DefaultLwM2mUplinkMsgHandler;
|
||||||
@ -105,7 +105,7 @@ import static org.thingsboard.server.transport.lwm2m.Lwm2mTestHelper.LwM2MProfil
|
|||||||
})
|
})
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@DaoSqlTest
|
@DaoSqlTest
|
||||||
public abstract class AbstractLwM2MIntegrationTest extends AbstractControllerTest {
|
public abstract class AbstractLwM2MIntegrationTest extends AbstractTransportIntegrationTest {
|
||||||
|
|
||||||
@SpyBean
|
@SpyBean
|
||||||
DefaultLwM2mUplinkMsgHandler defaultLwM2mUplinkMsgHandlerTest;
|
DefaultLwM2mUplinkMsgHandler defaultLwM2mUplinkMsgHandlerTest;
|
||||||
@ -372,7 +372,7 @@ public abstract class AbstractLwM2MIntegrationTest extends AbstractControllerTes
|
|||||||
|
|
||||||
private static void awaitServersDestroy() {
|
private static void awaitServersDestroy() {
|
||||||
await("One of servers ports number is not free")
|
await("One of servers ports number is not free")
|
||||||
.atMost(3000, TimeUnit.MILLISECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> isServerPortsAvailable() == null);
|
.until(() -> isServerPortsAvailable() == null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -391,7 +391,7 @@ public abstract class AbstractLwM2MIntegrationTest extends AbstractControllerTes
|
|||||||
|
|
||||||
private static void awaitClientDestroy(LeshanClient leshanClient) {
|
private static void awaitClientDestroy(LeshanClient leshanClient) {
|
||||||
await("Destroy LeshanClient: delete All is registered Servers.")
|
await("Destroy LeshanClient: delete All is registered Servers.")
|
||||||
.atMost(2000, TimeUnit.MILLISECONDS)
|
.atMost(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
.until(() -> leshanClient.getRegisteredServers().size() == 0);
|
.until(() -> leshanClient.getRegisteredServers().size() == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -125,14 +125,14 @@ public abstract class AbstractMqttAttributesIntegrationTest extends AbstractMqtt
|
|||||||
client.subscribeAndWait(attrSubTopic, MqttQoS.AT_MOST_ONCE);
|
client.subscribeAndWait(attrSubTopic, MqttQoS.AT_MOST_ONCE);
|
||||||
|
|
||||||
doPostAsync("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/attributes/SHARED_SCOPE", SHARED_ATTRIBUTES_PAYLOAD, String.class, status().isOk());
|
doPostAsync("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/attributes/SHARED_SCOPE", SHARED_ATTRIBUTES_PAYLOAD, String.class, status().isOk());
|
||||||
onUpdateCallback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
onUpdateCallback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
|
|
||||||
validateUpdateAttributesJsonResponse(onUpdateCallback, SHARED_ATTRIBUTES_PAYLOAD);
|
validateUpdateAttributesJsonResponse(onUpdateCallback, SHARED_ATTRIBUTES_PAYLOAD);
|
||||||
|
|
||||||
MqttTestCallback onDeleteCallback = new MqttTestCallback();
|
MqttTestCallback onDeleteCallback = new MqttTestCallback();
|
||||||
client.setCallback(onDeleteCallback);
|
client.setCallback(onDeleteCallback);
|
||||||
doDelete("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/SHARED_SCOPE?keys=sharedJson", String.class);
|
doDelete("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/SHARED_SCOPE?keys=sharedJson", String.class);
|
||||||
onDeleteCallback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
onDeleteCallback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
validateUpdateAttributesJsonResponse(onDeleteCallback, SHARED_ATTRIBUTES_DELETED_RESPONSE);
|
validateUpdateAttributesJsonResponse(onDeleteCallback, SHARED_ATTRIBUTES_DELETED_RESPONSE);
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
}
|
}
|
||||||
@ -145,13 +145,13 @@ public abstract class AbstractMqttAttributesIntegrationTest extends AbstractMqtt
|
|||||||
client.subscribeAndWait(attrSubTopic, MqttQoS.AT_MOST_ONCE);
|
client.subscribeAndWait(attrSubTopic, MqttQoS.AT_MOST_ONCE);
|
||||||
|
|
||||||
doPostAsync("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/attributes/SHARED_SCOPE", SHARED_ATTRIBUTES_PAYLOAD, String.class, status().isOk());
|
doPostAsync("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/attributes/SHARED_SCOPE", SHARED_ATTRIBUTES_PAYLOAD, String.class, status().isOk());
|
||||||
onUpdateCallback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
onUpdateCallback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
validateUpdateAttributesProtoResponse(onUpdateCallback);
|
validateUpdateAttributesProtoResponse(onUpdateCallback);
|
||||||
|
|
||||||
MqttTestCallback onDeleteCallback = new MqttTestCallback();
|
MqttTestCallback onDeleteCallback = new MqttTestCallback();
|
||||||
client.setCallback(onDeleteCallback);
|
client.setCallback(onDeleteCallback);
|
||||||
doDelete("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/SHARED_SCOPE?keys=sharedJson", String.class);
|
doDelete("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/SHARED_SCOPE?keys=sharedJson", String.class);
|
||||||
onDeleteCallback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
onDeleteCallback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
validateDeleteAttributesProtoResponse(onDeleteCallback);
|
validateDeleteAttributesProtoResponse(onDeleteCallback);
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
}
|
}
|
||||||
@ -209,7 +209,7 @@ public abstract class AbstractMqttAttributesIntegrationTest extends AbstractMqtt
|
|||||||
client.subscribeAndWait(GATEWAY_ATTRIBUTES_TOPIC, MqttQoS.AT_MOST_ONCE);
|
client.subscribeAndWait(GATEWAY_ATTRIBUTES_TOPIC, MqttQoS.AT_MOST_ONCE);
|
||||||
|
|
||||||
doPostAsync("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/attributes/SHARED_SCOPE", SHARED_ATTRIBUTES_PAYLOAD, String.class, status().isOk());
|
doPostAsync("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/attributes/SHARED_SCOPE", SHARED_ATTRIBUTES_PAYLOAD, String.class, status().isOk());
|
||||||
onUpdateCallback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
onUpdateCallback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
|
|
||||||
validateJsonGatewayUpdateAttributesResponse(onUpdateCallback, deviceName, SHARED_ATTRIBUTES_PAYLOAD);
|
validateJsonGatewayUpdateAttributesResponse(onUpdateCallback, deviceName, SHARED_ATTRIBUTES_PAYLOAD);
|
||||||
|
|
||||||
@ -217,7 +217,7 @@ public abstract class AbstractMqttAttributesIntegrationTest extends AbstractMqtt
|
|||||||
client.setCallback(onDeleteCallback);
|
client.setCallback(onDeleteCallback);
|
||||||
|
|
||||||
doDelete("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/SHARED_SCOPE?keys=sharedJson", String.class);
|
doDelete("/api/plugins/telemetry/DEVICE/" + savedDevice.getId().getId() + "/SHARED_SCOPE?keys=sharedJson", String.class);
|
||||||
onDeleteCallback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
onDeleteCallback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
|
|
||||||
validateJsonGatewayUpdateAttributesResponse(onDeleteCallback, deviceName, SHARED_ATTRIBUTES_DELETED_RESPONSE);
|
validateJsonGatewayUpdateAttributesResponse(onDeleteCallback, deviceName, SHARED_ATTRIBUTES_DELETED_RESPONSE);
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
@ -260,7 +260,7 @@ public abstract class AbstractMqttAttributesIntegrationTest extends AbstractMqtt
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void validateProtoGatewayUpdateAttributesResponse(MqttTestCallback callback, String deviceName) throws InvalidProtocolBufferException, InterruptedException {
|
protected void validateProtoGatewayUpdateAttributesResponse(MqttTestCallback callback, String deviceName) throws InvalidProtocolBufferException, InterruptedException {
|
||||||
callback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertNotNull(callback.getPayloadBytes());
|
assertNotNull(callback.getPayloadBytes());
|
||||||
|
|
||||||
TransportProtos.AttributeUpdateNotificationMsg.Builder attributeUpdateNotificationMsgBuilder = TransportProtos.AttributeUpdateNotificationMsg.newBuilder();
|
TransportProtos.AttributeUpdateNotificationMsg.Builder attributeUpdateNotificationMsgBuilder = TransportProtos.AttributeUpdateNotificationMsg.newBuilder();
|
||||||
@ -285,7 +285,7 @@ public abstract class AbstractMqttAttributesIntegrationTest extends AbstractMqtt
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void validateProtoGatewayDeleteAttributesResponse(MqttTestCallback callback, String deviceName) throws InvalidProtocolBufferException, InterruptedException {
|
protected void validateProtoGatewayDeleteAttributesResponse(MqttTestCallback callback, String deviceName) throws InvalidProtocolBufferException, InterruptedException {
|
||||||
callback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertNotNull(callback.getPayloadBytes());
|
assertNotNull(callback.getPayloadBytes());
|
||||||
TransportProtos.AttributeUpdateNotificationMsg.Builder attributeUpdateNotificationMsgBuilder = TransportProtos.AttributeUpdateNotificationMsg.newBuilder();
|
TransportProtos.AttributeUpdateNotificationMsg.Builder attributeUpdateNotificationMsgBuilder = TransportProtos.AttributeUpdateNotificationMsg.newBuilder();
|
||||||
attributeUpdateNotificationMsgBuilder.addSharedDeleted("sharedJson");
|
attributeUpdateNotificationMsgBuilder.addSharedDeleted("sharedJson");
|
||||||
@ -538,13 +538,13 @@ public abstract class AbstractMqttAttributesIntegrationTest extends AbstractMqtt
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void validateJsonResponse(MqttTestCallback callback, String expectedResponse) throws InterruptedException {
|
protected void validateJsonResponse(MqttTestCallback callback, String expectedResponse) throws InterruptedException {
|
||||||
callback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertEquals(MqttQoS.AT_MOST_ONCE.value(), callback.getQoS());
|
assertEquals(MqttQoS.AT_MOST_ONCE.value(), callback.getQoS());
|
||||||
assertEquals(JacksonUtil.toJsonNode(expectedResponse), JacksonUtil.fromBytes(callback.getPayloadBytes()));
|
assertEquals(JacksonUtil.toJsonNode(expectedResponse), JacksonUtil.fromBytes(callback.getPayloadBytes()));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void validateProtoResponse(MqttTestCallback callback, TransportProtos.GetAttributeResponseMsg expectedResponse) throws InterruptedException, InvalidProtocolBufferException {
|
protected void validateProtoResponse(MqttTestCallback callback, TransportProtos.GetAttributeResponseMsg expectedResponse) throws InterruptedException, InvalidProtocolBufferException {
|
||||||
callback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertEquals(MqttQoS.AT_MOST_ONCE.value(), callback.getQoS());
|
assertEquals(MqttQoS.AT_MOST_ONCE.value(), callback.getQoS());
|
||||||
TransportProtos.GetAttributeResponseMsg actualAttributesResponse = TransportProtos.GetAttributeResponseMsg.parseFrom(callback.getPayloadBytes());
|
TransportProtos.GetAttributeResponseMsg actualAttributesResponse = TransportProtos.GetAttributeResponseMsg.parseFrom(callback.getPayloadBytes());
|
||||||
assertEquals(expectedResponse.getRequestId(), actualAttributesResponse.getRequestId());
|
assertEquals(expectedResponse.getRequestId(), actualAttributesResponse.getRequestId());
|
||||||
@ -567,14 +567,14 @@ public abstract class AbstractMqttAttributesIntegrationTest extends AbstractMqtt
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void validateJsonResponseGateway(MqttTestCallback callback, String deviceName, String expectedValues) throws InterruptedException {
|
protected void validateJsonResponseGateway(MqttTestCallback callback, String deviceName, String expectedValues) throws InterruptedException {
|
||||||
callback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertEquals(MqttQoS.AT_LEAST_ONCE.value(), callback.getQoS());
|
assertEquals(MqttQoS.AT_LEAST_ONCE.value(), callback.getQoS());
|
||||||
String expectedRequestPayload = "{\"id\":1,\"device\":\"" + deviceName + "\",\"values\":" + expectedValues + "}";
|
String expectedRequestPayload = "{\"id\":1,\"device\":\"" + deviceName + "\",\"values\":" + expectedValues + "}";
|
||||||
assertEquals(JacksonUtil.toJsonNode(expectedRequestPayload), JacksonUtil.fromBytes(callback.getPayloadBytes()));
|
assertEquals(JacksonUtil.toJsonNode(expectedRequestPayload), JacksonUtil.fromBytes(callback.getPayloadBytes()));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void validateProtoClientResponseGateway(MqttTestCallback callback, String deviceName) throws InterruptedException, InvalidProtocolBufferException {
|
protected void validateProtoClientResponseGateway(MqttTestCallback callback, String deviceName) throws InterruptedException, InvalidProtocolBufferException {
|
||||||
callback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertEquals(MqttQoS.AT_LEAST_ONCE.value(), callback.getQoS());
|
assertEquals(MqttQoS.AT_LEAST_ONCE.value(), callback.getQoS());
|
||||||
TransportApiProtos.GatewayAttributeResponseMsg expectedGatewayAttributeResponseMsg = getExpectedGatewayAttributeResponseMsg(deviceName, true);
|
TransportApiProtos.GatewayAttributeResponseMsg expectedGatewayAttributeResponseMsg = getExpectedGatewayAttributeResponseMsg(deviceName, true);
|
||||||
TransportApiProtos.GatewayAttributeResponseMsg actualGatewayAttributeResponseMsg = TransportApiProtos.GatewayAttributeResponseMsg.parseFrom(callback.getPayloadBytes());
|
TransportApiProtos.GatewayAttributeResponseMsg actualGatewayAttributeResponseMsg = TransportApiProtos.GatewayAttributeResponseMsg.parseFrom(callback.getPayloadBytes());
|
||||||
@ -590,7 +590,7 @@ public abstract class AbstractMqttAttributesIntegrationTest extends AbstractMqtt
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void validateProtoSharedResponseGateway(MqttTestCallback callback, String deviceName) throws InterruptedException, InvalidProtocolBufferException {
|
protected void validateProtoSharedResponseGateway(MqttTestCallback callback, String deviceName) throws InterruptedException, InvalidProtocolBufferException {
|
||||||
callback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertEquals(MqttQoS.AT_LEAST_ONCE.value(), callback.getQoS());
|
assertEquals(MqttQoS.AT_LEAST_ONCE.value(), callback.getQoS());
|
||||||
TransportApiProtos.GatewayAttributeResponseMsg expectedGatewayAttributeResponseMsg = getExpectedGatewayAttributeResponseMsg(deviceName, false);
|
TransportApiProtos.GatewayAttributeResponseMsg expectedGatewayAttributeResponseMsg = getExpectedGatewayAttributeResponseMsg(deviceName, false);
|
||||||
TransportApiProtos.GatewayAttributeResponseMsg actualGatewayAttributeResponseMsg = TransportApiProtos.GatewayAttributeResponseMsg.parseFrom(callback.getPayloadBytes());
|
TransportApiProtos.GatewayAttributeResponseMsg actualGatewayAttributeResponseMsg = TransportApiProtos.GatewayAttributeResponseMsg.parseFrom(callback.getPayloadBytes());
|
||||||
|
|||||||
@ -274,7 +274,7 @@ public class MqttProvisionJsonDeviceTest extends AbstractMqttIntegrationTest {
|
|||||||
client.setCallback(onProvisionCallback);
|
client.setCallback(onProvisionCallback);
|
||||||
client.subscribe(DEVICE_PROVISION_RESPONSE_TOPIC, MqttQoS.AT_MOST_ONCE);
|
client.subscribe(DEVICE_PROVISION_RESPONSE_TOPIC, MqttQoS.AT_MOST_ONCE);
|
||||||
client.publishAndWait(DEVICE_PROVISION_REQUEST_TOPIC, provisionRequestMsg.getBytes());
|
client.publishAndWait(DEVICE_PROVISION_REQUEST_TOPIC, provisionRequestMsg.getBytes());
|
||||||
onProvisionCallback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
onProvisionCallback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
return onProvisionCallback.getPayloadBytes();
|
return onProvisionCallback.getPayloadBytes();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -273,7 +273,7 @@ public class MqttProvisionProtoDeviceTest extends AbstractMqttIntegrationTest {
|
|||||||
client.setCallback(onProvisionCallback);
|
client.setCallback(onProvisionCallback);
|
||||||
client.subscribe(DEVICE_PROVISION_RESPONSE_TOPIC, MqttQoS.AT_MOST_ONCE);
|
client.subscribe(DEVICE_PROVISION_RESPONSE_TOPIC, MqttQoS.AT_MOST_ONCE);
|
||||||
client.publishAndWait(DEVICE_PROVISION_REQUEST_TOPIC, provisionRequestMsg);
|
client.publishAndWait(DEVICE_PROVISION_REQUEST_TOPIC, provisionRequestMsg);
|
||||||
onProvisionCallback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
onProvisionCallback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
return onProvisionCallback.getPayloadBytes();
|
return onProvisionCallback.getPayloadBytes();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -87,7 +87,7 @@ public abstract class AbstractMqttServerSideRpcIntegrationTest extends AbstractM
|
|||||||
String setGpioRequest = "{\"method\":\"setGpio\",\"params\":{\"pin\": \"23\",\"value\": 1}}";
|
String setGpioRequest = "{\"method\":\"setGpio\",\"params\":{\"pin\": \"23\",\"value\": 1}}";
|
||||||
String result = doPostAsync("/api/rpc/oneway/" + savedDevice.getId(), setGpioRequest, String.class, status().isOk());
|
String result = doPostAsync("/api/rpc/oneway/" + savedDevice.getId(), setGpioRequest, String.class, status().isOk());
|
||||||
assertTrue(StringUtils.isEmpty(result));
|
assertTrue(StringUtils.isEmpty(result));
|
||||||
callback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
DeviceTransportType deviceTransportType = deviceProfile.getTransportType();
|
DeviceTransportType deviceTransportType = deviceProfile.getTransportType();
|
||||||
if (deviceTransportType.equals(DeviceTransportType.MQTT)) {
|
if (deviceTransportType.equals(DeviceTransportType.MQTT)) {
|
||||||
DeviceProfileTransportConfiguration transportConfiguration = deviceProfile.getProfileData().getTransportConfiguration();
|
DeviceProfileTransportConfiguration transportConfiguration = deviceProfile.getProfileData().getTransportConfiguration();
|
||||||
@ -124,7 +124,7 @@ public abstract class AbstractMqttServerSideRpcIntegrationTest extends AbstractM
|
|||||||
client.setCallback(callback);
|
client.setCallback(callback);
|
||||||
String setGpioRequest = "{\"method\":\"setGpio\",\"params\":{\"pin\": \"26\",\"value\": 1}}";
|
String setGpioRequest = "{\"method\":\"setGpio\",\"params\":{\"pin\": \"26\",\"value\": 1}}";
|
||||||
String actualRpcResponse = doPostAsync("/api/rpc/twoway/" + savedDevice.getId(), setGpioRequest, String.class, status().isOk());
|
String actualRpcResponse = doPostAsync("/api/rpc/twoway/" + savedDevice.getId(), setGpioRequest, String.class, status().isOk());
|
||||||
callback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertEquals(JacksonUtil.toJsonNode(setGpioRequest), JacksonUtil.fromBytes(callback.getPayloadBytes()));
|
assertEquals(JacksonUtil.toJsonNode(setGpioRequest), JacksonUtil.fromBytes(callback.getPayloadBytes()));
|
||||||
assertEquals("{\"value1\":\"A\",\"value2\":\"B\"}", actualRpcResponse);
|
assertEquals("{\"value1\":\"A\",\"value2\":\"B\"}", actualRpcResponse);
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
@ -142,7 +142,7 @@ public abstract class AbstractMqttServerSideRpcIntegrationTest extends AbstractM
|
|||||||
String deviceId = savedDevice.getId().getId().toString();
|
String deviceId = savedDevice.getId().getId().toString();
|
||||||
|
|
||||||
String actualRpcResponse = doPostAsync("/api/rpc/twoway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
String actualRpcResponse = doPostAsync("/api/rpc/twoway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
||||||
callback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
// TODO: add correct validation of proto requests to device
|
// TODO: add correct validation of proto requests to device
|
||||||
assertTrue(callback.getPayloadBytes().length > 0);
|
assertTrue(callback.getPayloadBytes().length > 0);
|
||||||
assertEquals("{\"payload\":\"{\\\"value1\\\":\\\"A\\\",\\\"value2\\\":\\\"B\\\"}\"}", actualRpcResponse);
|
assertEquals("{\"payload\":\"{\\\"value1\\\":\\\"A\\\",\\\"value2\\\":\\\"B\\\"}\"}", actualRpcResponse);
|
||||||
@ -196,7 +196,7 @@ public abstract class AbstractMqttServerSideRpcIntegrationTest extends AbstractM
|
|||||||
client.setCallback(callback);
|
client.setCallback(callback);
|
||||||
client.subscribeAndWait(DEVICE_RPC_REQUESTS_SUB_TOPIC, MqttQoS.AT_LEAST_ONCE);
|
client.subscribeAndWait(DEVICE_RPC_REQUESTS_SUB_TOPIC, MqttQoS.AT_LEAST_ONCE);
|
||||||
|
|
||||||
callback.getSubscribeLatch().await(10, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertEquals(expected, result);
|
assertEquals(expected, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -227,7 +227,7 @@ public abstract class AbstractMqttServerSideRpcIntegrationTest extends AbstractM
|
|||||||
String deviceId = savedDevice.getId().getId().toString();
|
String deviceId = savedDevice.getId().getId().toString();
|
||||||
String result = doPostAsync("/api/rpc/oneway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
String result = doPostAsync("/api/rpc/oneway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
||||||
assertTrue(StringUtils.isEmpty(result));
|
assertTrue(StringUtils.isEmpty(result));
|
||||||
callback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
DeviceTransportType deviceTransportType = deviceProfile.getTransportType();
|
DeviceTransportType deviceTransportType = deviceProfile.getTransportType();
|
||||||
if (deviceTransportType.equals(DeviceTransportType.MQTT)) {
|
if (deviceTransportType.equals(DeviceTransportType.MQTT)) {
|
||||||
DeviceProfileTransportConfiguration transportConfiguration = deviceProfile.getProfileData().getTransportConfiguration();
|
DeviceProfileTransportConfiguration transportConfiguration = deviceProfile.getProfileData().getTransportConfiguration();
|
||||||
@ -274,7 +274,7 @@ public abstract class AbstractMqttServerSideRpcIntegrationTest extends AbstractM
|
|||||||
String setGpioRequest = "{\"method\": \"toggle_gpio\", \"params\": {\"pin\":1}}";
|
String setGpioRequest = "{\"method\": \"toggle_gpio\", \"params\": {\"pin\":1}}";
|
||||||
String deviceId = savedDevice.getId().getId().toString();
|
String deviceId = savedDevice.getId().getId().toString();
|
||||||
String actualRpcResponse = doPostAsync("/api/rpc/twoway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
String actualRpcResponse = doPostAsync("/api/rpc/twoway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
||||||
callback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
log.warn("request payload: {}", JacksonUtil.fromBytes(callback.getPayloadBytes()));
|
log.warn("request payload: {}", JacksonUtil.fromBytes(callback.getPayloadBytes()));
|
||||||
assertEquals("{\"success\":true}", actualRpcResponse);
|
assertEquals("{\"success\":true}", actualRpcResponse);
|
||||||
assertEquals(MqttQoS.AT_MOST_ONCE.value(), callback.getQoS());
|
assertEquals(MqttQoS.AT_MOST_ONCE.value(), callback.getQoS());
|
||||||
@ -297,7 +297,7 @@ public abstract class AbstractMqttServerSideRpcIntegrationTest extends AbstractM
|
|||||||
String setGpioRequest = "{\"method\": \"toggle_gpio\", \"params\": {\"pin\":1}}";
|
String setGpioRequest = "{\"method\": \"toggle_gpio\", \"params\": {\"pin\":1}}";
|
||||||
String deviceId = savedDevice.getId().getId().toString();
|
String deviceId = savedDevice.getId().getId().toString();
|
||||||
String actualRpcResponse = doPostAsync("/api/rpc/twoway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
String actualRpcResponse = doPostAsync("/api/rpc/twoway/" + deviceId, setGpioRequest, String.class, status().isOk());
|
||||||
callback.getSubscribeLatch().await(3, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertEquals("{\"success\":true}", actualRpcResponse);
|
assertEquals("{\"success\":true}", actualRpcResponse);
|
||||||
assertEquals(MqttQoS.AT_MOST_ONCE.value(), callback.getQoS());
|
assertEquals(MqttQoS.AT_MOST_ONCE.value(), callback.getQoS());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -330,7 +330,7 @@ public abstract class AbstractMqttTimeseriesIntegrationTest extends AbstractMqtt
|
|||||||
// MqttClient <- SUB_ACK <- Transport
|
// MqttClient <- SUB_ACK <- Transport
|
||||||
Thread.sleep(5000);
|
Thread.sleep(5000);
|
||||||
doPostAsync("/api/plugins/telemetry/" + savedDevice.getId() + "/SHARED_SCOPE", payload, String.class, status().isOk());
|
doPostAsync("/api/plugins/telemetry/" + savedDevice.getId() + "/SHARED_SCOPE", payload, String.class, status().isOk());
|
||||||
callback.getSubscribeLatch().await(10, TimeUnit.SECONDS);
|
callback.getSubscribeLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertEquals(payload.getBytes(), callback.getPayloadBytes());
|
assertEquals(payload.getBytes(), callback.getPayloadBytes());
|
||||||
assertEquals(MqttQoS.AT_MOST_ONCE.value(), callback.getQoS());
|
assertEquals(MqttQoS.AT_MOST_ONCE.value(), callback.getQoS());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -126,7 +126,7 @@ public abstract class AbstractMqttTimeseriesJsonIntegrationTest extends Abstract
|
|||||||
MqttTestCallback callback = new MqttTestCallback();
|
MqttTestCallback callback = new MqttTestCallback();
|
||||||
client.setCallback(callback);
|
client.setCallback(callback);
|
||||||
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_JSON_PAYLOAD.getBytes());
|
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_JSON_PAYLOAD.getBytes());
|
||||||
callback.getDeliveryLatch().await(3, TimeUnit.SECONDS);
|
callback.getDeliveryLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertTrue(callback.isPubAckReceived());
|
assertTrue(callback.isPubAckReceived());
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
}
|
}
|
||||||
@ -144,7 +144,7 @@ public abstract class AbstractMqttTimeseriesJsonIntegrationTest extends Abstract
|
|||||||
MqttTestCallback callback = new MqttTestCallback();
|
MqttTestCallback callback = new MqttTestCallback();
|
||||||
client.setCallback(callback);
|
client.setCallback(callback);
|
||||||
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_JSON_PAYLOAD.getBytes());
|
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_JSON_PAYLOAD.getBytes());
|
||||||
callback.getDeliveryLatch().await(3, TimeUnit.SECONDS);
|
callback.getDeliveryLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertFalse(callback.isPubAckReceived());
|
assertFalse(callback.isPubAckReceived());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,7 +163,7 @@ public abstract class AbstractMqttTimeseriesJsonIntegrationTest extends Abstract
|
|||||||
MqttTestCallback callback = new MqttTestCallback();
|
MqttTestCallback callback = new MqttTestCallback();
|
||||||
client.setCallback(callback);
|
client.setCallback(callback);
|
||||||
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_JSON_PAYLOAD.getBytes());
|
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_JSON_PAYLOAD.getBytes());
|
||||||
callback.getDeliveryLatch().await(3, TimeUnit.SECONDS);
|
callback.getDeliveryLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertTrue(callback.isPubAckReceived());
|
assertTrue(callback.isPubAckReceived());
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
}
|
}
|
||||||
@ -182,7 +182,7 @@ public abstract class AbstractMqttTimeseriesJsonIntegrationTest extends Abstract
|
|||||||
MqttTestCallback callback = new MqttTestCallback();
|
MqttTestCallback callback = new MqttTestCallback();
|
||||||
client.setCallback(callback);
|
client.setCallback(callback);
|
||||||
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_JSON_PAYLOAD.getBytes());
|
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_JSON_PAYLOAD.getBytes());
|
||||||
callback.getDeliveryLatch().await(3, TimeUnit.SECONDS);
|
callback.getDeliveryLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertFalse(callback.isPubAckReceived());
|
assertFalse(callback.isPubAckReceived());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -361,7 +361,7 @@ public abstract class AbstractMqttTimeseriesProtoIntegrationTest extends Abstrac
|
|||||||
MqttTestCallback callback = new MqttTestCallback();
|
MqttTestCallback callback = new MqttTestCallback();
|
||||||
client.setCallback(callback);
|
client.setCallback(callback);
|
||||||
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_PROTO_PAYLOAD.getBytes());
|
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_PROTO_PAYLOAD.getBytes());
|
||||||
callback.getDeliveryLatch().await(3, TimeUnit.SECONDS);
|
callback.getDeliveryLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertTrue(callback.isPubAckReceived());
|
assertTrue(callback.isPubAckReceived());
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
}
|
}
|
||||||
@ -379,7 +379,7 @@ public abstract class AbstractMqttTimeseriesProtoIntegrationTest extends Abstrac
|
|||||||
MqttTestCallback callback = new MqttTestCallback();
|
MqttTestCallback callback = new MqttTestCallback();
|
||||||
client.setCallback(callback);
|
client.setCallback(callback);
|
||||||
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_PROTO_PAYLOAD.getBytes());
|
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_PROTO_PAYLOAD.getBytes());
|
||||||
callback.getDeliveryLatch().await(3, TimeUnit.SECONDS);
|
callback.getDeliveryLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertFalse(callback.isPubAckReceived());
|
assertFalse(callback.isPubAckReceived());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -398,7 +398,7 @@ public abstract class AbstractMqttTimeseriesProtoIntegrationTest extends Abstrac
|
|||||||
MqttTestCallback callback = new MqttTestCallback();
|
MqttTestCallback callback = new MqttTestCallback();
|
||||||
client.setCallback(callback);
|
client.setCallback(callback);
|
||||||
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_JSON_PAYLOAD.getBytes());
|
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_JSON_PAYLOAD.getBytes());
|
||||||
callback.getDeliveryLatch().await(3, TimeUnit.SECONDS);
|
callback.getDeliveryLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertTrue(callback.isPubAckReceived());
|
assertTrue(callback.isPubAckReceived());
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
}
|
}
|
||||||
@ -417,7 +417,7 @@ public abstract class AbstractMqttTimeseriesProtoIntegrationTest extends Abstrac
|
|||||||
MqttTestCallback callback = new MqttTestCallback();
|
MqttTestCallback callback = new MqttTestCallback();
|
||||||
client.setCallback(callback);
|
client.setCallback(callback);
|
||||||
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_JSON_PAYLOAD.getBytes());
|
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_JSON_PAYLOAD.getBytes());
|
||||||
callback.getDeliveryLatch().await(3, TimeUnit.SECONDS);
|
callback.getDeliveryLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertFalse(callback.isPubAckReceived());
|
assertFalse(callback.isPubAckReceived());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -436,7 +436,7 @@ public abstract class AbstractMqttTimeseriesProtoIntegrationTest extends Abstrac
|
|||||||
MqttTestCallback callback = new MqttTestCallback();
|
MqttTestCallback callback = new MqttTestCallback();
|
||||||
client.setCallback(callback);
|
client.setCallback(callback);
|
||||||
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_PROTO_PAYLOAD.getBytes());
|
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_PROTO_PAYLOAD.getBytes());
|
||||||
callback.getDeliveryLatch().await(3, TimeUnit.SECONDS);
|
callback.getDeliveryLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertTrue(callback.isPubAckReceived());
|
assertTrue(callback.isPubAckReceived());
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
}
|
}
|
||||||
@ -455,7 +455,7 @@ public abstract class AbstractMqttTimeseriesProtoIntegrationTest extends Abstrac
|
|||||||
MqttTestCallback callback = new MqttTestCallback();
|
MqttTestCallback callback = new MqttTestCallback();
|
||||||
client.setCallback(callback);
|
client.setCallback(callback);
|
||||||
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_PROTO_PAYLOAD.getBytes());
|
client.publish(POST_DATA_TELEMETRY_TOPIC, MALFORMED_PROTO_PAYLOAD.getBytes());
|
||||||
callback.getDeliveryLatch().await(3, TimeUnit.SECONDS);
|
callback.getDeliveryLatch().await(DEFAULT_WAIT_TIMEOUT_SECONDS, TimeUnit.SECONDS);
|
||||||
assertFalse(callback.isPubAckReceived());
|
assertFalse(callback.isPubAckReceived());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user