use of org.ow2.proactive.resourcemanager.core.RMCore in project scheduling by ow2-proactive.
the class NodesLockRestorationManagerTest method testLockNodeSucceeds.
@Test
public void testLockNodeSucceeds() {
doReturn(new BooleanWrapper(true)).when(rmCore).lockNodes(anySetOf(String.class), eq(caller));
verify(rmCore, never()).lockNodes(anySetOf(String.class), eq(caller));
RMNode rmNode = RMNodeHelper.basicWithMockedInternals().getLeft();
boolean lockResult = nodesLockRestorationManager.lockNode(rmNode, caller);
assertThat(lockResult).isTrue();
verify(rmCore).lockNodes(anySetOf(String.class), eq(caller));
}
use of org.ow2.proactive.resourcemanager.core.RMCore in project scheduling by ow2-proactive.
the class NodesLockRestorationManagerTest method testHandleNoNodesToLock.
@Test
public void testHandleNoNodesToLock() {
RMNodeImpl rmNode = RMNodeHelper.basicWithMockedInternals("ns1", "n1", "h1", "nurl1", "parurl1").getLeft();
assertThat(rmNode.isLocked()).isFalse();
Map<String, MutableInteger> table = Maps.newHashMap();
doReturn(table).when(nodesLockRestorationManager).findNodesLockedOnPreviousRun();
nodesLockRestorationManager.initialize();
assertThat(nodesLockRestorationManager.isInitialized()).isTrue();
verify(nodesLockRestorationManager).findNodesLockedOnPreviousRun();
assertThat(table).hasSize(0);
verify(rmCore, never()).lockNodes(anySetOf(String.class));
nodesLockRestorationManager.handle(rmNode, caller);
assertThat(table).hasSize(0);
verify(rmCore, never()).lockNodes(anySetOf(String.class));
}
use of org.ow2.proactive.resourcemanager.core.RMCore in project scheduling by ow2-proactive.
the class NodesLockRestorationManagerTest method testHandleMatchingNode.
@Test
public void testHandleMatchingNode() {
doReturn(new BooleanWrapper(true)).when(rmCore).lockNodes(anySetOf(String.class), eq(caller));
RMNodeImpl rmNode = RMNodeHelper.basicWithMockedInternals("ns1", "n1", "h1", "nurl1", "parurl1").getLeft();
assertThat(rmNode.isLocked()).isFalse();
Map<String, MutableInteger> table = Maps.newHashMap();
MutableInteger putResult = table.put("ns1", new MutableInteger(1));
assertThat(putResult).isNull();
doReturn(table).when(nodesLockRestorationManager).findNodesLockedOnPreviousRun();
assertThat(table).hasSize(1);
verify(rmCore, never()).lockNodes(anySetOf(String.class), eq(caller));
nodesLockRestorationManager.initialize();
assertThat(nodesLockRestorationManager.isInitialized()).isTrue();
verify(nodesLockRestorationManager).findNodesLockedOnPreviousRun();
nodesLockRestorationManager.handle(rmNode, caller);
assertThat(table).hasSize(0);
verify(rmCore).lockNodes(anySetOf(String.class), eq(caller));
}
use of org.ow2.proactive.resourcemanager.core.RMCore in project scheduling by ow2-proactive.
the class NodesLockRestorationManagerTest method testHandleNonMatchingNode.
@Test
public void testHandleNonMatchingNode() {
RMNodeImpl rmNode = RMNodeHelper.basicWithMockedInternals("ns2", "n1", "h1", "nurl1", "parurl1").getLeft();
assertThat(rmNode.isLocked()).isFalse();
Map<String, MutableInteger> table = Maps.newHashMap();
MutableInteger putResult = table.put("ns1", new MutableInteger(1));
assertThat(putResult).isNull();
doReturn(table).when(nodesLockRestorationManager).findNodesLockedOnPreviousRun();
assertThat(table).hasSize(1);
verify(rmCore, never()).lockNodes(anySetOf(String.class));
nodesLockRestorationManager.initialize();
assertThat(nodesLockRestorationManager.isInitialized()).isTrue();
verify(nodesLockRestorationManager).findNodesLockedOnPreviousRun();
nodesLockRestorationManager.handle(rmNode, caller);
assertThat(table).hasSize(1);
verify(rmCore, never()).lockNodes(anySetOf(String.class));
}
use of org.ow2.proactive.resourcemanager.core.RMCore in project scheduling by ow2-proactive.
the class RMCoreTest method testSetNodesAvailableKnownNodeUrlDown.
@Test
public void testSetNodesAvailableKnownNodeUrlDown() throws ActiveObjectCreationException, NodeException {
ImmutableMap<String, RMNode> allNodes = ImmutableMap.of(mockedRemovableNode.getNodeURL(), mockedRemovableNode);
List<RMNode> freeNodes = Collections.emptyList();
RMCore rmCore = spy(createRmCore(allNodes, freeNodes));
configureNodeForStateChange(mockedRemovableNode, NodeState.BUSY);
String unknownNodeUrl = mockedRemovableNode.getNodeURL();
verify(rmCore, never()).restoreNodeState(mockedRemovableNode.getNodeURL(), mockedRemovableNode);
Set<String> unknownNodeUrls = rmCore.setNodesAvailable(ImmutableSet.of(unknownNodeUrl));
assertThat(unknownNodeUrls).isEmpty();
verify(rmCore).restoreNodeState(mockedRemovableNode.getNodeURL(), mockedRemovableNode);
}
Aggregations