Improve stability of edge tests
This commit is contained in:
parent
d4ed67ff6d
commit
037820c9fa
@ -99,6 +99,7 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.TreeMap;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
|
||||
@ -181,7 +182,7 @@ abstract public class AbstractEdgeTest extends AbstractControllerTest {
|
||||
} catch (Exception ignored) {}
|
||||
}
|
||||
|
||||
private void installation() {
|
||||
private void installation() throws Exception {
|
||||
thermostatDeviceProfile = this.createDeviceProfile(THERMOSTAT_DEVICE_PROFILE_NAME,
|
||||
createMqttDeviceProfileTransportConfiguration(new JsonTransportPayloadConfiguration(), false));
|
||||
extendDeviceProfileData(thermostatDeviceProfile);
|
||||
@ -197,6 +198,9 @@ abstract public class AbstractEdgeTest extends AbstractControllerTest {
|
||||
+ "/device/" + savedDevice.getUuidId(), Device.class);
|
||||
doPost("/api/edge/" + edge.getUuidId()
|
||||
+ "/asset/" + savedAsset.getUuidId(), Asset.class);
|
||||
|
||||
// wait until assign device and asset events are fully processed by edge notification service
|
||||
TimeUnit.MILLISECONDS.sleep(500);
|
||||
}
|
||||
|
||||
protected void extendDeviceProfileData(DeviceProfile deviceProfile) {
|
||||
@ -247,21 +251,21 @@ abstract public class AbstractEdgeTest extends AbstractControllerTest {
|
||||
|
||||
// 4 messages ('general', 'mail', 'connectivity', 'jwt)
|
||||
validateMsgsCnt(AdminSettingsUpdateMsg.class, 4);
|
||||
validateAdminSettings();
|
||||
validateAdminSettings(4);
|
||||
|
||||
// 4 messages
|
||||
// - 1 from default profile fetcher
|
||||
// - 2 from device profile fetcher (default and thermostat)
|
||||
// - 1 from device fetcher
|
||||
validateMsgsCnt(DeviceProfileUpdateMsg.class, 4);
|
||||
validateDeviceProfiles();
|
||||
validateDeviceProfiles(4);
|
||||
|
||||
// 3 messages
|
||||
// - 1 from default profile fetcher
|
||||
// - 1 message from asset profile fetcher
|
||||
// - 1 message from asset fetcher
|
||||
validateMsgsCnt(AssetProfileUpdateMsg.class, 3);
|
||||
validateAssetProfiles();
|
||||
validateAssetProfiles(3);
|
||||
|
||||
// 1 from device fetcher
|
||||
validateMsgsCnt(DeviceUpdateMsg.class, 1);
|
||||
@ -332,13 +336,13 @@ abstract public class AbstractEdgeTest extends AbstractControllerTest {
|
||||
testAutoGeneratedCodeByProtobuf(tenantProfileUpdateMsg);
|
||||
}
|
||||
|
||||
private void validateDeviceProfiles() throws Exception {
|
||||
private void validateDeviceProfiles(int expectedMsgCnt) throws Exception {
|
||||
List<DeviceProfileUpdateMsg> deviceProfileUpdateMsgList = edgeImitator.findAllMessagesByType(DeviceProfileUpdateMsg.class);
|
||||
// default msg default device profile from fetcher
|
||||
// default msg device profile from fetcher
|
||||
// thermostat msg from device profile fetcher
|
||||
// thermostat msg from device fetcher
|
||||
Assert.assertEquals(4, deviceProfileUpdateMsgList.size());
|
||||
Assert.assertEquals(expectedMsgCnt, deviceProfileUpdateMsgList.size());
|
||||
Optional<DeviceProfileUpdateMsg> thermostatProfileUpdateMsgOpt =
|
||||
deviceProfileUpdateMsgList.stream().filter(dfum -> THERMOSTAT_DEVICE_PROFILE_NAME.equals(dfum.getName())).findAny();
|
||||
Assert.assertTrue(thermostatProfileUpdateMsgOpt.isPresent());
|
||||
@ -419,9 +423,9 @@ abstract public class AbstractEdgeTest extends AbstractControllerTest {
|
||||
Assert.assertEquals(expectedRuleChainUUID, ruleChainUUID);
|
||||
}
|
||||
|
||||
private void validateAdminSettings() {
|
||||
private void validateAdminSettings(int expectedMsgCnt) {
|
||||
List<AdminSettingsUpdateMsg> adminSettingsUpdateMsgs = edgeImitator.findAllMessagesByType(AdminSettingsUpdateMsg.class);
|
||||
Assert.assertEquals(4, adminSettingsUpdateMsgs.size());
|
||||
Assert.assertEquals(expectedMsgCnt, adminSettingsUpdateMsgs.size());
|
||||
|
||||
for (AdminSettingsUpdateMsg adminSettingsUpdateMsg : adminSettingsUpdateMsgs) {
|
||||
if (adminSettingsUpdateMsg.getKey().equals("general")) {
|
||||
@ -460,9 +464,9 @@ abstract public class AbstractEdgeTest extends AbstractControllerTest {
|
||||
Assert.assertNotNull(jsonNode.get("coaps"));
|
||||
}
|
||||
|
||||
private void validateAssetProfiles() throws Exception {
|
||||
private void validateAssetProfiles(int expectedMsgCnt) throws Exception {
|
||||
List<AssetProfileUpdateMsg> assetProfileUpdateMsgs = edgeImitator.findAllMessagesByType(AssetProfileUpdateMsg.class);
|
||||
Assert.assertEquals(3, assetProfileUpdateMsgs.size());
|
||||
Assert.assertEquals(expectedMsgCnt, assetProfileUpdateMsgs.size());
|
||||
AssetProfileUpdateMsg assetProfileUpdateMsg = assetProfileUpdateMsgs.get(0);
|
||||
Assert.assertEquals(UpdateMsgType.ENTITY_CREATED_RPC_MESSAGE, assetProfileUpdateMsg.getMsgType());
|
||||
UUID assetProfileUUID = new UUID(assetProfileUpdateMsg.getIdMSB(), assetProfileUpdateMsg.getIdLSB());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user