Search in sources :

Example 6 with Folder

use of com.cloudbees.hudson.plugins.folder.Folder in project pipeline-aws-plugin by jenkinsci.

the class WithAWSStepTest method testStepWithFolderCredentials.

@Test
public void testStepWithFolderCredentials() throws Exception {
    String folderCredentialsId = "folders-aws-creds";
    // Create a folder with credentials in its store
    Folder folder = jenkinsRule.jenkins.createProject(Folder.class, "folder" + jenkinsRule.jenkins.getItems().size());
    CredentialsStore folderStore = this.getFolderStore(folder);
    StandardUsernamePasswordCredentials inFolderCredentials = new UsernamePasswordCredentialsImpl(CredentialsScope.GLOBAL, folderCredentialsId, "test-folder-creds", "folder-aws-access-key-id", "folder-aws-secret-access-key");
    folderStore.addCredentials(Domain.global(), inFolderCredentials);
    SystemCredentialsProvider.getInstance().save();
    List<String> credentialIds = new ArrayList<>();
    credentialIds.add(folderCredentialsId);
    WorkflowJob job = folder.createProject(WorkflowJob.class, "testStepWithFolderCredentials");
    job.setDefinition(new CpsFlowDefinition("" + "node {\n" + "  withAWS (credentials: '" + folderCredentialsId + "') {\n" + "    echo 'It works!'\n" + "  }\n" + "}\n", true));
    jenkinsRule.assertBuildStatusSuccess(job.scheduleBuild2(0));
}
Also used : StandardUsernamePasswordCredentials(com.cloudbees.plugins.credentials.common.StandardUsernamePasswordCredentials) CpsFlowDefinition(org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition) CredentialsStore(com.cloudbees.plugins.credentials.CredentialsStore) ArrayList(java.util.ArrayList) Folder(com.cloudbees.hudson.plugins.folder.Folder) AbstractFolder(com.cloudbees.hudson.plugins.folder.AbstractFolder) UsernamePasswordCredentialsImpl(com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl) WorkflowJob(org.jenkinsci.plugins.workflow.job.WorkflowJob) Test(org.junit.Test)

Example 7 with Folder

use of com.cloudbees.hudson.plugins.folder.Folder in project pipeline-aws-plugin by jenkinsci.

the class WithAWSStepTest method testListCredentials.

@Test
public void testListCredentials() throws Exception {
    Folder folder = jenkinsRule.jenkins.createProject(Folder.class, "folder" + jenkinsRule.jenkins.getItems().size());
    CredentialsStore folderStore = this.getFolderStore(folder);
    StandardUsernamePasswordCredentials folderCredentials = new UsernamePasswordCredentialsImpl(CredentialsScope.GLOBAL, "folder-creds", "test-creds", "aws-access-key-id", "aws-secret-access-key");
    StandardUsernamePasswordCredentials globalCredentials = new UsernamePasswordCredentialsImpl(CredentialsScope.GLOBAL, "global-creds", "test-creds", "aws-access-key-id", "aws-secret-access-key");
    folderStore.addCredentials(Domain.global(), folderCredentials);
    SystemCredentialsProvider.getInstance().getCredentials().add(globalCredentials);
    SystemCredentialsProvider.getInstance().save();
    WorkflowJob job = folder.createProject(WorkflowJob.class, "testStepWithFolderCredentials");
    final WithAWSStep.DescriptorImpl descriptor = jenkinsRule.jenkins.getDescriptorByType(WithAWSStep.DescriptorImpl.class);
    // 3 options: Root credentials, folder credentials and "none"
    ListBoxModel list = descriptor.doFillCredentialsItems(job);
    Assert.assertEquals(3, list.size());
    StandardUsernamePasswordCredentials systemCredentials = new UsernamePasswordCredentialsImpl(CredentialsScope.SYSTEM, "system-creds", "test-creds", "aws-access-key-id", "aws-secret-access-key");
    SystemCredentialsProvider.getInstance().getCredentials().add(systemCredentials);
    // Still 3 options: Root credentials, folder credentials and "none"
    list = descriptor.doFillCredentialsItems(job);
    Assert.assertEquals(3, list.size());
}
Also used : StandardUsernamePasswordCredentials(com.cloudbees.plugins.credentials.common.StandardUsernamePasswordCredentials) CredentialsStore(com.cloudbees.plugins.credentials.CredentialsStore) Folder(com.cloudbees.hudson.plugins.folder.Folder) AbstractFolder(com.cloudbees.hudson.plugins.folder.AbstractFolder) UsernamePasswordCredentialsImpl(com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl) WorkflowJob(org.jenkinsci.plugins.workflow.job.WorkflowJob) ListBoxModel(hudson.util.ListBoxModel) Test(org.junit.Test)

Example 8 with Folder

use of com.cloudbees.hudson.plugins.folder.Folder in project vsphere-cloud-plugin by jenkinsci.

the class vSphereCloud method findAllVsphereClouds.

public static List<vSphereCloud> findAllVsphereClouds(String jobName) {
    List<vSphereCloud> vSphereClouds = new ArrayList<vSphereCloud>();
    String[] path = new String[0];
    Folder prevFolder = null;
    if (Stapler.getCurrentRequest() != null) {
        path = Stapler.getCurrentRequest().getRequestURI().split("/");
    } else if (jobName != null) {
        path = jobName.split("/");
    }
    for (String item : path) {
        if (item.equals("job") || item.equals("jenkins"))
            continue;
        TopLevelItem topLevelItem = null;
        if (prevFolder == null) {
            topLevelItem = Jenkins.getActiveInstance().getItem(item);
        } else {
            Collection<TopLevelItem> items = prevFolder.getItems();
            for (TopLevelItem levelItem : items) {
                if (levelItem.getName().endsWith(item)) {
                    topLevelItem = levelItem;
                }
            }
        }
        if (topLevelItem != null && topLevelItem instanceof Folder) {
            extractClouds(vSphereClouds, (Folder) topLevelItem);
        }
    }
    for (Cloud cloud : Jenkins.getInstance().clouds) {
        if (cloud instanceof vSphereCloud) {
            vSphereClouds.add((vSphereCloud) cloud);
        }
    }
    return vSphereClouds;
}
Also used : Cloud(hudson.slaves.Cloud) ArrayList(java.util.ArrayList) Folder(com.cloudbees.hudson.plugins.folder.Folder)

Example 9 with Folder

use of com.cloudbees.hudson.plugins.folder.Folder in project support-core-plugin by jenkinsci.

the class SupportAbstractItemActionTest method generateFolderBundleDefaultsAndCheckContent.

/*
     * Integration test that simulates the user action of clicking the button to generate the bundle from a Folder.
     */
@Test
public void generateFolderBundleDefaultsAndCheckContent() throws Exception {
    Folder folder = j.createProject(Folder.class, "testFolder");
    Folder subFolder = folder.createProject(Folder.class, "subFolder");
    subFolder.createProject(FreeStyleProject.class, "testFreestyle");
    // Check that the generation does not show any warnings
    ZipFile z = SupportTestUtils.generateBundleWithoutWarnings(folder.getUrl(), new SupportAbstractItemAction(j.jenkins.getItemByFullName("testFolder", Folder.class)), SupportPlugin.class, j.createWebClient());
    String itemEntryPrefix = "items/testFolder";
    assertNotNull(z.getEntry("manifest.md"));
    assertNotNull(z.getEntry(itemEntryPrefix + "/config.xml"));
    assertNull("'**/jobs/**' should be excluded by default", z.getEntry(itemEntryPrefix + "/jobs/subFolder/jobs/testFreestyle/config.xml"));
}
Also used : ZipFile(java.util.zip.ZipFile) Folder(com.cloudbees.hudson.plugins.folder.Folder) Test(org.junit.Test)

Example 10 with Folder

use of com.cloudbees.hudson.plugins.folder.Folder in project pipeline-aws-plugin by jenkinsci.

the class WithAWSStepTest method testListAWSCredentials.

@Test
public void testListAWSCredentials() throws Exception {
    Folder folder = jenkinsRule.jenkins.createProject(Folder.class, "folder" + jenkinsRule.jenkins.getItems().size());
    CredentialsStore folderStore = this.getFolderStore(folder);
    AmazonWebServicesCredentials amazonWebServicesCredentials = new AWSCredentialsImpl(CredentialsScope.GLOBAL, "test-aws-creds", "global-aws-access-key-id", "global-aws-secret-access-key", "Aws-Description", "Arn::Something:or:Other", "12345678");
    AmazonWebServicesCredentials globalAmazonWebServicesCredentials = new AWSCredentialsImpl(CredentialsScope.GLOBAL, "global-test-aws-creds", "global-aws-access-key-id", "global-aws-secret-access-key", "Aws-Description", "Arn::Something:or:Other", "12345678");
    folderStore.addCredentials(Domain.global(), amazonWebServicesCredentials);
    SystemCredentialsProvider.getInstance().getCredentials().add(globalAmazonWebServicesCredentials);
    SystemCredentialsProvider.getInstance().save();
    WorkflowJob job = folder.createProject(WorkflowJob.class, "testStepWithFolderCredentials");
    final WithAWSStep.DescriptorImpl descriptor = jenkinsRule.jenkins.getDescriptorByType(WithAWSStep.DescriptorImpl.class);
    // 3 options: Root credentials, folder credentials and "none"
    ListBoxModel list = descriptor.doFillCredentialsItems(job);
    Assert.assertEquals(3, list.size());
    StandardUsernamePasswordCredentials systemCredentials = new UsernamePasswordCredentialsImpl(CredentialsScope.SYSTEM, "system-creds", "test-creds", "aws-access-key-id", "aws-secret-access-key");
    SystemCredentialsProvider.getInstance().getCredentials().add(systemCredentials);
    // Still 3 options: Root credentials, folder credentials and "none"
    list = descriptor.doFillCredentialsItems(job);
    Assert.assertEquals(3, list.size());
}
Also used : StandardUsernamePasswordCredentials(com.cloudbees.plugins.credentials.common.StandardUsernamePasswordCredentials) AWSCredentialsImpl(com.cloudbees.jenkins.plugins.awscredentials.AWSCredentialsImpl) CredentialsStore(com.cloudbees.plugins.credentials.CredentialsStore) Folder(com.cloudbees.hudson.plugins.folder.Folder) AbstractFolder(com.cloudbees.hudson.plugins.folder.AbstractFolder) AmazonWebServicesCredentials(com.cloudbees.jenkins.plugins.awscredentials.AmazonWebServicesCredentials) WorkflowJob(org.jenkinsci.plugins.workflow.job.WorkflowJob) UsernamePasswordCredentialsImpl(com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl) ListBoxModel(hudson.util.ListBoxModel) Test(org.junit.Test)

Aggregations

Folder (com.cloudbees.hudson.plugins.folder.Folder)12 Test (org.junit.Test)10 AbstractFolder (com.cloudbees.hudson.plugins.folder.AbstractFolder)5 CredentialsStore (com.cloudbees.plugins.credentials.CredentialsStore)5 WorkflowJob (org.jenkinsci.plugins.workflow.job.WorkflowJob)5 FreeStyleProject (hudson.model.FreeStyleProject)4 ArrayList (java.util.ArrayList)4 AWSCredentialsImpl (com.cloudbees.jenkins.plugins.awscredentials.AWSCredentialsImpl)3 AmazonWebServicesCredentials (com.cloudbees.jenkins.plugins.awscredentials.AmazonWebServicesCredentials)3 StandardUsernamePasswordCredentials (com.cloudbees.plugins.credentials.common.StandardUsernamePasswordCredentials)3 UsernamePasswordCredentialsImpl (com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl)3 CpsFlowDefinition (org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition)3 Role (com.michelin.cio.hudson.plugins.rolestrategy.Role)2 RoleBasedAuthorizationStrategy (com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy)2 Computer (hudson.model.Computer)2 Job (hudson.model.Job)2 User (hudson.model.User)2 AuthorizationStrategy (hudson.security.AuthorizationStrategy)2 ListBoxModel (hudson.util.ListBoxModel)2 Set (java.util.Set)2