@Test public void testPipelinePromotion() throws Exception { withApps( 2, new AppsRunnable() { public void run(App[] apps) throws Exception { final String upstream = apps[0].getName(); final String downstream = apps[1].getName(); final List<String> noDownstreams = janvil.downstreams(upstream); assertEquals(noDownstreams.size(), 0); janvil.addDownstream(upstream, downstream); final List<String> oneDownstream = janvil.downstreams(upstream); assertEquals(oneDownstream.size(), 1); assertEquals(oneDownstream.get(0), downstream); final List<String> noDiff = janvil.diffDownstream(upstream); assertEquals(noDiff.size(), 0); final String commitHead = "1234567"; janvil.release(upstream, SLUG_NO_PROCFILE, "testPipelinePromotion", commitHead); final List<String> oneDiff = janvil.diffDownstream(upstream); assertEquals(oneDiff.size(), 1); assertEquals(oneDiff.get(0), commitHead); janvil.promote(upstream); final List<String> noDiffAfterPromote = janvil.diffDownstream(upstream); assertEquals(noDiffAfterPromote.size(), 0); janvil.removeDownstream(upstream, downstream); final List<String> noDownstreamsAgain = janvil.downstreams(upstream); assertEquals(noDownstreamsAgain.size(), 0); } }); }