@Test public void shouldApplyToBuilds() { Builds builds = new Builds(); b0.applyTo(builds); b1.applyTo(builds); assertBuildNames(builds, "build"); assertJobNames(builds.build("build"), "job"); assertEvents(builds.build("build").job("job").events, e1, e0); }
@Test public void testBreakNames() { Builds builds = new Builds(); builds.build("b0").job("j0").events(e0, e1, e2, e3, e4, e5, e6, e7); builds.build("b0").job("j1").events(); builds.build("b1").job("j0").events(e0, e3, e4); builds = BuildUtil.summarize(builds); Collection<String> names = BuildUtil.summarizedBreakNames(builds); assertCollection(names, "c1", "c2", "c3", "d1"); }
@Test public void testCountEvents() { Builds builds = new Builds(); builds.build("b0").job("j0").events(e0, e1); assertThat(BuildUtil.countEvents(builds), is(2)); builds.build("b0").job("j1").events(e2); assertThat(BuildUtil.countEvents(builds), is(3)); builds.build("b1").job("j0").events(e0); assertThat(BuildUtil.countEvents(builds), is(4)); }
@Test public void shouldUpdateWithCurrentBuildsIfNoBuildsSpecified() { Builds builds = new Builds(); builds.build("b0").job("j0").events(e0); BuildAnalyzer ba = new BuildAnalyzer(); ba.update(builds); ba.update(); Collection<AnalyzedJob> ajs = ba.analyzedJobs(); assertThat(ajs.size(), is(1)); AnalyzedJob aj = ajs.iterator().next(); assertTrue(aj.justBroken.isEmpty()); assertTrue(aj.justFixed.isEmpty()); assertThat(aj.stillBroken.size(), is(1)); Job job = aj.stillBroken.iterator().next(); Job j0 = new Job("j0"); j0.events(e0); assertThat(job, is(j0)); }
@Test public void shouldUpdateAnalyzedJobs() { Builds builds = new Builds(); BuildAnalyzer ba = new BuildAnalyzer(); builds.build("b0").job("j0").events(e0); ba.update(builds); assertCollection(ba.analyzedJobs(), new AnalyzedJob(builds.build("b0"), new Build("b0"))); Builds builds2 = new Builds(builds); builds2.build("b0").job("j0").events(e1); ba.update(builds2); assertCollection(ba.analyzedJobs(), new AnalyzedJob(builds2.build("b0"), builds.build("b0"))); }
@Test public void testSummarize() { Builds builds = new Builds(); builds.build("b0").job("j0").events(e0, e1, e2, e3, e4, e5, e6, e7); builds.build("b0").job("j1").events(); builds.build("b1").job("j0").events(e0, e3, e4); builds = BuildUtil.summarize(builds); assertBuildNames(builds.builds, "b0", "b1"); assertJobNames(builds.build("b0").jobs, "j0", "j1"); assertJobNames(builds.build("b1").jobs, "j0"); assertIterable( builds.build("b0").job("j0").events, new Event(Event.Type.success, 6L), new Event(Event.Type.failure, 3L, "c1", "c2", "c3", "d1", "e1", "e2", "e3", "e4")); assertTrue(builds.build("b0").job("j1").events.isEmpty()); assertIterable( builds.build("b1").job("j0").events, new Event(Event.Type.failure, 0L, "c1", "c2", "c3", "d1")); }