/// <exception cref="System.Exception"/> public virtual void TestContainerUpdate() { //Start the node node.Handle(new RMNodeStartedEvent(null, null, null)); NodeId nodeId = BuilderUtils.NewNodeId("localhost:1", 1); RMNodeImpl node2 = new RMNodeImpl(nodeId, rmContext, null, 0, 0, null, null, null ); node2.Handle(new RMNodeStartedEvent(null, null, null)); ContainerId completedContainerIdFromNode1 = BuilderUtils.NewContainerId(BuilderUtils .NewApplicationAttemptId(BuilderUtils.NewApplicationId(0, 0), 0), 0); ContainerId completedContainerIdFromNode2_1 = BuilderUtils.NewContainerId(BuilderUtils .NewApplicationAttemptId(BuilderUtils.NewApplicationId(1, 1), 1), 1); ContainerId completedContainerIdFromNode2_2 = BuilderUtils.NewContainerId(BuilderUtils .NewApplicationAttemptId(BuilderUtils.NewApplicationId(1, 1), 1), 2); RMNodeStatusEvent statusEventFromNode1 = GetMockRMNodeStatusEvent(); RMNodeStatusEvent statusEventFromNode2_1 = GetMockRMNodeStatusEvent(); RMNodeStatusEvent statusEventFromNode2_2 = GetMockRMNodeStatusEvent(); ContainerStatus containerStatusFromNode1 = Org.Mockito.Mockito.Mock <ContainerStatus >(); ContainerStatus containerStatusFromNode2_1 = Org.Mockito.Mockito.Mock <ContainerStatus >(); ContainerStatus containerStatusFromNode2_2 = Org.Mockito.Mockito.Mock <ContainerStatus >(); Org.Mockito.Mockito.DoReturn(completedContainerIdFromNode1).When(containerStatusFromNode1 ).GetContainerId(); Org.Mockito.Mockito.DoReturn(Sharpen.Collections.SingletonList(containerStatusFromNode1 )).When(statusEventFromNode1).GetContainers(); node.Handle(statusEventFromNode1); NUnit.Framework.Assert.AreEqual(1, completedContainers.Count); NUnit.Framework.Assert.AreEqual(completedContainerIdFromNode1, completedContainers [0].GetContainerId()); completedContainers.Clear(); Org.Mockito.Mockito.DoReturn(completedContainerIdFromNode2_1).When(containerStatusFromNode2_1 ).GetContainerId(); Org.Mockito.Mockito.DoReturn(Sharpen.Collections.SingletonList(containerStatusFromNode2_1 )).When(statusEventFromNode2_1).GetContainers(); Org.Mockito.Mockito.DoReturn(completedContainerIdFromNode2_2).When(containerStatusFromNode2_2 ).GetContainerId(); Org.Mockito.Mockito.DoReturn(Sharpen.Collections.SingletonList(containerStatusFromNode2_2 )).When(statusEventFromNode2_2).GetContainers(); node2.SetNextHeartBeat(false); node2.Handle(statusEventFromNode2_1); node2.SetNextHeartBeat(true); node2.Handle(statusEventFromNode2_2); NUnit.Framework.Assert.AreEqual(2, completedContainers.Count); NUnit.Framework.Assert.AreEqual(completedContainerIdFromNode2_1, completedContainers [0].GetContainerId()); NUnit.Framework.Assert.AreEqual(completedContainerIdFromNode2_2, completedContainers [1].GetContainerId()); }
private RMNodeStatusEvent GetMockRMNodeStatusEvent() { NodeHeartbeatResponse response = Org.Mockito.Mockito.Mock <NodeHeartbeatResponse>( ); NodeHealthStatus healthStatus = Org.Mockito.Mockito.Mock <NodeHealthStatus>(); bool yes = true; Org.Mockito.Mockito.DoReturn(yes).When(healthStatus).GetIsNodeHealthy(); RMNodeStatusEvent @event = Org.Mockito.Mockito.Mock <RMNodeStatusEvent>(); Org.Mockito.Mockito.DoReturn(healthStatus).When(@event).GetNodeHealthStatus(); Org.Mockito.Mockito.DoReturn(response).When(@event).GetLatestResponse(); Org.Mockito.Mockito.DoReturn(RMNodeEventType.StatusUpdate).When(@event).GetType(); return(@event); }