@Override public Repository createRepository(final OrganizationalUnit organizationalUnit, final String scheme, final String alias, final RepositoryEnvironmentConfigurations repositoryEnvironmentConfigurations) throws RepositoryAlreadyExistsException { try { final Repository repository = createRepository(scheme, alias, repositoryEnvironmentConfigurations); if (organizationalUnit != null && repository != null) { organizationalUnitService.addRepository(organizationalUnit, repository); } metadataStore.write(alias, (String) repositoryEnvironmentConfigurations.getOrigin()); return repository; } catch (final Exception e) { logger.error("Error during create repository", e); throw ExceptionUtilities.handleException(e); } }
@Test public void repoConfigurationHasOriginAndAvoidIndex() throws Exception { service.importProjects(target); verify(repoService).createRepository(any(), any(), any(), configsCaptor.capture()); RepositoryEnvironmentConfigurations configs = configsCaptor.getValue(); assertEquals(target.toUri().toString(), assertValue(configs.getOrigin(), String.class)); assertEquals("true", configs.getConfigurationMap().get(AVOID_INDEX)); }
@Test public void testCloneNotManagedRepository() { when(view.isGitUrlEmpty()).thenReturn(false); when(repositoryPreferences.isOUMandatory()).thenReturn(false); when(view.getGitUrl()).thenReturn(REPO_URL); when(view.getName()).thenReturn(REPO_NAME); presenter.handleCloneClick(); verifyRepoCloned(true); verify(repoService, times(1)).createRepository(any(OrganizationalUnit.class), anyString(), anyString(), repositoryEnvironmentConfigurationsArgumentCaptor.capture()); final RepositoryEnvironmentConfigurations configurations = repositoryEnvironmentConfigurationsArgumentCaptor.getValue(); assertEquals(USERNAME, configurations.getUserName()); assertEquals(PASSWORD, configurations.getPassword()); assertEquals(REPO_URL, configurations.getOrigin()); }
@Test public void testCloneManagedRepository() { when(view.isGitUrlEmpty()).thenReturn(false); when(repositoryPreferences.isOUMandatory()).thenReturn(false); when(view.getGitUrl()).thenReturn(REPO_URL); when(view.getName()).thenReturn(REPO_NAME); presenter.handleCloneClick(); verifyRepoCloned(true); verify(repoService, times(1)).createRepository(any(OrganizationalUnit.class), anyString(), anyString(), repositoryEnvironmentConfigurationsArgumentCaptor.capture()); final RepositoryEnvironmentConfigurations configurations = repositoryEnvironmentConfigurationsArgumentCaptor.getValue(); assertEquals(USERNAME, configurations.getUserName()); assertEquals(PASSWORD, configurations.getPassword()); assertEquals(REPO_URL, configurations.getOrigin()); }
@Test public void createOnlyTwoRepositories() throws Exception { verify(repositoryService, times(2)).createRepository(any(OrganizationalUnit.class), eq(GitRepository.SCHEME.toString()), anyString(), configsCaptor.capture()); final List<RepositoryEnvironmentConfigurations> allValues = configsCaptor.getAllValues(); final Set<String> observedSubdirectories = new HashSet<>(); allValues.forEach(configs -> { assertEquals(NIOGIT_PATH, assertInstanceOf(configs.getOrigin(), String.class)); assertFalse(assertInstanceOf(configs.getInit(), Boolean.class)); assertFalse(assertInstanceOf(configs.getMirror(), Boolean.class)); final String subdirectory = assertInstanceOf(configs.getSubdirectory(), String.class); observedSubdirectories.add(subdirectory); @SuppressWarnings("unchecked") final List<String> branches = assertInstanceOf(configs.getBranches(), List.class); final List<String> expectedBranches; if (subdirectory.equals("legacyProject1")) { expectedBranches = Arrays.asList("legacyMasterBranch", "legacyDevBranch"); } else if (subdirectory.equals("legacyProject2")) { expectedBranches = Arrays.asList("legacyDevBranch"); } else { throw new AssertionError("Unrecognized subdirectory: " + subdirectory); } verify(service,times(2)).cleanupOrigin(any()); assertEquals("Unexpected branches for subdirectory " + subdirectory, new HashSet<>(expectedBranches), new HashSet<>(branches)); }); assertEquals(new HashSet<>(Arrays.asList("legacyProject1", "legacyProject2")), observedSubdirectories); }
@Test public void testCloneNotManagedRepository() { when(view.isGitUrlEmpty()).thenReturn(false); when(repositoryPreferences.isOUMandatory()).thenReturn(false); when(view.getGitUrl()).thenReturn(REPO_URL); when(view.getName()).thenReturn(REPO_NAME); when(view.isManagedRepository()).thenReturn(false); presenter.handleCloneClick(); verifyRepoCloned(true); verify(repoService, times(1)).createRepository(any(OrganizationalUnit.class), anyString(), anyString(), repositoryEnvironmentConfigurationsArgumentCaptor.capture()); final RepositoryEnvironmentConfigurations configurations = repositoryEnvironmentConfigurationsArgumentCaptor.getValue(); assertEquals(USERNAME, configurations.getUserName()); assertEquals(PASSWORD, configurations.getPassword()); assertEquals(REPO_URL, configurations.getOrigin()); assertFalse(configurations.isManaged()); }
@Test public void testCloneManagedRepository() { when(view.isGitUrlEmpty()).thenReturn(false); when(repositoryPreferences.isOUMandatory()).thenReturn(false); when(view.getGitUrl()).thenReturn(REPO_URL); when(view.getName()).thenReturn(REPO_NAME); when(view.isManagedRepository()).thenReturn(true); presenter.handleCloneClick(); verifyRepoCloned(true); verify(repoService, times(1)).createRepository(any(OrganizationalUnit.class), anyString(), anyString(), repositoryEnvironmentConfigurationsArgumentCaptor.capture()); final RepositoryEnvironmentConfigurations configurations = repositoryEnvironmentConfigurationsArgumentCaptor.getValue(); assertEquals(USERNAME, configurations.getUserName()); assertEquals(PASSWORD, configurations.getPassword()); assertEquals(REPO_URL, configurations.getOrigin()); assertTrue(configurations.isManaged()); }
observedConfig.getPassword()); assertEquals(repositoryURL, observedConfig.getOrigin());
@Test public void createOnlyTwoRepositories() throws Exception { verify(repositoryService, times(2)).createRepository(any(OrganizationalUnit.class), eq(GitRepository.SCHEME.toString()), anyString(), configsCaptor.capture()); final List<RepositoryEnvironmentConfigurations> allValues = configsCaptor.getAllValues(); final Set<String> observedSubdirectories = new HashSet<>(); allValues.forEach(configs -> { assertEquals(NIOGIT_PATH, assertInstanceOf(configs.getOrigin(), String.class)); assertFalse(assertInstanceOf(configs.getInit(), Boolean.class)); assertFalse(assertInstanceOf(configs.getMirror(), Boolean.class)); final String subdirectory = assertInstanceOf(configs.getSubdirectory(), String.class); observedSubdirectories.add(subdirectory); @SuppressWarnings("unchecked") final List<String> branches = assertInstanceOf(configs.getBranches(), List.class); final List<String> expectedBranches; if (subdirectory.equals("legacyProject1")) { expectedBranches = Arrays.asList("legacyMasterBranch", "legacyDevBranch"); } else if (subdirectory.equals("legacyProject2")) { expectedBranches = Arrays.asList("legacyDevBranch"); } else { throw new AssertionError("Unrecognized subdirectory: " + subdirectory); } verify(service,times(2)).cleanupOrigin(any()); assertEquals("Unexpected branches for subdirectory " + subdirectory, new HashSet<>(expectedBranches), new HashSet<>(branches)); }); assertEquals(new HashSet<>(Arrays.asList("legacyProject1", "legacyProject2")), observedSubdirectories); }
observedConfig.getPassword()); assertEquals(repositoryURL, observedConfig.getOrigin());
@Override public Repository createRepository(final OrganizationalUnit organizationalUnit, final String scheme, final String alias, final RepositoryEnvironmentConfigurations repositoryEnvironmentConfigurations, final Collection<Contributor> contributors) throws RepositoryAlreadyExistsException { try { repositoryEnvironmentConfigurations.setSpace(organizationalUnit.getName()); Space space = spacesAPI.getSpace(organizationalUnit.getName()); String newAlias = createFreshRepositoryAlias(alias, space); final Repository repository = createRepository(scheme, newAlias, new Space(organizationalUnit.getName()), repositoryEnvironmentConfigurations, contributors); if (organizationalUnit != null && repository != null) { organizationalUnitService.addRepository(organizationalUnit, repository); } metadataStore.write(newAlias, (String) repositoryEnvironmentConfigurations.getOrigin()); return repository; } catch (final Exception e) { logger.error("Error during create repository", e); throw ExceptionUtilities.handleException(e); } }
final RepositoryEnvironmentConfigurations configs = configsCaptor.getValue(); assertEquals(repoURL, configs.getOrigin()); assertNull(configs.getSubdirectory()); verify(projectService).resolveProject(repository);
final RepositoryEnvironmentConfigurations configs = configsCaptor.getValue(); assertEquals(repoURL, configs.getOrigin()); assertNull(configs.getSubdirectory()); verify(projectService).resolveProject(repository);
final RepositoryEnvironmentConfigurations configs = configsCaptor.getValue(); assertEquals(repoURL, configs.getOrigin()); assertEquals("example", configs.getSubdirectory());