Skip to content

Commit

Permalink
Merge pull request #352 from fcojfernandez/JENKINS-46564
Browse files Browse the repository at this point in the history
[JENKINS-46564] Added acceptance test for custom configurations files
  • Loading branch information
olivergondza committed Oct 2, 2017
2 parents c449663 + d75cabb commit 6af8179
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions src/test/java/plugins/ConfigFileProviderTest.java
Expand Up @@ -3,6 +3,7 @@
import org.jenkinsci.test.acceptance.junit.AbstractJUnitTest;
import org.jenkinsci.test.acceptance.junit.WithPlugins;
import org.jenkinsci.test.acceptance.plugins.config_file_provider.ConfigFileProvider;
import org.jenkinsci.test.acceptance.plugins.config_file_provider.CustomConfig;
import org.jenkinsci.test.acceptance.plugins.config_file_provider.MavenSettingsConfig;
import org.jenkinsci.test.acceptance.plugins.config_file_provider.ServerCredentialMapping;
import org.jenkinsci.test.acceptance.plugins.credentials.CredentialsPage;
Expand All @@ -26,6 +27,8 @@ public class ConfigFileProviderTest extends AbstractJUnitTest {
private static final String CRED_USR = "fakeUser";
private static final String CRED_PWD = "fakePass";
private static final String SERVER_ID = "fakeServer";
private static final String CUSTOM_CONF_CONTENT = "test_custom_content for custom file";


@Before
public void setup() {
Expand Down Expand Up @@ -91,4 +94,36 @@ private String createPipelineAndGetConsole(final MavenSettingsConfig mvnConfig)
return b.getConsole();
}

@Test
public void testCustomConfigFile() {
final CustomConfig customConfig = this.createCustomConfig();
final String jobLog = this.createPipelineAndGetConsole(customConfig);

assertThat(jobLog, containsString(CUSTOM_CONF_CONTENT));
}

private CustomConfig createCustomConfig() {
final CustomConfig customConfig = new ConfigFileProvider(jenkins).addFile(CustomConfig.class);

customConfig.content(CUSTOM_CONF_CONTENT);

customConfig.save();
return customConfig;
}

private String createPipelineAndGetConsole(final CustomConfig customConfig) {
final WorkflowJob job = jenkins.jobs.create(WorkflowJob.class);
job.script.set(String.format("node {\n" +
" configFileProvider(\n" +
" [configFile(fileId: '%s', variable: 'CUSTOM_SETTINGS')]) {\n" +
" \n" +
" sh 'cat $CUSTOM_SETTINGS '\n" +
" }\n" +
"}", customConfig.id()));

job.save();

final Build b = job.startBuild().shouldSucceed();
return b.getConsole();
}
}

0 comments on commit 6af8179

Please sign in to comment.