Skip to content

Commit

Permalink
[JENKINS-53184] Include tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
Evaristo Gutiérrez committed Sep 4, 2018
1 parent 745cb78 commit ba3f9ce
Show file tree
Hide file tree
Showing 4 changed files with 92 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,23 +24,39 @@
package com.cloudbees.jenkins.support.filter;

import hudson.model.FreeStyleProject;
import jenkins.model.Jenkins;
import org.assertj.core.api.Assertions;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
import org.jvnet.hudson.test.Issue;
import org.jvnet.hudson.test.RestartableJenkinsRule;
import org.jvnet.hudson.test.recipes.LocalData;

import java.io.IOException;
import java.util.List;
import java.util.Locale;
import java.util.stream.StreamSupport;
import org.jvnet.hudson.test.RestartableJenkinsRule;

import static java.util.stream.Collectors.toList;
import static org.hamcrest.Matchers.hasEntry;
import static org.hamcrest.Matchers.hasItems;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;

public class ContentMappingsTest {

private static String originalVersion;

public class ContentMappingsTest {
@BeforeClass
public static void storeVersion() {
originalVersion = Jenkins.VERSION;
}

@AfterClass
public static void restoreVersion() {
Jenkins.VERSION = originalVersion;
}

@Rule
public RestartableJenkinsRule rr = new RestartableJenkinsRule();
Expand Down Expand Up @@ -86,4 +102,21 @@ public void contentMappingsSurviveSerializationRoundTrip() {
assertThat(ContentMappings.get().getMappings(), hasEntry(mapping.getOriginal(), mapping.getReplacement()));
});
}

@Issue("JENKINS-53184")
@Test
@LocalData
public void jenkinsVersionIncludedAsStopWord() {
rr.then(r -> {
Jenkins.VERSION = "1.2.3.4";
ContentMappings mappings = ContentMappings.get();

// Jenkins version added to stop words
assertTrue(mappings.getStopWords().contains(Jenkins.VERSION));

// Previous mappings with Jenkins version are ignored
assertTrue(mappings.getMappings().isEmpty());
});
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
package com.cloudbees.jenkins.support.filter;

import hudson.BulkChange;
import jenkins.model.Jenkins;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Test;
import org.jvnet.hudson.test.Issue;
Expand All @@ -39,9 +42,21 @@

public class InetAddressContentFilterTest {

private static String originalVersion;

@ClassRule
public static JenkinsRule jenkins = new JenkinsRule();

@BeforeClass
public static void storeVersion() {
originalVersion = Jenkins.VERSION;
}

@AfterClass
public static void restoreVersion() {
Jenkins.VERSION = originalVersion;
}

@Issue("JENKINS-21670")
@Test
public void shouldFilterInetAddresses() {
Expand All @@ -57,6 +72,15 @@ public void shouldFilterInetAddresses() {
}
}

@Issue("JENKINS-53184")
@Test
public void shouldNotFilterInetAddressMatchingJenkinsVersion() {
Jenkins.VERSION = "1.2.3.4";
InetAddressContentFilter filter = InetAddressContentFilter.get();
assertThat(filter.filter(Jenkins.VERSION))
.isEqualTo(Jenkins.VERSION);
}

private Gen<String> inetAddress() {
return ipv4().mix(ipv6());
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version='1.1' encoding='UTF-8'?>
<com.cloudbees.jenkins.support.filter.ContentFilters plugin="support-core@2.49">
<enabled>true</enabled>
</com.cloudbees.jenkins.support.filter.ContentFilters>
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version='1.1' encoding='UTF-8'?>
<com.cloudbees.jenkins.support.filter.ContentMappings resolves-to="com.cloudbees.jenkins.support.filter.ContentMappings$XmlProxy">
<stopWords>
<string>all</string>
<string>authenticated</string>
<string>item</string>
<string>everyone</string>
<string>admin</string>
<string>label</string>
<string>master</string>
<string>unknown</string>
<string>node</string>
<string>computer</string>
<string>view</string>
<string>system</string>
<string>jenkins</string>
<string>anonymous</string>
<string>user</string>
</stopWords>
<mappings>
<com.cloudbees.jenkins.support.filter.ContentMapping resolves-to="com.cloudbees.jenkins.support.filter.ContentMapping$SerializationProxy">
<original>1.2.3.4</original>
<replacement>ip_thin_idea</replacement>
</com.cloudbees.jenkins.support.filter.ContentMapping>
</mappings>
</com.cloudbees.jenkins.support.filter.ContentMappings>

0 comments on commit ba3f9ce

Please sign in to comment.