Add tests for branch filters
This commit is contained in:
parent
542d34c161
commit
479deafa75
2
pom.xml
2
pom.xml
|
@ -147,7 +147,7 @@
|
|||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.11</version>
|
||||
<version>4.12</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
package com.dabsquared.gitlabjenkins.trigger.filter;
|
||||
|
||||
import org.apache.commons.lang.RandomStringUtils;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
import static org.hamcrest.CoreMatchers.nullValue;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
/**
|
||||
* @author Robin Müller
|
||||
*/
|
||||
public class AllBranchesFilterTest {
|
||||
|
||||
@Test
|
||||
public void isRandomBranchNameAllowed() {
|
||||
String randomBranchName = RandomStringUtils.random(10, true, false);
|
||||
|
||||
assertThat(new AllBranchesFilter().isBranchAllowed(randomBranchName), is(true));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getConfig() {
|
||||
BranchFilterConfig config = new AllBranchesFilter().getConfig();
|
||||
|
||||
assertThat(config.getType(), is(BranchFilterType.All));
|
||||
assertThat(config.getExcludeBranchesSpec(), nullValue());
|
||||
assertThat(config.getIncludeBranchesSpec(), nullValue());
|
||||
assertThat(config.getTargetBranchRegex(), nullValue());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
package com.dabsquared.gitlabjenkins.trigger.filter;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import static com.dabsquared.gitlabjenkins.trigger.filter.BranchFilterConfig.BranchFilterConfigBuilder.branchFilterConfig;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
import static org.hamcrest.CoreMatchers.nullValue;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
/**
|
||||
* @author Robin Müller
|
||||
*/
|
||||
public class BranchFilterFactoryTest {
|
||||
|
||||
@Test
|
||||
public void getAllBranchesFilter() {
|
||||
BranchFilter branchFilter = BranchFilterFactory.newBranchFilter(branchFilterConfig()
|
||||
.withIncludeBranchesSpec("master")
|
||||
.withExcludeBranchesSpec("develop")
|
||||
.withTargetBranchRegex(".*")
|
||||
.build(BranchFilterType.All));
|
||||
|
||||
assertThat(branchFilter, instanceOf(AllBranchesFilter.class));
|
||||
assertThat(branchFilter.getConfig().getIncludeBranchesSpec(), nullValue());
|
||||
assertThat(branchFilter.getConfig().getExcludeBranchesSpec(), nullValue());
|
||||
assertThat(branchFilter.getConfig().getTargetBranchRegex(), nullValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getNameBasedFilterFilter() {
|
||||
String includeBranchesSpec = "master";
|
||||
String excludeBranchesSpec = "develop";
|
||||
BranchFilter branchFilter = BranchFilterFactory.newBranchFilter(branchFilterConfig()
|
||||
.withIncludeBranchesSpec(includeBranchesSpec)
|
||||
.withExcludeBranchesSpec(excludeBranchesSpec)
|
||||
.withTargetBranchRegex(".*")
|
||||
.build(BranchFilterType.NameBasedFilter));
|
||||
|
||||
assertThat(branchFilter, instanceOf(NameBasedFilter.class));
|
||||
assertThat(branchFilter.getConfig().getIncludeBranchesSpec(), is(includeBranchesSpec));
|
||||
assertThat(branchFilter.getConfig().getExcludeBranchesSpec(), is(excludeBranchesSpec));
|
||||
assertThat(branchFilter.getConfig().getTargetBranchRegex(), nullValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getRegexBasedFilterFilter() {
|
||||
String regex = ".*";
|
||||
BranchFilter branchFilter = BranchFilterFactory.newBranchFilter(branchFilterConfig()
|
||||
.withIncludeBranchesSpec("master")
|
||||
.withExcludeBranchesSpec("develop")
|
||||
.withTargetBranchRegex(regex)
|
||||
.build(BranchFilterType.RegexBasedFilter));
|
||||
|
||||
assertThat(branchFilter, instanceOf(RegexBasedFilter.class));
|
||||
assertThat(branchFilter.getConfig().getIncludeBranchesSpec(), nullValue());
|
||||
assertThat(branchFilter.getConfig().getExcludeBranchesSpec(), nullValue());
|
||||
assertThat(branchFilter.getConfig().getTargetBranchRegex(), is(regex));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
package com.dabsquared.gitlabjenkins.trigger.filter;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
import static org.hamcrest.CoreMatchers.nullValue;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
/**
|
||||
* @author Robin Müller
|
||||
*/
|
||||
public class NameBasedFilterTest {
|
||||
|
||||
@Test
|
||||
public void includeBranches() {
|
||||
NameBasedFilter nameBasedFilter = new NameBasedFilter("master, develop", "");
|
||||
|
||||
assertThat(nameBasedFilter.isBranchAllowed("master"), is(true));
|
||||
assertThat(nameBasedFilter.isBranchAllowed("develop"), is(true));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void excludeBranches() {
|
||||
NameBasedFilter nameBasedFilter = new NameBasedFilter("", "master, develop");
|
||||
|
||||
assertThat(nameBasedFilter.isBranchAllowed("master"), is(false));
|
||||
assertThat(nameBasedFilter.isBranchAllowed("develop"), is(false));
|
||||
assertThat(nameBasedFilter.isBranchAllowed("not-excluded-branch"), is(true));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void includeAndExcludeBranches() {
|
||||
NameBasedFilter nameBasedFilter = new NameBasedFilter("master", "develop");
|
||||
|
||||
assertThat(nameBasedFilter.isBranchAllowed("master"), is(true));
|
||||
assertThat(nameBasedFilter.isBranchAllowed("develop"), is(false));
|
||||
assertThat(nameBasedFilter.isBranchAllowed("not-excluded-and-not-included-branch"), is(false));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getConfig() {
|
||||
String includedBranches = "master, develop";
|
||||
String excludedBranches = "hotfix/test";
|
||||
|
||||
BranchFilterConfig config = new NameBasedFilter(includedBranches, excludedBranches).getConfig();
|
||||
|
||||
assertThat(config.getType(), is(BranchFilterType.NameBasedFilter));
|
||||
assertThat(config.getIncludeBranchesSpec(), is(includedBranches));
|
||||
assertThat(config.getExcludeBranchesSpec(), is(excludedBranches));
|
||||
assertThat(config.getTargetBranchRegex(), nullValue());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
package com.dabsquared.gitlabjenkins.trigger.filter;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.experimental.theories.DataPoints;
|
||||
import org.junit.experimental.theories.FromDataPoints;
|
||||
import org.junit.experimental.theories.Theories;
|
||||
import org.junit.experimental.theories.Theory;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
import static org.hamcrest.CoreMatchers.nullValue;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
/**
|
||||
* @author Robin Müller
|
||||
*/
|
||||
@RunWith(Theories.class)
|
||||
public class RegexBasedFilterTest {
|
||||
|
||||
@DataPoints("matching-branches")
|
||||
public static String[] matchingBranchNames = {"feature/test", "feature/awesome-feature"};
|
||||
|
||||
@DataPoints("not-matching-branches")
|
||||
public static String[] notMatchingBranchNames = {"hotfix/test", "hotfix/awesome-feature", "master", "develop"};
|
||||
|
||||
@Theory
|
||||
public void isRegexBranchAllowed(@FromDataPoints("matching-branches") String branchName) {
|
||||
RegexBasedFilter featureBranches = new RegexBasedFilter("feature/.*");
|
||||
|
||||
assertThat(featureBranches.isBranchAllowed(branchName), is(true));
|
||||
}
|
||||
|
||||
@Theory
|
||||
public void isRegexBranchNotAllowed(@FromDataPoints("not-matching-branches") String branchName) {
|
||||
RegexBasedFilter featureBranches = new RegexBasedFilter("feature/.*");
|
||||
|
||||
assertThat(featureBranches.isBranchAllowed(branchName), is(false));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getConfig() {
|
||||
String regex = "test.*";
|
||||
|
||||
BranchFilterConfig config = new RegexBasedFilter(regex).getConfig();
|
||||
|
||||
assertThat(config.getType(), is(BranchFilterType.RegexBasedFilter));
|
||||
assertThat(config.getIncludeBranchesSpec(), nullValue());
|
||||
assertThat(config.getExcludeBranchesSpec(), nullValue());
|
||||
assertThat(config.getTargetBranchRegex(), is(regex));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue