use of com.cloudbees.plugins.credentials.domains.Domain in project blueocean-plugin by jenkinsci.
the class CredentialApiTest method listCredentials.
@Test
public void listCredentials() throws IOException {
SystemCredentialsProvider.ProviderImpl system = ExtensionList.lookup(CredentialsProvider.class).get(SystemCredentialsProvider.ProviderImpl.class);
CredentialsStore systemStore = system.getStore(j.getInstance());
systemStore.addDomain(new Domain("domain1", null, null));
systemStore.addCredentials(systemStore.getDomainByName("domain1"), new UsernamePasswordCredentialsImpl(CredentialsScope.GLOBAL, null, null, "admin", "pass$wd"));
CredentialsStoreAction credentialsStoreAction = ExtensionList.lookup(ViewCredentialsAction.class).get(0).getStore("system");
CredentialsStoreAction.DomainWrapper domainWrapper = credentialsStoreAction.getDomain("domain1");
CredentialsStoreAction.CredentialsWrapper credentialsWrapper = domainWrapper.getCredentialsList().get(0);
List<Map> creds = get("/organizations/jenkins/credentials/system/domains/domain1/credentials/", List.class);
Assert.assertEquals(1, creds.size());
Map cred = creds.get(0);
Assert.assertNotNull(cred.get("id"));
Map cred1 = get("/organizations/jenkins/credentials/system/domains/domain1/credentials/" + cred.get("id") + "/");
Assert.assertEquals(credentialsWrapper.getId(), cred1.get("id"));
Assert.assertEquals(credentialsWrapper.getTypeName(), cred1.get("typeName"));
Assert.assertEquals(credentialsWrapper.getDisplayName(), cred1.get("displayName"));
Assert.assertEquals(credentialsWrapper.getFullName(), cred1.get("fullName"));
Assert.assertEquals(String.format("%s:%s:%s", credentialsWrapper.getDisplayName(), credentialsWrapper.getDomain().getUrlName(), credentialsWrapper.getTypeName()), cred1.get("description"));
Assert.assertEquals(credentialsWrapper.getDomain().getUrlName(), cred1.get("domain"));
}
use of com.cloudbees.plugins.credentials.domains.Domain in project blueocean-plugin by jenkinsci.
the class CredentialApiTest method listAllCredentials.
@Test
public void listAllCredentials() throws IOException {
SystemCredentialsProvider.ProviderImpl system = ExtensionList.lookup(CredentialsProvider.class).get(SystemCredentialsProvider.ProviderImpl.class);
CredentialsStore systemStore = system.getStore(j.getInstance());
systemStore.addDomain(new Domain("domain1", null, null));
systemStore.addDomain(new Domain("domain2", null, null));
systemStore.addCredentials(systemStore.getDomainByName("domain1"), new UsernamePasswordCredentialsImpl(CredentialsScope.GLOBAL, null, null, "admin", "pass$wd"));
systemStore.addCredentials(systemStore.getDomainByName("domain2"), new UsernamePasswordCredentialsImpl(CredentialsScope.GLOBAL, null, null, "joe", "pass$wd"));
CredentialsStoreAction credentialsStoreAction = ExtensionList.lookup(ViewCredentialsAction.class).get(0).getStore("system");
CredentialsStoreAction.DomainWrapper domain1 = credentialsStoreAction.getDomain("domain1");
CredentialsStoreAction.DomainWrapper domain2 = credentialsStoreAction.getDomain("domain2");
CredentialsStoreAction.CredentialsWrapper credentials1 = domain1.getCredentialsList().get(0);
CredentialsStoreAction.CredentialsWrapper credentials2 = domain2.getCredentialsList().get(0);
List<Map> creds = get("/search?q=type:credential;organization:jenkins", List.class);
Assert.assertEquals(2, creds.size());
Assert.assertEquals(credentials1.getId(), creds.get(0).get("id"));
Assert.assertEquals(credentials2.getId(), creds.get(1).get("id"));
creds = get("/search?q=type:credential;organization:jenkins;domain:domain2", List.class);
Assert.assertEquals(1, creds.size());
Assert.assertEquals(credentials2.getId(), creds.get(0).get("id"));
}
use of com.cloudbees.plugins.credentials.domains.Domain in project blueocean-plugin by jenkinsci.
the class CredentialApiTest method createSshCredentialUsingDirectSsh.
@Test
public void createSshCredentialUsingDirectSsh() throws IOException {
SystemCredentialsProvider.ProviderImpl system = ExtensionList.lookup(CredentialsProvider.class).get(SystemCredentialsProvider.ProviderImpl.class);
CredentialsStore systemStore = system.getStore(j.getInstance());
systemStore.addDomain(new Domain("domain1", null, null));
Map<String, Object> resp = post("/organizations/jenkins/credentials/system/domains/domain1/credentials/", MapsHelper.of("credentials", new MapsHelper.Builder<String, Object>().put("privateKeySource", MapsHelper.of("privateKey", "abcabc1212", "stapler-class", "com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey$DirectEntryPrivateKeySource")).put("passphrase", "ssh2").put("scope", "GLOBAL").put("description", "ssh2 desc").put("$class", "com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey").put("username", "ssh2").build()), 201);
Assert.assertEquals("SSH Username with private key", resp.get("typeName"));
Assert.assertEquals("domain1", resp.get("domain"));
}
use of com.cloudbees.plugins.credentials.domains.Domain in project blueocean-plugin by jenkinsci.
the class CredentialsUtils method createCredentialsInUserStore.
public static void createCredentialsInUserStore(@Nonnull Credentials credential, @Nonnull User user, @Nonnull String domainName, @Nonnull List<DomainSpecification> domainSpecifications) throws IOException {
CredentialsStore store = findUserStoreFirstOrNull(user);
if (store == null) {
throw new ServiceException.ForbiddenException(String.format("Logged in user: %s doesn't have writable credentials store", user.getId()));
}
Domain domain = findOrCreateDomain(store, domainName, domainSpecifications);
if (!store.addCredentials(domain, credential)) {
throw new ServiceException.UnexpectedErrorException("Failed to add credential to domain");
}
}
use of com.cloudbees.plugins.credentials.domains.Domain in project blueocean-plugin by jenkinsci.
the class CredentialsUtils method updateCredentialsInUserStore.
public static void updateCredentialsInUserStore(@Nonnull Credentials current, @Nonnull Credentials replacement, @Nonnull User user, @Nonnull String domainName, @Nonnull List<DomainSpecification> domainSpecifications) throws IOException {
CredentialsStore store = findUserStoreFirstOrNull(user);
if (store == null) {
throw new ServiceException.ForbiddenException(String.format("Logged in user: %s doesn't have writable credentials store", user.getId()));
}
Domain domain = findOrCreateDomain(store, domainName, domainSpecifications);
if (!store.updateCredentials(domain, current, replacement)) {
throw new ServiceException.UnexpectedErrorException("Failed to update credential to domain");
}
}
Aggregations