/** * Performs a configuration round-trip testing for a builder. */ @SuppressWarnings("unchecked") protected <B extends Builder> B configRoundtrip(B before) throws Exception { FreeStyleProject p = createFreeStyleProject(); p.getBuildersList().add(before); configRoundtrip((Item)p); return (B)p.getBuildersList().get(before.getClass()); }
/** * Performs a configuration round-trip testing for a builder. */ protected <B extends Builder> B configRoundtrip(B before) throws Exception { FreeStyleProject p = createFreeStyleProject(); p.getBuildersList().add(before); configRoundtrip(p); return (B)p.getBuildersList().get(before.getClass()); }
/** * Performs a configuration round-trip testing for a builder. */ protected <B extends Builder> B configRoundtrip(B before) throws Exception { FreeStyleProject p = createFreeStyleProject(); p.getBuildersList().add(before); configRoundtrip(p); return (B) p.getBuildersList().get(before.getClass()); }
/** * Performs a configuration round-trip testing for a builder. */ protected <B extends Builder> B configRoundtrip(B before) throws Exception { FreeStyleProject p = createFreeStyleProject(); p.getBuildersList().add(before); configRoundtrip(p); return (B)p.getBuildersList().get(before.getClass()); }
/** * Performs a configuration round-trip testing for a builder. */ public <B extends Builder> B configRoundtrip(B before) throws Exception { FreeStyleProject p = createFreeStyleProject(); p.getBuildersList().add(before); configRoundtrip((Item)p); return (B)p.getBuildersList().get(before.getClass()); }
public static void addCopyBuildStep( FreeStyleProject p, final String fileName, final Class resourceClass, final String resourceName) { p.getBuildersList().add(new TestBuilder() { @Override public boolean perform(AbstractBuild build, Launcher launcher, BuildListener buildListener) throws InterruptedException, IOException { build.getWorkspace().child(fileName).copyFrom(resourceClass.getResourceAsStream(resourceName)); return true; } }); } }
private void addFingerprinterToProject(FreeStyleProject project, String[] contents, String[] files) throws Exception { StringBuilder targets = new StringBuilder(); for (int i = 0; i < contents.length; i++) { String command = "echo $BUILD_NUMBER " + contents[i] + " > " + files[i]; project.getBuildersList().add(Functions.isWindows() ? new BatchFile(command) : new Shell(command)); targets.append(files[i]).append(','); } project.getPublishersList().add(new Fingerprinter(targets.toString())); } }
@Before public void setUp() throws Exception { theResult = null; project = rule.createFreeStyleProject(projectName); project.getBuildersList().add(new JUnitParserTestBuilder("*.xml")); }
private void addJUnitResultArchiver(FreeStyleProject project) { JUnitResultArchiver archiver = new JUnitResultArchiver("*.xml"); project.getPublishersList().add(archiver); project.getBuildersList().add(new TouchBuilder()); }
@Before public void setUp() throws Exception { project = rule.createFreeStyleProject(BASIC_TEST_PROJECT); archiver = new JUnitResultArchiver("*.xml"); project.getPublishersList().add(archiver); project.getBuildersList().add(new TouchBuilder()); }
@Before public void setUp() throws Exception { project = j.createFreeStyleProject("junit"); archiver = new JUnitResultArchiver("*.xml"); project.getPublishersList().add(archiver); project.getBuildersList().add(new TouchBuilder()); }
@Before public void setUp() throws Exception { project = rule.createFreeStyleProject("taqueria"); archiver = new JUnitResultArchiver("*.xml"); project.getPublishersList().add(archiver); project.getBuildersList().add(new TouchBuilder()); }
private FreeStyleBuild configureTestBuild(String projectName) throws Exception { FreeStyleProject p = projectName == null ? rule.createFreeStyleProject() : rule.createFreeStyleProject(projectName); p.getBuildersList().add(new TestBuilder() { public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { build.getWorkspace().child("junit.xml").copyFrom( getClass().getResource("junit-report-20090516.xml")); return true; } }); p.getPublishersList().add(new JUnitResultArchiver("*.xml")); return rule.assertBuildStatus(Result.UNSTABLE, p.scheduleBuild2(0).get()); }
@Test public void given_folderCredential_when_builtAsSystem_then_credentialFound() throws Exception { Folder f = createFolder(); CredentialsStore folderStore = getFolderStore(f); folderStore.addCredentials(Domain.global(), new UsernamePasswordCredentialsImpl(CredentialsScope.GLOBAL, "foo-manchu", "Dr. Fu Manchu", "foo", "manchu")); FreeStyleProject prj = f.createProject(FreeStyleProject.class, "job"); prj.getBuildersList().add(new HasCredentialBuilder("foo-manchu")); r.buildAndAssertSuccess(prj); }
@Issue("JENKINS-19186") @Test public void testBrokenResultFile() throws Exception { FreeStyleProject p = rule.createFreeStyleProject(); p.getBuildersList().add(new TestBuilder()); p.getPublishersList().add(new JUnitResultArchiver("TEST-foo.xml", false, null)); rule.assertBuildStatus(Result.UNSTABLE, p.scheduleBuild2(0).get()); } private static final class TestBuilder extends Builder {
@Issue("JENKINS-10942") @Test @Ignore("TODO use docker-fixtures for a reproducible test case") public void singleModuleEnvironmentVariablesWithRevision() throws Exception { FreeStyleProject p = r.createFreeStyleProject(); p.setScm(new SubversionSCM("https://svn.jenkins-ci.org/trunk/hudson/test-projects/trivial-ant@HEAD")); CaptureEnvironmentBuilder builder = new CaptureEnvironmentBuilder(); p.getBuildersList().add(builder); r.assertBuildStatusSuccess(p.scheduleBuild2(0).get()); assertEquals("https://svn.jenkins-ci.org/trunk/hudson/test-projects/trivial-ant", builder.getEnvVars().get("SVN_URL")); assertEquals(getActualRevision(p.getLastBuild(), "https://svn.jenkins-ci.org/trunk/hudson/test-projects/trivial-ant").toString(), builder.getEnvVars().get("SVN_REVISION")); }
@Test @Ignore("TODO use docker-fixtures for a reproducible test case") public void singleModuleEnvironmentVariables() throws Exception { FreeStyleProject p = r.createFreeStyleProject(); p.setScm(new SubversionSCM("https://svn.jenkins-ci.org/trunk/hudson/test-projects/trivial-ant")); CaptureEnvironmentBuilder builder = new CaptureEnvironmentBuilder(); p.getBuildersList().add(builder); r.assertBuildStatusSuccess(p.scheduleBuild2(0).get()); assertEquals("https://svn.jenkins-ci.org/trunk/hudson/test-projects/trivial-ant", builder.getEnvVars().get("SVN_URL")); assertEquals(getActualRevision(p.getLastBuild(), "https://svn.jenkins-ci.org/trunk/hudson/test-projects/trivial-ant").toString(), builder.getEnvVars().get("SVN_REVISION")); }
@Issue("JENKINS-10942") @Test @Ignore("TODO use docker-fixtures for a reproducible test case") public void multiModuleEnvironmentVariablesWithRevision() throws Exception { FreeStyleProject p = r.createFreeStyleProject(); ModuleLocation[] locations = { new ModuleLocation("https://svn.jenkins-ci.org/trunk/hudson/test-projects/trivial-ant@18075", null), new ModuleLocation("https://svn.jenkins-ci.org/trunk/hudson/test-projects/trivial-maven@HEAD", null) }; p.setScm(new SubversionSCM(Arrays.asList(locations), new CheckoutUpdater(), null, null, null, null, null, null)); CaptureEnvironmentBuilder builder = new CaptureEnvironmentBuilder(); p.getBuildersList().add(builder); r.assertBuildStatusSuccess(p.scheduleBuild2(0).get()); assertEquals("https://svn.jenkins-ci.org/trunk/hudson/test-projects/trivial-ant", builder.getEnvVars().get("SVN_URL_1")); assertEquals("https://svn.jenkins-ci.org/trunk/hudson/test-projects/trivial-maven", builder.getEnvVars().get("SVN_URL_2")); assertEquals(getActualRevision(p.getLastBuild(), "https://svn.jenkins-ci.org/trunk/hudson/test-projects/trivial-ant").toString(), builder.getEnvVars().get("SVN_REVISION_1")); assertEquals(getActualRevision(p.getLastBuild(), "https://svn.jenkins-ci.org/trunk/hudson/test-projects/trivial-maven").toString(), builder.getEnvVars().get("SVN_REVISION_2")); }
/** * Tests that a comment added triggers a build correctly. * * @throws Exception if so. */ @Test @LocalData public void testTriggerOnCommentAdded() throws Exception { gerritServer.getConfig().setCategories(Setup.createCodeReviewVerdictCategoryList()); FreeStyleProject project = DuplicatesUtil.createGerritTriggeredJobForCommentAdded(j, "projectX"); project.getBuildersList().add(new SleepBuilder(2000)); serverMock.waitForCommand(GERRIT_STREAM_EVENTS, 2000); CommentAdded firstEvent = Setup.createCommentAdded(); gerritServer.triggerEvent(firstEvent); TestUtils.waitForBuilds(project, 1); assertEquals(1, project.getLastCompletedBuild().getNumber()); assertSame(Result.SUCCESS, project.getLastCompletedBuild().getResult()); }
/** * Tests that two comments added during the same time only triggers one build. * * @throws Exception if so. */ @Test @LocalData public void testDoubleTriggeredOnCommentAdded() throws Exception { gerritServer.getConfig().setCategories(Setup.createCodeReviewVerdictCategoryList()); FreeStyleProject project = DuplicatesUtil.createGerritTriggeredJobForCommentAdded(j, "projectX"); project.getBuildersList().add(new SleepBuilder(2000)); serverMock.waitForCommand(GERRIT_STREAM_EVENTS, 2000); gerritServer.triggerEvent(Setup.createCommentAdded()); gerritServer.triggerEvent(Setup.createCommentAdded()); TestUtils.waitForBuilds(project, 1); assertEquals(1, project.getLastCompletedBuild().getNumber()); assertSame(Result.SUCCESS, project.getLastCompletedBuild().getResult()); }