From 57af552d268e2519a99ed25c69cc975b41e22b67 Mon Sep 17 00:00:00 2001 From: strangelookingnerd <49242855+strangelookingnerd@users.noreply.github.com> Date: Mon, 7 Apr 2025 15:52:43 +0200 Subject: [PATCH] Migrate tests to JUnit5 * Migrate annotations and imports * Migrate assertions * Remove public visibility for test classes and methods * Minor code cleanup --- .../jenkins/plugins/ChangeSequenceTest.java | 269 +++++++++--------- ...FileSystemListParameterDefinitionTest.java | 15 +- ...mListParameterGlobalConfigurationTest.java | 2 +- .../plugins/NotAllowedBaseDirTest.java | 86 +++--- .../alex/jenkins/plugins/RegexFilterTest.java | 189 ++++++------ .../java/alex/jenkins/plugins/TestUtils.java | 24 +- 6 files changed, 282 insertions(+), 303 deletions(-) diff --git a/src/test/java/alex/jenkins/plugins/ChangeSequenceTest.java b/src/test/java/alex/jenkins/plugins/ChangeSequenceTest.java index 2da0346..5aa830b 100644 --- a/src/test/java/alex/jenkins/plugins/ChangeSequenceTest.java +++ b/src/test/java/alex/jenkins/plugins/ChangeSequenceTest.java @@ -1,148 +1,137 @@ package alex.jenkins.plugins; +import alex.jenkins.plugins.FileSystemListParameterDefinition.FilesLister; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.jvnet.hudson.test.JenkinsRule; +import org.jvnet.hudson.test.junit.jupiter.WithJenkins; + import java.io.File; import java.net.URL; import java.util.List; import java.util.TreeMap; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.jvnet.hudson.test.JenkinsRule; - -import alex.jenkins.plugins.FileSystemListParameterDefinition.FilesLister; - - -public class ChangeSequenceTest { - - @Rule - public JenkinsRule j = new JenkinsRule(); - - String path; - FileSystemListParameterGlobalConfiguration globalConfigAllowedPaths; - - @Before - public void setup(){ - URL resource = getClass().getResource("/1"); - Assert.assertNotNull("Test test directory missing", resource); - path = resource.getPath(); - - TestUtils tu = new TestUtils(); - globalConfigAllowedPaths = tu.createTestGC(path); - } - - @Test - public void testSorting() { - //boolean sortByLastModified = true; - //boolean sortReverseOrder = false; - - TreeMap map = new TreeMap<>(); - String test1 = "test1"; - String test2 = "test2"; - File f1 = new File(test1); - File f2 = new File(test2); - - map.put(f1.getName(), (long) 2); - map.put(f2.getName(), (long) 1); - - - List sortedList = Utils.createTimeSortedList(map); - - Assert.assertEquals(test2,sortedList.get(0)); - Assert.assertEquals(test1,sortedList.get(1)); - - - } - - @Test - public void testReverseOrder() { - boolean sortByLastModified = true; - boolean sortReverseOrder = true; - boolean includePathInValue = false; - FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, "", "FILE","SINGLE_SELECT", "", "", sortByLastModified, sortReverseOrder, includePathInValue); - FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); - FilesLister fl = new FilesLister(pd.getSelectedEnumType(), pd.getRegexIncludePattern(), pd.getRegexExcludePattern(), pd.getPath(), pd.isSortByLastModified(), pd.isSortReverseOrder()); - - TreeMap map = new TreeMap<>(); - String test1 = "test1"; - String test2 = "test2"; - File f1 = new File(test1); - File f2 = new File(test2); - - map.put(f1.getName(), (long) 2); - map.put(f2.getName(), (long) 1); - - List sortedList = fl.sortList(map); - - Assert.assertEquals(test1,sortedList.get(0)); - Assert.assertEquals(test2,sortedList.get(1)); - - - } - - @Test - public void testAlphabeticOrder() { - boolean sortByLastModified = false; - boolean sortReverseOrder = false; - boolean includePathInValue = false; - FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, "", "FILE","SINGLE_SELECT", "", "", sortByLastModified, sortReverseOrder, includePathInValue); - FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); - FilesLister fl = new FilesLister(pd.getSelectedEnumType(), pd.getRegexIncludePattern(), pd.getRegexExcludePattern(), pd.getPath(), pd.isSortByLastModified(), pd.isSortReverseOrder()); - - TreeMap map = new TreeMap<>(); - String test1 = "test1"; - String test2 = "test2"; - String test3 = "test3"; - File f1 = new File(test1); - File f2 = new File(test2); - File f3 = new File(test3); - - map.put(f1.getName(), (long) 1); - map.put(f3.getName(), (long) 3); - map.put(f2.getName(), (long) 2); - - List sortedList = fl.sortList(map); - - Assert.assertEquals(test1,sortedList.get(0)); - Assert.assertEquals(test2,sortedList.get(1)); - Assert.assertEquals(test3,sortedList.get(2)); - - - } - - @Test - public void testGetExistingDefaultValue() throws Exception { - - boolean sortByLastModified = false; - boolean sortReverseOrder = false; - boolean includePathInValue = false; - String includePattern = ""; - String excludePattern = ""; - String definition_default = "test2.txt"; - FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, definition_default, "FILE","SINGLE_SELECT", includePattern, excludePattern, sortByLastModified, sortReverseOrder, includePathInValue); - FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); - - String result_default = (String) pd.getDefaultParameterValue().getValue(); - Assert.assertEquals(definition_default, result_default); - - } - - @Test - public void testGetNonExistingDefaultValue() { - - boolean sortByLastModified = false; - boolean sortReverseOrder = false; - boolean includePathInValue = false; - String includePattern = ""; - String excludePattern = ""; - String definition_default = "test4.txt"; - FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, definition_default, "FILE","SINGLE_SELECT", includePattern, excludePattern, sortByLastModified, sortReverseOrder, includePathInValue); - FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); - String result_default = (String) pd.getDefaultParameterValue().getValue(); - Assert.assertNotEquals(definition_default, result_default); - - } - - +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + + +@WithJenkins +class ChangeSequenceTest { + + private JenkinsRule j; + + private String path; + private FileSystemListParameterGlobalConfiguration globalConfigAllowedPaths; + + @BeforeEach + void setUp(JenkinsRule rule) { + j = rule; + URL resource = getClass().getResource("/1"); + assertNotNull(resource, "Test test directory missing"); + path = resource.getPath(); + globalConfigAllowedPaths = TestUtils.createTestGC(path); + } + + @Test + void testSorting() { + //boolean sortByLastModified = true; + //boolean sortReverseOrder = false; + + TreeMap map = new TreeMap<>(); + String test1 = "test1"; + String test2 = "test2"; + File f1 = new File(test1); + File f2 = new File(test2); + + map.put(f1.getName(), (long) 2); + map.put(f2.getName(), (long) 1); + + + List sortedList = Utils.createTimeSortedList(map); + + assertEquals(test2, sortedList.get(0)); + assertEquals(test1, sortedList.get(1)); + } + + @Test + void testReverseOrder() { + boolean sortByLastModified = true; + boolean sortReverseOrder = true; + boolean includePathInValue = false; + FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, "", "FILE", "SINGLE_SELECT", "", "", sortByLastModified, sortReverseOrder, includePathInValue); + FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); + FilesLister fl = new FilesLister(pd.getSelectedEnumType(), pd.getRegexIncludePattern(), pd.getRegexExcludePattern(), pd.getPath(), pd.isSortByLastModified(), pd.isSortReverseOrder()); + + TreeMap map = new TreeMap<>(); + String test1 = "test1"; + String test2 = "test2"; + File f1 = new File(test1); + File f2 = new File(test2); + + map.put(f1.getName(), (long) 2); + map.put(f2.getName(), (long) 1); + + List sortedList = fl.sortList(map); + + assertEquals(test1, sortedList.get(0)); + assertEquals(test2, sortedList.get(1)); + } + + @Test + void testAlphabeticOrder() { + boolean sortByLastModified = false; + boolean sortReverseOrder = false; + boolean includePathInValue = false; + FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, "", "FILE", "SINGLE_SELECT", "", "", sortByLastModified, sortReverseOrder, includePathInValue); + FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); + FilesLister fl = new FilesLister(pd.getSelectedEnumType(), pd.getRegexIncludePattern(), pd.getRegexExcludePattern(), pd.getPath(), pd.isSortByLastModified(), pd.isSortReverseOrder()); + + TreeMap map = new TreeMap<>(); + String test1 = "test1"; + String test2 = "test2"; + String test3 = "test3"; + File f1 = new File(test1); + File f2 = new File(test2); + File f3 = new File(test3); + + map.put(f1.getName(), (long) 1); + map.put(f3.getName(), (long) 3); + map.put(f2.getName(), (long) 2); + + List sortedList = fl.sortList(map); + + assertEquals(test1, sortedList.get(0)); + assertEquals(test2, sortedList.get(1)); + assertEquals(test3, sortedList.get(2)); + } + + @Test + void testGetExistingDefaultValue() { + boolean sortByLastModified = false; + boolean sortReverseOrder = false; + boolean includePathInValue = false; + String includePattern = ""; + String excludePattern = ""; + String definitionDefault = "test2.txt"; + FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, definitionDefault, "FILE", "SINGLE_SELECT", includePattern, excludePattern, sortByLastModified, sortReverseOrder, includePathInValue); + FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); + + String resultDefault = (String) pd.getDefaultParameterValue().getValue(); + assertEquals(definitionDefault, resultDefault); + } + + @Test + void testGetNonExistingDefaultValue() { + boolean sortByLastModified = false; + boolean sortReverseOrder = false; + boolean includePathInValue = false; + String includePattern = ""; + String excludePattern = ""; + String definitionDefault = "test4.txt"; + FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, definitionDefault, "FILE", "SINGLE_SELECT", includePattern, excludePattern, sortByLastModified, sortReverseOrder, includePathInValue); + FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); + String resultDefault = (String) pd.getDefaultParameterValue().getValue(); + assertNotEquals(definitionDefault, resultDefault); + } } diff --git a/src/test/java/alex/jenkins/plugins/FileSystemListParameterDefinitionTest.java b/src/test/java/alex/jenkins/plugins/FileSystemListParameterDefinitionTest.java index 4a6bc8d..3d96384 100644 --- a/src/test/java/alex/jenkins/plugins/FileSystemListParameterDefinitionTest.java +++ b/src/test/java/alex/jenkins/plugins/FileSystemListParameterDefinitionTest.java @@ -2,27 +2,24 @@ import hudson.model.FreeStyleProject; import hudson.model.ParametersDefinitionProperty; -import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.jvnet.hudson.test.For; import org.jvnet.hudson.test.Issue; import org.jvnet.hudson.test.JenkinsRule; +import org.jvnet.hudson.test.junit.jupiter.WithJenkins; @For(FileSystemListParameterDefinition.class) -public class FileSystemListParameterDefinitionTest { - - @Rule - public JenkinsRule j = new JenkinsRule(); +@WithJenkins +class FileSystemListParameterDefinitionTest { @Test @Issue("JENKINS-49649") - public void smokeRoundtrip() throws Exception { + void smokeRoundtrip(JenkinsRule j) throws Exception { FreeStyleProject p = j.createFreeStyleProject(); - FileSystemListParameterDefinition d = new FileSystemListParameterDefinition("name", "description", "master", "path", "", "FILE","SINGLE_SELECT", "", "", true, false, false); + FileSystemListParameterDefinition d = new FileSystemListParameterDefinition("name", "description", "master", "path", "", "FILE", "SINGLE_SELECT", "", "", true, false, false); ParametersDefinitionProperty params = new ParametersDefinitionProperty(d); p.addProperty(params); j.configRoundtrip(p); } - } diff --git a/src/test/java/alex/jenkins/plugins/FileSystemListParameterGlobalConfigurationTest.java b/src/test/java/alex/jenkins/plugins/FileSystemListParameterGlobalConfigurationTest.java index e9d2c9a..379719e 100644 --- a/src/test/java/alex/jenkins/plugins/FileSystemListParameterGlobalConfigurationTest.java +++ b/src/test/java/alex/jenkins/plugins/FileSystemListParameterGlobalConfigurationTest.java @@ -1,7 +1,7 @@ package alex.jenkins.plugins; -public class FileSystemListParameterGlobalConfigurationTest { +class FileSystemListParameterGlobalConfigurationTest { //TODO } diff --git a/src/test/java/alex/jenkins/plugins/NotAllowedBaseDirTest.java b/src/test/java/alex/jenkins/plugins/NotAllowedBaseDirTest.java index af46bb9..941bf91 100644 --- a/src/test/java/alex/jenkins/plugins/NotAllowedBaseDirTest.java +++ b/src/test/java/alex/jenkins/plugins/NotAllowedBaseDirTest.java @@ -1,48 +1,45 @@ package alex.jenkins.plugins; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import jenkins.model.GlobalConfiguration; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.jvnet.hudson.test.JenkinsRule; +import org.jvnet.hudson.test.junit.jupiter.WithJenkins; import java.io.File; import java.net.URL; import java.util.List; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.jvnet.hudson.test.JenkinsRule; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; -import jenkins.model.GlobalConfiguration; -import jenkins.model.Jenkins; +@WithJenkins +class NotAllowedBaseDirTest { -public class NotAllowedBaseDirTest { + private JenkinsRule j; - @Rule - public JenkinsRule j = new JenkinsRule(); - - String allowedPath; - String allowedFile; - String allowedSimilarFile; - String notAllowedPath; - String notAllowedFile; - String notAllowedSimilarFile; - String userContentAllowedFile; - File jenkinsTmpRoot; - Jenkins jenkins; - FileSystemListParameterGlobalConfiguration gc; + private String allowedPath; + private String allowedFile; + private String allowedSimilarFile; + private String notAllowedPath; + private String notAllowedFile; + private String notAllowedSimilarFile; + private String userContentAllowedFile; + private File jenkinsTmpRoot; + private FileSystemListParameterGlobalConfiguration gc; - @Before - public void setup(){ - allowedPath=getAbsolutePath("/1"); - allowedFile=allowedPath+ File.separator+"test1.txt"; - allowedSimilarFile=allowedPath+"test1.txt"; - notAllowedPath=getAbsolutePath("/2"); - notAllowedFile=notAllowedPath+ File.separator+"notAllowed.txt"; - notAllowedSimilarFile=notAllowedPath+"notAllowed.txt"; - jenkinsTmpRoot=new File(getAbsolutePath("/")); - userContentAllowedFile=jenkinsTmpRoot.getAbsolutePath()+File.separator+"userContent"+File.separator+"allowed.txt"; - jenkins = Jenkins.get(); + @BeforeEach + void setUp(JenkinsRule rule) { + j = rule; + allowedPath = getAbsolutePath("/1"); + allowedFile = allowedPath + File.separator + "test1.txt"; + allowedSimilarFile = allowedPath + "test1.txt"; + notAllowedPath = getAbsolutePath("/2"); + notAllowedFile = notAllowedPath + File.separator + "notAllowed.txt"; + notAllowedSimilarFile = notAllowedPath + "notAllowed.txt"; + jenkinsTmpRoot = new File(getAbsolutePath("/")); + userContentAllowedFile = jenkinsTmpRoot.getAbsolutePath() + File.separator + "userContent" + File.separator + "allowed.txt"; gc = new FileSystemListParameterGlobalConfiguration(); GlobalConfiguration.all().get(FileSystemListParameterGlobalConfiguration.class); List list = gc.getAdditionalBaseDirs(); @@ -50,26 +47,25 @@ public void setup(){ list.add(additionalBaseDirs); gc.setAdditionalBaseDirs(list); gc.setEnabledUserContent(true); - FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", "path", "", "FILE","SINGLE_SELECT", "", "", false, false, false); + FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", "path", "", "FILE", "SINGLE_SELECT", "", "", false, false, false); pd.getDefaultValue(); FileSystemListParameterDefinition.addTestGC(gc); } - - private String getAbsolutePath(String path) { - URL resource = getClass().getResource(path); - Assert.assertNotNull("Test test directory missing", resource); + + private static String getAbsolutePath(String path) { + URL resource = NotAllowedBaseDirTest.class.getResource(path); + assertNotNull(resource, "Test test directory missing"); File dir = new File(resource.getPath()); return dir.getAbsolutePath(); } - + @Test - public void testPaths() { + void testPaths() { assertFalse(allowedPath.startsWith(notAllowedPath)); } - - + @Test - public void testAdditionalBaseDir() { + void testAdditionalBaseDir() { assertTrue(Utils.isAllowedPath(allowedPath, jenkinsTmpRoot, gc)); assertFalse(Utils.isAllowedPath(allowedSimilarFile, jenkinsTmpRoot, gc)); assertFalse(Utils.isAllowedPath(notAllowedFile, jenkinsTmpRoot, gc)); @@ -77,7 +73,7 @@ public void testAdditionalBaseDir() { } @Test - public void testUserContent() { + void testUserContent() { assertTrue(Utils.isAllowedPath(userContentAllowedFile, jenkinsTmpRoot, gc)); gc.setEnabledUserContent(false); assertFalse(Utils.isAllowedPath(userContentAllowedFile, jenkinsTmpRoot, gc)); diff --git a/src/test/java/alex/jenkins/plugins/RegexFilterTest.java b/src/test/java/alex/jenkins/plugins/RegexFilterTest.java index c5d9f98..0bde907 100644 --- a/src/test/java/alex/jenkins/plugins/RegexFilterTest.java +++ b/src/test/java/alex/jenkins/plugins/RegexFilterTest.java @@ -1,102 +1,99 @@ package alex.jenkins.plugins; -import java.net.URL; -import java.util.List; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.jvnet.hudson.test.JenkinsRule; +import org.jvnet.hudson.test.junit.jupiter.WithJenkins; -public class RegexFilterTest { - - @Rule - public JenkinsRule j = new JenkinsRule(); - - String path; - FileSystemListParameterGlobalConfiguration globalConfigAllowedPaths; - - @Before - public void setup() { - URL resource = getClass().getResource("/1"); - Assert.assertNotNull("Test test directory missing", resource); - path = resource.getPath(); - - TestUtils tu = new TestUtils(); - globalConfigAllowedPaths = tu.createTestGC(path); - } - - @Test - public void testRegexEmptyFilter() throws Exception { - boolean sortByLastModified = false; - boolean sortReverseOrder = false; - boolean includePathInValue = false; - String includePattern = ""; - String excludePattern = ""; - FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, - "", "FILE", "SINGLE_SELECT", includePattern, excludePattern, sortByLastModified, sortReverseOrder, - includePathInValue); - FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); - List list = pd.getFsObjectsList(); - - Assert.assertEquals(3, list.size()); - - } - - @Test - public void testRegexFilterNotfound() throws Exception { - boolean sortByLastModified = false; - boolean sortReverseOrder = false; - boolean includePathInValue = false; - String includePattern = "notFound"; - String excludePattern = ""; - FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, - "", "FILE", "SINGLE_SELECT", includePattern, excludePattern, sortByLastModified, sortReverseOrder, - includePathInValue); - FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); - List list = pd.getFsObjectsList(); - - Assert.assertEquals(1, list.size()); - Assert.assertTrue("Contains no objects found message", list.get(0).contains("No objects of type")); - - } - - @Test - public void testRegexIncludeFilter() throws Exception { - boolean sortByLastModified = false; - boolean sortReverseOrder = false; - boolean includePathInValue = false; - String includePattern = "[\\w]*3[.]txt"; - String excludePattern = ""; - FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, - "", "FILE", "SINGLE_SELECT", includePattern, excludePattern, sortByLastModified, sortReverseOrder, - includePathInValue); - FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); - List list = pd.getFsObjectsList(); - - Assert.assertEquals(1, list.size()); - Assert.assertEquals("test3.txt", list.get(0)); - - } - - @Test - public void testRegexExcludeFilter() throws Exception { - boolean sortByLastModified = false; - boolean sortReverseOrder = false; - boolean includePathInValue = false; - String includePattern = ""; - String excludePattern = "[\\w]*3[.]txt"; - FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, - "", "FILE", "SINGLE_SELECT", includePattern, excludePattern, sortByLastModified, sortReverseOrder, - includePathInValue); - FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); - List list = pd.getFsObjectsList(); - - Assert.assertEquals(2, list.size()); - Assert.assertEquals("test1.txt", list.get(0)); - Assert.assertEquals("test2.txt", list.get(1)); - - } +import java.net.URL; +import java.util.List; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +@WithJenkins +class RegexFilterTest { + + private JenkinsRule j; + + private String path; + private FileSystemListParameterGlobalConfiguration globalConfigAllowedPaths; + + @BeforeEach + void setUp(JenkinsRule rule) { + j = rule; + URL resource = getClass().getResource("/1"); + assertNotNull(resource, "Test test directory missing"); + path = resource.getPath(); + globalConfigAllowedPaths = TestUtils.createTestGC(path); + } + + @Test + void testRegexEmptyFilter() throws Exception { + boolean sortByLastModified = false; + boolean sortReverseOrder = false; + boolean includePathInValue = false; + String includePattern = ""; + String excludePattern = ""; + FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, + "", "FILE", "SINGLE_SELECT", includePattern, excludePattern, sortByLastModified, sortReverseOrder, + includePathInValue); + FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); + List list = pd.getFsObjectsList(); + + assertEquals(3, list.size()); + } + + @Test + void testRegexFilterNotfound() throws Exception { + boolean sortByLastModified = false; + boolean sortReverseOrder = false; + boolean includePathInValue = false; + String includePattern = "notFound"; + String excludePattern = ""; + FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, + "", "FILE", "SINGLE_SELECT", includePattern, excludePattern, sortByLastModified, sortReverseOrder, + includePathInValue); + FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); + List list = pd.getFsObjectsList(); + + assertEquals(1, list.size()); + assertTrue(list.get(0).contains("No objects of type"), "Contains no objects found message"); + } + + @Test + void testRegexIncludeFilter() throws Exception { + boolean sortByLastModified = false; + boolean sortReverseOrder = false; + boolean includePathInValue = false; + String includePattern = "[\\w]*3[.]txt"; + String excludePattern = ""; + FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, + "", "FILE", "SINGLE_SELECT", includePattern, excludePattern, sortByLastModified, sortReverseOrder, + includePathInValue); + FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); + List list = pd.getFsObjectsList(); + + assertEquals(1, list.size()); + assertEquals("test3.txt", list.get(0)); + } + + @Test + void testRegexExcludeFilter() throws Exception { + boolean sortByLastModified = false; + boolean sortReverseOrder = false; + boolean includePathInValue = false; + String includePattern = ""; + String excludePattern = "[\\w]*3[.]txt"; + FileSystemListParameterDefinition pd = new FileSystemListParameterDefinition("name", "description", "master", path, + "", "FILE", "SINGLE_SELECT", includePattern, excludePattern, sortByLastModified, sortReverseOrder, + includePathInValue); + FileSystemListParameterDefinition.addTestGC(globalConfigAllowedPaths); + List list = pd.getFsObjectsList(); + + assertEquals(2, list.size()); + assertEquals("test1.txt", list.get(0)); + assertEquals("test2.txt", list.get(1)); + } } diff --git a/src/test/java/alex/jenkins/plugins/TestUtils.java b/src/test/java/alex/jenkins/plugins/TestUtils.java index 37ba090..0c547f5 100644 --- a/src/test/java/alex/jenkins/plugins/TestUtils.java +++ b/src/test/java/alex/jenkins/plugins/TestUtils.java @@ -1,18 +1,18 @@ package alex.jenkins.plugins; -import java.util.List; - import jenkins.model.GlobalConfiguration; -public class TestUtils { +import java.util.List; + +public final class TestUtils { - public FileSystemListParameterGlobalConfiguration createTestGC(String allowedPath) { - FileSystemListParameterGlobalConfiguration globalConfigAllowedPaths = new FileSystemListParameterGlobalConfiguration(); - GlobalConfiguration.all().get(FileSystemListParameterGlobalConfiguration.class); - List list = globalConfigAllowedPaths.getAdditionalBaseDirs(); - AdditionalBaseDirPath additionalBaseDirs = new AdditionalBaseDirPath(allowedPath); - list.add(additionalBaseDirs); - globalConfigAllowedPaths.setAdditionalBaseDirs(list); - return globalConfigAllowedPaths; - } + public static FileSystemListParameterGlobalConfiguration createTestGC(String allowedPath) { + FileSystemListParameterGlobalConfiguration globalConfigAllowedPaths = new FileSystemListParameterGlobalConfiguration(); + GlobalConfiguration.all().get(FileSystemListParameterGlobalConfiguration.class); + List list = globalConfigAllowedPaths.getAdditionalBaseDirs(); + AdditionalBaseDirPath additionalBaseDirs = new AdditionalBaseDirPath(allowedPath); + list.add(additionalBaseDirs); + globalConfigAllowedPaths.setAdditionalBaseDirs(list); + return globalConfigAllowedPaths; + } }