private void doRemoveRepository(final OrganizationalUnit orgUnit, final String alias, final ConfigGroup thisRepositoryConfig, final Consumer<Repository> notification) throws Exception { if (thisRepositoryConfig != null) { configurationService.removeConfiguration(thisRepositoryConfig); } final Repository repo = configuredRepositories.remove(orgUnit.getSpace(), alias); if (repo != null) { notification.accept(repo); Branch defaultBranch = repo.getDefaultBranch().orElseThrow(() -> new IllegalStateException("Repository should have at least one branch.")); ioService.delete(convert(defaultBranch.getPath()).getFileSystem().getPath(null)); } //Remove reference to Repository from Organizational Units for (Repository repository : orgUnit.getRepositories()) { if (repository.getAlias().equals(alias)) { organizationalUnitService.removeRepository(orgUnit, repository); metadataStore.delete(alias); } } }
final Repository repo = configuredRepositories.remove(alias); if (repo != null) { repositoryRemovedEvent.fire(new RepositoryRemovedEvent(repo));
@Test public void testRemoveSingle() throws Exception { final Path root = configuredRepositories.getRepositoryByRepositoryAlias(SPACE1, REPO1S1).getDefaultBranch().get().getPath(); assertNotNull(configuredRepositories.getRepositoryByRootPath(SPACE1, root)); assertNotNull(configuredRepositories.remove(SPACE1, REPO1S1)); assertFalse(configuredRepositories.containsAlias(SPACE1, REPO1S1)); assertNull(configuredRepositories.getRepositoryByRootPath(SPACE1, root)); }
@Test public void testRemoveSingle() throws Exception { final Path root = configuredRepositories.getRepositoryByRepositoryAlias(SPACE1, REPO1S1).getDefaultBranch().get().getPath(); assertNotNull(configuredRepositories.getRepositoryByRootPath(SPACE1, root)); assertNotNull(configuredRepositories.remove(SPACE1, REPO1S1)); assertFalse(configuredRepositories.containsAlias(SPACE1, REPO1S1)); assertNull(configuredRepositories.getRepositoryByRootPath(SPACE1, root)); }
@Test public void testRemoveMultiBranch() throws Exception { final Branch devBranch = configuredRepositories.getRepositoryByRepositoryAlias(SPACE1, REPO2S1).getBranch("dev").get(); assertNotNull(configuredRepositories.getRepositoryByRootPath(SPACE1, devBranch.getPath())); assertNotNull(configuredRepositories.remove(SPACE1, REPO2S1)); assertFalse(configuredRepositories.containsAlias(SPACE1, REPO2S1)); assertNull(configuredRepositories.getRepositoryByRootPath(SPACE1, devBranch.getPath())); }
@Test public void testRemoveMultiBranch() throws Exception { final Branch devBranch = configuredRepositories.getRepositoryByRepositoryAlias(SPACE1, REPO2S1).getBranch("dev").get(); assertNotNull(configuredRepositories.getRepositoryByRootPath(SPACE1, devBranch.getPath())); assertNotNull(configuredRepositories.remove(SPACE1, REPO2S1)); assertFalse(configuredRepositories.containsAlias(SPACE1, REPO2S1)); assertNull(configuredRepositories.getRepositoryByRootPath(SPACE1, devBranch.getPath())); }
@Test public void testRemoveSingle() throws Exception { final Path root = configuredRepositories.getRepositoryByRepositoryAlias("single").getRoot(); assertNotNull(configuredRepositories.getRepositoryByRootPath(root)); assertNotNull(configuredRepositories.remove("single")); assertFalse(configuredRepositories.containsAlias("single")); assertNull(configuredRepositories.getRepositoryByRootPath(root)); }
@Test public void testRemoveMultiBranch() throws Exception { final Path devRoot = configuredRepositories.getRepositoryByRepositoryAlias("multibranch").getBranchRoot("dev"); assertNotNull(configuredRepositories.getRepositoryByRootPath(devRoot)); assertNotNull(configuredRepositories.remove("multibranch")); assertFalse(configuredRepositories.containsAlias("multibranch")); assertNull(configuredRepositories.getRepositoryByRootPath(devRoot)); }