Add tests for rule chain importing
This commit is contained in:
parent
cc1c2094c9
commit
f6e816edb9
@ -53,6 +53,7 @@ import org.thingsboard.server.common.data.relation.RelationTypeGroup;
|
||||
import org.thingsboard.server.common.data.rule.RuleChain;
|
||||
import org.thingsboard.server.common.data.rule.RuleChainMetaData;
|
||||
import org.thingsboard.server.common.data.rule.RuleNode;
|
||||
import org.thingsboard.server.common.data.script.ScriptLanguage;
|
||||
import org.thingsboard.server.common.data.security.DeviceCredentials;
|
||||
import org.thingsboard.server.common.data.sync.ie.DeviceExportData;
|
||||
import org.thingsboard.server.common.data.sync.ie.EntityExportData;
|
||||
@ -65,9 +66,11 @@ import org.thingsboard.server.dao.service.DaoSqlTest;
|
||||
import org.thingsboard.server.service.action.EntityActionService;
|
||||
import org.thingsboard.server.service.ota.OtaPackageStateService;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@ -338,6 +341,47 @@ public class ExportImportServiceSqlTest extends BaseExportImportServiceTest {
|
||||
checkImportedRuleChainData(ruleChain, metaData, importedRuleChain, importedMetaData);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testImportRuleChain_ruleNodesConfigs() throws Exception {
|
||||
Customer customer = createCustomer(tenantId1, "Customer 1");
|
||||
RuleChain ruleChain = createRuleChain(tenantId1, "Rule chain 1");
|
||||
RuleChainMetaData metaData = ruleChainService.loadRuleChainMetaData(tenantId1, ruleChain.getId());
|
||||
|
||||
List<RuleNode> nodes = new ArrayList<>(metaData.getNodes());
|
||||
RuleNode generatorNode = new RuleNode();
|
||||
generatorNode.setName("Generator");
|
||||
generatorNode.setType(TbMsgGeneratorNode.class.getName());
|
||||
TbMsgGeneratorNodeConfiguration generatorNodeConfig = new TbMsgGeneratorNodeConfiguration();
|
||||
generatorNodeConfig.setOriginatorType(EntityType.ASSET_PROFILE);
|
||||
generatorNodeConfig.setOriginatorId(customer.getId().toString());
|
||||
generatorNodeConfig.setPeriodInSeconds(5);
|
||||
generatorNodeConfig.setMsgCount(1);
|
||||
generatorNodeConfig.setScriptLang(ScriptLanguage.JS);
|
||||
UUID someUuid = UUID.randomUUID();
|
||||
generatorNodeConfig.setJsScript("var msg = { temp: 42, humidity: 77 };\n" +
|
||||
"var metadata = { data: 40 };\n" +
|
||||
"var msgType = \"POST_TELEMETRY_REQUEST\";\n" +
|
||||
"var someUuid = \"" + someUuid + "\";\n" +
|
||||
"return { msg: msg, metadata: metadata, msgType: msgType };");
|
||||
generatorNode.setConfiguration(mapper.valueToTree(generatorNodeConfig));
|
||||
nodes.add(generatorNode);
|
||||
metaData.setNodes(nodes);
|
||||
ruleChainService.saveRuleChainMetaData(tenantId1, metaData);
|
||||
|
||||
EntityExportData<RuleChain> ruleChainExportData = exportEntity(tenantAdmin1, ruleChain.getId());
|
||||
EntityExportData<Customer> customerExportData = exportEntity(tenantAdmin1, customer.getId());
|
||||
|
||||
Customer importedCustomer = importEntity(tenantAdmin2, customerExportData).getSavedEntity();
|
||||
RuleChain importedRuleChain = importEntity(tenantAdmin2, ruleChainExportData).getSavedEntity();
|
||||
RuleChainMetaData importedMetaData = ruleChainService.loadRuleChainMetaData(tenantId2, importedRuleChain.getId());
|
||||
|
||||
TbMsgGeneratorNodeConfiguration importedGeneratorNodeConfig = JacksonUtil.treeToValue(importedMetaData.getNodes().stream()
|
||||
.filter(node -> node.getName().equals(generatorNode.getName()))
|
||||
.findFirst().get().getConfiguration(), TbMsgGeneratorNodeConfiguration.class);
|
||||
assertThat(importedGeneratorNodeConfig.getOriginatorId()).isEqualTo(importedCustomer.getId().toString());
|
||||
assertThat(importedGeneratorNodeConfig.getJsScript()).contains("var someUuid = \"" + someUuid + "\";");
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testExportImportWithInboundRelations_betweenTenants() throws Exception {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user