use of org.ow2.proactive.resourcemanager.rmnode.RMNode 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.rmnode.RMNode 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.rmnode.RMNode 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.rmnode.RMNode in project scheduling by ow2-proactive.
the class RMCoreTest method configureRMNode.
private void configureRMNode(MockedRMNodeParameters param) {
RMNode rmNode = param.getRmNode();
Node mockedNode = Mockito.mock(Node.class);
NodeInformation mockedNodeInformation = Mockito.mock(NodeInformation.class);
when(mockedNode.getNodeInformation()).thenReturn(mockedNodeInformation);
when(rmNode.getNode()).thenReturn(mockedNode);
when(rmNode.getNodeName()).thenReturn(param.getUrl());
when(rmNode.getNodeURL()).thenReturn(param.getUrl());
when(rmNode.isDown()).thenReturn(param.isDown());
when(rmNode.isFree()).thenReturn(param.isFree());
when(rmNode.isLocked()).thenReturn(param.isLocked());
when(mockedNodeInformation.getURL()).thenReturn(param.getUrl());
when(mockedNodeInformation.getName()).thenReturn(param.getUrl());
when(rmNode.getNodeSource()).thenReturn(param.getNodeSource());
when(rmNode.getNodeSourceName()).thenReturn(param.getNodeSourceName());
when(rmNode.getAdminPermission()).thenReturn(null);
when(rmNode.getProvider()).thenReturn(new Client());
Client client = Mockito.mock(Client.class);
when(rmNode.getOwner()).thenReturn(client);
when(client.getName()).thenReturn("test");
when(rmNode.getNodeURL()).thenReturn(param.getUrl());
}
use of org.ow2.proactive.resourcemanager.rmnode.RMNode 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