|
|
|
@ -39,7 +39,6 @@ import java.util.ArrayList; |
|
|
|
import java.util.Collections; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Optional; |
|
|
|
import java.util.concurrent.TimeUnit; |
|
|
|
|
|
|
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; |
|
|
|
|
|
|
|
@ -50,8 +49,8 @@ public class RuleChainEdgeTest extends AbstractEdgeTest { |
|
|
|
|
|
|
|
@Test |
|
|
|
public void testRuleChains() throws Exception { |
|
|
|
// create rule chain
|
|
|
|
edgeImitator.expectMessageAmount(2); |
|
|
|
// create rule chain: 2 messages from create rule chain, 2 messages from load metadata
|
|
|
|
edgeImitator.expectMessageAmount(4); |
|
|
|
RuleChain ruleChain = new RuleChain(); |
|
|
|
ruleChain.setName("Edge Test Rule Chain"); |
|
|
|
ruleChain.setType(RuleChainType.EDGE); |
|
|
|
@ -60,15 +59,21 @@ public class RuleChainEdgeTest extends AbstractEdgeTest { |
|
|
|
+ "/ruleChain/" + savedRuleChain.getUuidId(), RuleChain.class); |
|
|
|
createRuleChainMetadata(savedRuleChain); |
|
|
|
Assert.assertTrue(edgeImitator.waitForMessages()); |
|
|
|
Optional<RuleChainUpdateMsg> ruleChainUpdateMsgOpt = edgeImitator.findMessageByType(RuleChainUpdateMsg.class); |
|
|
|
Assert.assertTrue(ruleChainUpdateMsgOpt.isPresent()); |
|
|
|
RuleChainUpdateMsg ruleChainUpdateMsg = ruleChainUpdateMsgOpt.get(); |
|
|
|
List<RuleChainUpdateMsg> ruleChainUpdateMsgs = edgeImitator.findAllMessagesByType(RuleChainUpdateMsg.class); |
|
|
|
Assert.assertEquals(2, ruleChainUpdateMsgs.size()); |
|
|
|
List<RuleChainMetadataUpdateMsg> ruleChainMetadataUpdateMsgs = edgeImitator.findAllMessagesByType(RuleChainMetadataUpdateMsg.class); |
|
|
|
Assert.assertEquals(2, ruleChainMetadataUpdateMsgs.size()); |
|
|
|
RuleChainUpdateMsg ruleChainUpdateMsg = ruleChainUpdateMsgs.get(0); |
|
|
|
RuleChain ruleChainMsg = JacksonUtil.fromString(ruleChainUpdateMsg.getEntity(), RuleChain.class, true); |
|
|
|
Assert.assertNotNull(ruleChainMsg); |
|
|
|
Assert.assertTrue(UpdateMsgType.ENTITY_CREATED_RPC_MESSAGE.equals(ruleChainUpdateMsg.getMsgType()) || |
|
|
|
UpdateMsgType.ENTITY_UPDATED_RPC_MESSAGE.equals(ruleChainUpdateMsg.getMsgType())); |
|
|
|
Assert.assertEquals(savedRuleChain.getId(), ruleChainMsg.getId()); |
|
|
|
Assert.assertEquals(savedRuleChain.getName(), ruleChainMsg.getName()); |
|
|
|
RuleChainMetadataUpdateMsg ruleChainMetadataUpdateMsg = ruleChainMetadataUpdateMsgs.get(0); |
|
|
|
RuleChainMetaData ruleChainMetaData = JacksonUtil.fromString(ruleChainMetadataUpdateMsg.getEntity(), RuleChainMetaData.class, true); |
|
|
|
Assert.assertNotNull(ruleChainMetaData); |
|
|
|
Assert.assertEquals(ruleChainMetaData.getRuleChainId(), savedRuleChain.getId()); |
|
|
|
|
|
|
|
testRuleChainMetadataRequestMsg(savedRuleChain.getId()); |
|
|
|
|
|
|
|
@ -77,7 +82,7 @@ public class RuleChainEdgeTest extends AbstractEdgeTest { |
|
|
|
doDelete("/api/edge/" + edge.getUuidId() |
|
|
|
+ "/ruleChain/" + savedRuleChain.getUuidId(), RuleChain.class); |
|
|
|
Assert.assertTrue(edgeImitator.waitForMessages()); |
|
|
|
ruleChainUpdateMsgOpt = edgeImitator.findMessageByType(RuleChainUpdateMsg.class); |
|
|
|
Optional<RuleChainUpdateMsg> ruleChainUpdateMsgOpt = edgeImitator.findMessageByType(RuleChainUpdateMsg.class); |
|
|
|
Assert.assertTrue(ruleChainUpdateMsgOpt.isPresent()); |
|
|
|
ruleChainUpdateMsg = ruleChainUpdateMsgOpt.get(); |
|
|
|
Assert.assertEquals(UpdateMsgType.ENTITY_DELETED_RPC_MESSAGE, ruleChainUpdateMsg.getMsgType()); |
|
|
|
@ -262,4 +267,5 @@ public class RuleChainEdgeTest extends AbstractEdgeTest { |
|
|
|
.andExpect(status().isOk()); |
|
|
|
Assert.assertTrue(edgeImitator.waitForMessages(5)); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|