/** Hack to deploy addon in an immutable repository */ private static void deployAddonInImmutableRepository( AddonId addonId, AddonRepository repository) { Furnace furnace = new FurnaceImpl(); furnace.addRepository(AddonRepositoryMode.MUTABLE, repository.getRootDirectory()); AddonManagerImpl addonManager = new AddonManagerImpl(furnace, new MavenAddonDependencyResolver()); addonManager.deploy(addonId).perform(); }
@SuppressWarnings("unchecked") @Test public void testUpdateOnImmutableRepository() throws Exception { AddonId no_dep = AddonId.from("test:no_dep", "1.0.0.Final"); AddonId no_dep_newer = AddonId.from("test:no_dep", "1.0.1.Final"); // Adding an addon in a immutable repo deployAddonInImmutableRepository(no_dep, immutable); InstallRequest newer = addonManager.install(no_dep_newer); List<? extends AddonActionRequest> actions = newer.getActions(); Assert.assertEquals(1, actions.size()); Assert.assertThat((List<DeployRequest>) actions, everyItem(isA(DeployRequest.class))); }