Skip to content

Commit

Permalink
Merge pull request jenkinsci#417 from timja/patch-1
Browse files Browse the repository at this point in the history
Override init column - JCasC improvement
  • Loading branch information
jan-molak authored Oct 11, 2019
2 parents b19d013 + 7ed4123 commit 36f8e82
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 1 deletion.
15 changes: 15 additions & 0 deletions build-monitor-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
<npm-executable>npm</npm-executable>
<selenium.version>2.43.0</selenium.version>
<build.number>DEV</build.number>
<configuration-as-code.version>1.32</configuration-as-code.version>
</properties>

<profiles>
Expand Down Expand Up @@ -219,6 +220,20 @@
<scope>test</scope>
<optional>true</optional>
</dependency>

<dependency>
<groupId>io.jenkins</groupId>
<artifactId>configuration-as-code</artifactId>
<version>${configuration-as-code.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jenkins</groupId>
<artifactId>configuration-as-code</artifactId>
<version>${configuration-as-code.version}</version>
<scope>test</scope>
<classifier>tests</classifier>
</dependency>
<!-- /Jenkins CI plugins supported by the Build Monitor -->

<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,10 @@ public BuildMonitorInstallation getInstallation() {
public boolean collectAnonymousUsageStatistics() {
return descriptor.getPermissionToCollectAnonymousUsageStatistics();
}

@Override
protected void initColumns() {
}

@Override
protected void submit(StaplerRequest req) throws ServletException, IOException, FormException {
Expand Down Expand Up @@ -214,4 +218,4 @@ private void migrateFromOldToNewConfigFormat() {

@Deprecated // use Config instead
private Comparator<Job<?, ?>> order; // note: this field can be removed when people stop using versions prior to 1.6+build.150
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package com.smartcodeltd.jenkinsci.plugins.buildmonitor.jcasc;

import com.smartcodeltd.jenkinsci.plugins.buildmonitor.BuildMonitorView;
import hudson.model.View;
import io.jenkins.plugins.casc.ConfigurationContext;
import io.jenkins.plugins.casc.ConfiguratorRegistry;
import io.jenkins.plugins.casc.misc.ConfiguredWithCode;
import io.jenkins.plugins.casc.misc.JenkinsConfiguredWithCodeRule;
import io.jenkins.plugins.casc.model.CNode;
import java.util.Collection;
import jenkins.model.Jenkins;
import org.junit.ClassRule;
import org.junit.Test;

import static io.jenkins.plugins.casc.misc.Util.getJenkinsRoot;
import static io.jenkins.plugins.casc.misc.Util.toStringFromYamlFile;
import static io.jenkins.plugins.casc.misc.Util.toYamlString;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;

public class ConfigurationAsCodeTest {

@ClassRule
@ConfiguredWithCode("configuration-as-code.yml")
public static JenkinsConfiguredWithCodeRule j = new JenkinsConfiguredWithCodeRule();

@Test
public void should_support_configuration_as_code() {
Collection<View> views = Jenkins.getInstance().getViews();

assertThat(views.size(), is(1));

BuildMonitorView view = (BuildMonitorView) views.iterator().next();
assertThat(view.getTitle(), is("My Monitor"));
assertThat(view.getIncludeRegex(), is(".+\\/(my-job-.*)\\/(master|demo)"));
assertThat(view.getViewName(), is("My-Monitor"));
assertThat(view.isRecurse(), is(true));
}

@Test
public void should_support_configuration_export() throws Exception {
ConfiguratorRegistry registry = ConfiguratorRegistry.get();
ConfigurationContext context = new ConfigurationContext(registry);
CNode yourAttribute = getJenkinsRoot(context).get("views");

String exported = toYamlString(yourAttribute);

String expected = toStringFromYamlFile(this, "configuration-as-code-expected.yml");

assertThat(exported, is(expected));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- buildMonitor:
includeRegex: ".+\\/(my-job-.*)\\/(master|demo)"
name: "My-Monitor"
recurse: true
title: "My Monitor"
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
jenkins:
views:
- buildMonitor:
includeRegex: ".+\\/(my-job-.*)\\/(master|demo)"
name: "My-Monitor"
recurse: true
title: "My Monitor"

0 comments on commit 36f8e82

Please sign in to comment.