/** * This method checks whether repository with supplied name exists or not, and creates new if required. */ private static String createNewRepository(Artifactory artifactory, String repoName) { if (artifactory == null || StringUtils.isEmpty(repoName)){ throw new IllegalArgumentException("Arguments passed to createNewRepository are not valid"); } List<LightweightRepository> repoList = artifactory.repositories().list(LOCAL); Set<String> repoNamesList = repoList.stream() .map(LightweightRepository::getKey) .collect(Collectors.toSet()); String creationResult = null; if ( repoNamesList != null && !(repoNamesList.contains(repoName)) ){ GenericRepositorySettingsImpl settings = new GenericRepositorySettingsImpl(); Repository repository = artifactory.repositories() .builders() .localRepositoryBuilder() .key(repoName) .description("new example local repository") .repositorySettings(settings) .build(); creationResult = artifactory.repositories().create(1, repository); } return creationResult; }
@Test(dependsOnMethods = "testCreate") public void testUpdate() throws Exception { RepositorySettings genericRepo = new MavenRepositorySettingsImpl(); LocalRepository changedRepository = artifactory.repositories().builders().builderFrom(localRepository) .description("new_description") .repositorySettings(genericRepo) .build(); artifactory.repositories().update(changedRepository); assertTrue(curlAndStrip("api/repositories/" + localRepository.getKey()).contains("\"description\":\"new_description\"")); }
/** * We have not ability to create certificate through java client. * @TODOs Remove `(enabled = false)`. Create certificate with name "clientTlsCertificate". */ @Test(enabled = false) public void testClientTlsCertificate() throws Exception { String clientTlsCertificate = "clientTlsCertificate"; RemoteRepository changedRepository = artifactory.repositories().builders().builderFrom(remoteRepository) .description("create remote repo with clientTlsCertificate") .clientTlsCertificate(clientTlsCertificate) .build(); artifactory.repositories().create(1, changedRepository); RemoteRepository repository = (RemoteRepository) artifactory.repository(changedRepository.getKey()).get(); assertNotNull(repository); assertEquals(repository.getClientTlsCertificate(), clientTlsCertificate); }
@Test public void testListRemotes() throws Exception { List<LightweightRepository> remoteRepositories = artifactory.repositories().list(REMOTE); assertNotNull(remoteRepositories); String expected = curlAndStrip("api/repositories/?type=remote"); assertEquals(remoteRepositories.size(), countMatches(expected, "{")); LightweightRepository repo = remoteRepositories.get(0); assertNotNull(repo); assertTrue(LightweightRepository.class.isAssignableFrom(repo.getClass())); assertTrue(expected.substring(9).startsWith(repo.getKey())); assertEquals(repo.getType().toString(), "remote"); assertFalse(repo.getUrl().startsWith(url)); }
@BeforeClass protected void setUp() throws Exception { localRepository2 = artifactory.repositories().builders().localRepositoryBuilder() .key(localRepository.getKey() + "2") .build(); remoteRepository = artifactory.repositories().builders().remoteRepositoryBuilder() .key("remote-" + localRepository.getKey()) .url("http://test.com/") .repositorySettings(new GenericRepositorySettingsImpl()) .build(); virtualRepository = artifactory.repositories().builders().virtualRepositoryBuilder() .key(NEW_VIRTUAL) .repositories(Arrays.asList(localRepository.getKey(), localRepository2.getKey(), getJCenterRepoName())) .build(); }
@Test(groups = "repositoryBasics", dependsOnMethods = "testDelete") public void testCreate() throws Exception { String result = artifactory.repositories().create(2, localRepository); assertTrue(result.startsWith("Successfully created repository")); assertTrue(curl(LIST_PATH).contains(localRepository.getKey())); result = artifactory.repositories().create(2, localRepository2); assertTrue(result.startsWith("Successfully created repository")); assertTrue(curl(LIST_PATH).contains(localRepository2.getKey())); result = artifactory.repositories().create(2, virtualRepository); assertTrue(result.startsWith("Successfully created repository")); assertTrue(curl(LIST_PATH).contains(virtualRepository.getKey())); }
/** * Tests whether the builder sets the bypassHead request correctly (true) */ @Test public void testRemoteRepoBypassHead() throws Exception { RemoteRepository changedRepository = artifactory.repositories().builders().builderFrom(remoteRepository) .key("testRemoteRepoBypassHead") .description("create remote repo with bypassHead=true") .bypassHeadRequests(true) .build(); artifactory.repositories().create(1, changedRepository); RemoteRepository repository = (RemoteRepository) artifactory.repository(changedRepository.getKey()).get(); assertNotNull(repository); assertEquals(repository.isBypassHeadRequests(), true); }
@Test public void testListVirtuals() throws Exception { List<LightweightRepository> virtualRepositories = artifactory.repositories().list(VIRTUAL); assertEquals(virtualRepositories.size(), countMatches(curl("api/repositories?type=virtual"), "{")); for (LightweightRepository virtualRepository : virtualRepositories) { assertTrue(virtualRepository.getUrl().startsWith(url)); assertEquals(virtualRepository.getType().toString(), "virtual"); } }
LocalRepository expectedRepo = artifactory.repositories().builders().localRepositoryBuilder() .key("key").repositorySettings(expectedSettings).xraySettings(expectedXray).build(); assertEquals(expectedXray.hashCode(), otherXray.hashCode()); LocalRepository otherRepo = artifactory.repositories().builders().localRepositoryBuilder() .key("key").repositorySettings(otherSettings).xraySettings(otherXray).build();
/** * Tests whether the builder sets the bypassHead request correctly (false) */ @Test public void testRemoteRepoNotBypassHead() throws Exception { RemoteRepository changedRepository = artifactory.repositories().builders().builderFrom(remoteRepository) .description("create remote repo with bypassHead=false") .key("testRemoteRepoNotBypassHead") .bypassHeadRequests(false) .build(); artifactory.repositories().create(1, changedRepository); RemoteRepository repository = (RemoteRepository) artifactory.repository(changedRepository.getKey()).get(); assertNotNull(repository); assertEquals(repository.isBypassHeadRequests(), false); }
@Test(dependsOnMethods = "testCreate")// to be sure number of repos match public void testListLocals() throws Exception { List<LightweightRepository> localRepositories = artifactory.repositories().list(LOCAL); String expected = curl("api/repositories?type=local"); assertEquals(localRepositories.size(), countMatches(expected, "{")); for (LightweightRepository localRepository : localRepositories) { assertTrue(localRepository.getUrl().startsWith(url)); assertEquals(localRepository.getType().toString(), "local"); } }
private void setupLocalRepo(String repoName) { try { RepositorySettings genericRepo = new GenericRepositorySettingsImpl(); // make sure the local repo exists LocalRepository localRepository = artifactory.repositories().builders().localRepositoryBuilder() .key(repoName) .description("new local repository") .repositorySettings(genericRepo) .build(); artifactory.repositories().create(2, localRepository); } catch (Exception e) { //noinspection ConstantConditions if (!(e instanceof HttpResponseException) || !(((HttpResponseException) e).getStatusCode() == 404 || ((HttpResponseException) e).getStatusCode() == 405)) { throw e; } } }
deleteRepoIfExists(localRepositoryKey); deleteRepoIfExists(getJCenterRepoName()); localRepository = artifactory.repositories().builders().localRepositoryBuilder() .key(localRepositoryKey) .description("new local repository") artifactory.repositories().create(1, localRepository); Repository jcenter = artifactory.repositories().builders().remoteRepositoryBuilder() .key(jcenterRepoName) .url(JCENTER_URL) .repositorySettings(new MavenRepositorySettingsImpl()) .build(); artifactory.repositories().create(1, jcenter);