use of hudson.model.Node in project hudson-2.x by hudson.
the class LegacyMatrixConfigurationTest method testLoadLegacyMatrixProject.
/**
* Tests unmarshalls MatrixProject configuration and checks whether properties are loaded correctly.
*
* @throws Exception if any.
*/
@Test
@Ignore
public void testLoadLegacyMatrixProject() throws Exception {
Hudson hudson = createMock(Hudson.class);
expect(hudson.getNodes()).andReturn(Lists.<Node>newArrayList()).anyTimes();
expect(hudson.getInitLevel()).andReturn(InitMilestone.STARTED).anyTimes();
expect(hudson.getRootDir()).andReturn(new File("./target/matrix")).anyTimes();
ExtensionList<TransientProjectActionFactory> actionList = ExtensionList.create(hudson, TransientProjectActionFactory.class);
expect(hudson.getExtensionList(TransientProjectActionFactory.class)).andReturn(actionList).anyTimes();
ExtensionList<SaveableListener> saveableListenerList = ExtensionList.create(hudson, SaveableListener.class);
expect(hudson.getExtensionList(SaveableListener.class)).andReturn(saveableListenerList).anyTimes();
expect(hudson.getAllItems(MatrixConfiguration.class)).andReturn(Lists.<MatrixConfiguration>newArrayList()).anyTimes();
mockStatic(Hudson.class);
expect(Hudson.getInstance()).andReturn(hudson).anyTimes();
replayAll();
MatrixProject project = (MatrixProject) Items.getConfigFile(config).read();
project.setAllowSave(false);
project.initProjectProperties();
project.buildProjectProperties();
verifyAll();
assertEquals("/tmp/1", project.getProperty(AbstractProject.CUSTOM_WORKSPACE_PROPERTY_NAME).getValue());
assertEquals(new Integer(7), CascadingUtil.getIntegerProjectProperty(project, AbstractProject.QUIET_PERIOD_PROPERTY_NAME).getValue());
assertTrue(CascadingUtil.getBooleanProjectProperty(project, MatrixProject.RUN_SEQUENTIALLY_PROPERTY_NAME).getValue());
assertEquals("!(label==\"win\" && DB==\"oracle\")", project.getProperty(MatrixProject.COMBINATION_FILTER_PROPERTY_NAME).getValue());
assertEquals("label==\"unix\" && DB==\"mysql\"", project.getProperty(MatrixProject.TOUCH_STONE_COMBINATION_FILTER_PROPERTY_NAME).getValue());
assertEquals(Result.SUCCESS, CascadingUtil.getResultProjectProperty(project, MatrixProject.TOUCH_STONE_RESULT_CONDITION_PROPERTY_NAME).getValue());
assertEquals(new LogRotator(7, 7, 7, 7), CascadingUtil.getLogRotatorProjectProperty(project, MatrixProject.LOG_ROTATOR_PROPERTY_NAME).getValue());
AxisList axes = CascadingUtil.getAxesListProjectProperty(project, MatrixProject.AXES_PROPERTY_NAME).getValue();
assertEquals(2, axes.size());
assertEquals("DB", axes.get(0).getName());
assertEquals(2, axes.get(0).getValues().size());
assertEquals("oracle", axes.get(0).getValues().get(0));
assertEquals("mysql", axes.get(0).getValues().get(1));
assertEquals("label", axes.get(1).getName());
assertEquals(2, axes.get(1).getValues().size());
assertEquals("unix", axes.get(1).getValues().get(0));
assertEquals("win", axes.get(1).getValues().get(1));
assertEquals(3, project.getActiveConfigurations().size());
assertEquals(2, project.getActiveConfigurations().iterator().next().getCombination().size());
}
use of hudson.model.Node in project hudson-2.x by hudson.
the class ComputerRetentionWork method doRun.
/**
* {@inheritDoc}
*/
@SuppressWarnings("unchecked")
protected void doRun() {
final long startRun = System.currentTimeMillis();
for (Computer c : Hudson.getInstance().getComputers()) {
Node n = c.getNode();
if (n != null && n.isHoldOffLaunchUntilSave())
continue;
if (!nextCheck.containsKey(c) || startRun > nextCheck.get(c)) {
// at the moment I don't trust strategies to wait more than 60 minutes
// strategies need to wait at least one minute
final long waitInMins = Math.min(1, Math.max(60, c.getRetentionStrategy().check(c)));
nextCheck.put(c, startRun + waitInMins * 1000 * 60);
}
}
}
use of hudson.model.Node in project hudson-2.x by hudson.
the class NodeServiceImpl method getCurrentNode.
public Node getCurrentNode() {
Node node = Computer.currentComputer().getNode();
this.security.checkPermission(node, Permission.READ);
return node;
}
use of hudson.model.Node in project hudson-2.x by hudson.
the class NodeServiceImpl method getMasterNode.
public Node getMasterNode() {
Node masterNode = getHudson();
this.security.checkPermission(masterNode, Permission.READ);
return masterNode;
}
use of hudson.model.Node in project hudson-2.x by hudson.
the class NodeServiceImplTest method getNodesDoesNotIncludeMaster.
@Test
public void getNodesDoesNotIncludeMaster() {
List<Node> nodes = new ArrayList<Node>();
nodes.add(node);
Node masterNode = hudson;
NodeService inst = spy(getInst());
doReturn(nodes).when(hudson).getNodes();
doReturn(true).when(security).hasPermission(node, Permission.READ);
// try to fake it out
doReturn(hudson).when(inst).getMasterNode();
doReturn(true).when(security).hasPermission(masterNode, Permission.READ);
List<Node> result = inst.getNodes();
assertThat(result, contains(node));
assertThat(result, not(contains(masterNode)));
}
Aggregations