|
|
|
@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.test.context.TestPropertySource; |
|
|
|
import org.thingsboard.common.util.JacksonUtil; |
|
|
|
import org.thingsboard.server.cluster.TbClusterService; |
|
|
|
import org.thingsboard.server.common.data.Dashboard; |
|
|
|
import org.thingsboard.server.common.data.Device; |
|
|
|
import org.thingsboard.server.common.data.DeviceProfile; |
|
|
|
import org.thingsboard.server.common.data.OtaPackageInfo; |
|
|
|
@ -51,11 +52,13 @@ import org.thingsboard.server.common.data.edge.Edge; |
|
|
|
import org.thingsboard.server.common.data.edge.EdgeEvent; |
|
|
|
import org.thingsboard.server.common.data.edge.EdgeEventActionType; |
|
|
|
import org.thingsboard.server.common.data.edge.EdgeEventType; |
|
|
|
import org.thingsboard.server.common.data.id.DashboardId; |
|
|
|
import org.thingsboard.server.common.data.id.DeviceProfileId; |
|
|
|
import org.thingsboard.server.common.data.id.EdgeId; |
|
|
|
import org.thingsboard.server.common.data.id.RuleChainId; |
|
|
|
import org.thingsboard.server.common.data.id.TenantId; |
|
|
|
import org.thingsboard.server.common.data.ota.ChecksumAlgorithm; |
|
|
|
import org.thingsboard.server.common.data.ota.OtaPackageType; |
|
|
|
import org.thingsboard.server.common.data.page.PageData; |
|
|
|
import org.thingsboard.server.common.data.page.PageLink; |
|
|
|
import org.thingsboard.server.common.data.query.EntityKeyValueType; |
|
|
|
@ -63,6 +66,7 @@ import org.thingsboard.server.common.data.query.FilterPredicateValue; |
|
|
|
import org.thingsboard.server.common.data.query.NumericFilterPredicate; |
|
|
|
import org.thingsboard.server.common.data.queue.Queue; |
|
|
|
import org.thingsboard.server.common.data.rule.RuleChain; |
|
|
|
import org.thingsboard.server.common.data.rule.RuleChainType; |
|
|
|
import org.thingsboard.server.common.data.security.Authority; |
|
|
|
import org.thingsboard.server.controller.AbstractControllerTest; |
|
|
|
import org.thingsboard.server.dao.edge.EdgeEventService; |
|
|
|
@ -500,13 +504,13 @@ abstract public class AbstractEdgeTest extends AbstractControllerTest { |
|
|
|
return doPost("/api/asset", asset, Asset.class); |
|
|
|
} |
|
|
|
|
|
|
|
protected OtaPackageInfo saveOtaPackageInfo(DeviceProfileId deviceProfileId) { |
|
|
|
protected OtaPackageInfo saveOtaPackageInfo(DeviceProfileId deviceProfileId, OtaPackageType type) { |
|
|
|
SaveOtaPackageInfoRequest firmwareInfo = new SaveOtaPackageInfoRequest(); |
|
|
|
firmwareInfo.setDeviceProfileId(deviceProfileId); |
|
|
|
firmwareInfo.setType(FIRMWARE); |
|
|
|
firmwareInfo.setTitle("Firmware Edge " + StringUtils.randomAlphanumeric(3)); |
|
|
|
firmwareInfo.setType(type); |
|
|
|
firmwareInfo.setTitle(type.name() + " Edge " + StringUtils.randomAlphanumeric(3)); |
|
|
|
firmwareInfo.setVersion("v1.0"); |
|
|
|
firmwareInfo.setTag("My firmware #1 v1.0"); |
|
|
|
firmwareInfo.setTag("My " + type.name() + " #1 v1.0"); |
|
|
|
firmwareInfo.setUsesUrl(true); |
|
|
|
firmwareInfo.setUrl("http://localhost:8080/v1/package"); |
|
|
|
firmwareInfo.setAdditionalInfo(JacksonUtil.newObjectNode()); |
|
|
|
@ -541,6 +545,49 @@ abstract public class AbstractEdgeTest extends AbstractControllerTest { |
|
|
|
Assert.assertEquals(source.hashCode(), target.hashCode()); |
|
|
|
} |
|
|
|
|
|
|
|
protected RuleChainId createEdgeRuleChainAndAssignToEdge(String ruleChainName) throws Exception { |
|
|
|
edgeImitator.expectMessageAmount(1); |
|
|
|
RuleChain ruleChain = new RuleChain(); |
|
|
|
ruleChain.setName(ruleChainName); |
|
|
|
ruleChain.setType(RuleChainType.EDGE); |
|
|
|
RuleChain savedRuleChain = doPost("/api/ruleChain", ruleChain, RuleChain.class); |
|
|
|
doPost("/api/edge/" + edge.getUuidId() |
|
|
|
+ "/ruleChain/" + savedRuleChain.getUuidId(), RuleChain.class); |
|
|
|
Assert.assertTrue(edgeImitator.waitForMessages()); |
|
|
|
return savedRuleChain.getId(); |
|
|
|
} |
|
|
|
|
|
|
|
protected void unAssignFromEdgeAndDeleteRuleChain(RuleChainId ruleChainId) throws Exception { |
|
|
|
edgeImitator.expectMessageAmount(1); |
|
|
|
doDelete("/api/edge/" + edge.getUuidId() |
|
|
|
+ "/ruleChain/" + ruleChainId.getId(), RuleChain.class); |
|
|
|
Assert.assertTrue(edgeImitator.waitForMessages()); |
|
|
|
|
|
|
|
// delete rule chain
|
|
|
|
doDelete("/api/ruleChain/" + ruleChainId.getId()) |
|
|
|
.andExpect(status().isOk()); |
|
|
|
} |
|
|
|
|
|
|
|
protected DashboardId createDashboardAndAssignToEdge(String dashboardName) throws Exception { |
|
|
|
edgeImitator.expectMessageAmount(1); |
|
|
|
Dashboard dashboard = new Dashboard(); |
|
|
|
dashboard.setTitle(dashboardName); |
|
|
|
Dashboard savedDashboard = doPost("/api/dashboard", dashboard, Dashboard.class); |
|
|
|
doPost("/api/edge/" + edge.getUuidId() |
|
|
|
+ "/dashboard/" + savedDashboard.getUuidId(), Dashboard.class); |
|
|
|
Assert.assertTrue(edgeImitator.waitForMessages()); |
|
|
|
return savedDashboard.getId(); |
|
|
|
} |
|
|
|
|
|
|
|
protected void unAssignFromEdgeAndDeleteDashboard(DashboardId dashboardId) throws Exception { |
|
|
|
edgeImitator.expectMessageAmount(1); |
|
|
|
doDelete("/api/edge/" + edge.getUuidId() |
|
|
|
+ "/dashboard/" + dashboardId.getId(), RuleChain.class); |
|
|
|
Assert.assertTrue(edgeImitator.waitForMessages()); |
|
|
|
|
|
|
|
// delete dashboard
|
|
|
|
doDelete("/api/dashboard/" + dashboardId.getId()) |
|
|
|
.andExpect(status().isOk()); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|