@Nullable private SFinishedBuild getPreviousNonPersonalBuild(SRunningBuild paramSRunningBuild) { List<SFinishedBuild> localList = this.myBuildServer.getHistory().getEntriesBefore(paramSRunningBuild, false); for (SFinishedBuild localSFinishedBuild : localList) if (!(localSFinishedBuild.isPersonal())) return localSFinishedBuild; return null; }
@Nullable private SFinishedBuild getPreviousNonPersonalBuild(SRunningBuild paramSRunningBuild) { List<SFinishedBuild> localList = buildServer.getHistory().getEntriesBefore(paramSRunningBuild, false); for (SFinishedBuild localSFinishedBuild : localList) if (!(localSFinishedBuild.isPersonal())) return localSFinishedBuild; return null; }
@Nullable private SFinishedBuild getRecursivePreviousNonPersonalBuild(SBuild paramSBuild) { SFinishedBuild localSFinishedBuild = paramSBuild.getPreviousFinished(); if (localSFinishedBuild == null) { // There was not a previous build. return localSFinishedBuild; } else if (localSFinishedBuild.isPersonal()){ localSFinishedBuild = getRecursivePreviousNonPersonalBuild(localSFinishedBuild); } return localSFinishedBuild; }
@Before public void setUp() throws Exception { resolverManager.registerVariableResolverFactory(variableResolverFactory); when(previousSuccessfulBuild.getBuildStatus()).thenReturn(Status.NORMAL); when(previousSuccessfulBuild.isPersonal()).thenReturn(false); when(previousFailedBuild.getBuildStatus()).thenReturn(Status.FAILURE); when(previousFailedBuild.isPersonal()).thenReturn(false); when(buildHistory.getEntriesBefore(sRunningBuild, false)).thenReturn(finishedSuccessfulBuilds); when(server.getHistory()).thenReturn(buildHistory); sBuildType.setProject(sProject); }
@Test public void testGetPreviousNonPreviousNonPersonalBuild_WhenPersonalPreviousReturnsNull() { WebHookContentBuilder builder = new WebHookContentBuilder(null, null, resolverManager); WebHook wh = factory.getWebHook(); SBuild runningBuild = mock(SBuild.class); SFinishedBuild personalPreviousBuild = mock(SFinishedBuild.class); when(runningBuild.getPreviousFinished()).thenReturn(personalPreviousBuild); when(runningBuild.getBuildId()).thenReturn(100L); when(personalPreviousBuild.isPersonal()).thenReturn(true); when(personalPreviousBuild.getBuildId()).thenReturn(99L); when(personalPreviousBuild.getPreviousFinished()).thenReturn(null); SBuild previousBuild = builder.getPreviousNonPersonalBuild(wh, runningBuild); assertNull(previousBuild); assertNull(wh.getPreviousNonPersonalBuild()); }
@Test public void testGetPreviousNonPreviousNonPersonalBuild_WhenPreviousIsPersonal() { WebHookContentBuilder builder = new WebHookContentBuilder(null, null, resolverManager); WebHook wh = factory.getWebHook(); SBuild runningBuild = mock(SBuild.class); SFinishedBuild personalPreviousBuild = mock(SFinishedBuild.class); SFinishedBuild nonPersonalPreviousBuild = mock(SFinishedBuild.class); when(runningBuild.getPreviousFinished()).thenReturn(personalPreviousBuild); when(runningBuild.getBuildId()).thenReturn(100L); when(personalPreviousBuild.isPersonal()).thenReturn(true); when(personalPreviousBuild.getBuildId()).thenReturn(99L); when(personalPreviousBuild.getPreviousFinished()).thenReturn(nonPersonalPreviousBuild); when(nonPersonalPreviousBuild.getBuildId()).thenReturn(98L); SBuild previousBuild = builder.getPreviousNonPersonalBuild(wh, runningBuild); assertEquals(nonPersonalPreviousBuild, previousBuild); assertEquals(nonPersonalPreviousBuild, wh.getPreviousNonPersonalBuild()); assertEquals(98L, previousBuild.getBuildId()); }
@Before public void setUp() throws Exception { resolverManager.registerVariableResolverFactory(variableResolverFactory); webHookImpl = new TestingWebHookFactory().getWebHook(); allBuildStates.allEnabled(); webHookImpl.setBuildStates(allBuildStates); spyWebHook = spy(webHookImpl); webHookConfig = mock(WebHookConfig.class); contentBuilder = new WebHookContentBuilder(manager, templateResolver, resolverManager); whl = new WebHookListener(sBuildServer, settings, configSettings, manager, factory, templateResolver, contentBuilder, historyRepository, historyItemFactory); projSettings = new WebHookProjectSettings(); when(factory.getWebHook(any(WebHookConfig.class), any(WebHookProxyConfig.class))).thenReturn(webHookImpl); when(manager.isRegisteredFormat("JSON")).thenReturn(true); when(manager.getFormat("JSON")).thenReturn(payload); when(manager.getServer()).thenReturn(sBuildServer); when(sBuildServer.getProjectManager()).thenReturn(projectManager); when(projectManager.findProjectById("project1")).thenReturn(sProject); when(sBuildServer.getHistory()).thenReturn(buildHistory); when(sBuildServer.getRootUrl()).thenReturn("http://test.server"); when(previousSuccessfulBuild.getBuildStatus()).thenReturn(Status.NORMAL); when(previousSuccessfulBuild.isPersonal()).thenReturn(false); when(previousFailedBuild.getBuildStatus()).thenReturn(Status.FAILURE); when(previousFailedBuild.isPersonal()).thenReturn(false); when(configSettings.getProxyConfigForUrl("http://text/test")).thenReturn(null); finishedSuccessfulBuilds.add(previousSuccessfulBuild); finishedFailedBuilds.add(previousFailedBuild); sBuildType.setProject(sProject); when(settings.getSettings(sRunningBuild.getProjectId(), "webhooks")).thenReturn(projSettings); whl.register(); }
when(sBuildServer.getProjectManager()).thenReturn(projectManager); when(previousSuccessfulBuild.getBuildStatus()).thenReturn(Status.NORMAL); when(previousSuccessfulBuild.isPersonal()).thenReturn(false); when(previousSuccessfulBuild.getFinishDate()).thenReturn(new Date()); when(previousFailedBuild.getBuildStatus()).thenReturn(Status.FAILURE); when(previousFailedBuild.isPersonal()).thenReturn(false); when(previousFailedBuild.getFinishDate()).thenReturn(new Date()); finishedSuccessfulBuilds.add(previousSuccessfulBuild);
when(sBuildServer.getProjectManager()).thenReturn(projectManager); when(previousSuccessfulBuild.getBuildStatus()).thenReturn(Status.NORMAL); when(previousSuccessfulBuild.isPersonal()).thenReturn(false); when(previousSuccessfulBuild.getFinishDate()).thenReturn(new Date()); when(previousFailedBuild.getBuildStatus()).thenReturn(Status.FAILURE); when(previousFailedBuild.isPersonal()).thenReturn(false); when(previousFailedBuild.getFinishDate()).thenReturn(new Date()); finishedSuccessfulBuilds.add(previousSuccessfulBuild);