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