/** Tests the isBuilding method of the class {@link BuildMemory}. With an empty memory. */ @Test public void testIsBuildingProjectFalse() { PatchsetCreated event = Setup.createPatchsetCreated(); BuildMemory instance = new BuildMemory(); AbstractProject project = mock(AbstractProject.class); assertFalse(instance.isBuilding(event, project)); }
/** * Tests the isBuilding method of the class {@link BuildMemory}. With a completed build in memory. */ @Test public void testIsBuildingProjectCompletedFalse() { PatchsetCreated event = Setup.createPatchsetCreated(); BuildMemory instance = new BuildMemory(); AbstractProject project = mock(AbstractProject.class); AbstractBuild build = mock(AbstractBuild.class); when(build.getProject()).thenReturn(project); when(build.getResult()).thenReturn(Result.UNSTABLE); instance.completed(event, build); assertFalse(instance.isBuilding(event, project)); }
/** * Tests the retriggered method of the class {@link BuildMemory}. With no previous memory and null * list of "others". */ @Test public void testRetriggeredNoMemoryOneProjectNullOthers() { PatchsetCreated event = Setup.createPatchsetCreated(); BuildMemory instance = new BuildMemory(); AbstractProject project = mock(AbstractProject.class); instance.retriggered(event, project, null); MemoryImprint memory = instance.getMemoryImprint(event); assertNotNull(memory); assertEquals(1, memory.getEntries().length); assertEquals(project, memory.getEntries()[0].getProject()); assertFalse(memory.getEntries()[0].isBuildCompleted()); }
/** * Tests the isBuilding method of the class {@link BuildMemory}. With one started project in * memory. */ @Test public void testIsBuildingProjectTrue() { PatchsetCreated event = Setup.createPatchsetCreated(); AbstractProject project = mock(AbstractProject.class); AbstractBuild build = mock(AbstractBuild.class); when(build.getProject()).thenReturn(project); BuildMemory instance = new BuildMemory(); instance.started(event, build); assertTrue(instance.isBuilding(event, project)); }
/** Tests the isBuilding method of the class {@link BuildMemory}. With a forgotten build. */ @Test public void testIsBuildingFalseWhenForgotten() { PatchsetCreated event = Setup.createPatchsetCreated(); BuildMemory instance = new BuildMemory(); AbstractProject project = mock(AbstractProject.class); AbstractBuild build = mock(AbstractBuild.class); when(build.getProject()).thenReturn(project); PatchSetKey key = instance.started(event, build); instance.forget(key); assertFalse(instance.isBuilding(event)); }
/** test. */ @Test public void testTriggered() { System.out.println("triggered"); PatchsetCreated event = Setup.createPatchsetCreated(); AbstractProject project = mock(AbstractProject.class); BuildMemory instance = new BuildMemory(); instance.triggered(event, project); assertNotNull(instance.getMemoryImprint(event)); assertFalse(instance.isAllBuildsStarted(event)); assertFalse(instance.isAllBuildsCompleted(event)); }
/** test. */ @Test public void testCompleted() { System.out.println("completed"); PatchsetCreated event = Setup.createPatchsetCreated(); AbstractProject project = mock(AbstractProject.class); AbstractBuild build = mock(AbstractBuild.class); when(build.getProject()).thenReturn(project); BuildMemory instance = new BuildMemory(); instance.completed(event, build); assertTrue(instance.isAllBuildsCompleted(event)); }
/** test. */ @Test public void testGetMemoryImprint() { System.out.println("getMemoryImprint"); BuildMemory instance = new BuildMemory(); PatchsetCreated event = Setup.createPatchsetCreated(); final AbstractProject project = mock(AbstractProject.class); instance.triggered(event, project); MemoryImprint result = instance.getMemoryImprint(event); assertNotNull(result); assertEquals(project, result.getEntries()[0].getProject()); assertEquals(event, result.getEvent()); }
/** Tests the isBuilding method of the class {@link BuildMemory}. With another event in memory. */ @Test public void testIsBuildingFalseSomethingElseIs() { PatchsetCreated event = Setup.createPatchsetCreated(); BuildMemory instance = new BuildMemory(); PatchsetCreated event2 = Setup.createPatchsetCreated(); event2.getChange().setNumber(event.getChange().getNumber() + 34); AbstractProject project = mock(AbstractProject.class); AbstractBuild build = mock(AbstractBuild.class); when(build.getProject()).thenReturn(project); instance.started(event2, build); assertFalse(instance.isBuilding(event)); }
/** test. */ @Test public void testForget() { System.out.println("forget"); PatchsetCreated event = Setup.createPatchsetCreated(); AbstractProject project = mock(AbstractProject.class); AbstractBuild build = mock(AbstractBuild.class); when(build.getProject()).thenReturn(project); BuildMemory instance = new BuildMemory(); instance.completed(event, build); instance.forget(event); assertNull(instance.getMemoryImprint(event)); }
/** test. */ @Test public void testStarted() { System.out.println("started"); PatchsetCreated event = Setup.createPatchsetCreated(); AbstractProject project = mock(AbstractProject.class); AbstractBuild build = mock(AbstractBuild.class); when(build.getProject()).thenReturn(project); BuildMemory instance = new BuildMemory(); PatchSetKey expResult = new PatchSetKey(event); PatchSetKey result = instance.started(event, build); assertEquals(expResult, result); assertTrue(instance.isAllBuildsStarted(result)); assertFalse(instance.isAllBuildsCompleted(result)); }
/** test. */ @Test public void testIsAllBuildsCompletedBuildMemoryPatchSetKeyFalse() { System.out.println("isAllBuildsCompleted True"); PatchsetCreated event = Setup.createPatchsetCreated(); BuildMemory instance = new BuildMemory(); AbstractProject project = mock(AbstractProject.class); instance.triggered(event, project); project = mock(AbstractProject.class); AbstractBuild build = mock(AbstractBuild.class); when(build.getProject()).thenReturn(project); instance.completed(event, build); boolean expResult = false; boolean result = instance.isAllBuildsCompleted(event); assertEquals(expResult, result); }
/** test. */ @Test public void testIsAllBuildsStartedBuildMemoryPatchSetKey() { System.out.println("isAllBuildsStarted"); PatchsetCreated event = Setup.createPatchsetCreated(); BuildMemory instance = new BuildMemory(); AbstractBuild mock = mock(AbstractBuild.class); AbstractProject project = mock(AbstractProject.class); when(mock.getProject()).thenReturn(project); instance.started(event, mock); mock = mock(AbstractBuild.class); project = mock(AbstractProject.class); when(mock.getProject()).thenReturn(project); instance.started(event, mock); boolean expResult = true; boolean result = instance.isAllBuildsStarted(event); assertEquals(expResult, result); }
/** * Tests a scenario when one build is successful and configured to be skipped. Expected outcome is * that {@link BuildMemory.MemoryImprint#wereAllBuildsSuccessful()} will return true As before the * skip vote feature was implemented. */ @Test public void testWereAllBuildsSuccessfulOneSuccessfulAndSkipped() { PatchsetCreated event = Setup.createPatchsetCreated(); BuildMemory instance = new BuildMemory(); AbstractProject project = mock(AbstractProject.class); SkipVote skipVote = new SkipVote(true, false, false, false); GerritTrigger trigger = mock(GerritTrigger.class); when(trigger.getSkipVote()).thenReturn(skipVote); when(project.getTrigger(eq(GerritTrigger.class))).thenReturn(trigger); AbstractBuild build = mock(AbstractBuild.class); when(build.getProject()).thenReturn(project); when(build.getResult()).thenReturn(Result.SUCCESS); instance.started(event, build); instance.completed(event, build); MemoryImprint memoryImprint = instance.getMemoryImprint(event); assertTrue(memoryImprint.wereAllBuildsSuccessful()); }
/** * Tests the retriggered method of the class {@link BuildMemory}. With two started builds and the * one to be retriggered as completed already in memory. */ @Test public void testRetriggeredExistingMemory() { PatchsetCreated event = Setup.createPatchsetCreated(); BuildMemory instance = new BuildMemory(); AbstractProject project = mock(AbstractProject.class); AbstractBuild build = mock(AbstractBuild.class); when(build.getProject()).thenReturn(project); AbstractProject project2 = mock(AbstractProject.class); AbstractBuild build2 = mock(AbstractBuild.class); when(build2.getProject()).thenReturn(project2); AbstractProject project3 = mock(AbstractProject.class); AbstractBuild build3 = mock(AbstractBuild.class); when(build3.getProject()).thenReturn(project3); instance.started(event, build); instance.completed(event, build2); instance.started(event, build3); instance.retriggered(event, project2, null); MemoryImprint memory = instance.getMemoryImprint(event); assertNotNull(memory); assertEquals(3, memory.getEntries().length); MemoryImprint.Entry entry = null; for (MemoryImprint.Entry e : memory.getEntries()) { if (e.getProject().equals(project2)) { entry = e; break; } } assertNotNull(entry); assertFalse(entry.isBuildCompleted()); }
/** test. */ @Test public void testGetBuildsStartedStats() { System.out.println("getBuildsStartedStats"); BuildMemory instance = new BuildMemory(); PatchsetCreated event = Setup.createPatchsetCreated(); instance.triggered(event, mock(AbstractProject.class)); AbstractBuild mock = mock(AbstractBuild.class); AbstractProject project = mock(AbstractProject.class); when(mock.getProject()).thenReturn(project); instance.started(event, mock); instance.triggered(event, mock(AbstractProject.class)); mock = mock(AbstractBuild.class); project = mock(AbstractProject.class); when(mock.getProject()).thenReturn(project); instance.started(event, mock); BuildsStartedStats result = instance.getBuildsStartedStats(event); assertEquals(event, result.getEvent()); // CS IGNORE MagicNumber FOR NEXT 3 LINES. REASON: mock. assertEquals(4, result.getTotalBuildsToStart()); assertEquals(2, result.getStartedBuilds()); assertEquals("(2/4)", result.toString()); }
/** test. */ @Test public void testIsAllBuildsCompletedBuildMemoryPatchSetKeyTrue() { System.out.println("isAllBuildsCompleted True"); PatchsetCreated event = Setup.createPatchsetCreated(); BuildMemory instance = new BuildMemory(); AbstractProject project = mock(AbstractProject.class); AbstractBuild build = mock(AbstractBuild.class); when(build.getProject()).thenReturn(project); instance.completed(event, build); project = mock(AbstractProject.class); build = mock(AbstractBuild.class); when(build.getProject()).thenReturn(project); instance.completed(event, build); boolean expResult = true; PatchSetKey key = new PatchSetKey(event.getChange().getNumber(), event.getPatchSet().getNumber()); boolean result = instance.isAllBuildsCompleted(key); assertEquals(expResult, result); }
/** * Tests a scenario when one build is successful, one is failed, and one is unstable, but the * failed and unstable builds are configured to be skipped. Expected outcome is that {@link * BuildMemory.MemoryImprint#wereAllBuildsSuccessful()} will return true. */ @Test public void testWereAllBuildsSuccessfulOneUnstableOneFailedBothSkippedOneSuccessful() { PatchsetCreated event = Setup.createPatchsetCreated(); BuildMemory instance = new BuildMemory(); AbstractProject project = mock(AbstractProject.class); SkipVote skipVote = new SkipVote(false, false, false, false); GerritTrigger trigger = mock(GerritTrigger.class); when(trigger.getSkipVote()).thenReturn(skipVote); when(project.getTrigger(eq(GerritTrigger.class))).thenReturn(trigger); AbstractBuild build = mock(AbstractBuild.class); when(build.getProject()).thenReturn(project); when(build.getResult()).thenReturn(Result.SUCCESS); instance.started(event, build); AbstractProject project2 = mock(AbstractProject.class); skipVote = new SkipVote(false, false, true, false); trigger = mock(GerritTrigger.class); when(trigger.getSkipVote()).thenReturn(skipVote); when(project2.getTrigger(eq(GerritTrigger.class))).thenReturn(trigger); AbstractBuild build2 = mock(AbstractBuild.class); when(build2.getProject()).thenReturn(project2); when(build2.getResult()).thenReturn(Result.UNSTABLE); instance.started(event, build2); AbstractProject project3 = mock(AbstractProject.class); skipVote = new SkipVote(false, true, true, false); trigger = mock(GerritTrigger.class); when(trigger.getSkipVote()).thenReturn(skipVote); when(project3.getTrigger(eq(GerritTrigger.class))).thenReturn(trigger); AbstractBuild build3 = mock(AbstractBuild.class); when(build3.getProject()).thenReturn(project3); when(build3.getResult()).thenReturn(Result.FAILURE); instance.started(event, build3); instance.completed(event, build); instance.completed(event, build2); instance.completed(event, build3); assertTrue(instance.getMemoryImprint(event).wereAllBuildsSuccessful()); }
/** Tests the isBuilding method of the class {@link BuildMemory}. With no memory. */ @Test public void testIsBuildingFalse() { PatchsetCreated event = Setup.createPatchsetCreated(); BuildMemory instance = new BuildMemory(); assertFalse(instance.isBuilding(event)); }