Search in sources :

Example 26 with CNode

use of io.jenkins.plugins.casc.model.CNode in project configuration-as-code-plugin by jenkinsci.

the class MavenConfiguratorTest method export_maven_tool.

@Test
@ConfiguredWithReadme("maven/README.md#0")
public void export_maven_tool() throws Exception {
    ConfiguratorRegistry registry = ConfiguratorRegistry.get();
    ConfigurationContext context = new ConfigurationContext(registry);
    CNode yourAttribute = getToolRoot(context).get("maven");
    String exported = toYamlString(yourAttribute);
    String expected = toStringFromYamlFile(this, "MavenConfiguratorTestExpected.yml");
    assertThat(exported, is(expected));
}
Also used : CNode(io.jenkins.plugins.casc.model.CNode) Util.toYamlString(io.jenkins.plugins.casc.misc.Util.toYamlString) Test(org.junit.Test) ConfiguredWithReadme(io.jenkins.plugins.casc.misc.ConfiguredWithReadme)

Example 27 with CNode

use of io.jenkins.plugins.casc.model.CNode in project configuration-as-code-plugin by jenkinsci.

the class MavenConfiguratorTest method export_maven_global_config.

@Test
@ConfiguredWithReadme("maven/README.md#1")
public void export_maven_global_config() throws Exception {
    ConfiguratorRegistry registry = ConfiguratorRegistry.get();
    ConfigurationContext context = new ConfigurationContext(registry);
    CNode yourAttribute = getToolRoot(context).get("mavenGlobalConfig");
    String exported = toYamlString(yourAttribute);
    String expected = toStringFromYamlFile(this, "MavenConfiguratorTestGlobalConfigExpected.yml");
    assertThat(exported, is(expected));
}
Also used : CNode(io.jenkins.plugins.casc.model.CNode) Util.toYamlString(io.jenkins.plugins.casc.misc.Util.toYamlString) Test(org.junit.Test) ConfiguredWithReadme(io.jenkins.plugins.casc.misc.ConfiguredWithReadme)

Example 28 with CNode

use of io.jenkins.plugins.casc.model.CNode in project configuration-as-code-plugin by jenkinsci.

the class RoleStrategyTest method shouldExportRolesCorrect.

@Test
@ConfiguredWithCode("RoleStrategy1.yml")
public void shouldExportRolesCorrect() throws Exception {
    ConfiguratorRegistry registry = ConfiguratorRegistry.get();
    ConfigurationContext context = new ConfigurationContext(registry);
    CNode yourAttribute = getJenkinsRoot(context).get("authorizationStrategy");
    String exported = toYamlString(yourAttribute);
    String expected = toStringFromYamlFile(this, "RoleStrategy1Expected.yml");
    assertThat(exported, is(expected));
}
Also used : CNode(io.jenkins.plugins.casc.model.CNode) Util.toYamlString(io.jenkins.plugins.casc.misc.Util.toYamlString) Test(org.junit.Test) ConfiguredWithCode(io.jenkins.plugins.casc.misc.ConfiguredWithCode)

Example 29 with CNode

use of io.jenkins.plugins.casc.model.CNode in project configuration-as-code-plugin by jenkinsci.

the class SbtTest method export_sbt_tool.

@Test
public void export_sbt_tool() throws Exception {
    ConfiguratorRegistry registry = ConfiguratorRegistry.get();
    ConfigurationContext context = new ConfigurationContext(registry);
    CNode yourAttribute = getToolRoot(context).get("sbtInstallation");
    String exported = toYamlString(yourAttribute);
    String expected = toStringFromYamlFile(this, "SbtTestExpected.yml");
    assertThat(exported, is(expected));
}
Also used : CNode(io.jenkins.plugins.casc.model.CNode) Util.toYamlString(io.jenkins.plugins.casc.misc.Util.toYamlString) Test(org.junit.Test)

Example 30 with CNode

use of io.jenkins.plugins.casc.model.CNode in project configuration-as-code-plugin by jenkinsci.

the class Security1446Test method testExportWithEnvVar.

@Test
@Issue("SECURITY-1446")
public void testExportWithEnvVar() throws Exception {
    final String message = "Hello, world! PATH=${PATH} JAVA_HOME=^${JAVA_HOME}";
    ConfiguratorRegistry registry = ConfiguratorRegistry.get();
    ConfigurationContext context = new ConfigurationContext(registry);
    DataBoundConfigurator<UsernamePasswordCredentialsImpl> configurator = new DataBoundConfigurator<>(UsernamePasswordCredentialsImpl.class);
    UsernamePasswordCredentialsImpl creds = new UsernamePasswordCredentialsImpl(CredentialsScope.GLOBAL, "test", message, "foo", "bar");
    final CNode config = configurator.describe(creds, context);
    final Node valueNode = ConfigurationAsCode.get().toYaml(config);
    final String exported;
    try (StringWriter writer = new StringWriter()) {
        ConfigurationAsCode.serializeYamlNode(valueNode, writer);
        exported = writer.toString();
    } catch (IOException e) {
        throw new YAMLException(e);
    }
    assertThat("Message was not escaped", exported, not(containsString(message)));
    assertThat("Improper masking for PATH", exported, containsString("^${PATH}"));
    assertThat("Improper masking for JAVA_HOME", exported, containsString("^^${JAVA_HOME}"));
}
Also used : CNode(io.jenkins.plugins.casc.model.CNode) StringWriter(java.io.StringWriter) DataBoundConfigurator(io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator) CNode(io.jenkins.plugins.casc.model.CNode) Node(org.yaml.snakeyaml.nodes.Node) YAMLException(org.yaml.snakeyaml.error.YAMLException) Matchers.containsString(org.hamcrest.Matchers.containsString) IOException(java.io.IOException) UsernamePasswordCredentialsImpl(com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl) Issue(org.jvnet.hudson.test.Issue) Test(org.junit.Test)

Aggregations

CNode (io.jenkins.plugins.casc.model.CNode)36 Test (org.junit.Test)30 ConfiguredWithCode (io.jenkins.plugins.casc.misc.ConfiguredWithCode)16 Util.toYamlString (io.jenkins.plugins.casc.misc.Util.toYamlString)15 ConfigurationContext (io.jenkins.plugins.casc.ConfigurationContext)13 ConfiguratorRegistry (io.jenkins.plugins.casc.ConfiguratorRegistry)13 Mapping (io.jenkins.plugins.casc.model.Mapping)12 Configurator (io.jenkins.plugins.casc.Configurator)9 Issue (org.jvnet.hudson.test.Issue)6 Node (org.yaml.snakeyaml.nodes.Node)5 IOException (java.io.IOException)4 ArrayList (java.util.ArrayList)4 ConfiguredWithReadme (io.jenkins.plugins.casc.misc.ConfiguredWithReadme)3 StringWriter (java.io.StringWriter)3 Jenkins (jenkins.model.Jenkins)3 YAMLException (org.yaml.snakeyaml.error.YAMLException)3 CredentialsRootConfigurator (com.cloudbees.plugins.credentials.casc.CredentialsRootConfigurator)2 ProxyConfiguration (hudson.ProxyConfiguration)2 Secret (hudson.util.Secret)2 ConfigurationAsCode (io.jenkins.plugins.casc.ConfigurationAsCode)2