diff --git a/pom.xml b/pom.xml
index ca691fd14b..b83ef69955 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,6 +45,7 @@
false
Max
Low
+ false
@@ -111,16 +112,6 @@
mailer
-
- org.jenkins-ci.plugins
- junit
- test
-
-
- junit
- junit
- test
-
org.mockito
mockito-core
diff --git a/src/test/java/hudson/plugins/git/AbstractGitProject.java b/src/test/java/hudson/plugins/git/AbstractGitProject.java
index 4b468ca9fd..8cd043afcd 100644
--- a/src/test/java/hudson/plugins/git/AbstractGitProject.java
+++ b/src/test/java/hudson/plugins/git/AbstractGitProject.java
@@ -48,31 +48,40 @@
import java.util.List;
import jenkins.MasterToSlaveFileCallable;
+
+import static org.junit.jupiter.api.Assertions.assertTrue;
import org.eclipse.jgit.lib.Repository;
import org.jenkinsci.plugins.gitclient.Git;
import org.jenkinsci.plugins.gitclient.JGitTool;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Rule;
-
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
import org.jvnet.hudson.test.CaptureEnvironmentBuilder;
-import org.jvnet.hudson.test.FlagRule;
import org.jvnet.hudson.test.JenkinsRule;
+import org.jvnet.hudson.test.junit.jupiter.WithJenkins;
/**
* Abstract class that provides convenience methods to configure projects.
* @author Mark Waite
*/
-public class AbstractGitProject extends AbstractGitRepository {
+@WithJenkins
+class AbstractGitProject extends AbstractGitRepository {
+
+ protected JenkinsRule r;
- @Rule
- public JenkinsRule r = new JenkinsRule();
+ private String notifyCommitAccessControl;
- @Rule
- public FlagRule notifyCommitAccessControl =
- new FlagRule<>(() -> GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL, x -> GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL = x);
+ @BeforeEach
+ void beforeEach(JenkinsRule rule) {
+ r = rule;
+ notifyCommitAccessControl = GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL;
+ }
+
+ @AfterEach
+ void afterEach() throws Exception {
+ GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL = notifyCommitAccessControl;
+ }
protected FreeStyleProject setupProject(List branches, boolean authorOrCommitter) throws Exception {
FreeStyleProject project = r.createFreeStyleProject();
@@ -208,7 +217,7 @@ protected FreeStyleProject setupProject(List repos, List() {
+ return build.getWorkspace().act(new MasterToSlaveFileCallable<>() {
@Override
public String invoke(File f, VirtualChannel channel) throws IOException, InterruptedException {
try (@SuppressWarnings("deprecation") // Local repository reference
diff --git a/src/test/java/hudson/plugins/git/AbstractGitRepository.java b/src/test/java/hudson/plugins/git/AbstractGitRepository.java
index 630693a25f..a24051205a 100644
--- a/src/test/java/hudson/plugins/git/AbstractGitRepository.java
+++ b/src/test/java/hudson/plugins/git/AbstractGitRepository.java
@@ -8,11 +8,9 @@
import java.util.List;
import hudson.plugins.git.util.GitUtilsTest;
+import jenkins.plugins.git.junit.jupiter.WithGitSampleRepo;
import org.eclipse.jgit.util.SystemReader;
-import org.junit.Before;
-import org.junit.Rule;
-
-import hudson.EnvVars;
+import org.junit.jupiter.api.BeforeEach;
import hudson.model.TaskListener;
import hudson.util.StreamTaskListener;
@@ -30,16 +28,17 @@
*
* @author Mark Waite
*/
+@WithGitSampleRepo
public abstract class AbstractGitRepository {
protected File testGitDir;
protected GitClient testGitClient;
- @Rule
- public GitSampleRepoRule repo = new GitSampleRepoRule();
+ protected GitSampleRepoRule repo;
- @Before
- public void createGitRepository() throws Exception {
+ @BeforeEach
+ protected void beforeEach(GitSampleRepoRule repo) throws Exception {
+ this.repo = repo;
SystemReader.getInstance().getUserConfig().clear();
TaskListener listener = StreamTaskListener.fromStderr();
repo.init();
@@ -78,9 +77,4 @@ protected List remoteConfigs() throws IOException {
list.add(new UserRemoteConfig(testGitDir.getAbsolutePath(), "origin", "", null));
return list;
}
-
- /** inline ${@link hudson.Functions#isWindows()} to prevent a transient remote classloader issue */
- private boolean isWindows() {
- return File.pathSeparatorChar==';';
- }
}
diff --git a/src/test/java/hudson/plugins/git/AbstractGitTestCase.java b/src/test/java/hudson/plugins/git/AbstractGitTestCase.java
index 5b3cd44207..cb41ee44fb 100644
--- a/src/test/java/hudson/plugins/git/AbstractGitTestCase.java
+++ b/src/test/java/hudson/plugins/git/AbstractGitTestCase.java
@@ -38,20 +38,22 @@
import java.util.List;
import jenkins.MasterToSlaveFileCallable;
+import jenkins.plugins.git.junit.jupiter.WithGitSampleRepo;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.util.SystemReader;
import org.jenkinsci.plugins.gitclient.Git;
import org.jenkinsci.plugins.gitclient.GitClient;
import org.jenkinsci.plugins.gitclient.JGitTool;
-import org.junit.Before;
-import org.junit.Rule;
+import org.junit.jupiter.api.BeforeEach;
import jenkins.plugins.git.GitSampleRepoRule;
import org.jvnet.hudson.test.CaptureEnvironmentBuilder;
import org.jvnet.hudson.test.JenkinsRule;
import org.jvnet.hudson.test.TestExtension;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import org.jvnet.hudson.test.junit.jupiter.WithJenkins;
import org.kohsuke.stapler.DataBoundConstructor;
/**
@@ -60,12 +62,13 @@
* @author Kohsuke Kawaguchi
* @author ishaaq
*/
+@WithJenkins
+@WithGitSampleRepo
public abstract class AbstractGitTestCase {
- @Rule
- public JenkinsRule r = new JenkinsRule();
- @Rule
- public GitSampleRepoRule sampleRepo = new GitSampleRepoRule();
+ protected JenkinsRule r;
+
+ protected GitSampleRepoRule sampleRepo;
protected TaskListener listener;
@@ -78,8 +81,11 @@ public abstract class AbstractGitTestCase {
protected FilePath workspace; // aliases "gitDirPath"
protected GitClient git;
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ protected void beforeEach(JenkinsRule rule, GitSampleRepoRule repo) throws Exception {
+ r = rule;
+ sampleRepo = repo;
+
SystemReader.getInstance().getUserConfig().clear();
listener = StreamTaskListener.fromStderr();
@@ -246,7 +252,7 @@ protected FreeStyleProject setupSimpleProject(String branchString) throws Except
protected FreeStyleBuild build(final FreeStyleProject project, final Result expectedResult, final String...expectedNewlyCommittedFiles) throws Exception {
final FreeStyleBuild build = project.scheduleBuild2(0).get();
for(final String expectedNewlyCommittedFile : expectedNewlyCommittedFiles) {
- assertTrue(expectedNewlyCommittedFile + " file not found in workspace", build.getWorkspace().child(expectedNewlyCommittedFile).exists());
+ assertTrue(build.getWorkspace().child(expectedNewlyCommittedFile).exists(), expectedNewlyCommittedFile + " file not found in workspace");
}
if(expectedResult != null) {
r.assertBuildStatus(expectedResult, build);
@@ -268,7 +274,7 @@ protected FreeStyleBuild build(final FreeStyleProject project, final String pare
protected MatrixBuild build(final MatrixProject project, final Result expectedResult, final String...expectedNewlyCommittedFiles) throws Exception {
final MatrixBuild build = project.scheduleBuild2(0).get();
for(final String expectedNewlyCommittedFile : expectedNewlyCommittedFiles) {
- assertTrue(expectedNewlyCommittedFile + " file not found in workspace", build.getWorkspace().child(expectedNewlyCommittedFile).exists());
+ assertTrue(build.getWorkspace().child(expectedNewlyCommittedFile).exists(), expectedNewlyCommittedFile + " file not found in workspace");
}
if(expectedResult != null) {
r.assertBuildStatus(expectedResult, build);
@@ -294,19 +300,19 @@ protected void setVariables(Node node, EnvironmentVariablesNodeProperty.Entry...
}
protected String getHeadRevision(AbstractBuild build, final String branch) throws IOException, InterruptedException {
- return build.getWorkspace().act(new MasterToSlaveFileCallable() {
- public String invoke(File f, VirtualChannel channel) throws IOException, InterruptedException {
- try {
- @SuppressWarnings("deprecation") // Local repository reference
- org.eclipse.jgit.lib.Repository repo = Git.with(null, null).in(f).getClient().getRepository();
- ObjectId oid = repo.resolve("refs/heads/" + branch);
- return oid.name();
- } catch (GitException e) {
- throw new RuntimeException(e);
- }
+ return build.getWorkspace().act(new MasterToSlaveFileCallable<>() {
+ public String invoke(File f, VirtualChannel channel) throws IOException, InterruptedException {
+ try {
+ @SuppressWarnings("deprecation") // Local repository reference
+ org.eclipse.jgit.lib.Repository repo = Git.with(null, null).in(f).getClient().getRepository();
+ ObjectId oid = repo.resolve("refs/heads/" + branch);
+ return oid.name();
+ } catch (GitException e) {
+ throw new RuntimeException(e);
}
+ }
- });
+ });
}
public static class HasCredentialBuilder extends Builder {
diff --git a/src/test/java/hudson/plugins/git/BranchSpecTest.java b/src/test/java/hudson/plugins/git/BranchSpecTest.java
index 58d42e83e4..835cf16a5b 100644
--- a/src/test/java/hudson/plugins/git/BranchSpecTest.java
+++ b/src/test/java/hudson/plugins/git/BranchSpecTest.java
@@ -1,16 +1,18 @@
package hudson.plugins.git;
import hudson.EnvVars;
+import org.junit.jupiter.api.Test;
+
import java.util.HashMap;
-import static org.junit.Assert.*;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.*;
+
import org.jvnet.hudson.test.Issue;
-public class BranchSpecTest {
- @Test
- public void testMatch() {
+class BranchSpecTest {
+ @Test
+ void testMatch() {
BranchSpec l = new BranchSpec("master");
assertTrue(l.matches("origin/master"));
assertFalse(l.matches("origin/something/master"));
@@ -54,9 +56,9 @@ public void testMatch() {
assertTrue(p.matches("origin/x"));
assertFalse(p.matches("origin/my-branch/b1"));
}
-
+
@Test
- public void testMatchEnv() {
+ void testMatchEnv() {
HashMap envMap = new HashMap<>();
envMap.put("master", "master");
envMap.put("origin", "origin");
@@ -116,26 +118,28 @@ public void testMatchEnv() {
}
@Test
- public void testEmptyName() {
+ void testEmptyName() {
BranchSpec branchSpec = new BranchSpec("");
assertEquals("**",branchSpec.getName());
}
- @Test(expected = IllegalArgumentException.class)
- public void testNullName() {
- BranchSpec branchSpec = new BranchSpec(null);
+ @Test
+ void testNullName() {
+ assertThrows(IllegalArgumentException.class, () -> {
+ BranchSpec branchSpec = new BranchSpec(null);
+ });
}
-
+
@Test
- public void testNameTrimming() {
+ void testNameTrimming() {
BranchSpec branchSpec = new BranchSpec(" master ");
assertEquals("master",branchSpec.getName());
branchSpec.setName(" other ");
assertEquals("other",branchSpec.getName());
}
-
+
@Test
- public void testUsesRefsHeads() {
+ void testUsesRefsHeads() {
BranchSpec m = new BranchSpec("refs/heads/j*n*");
assertTrue(m.matches("refs/heads/jenkins"));
assertTrue(m.matches("refs/heads/jane"));
@@ -144,9 +148,9 @@ public void testUsesRefsHeads() {
assertFalse(m.matches("origin/jenkins"));
assertFalse(m.matches("remote/origin/jane"));
}
-
+
@Test
- public void testUsesJavaPatternDirectlyIfPrefixedWithColon() {
+ void testUsesJavaPatternDirectlyIfPrefixedWithColon() {
BranchSpec m = new BranchSpec(":^(?!(origin/prefix)).*");
assertTrue(m.matches("origin"));
assertTrue(m.matches("origin/master"));
@@ -159,7 +163,7 @@ public void testUsesJavaPatternDirectlyIfPrefixedWithColon() {
@Test
@Issue("JENKINS-26842")
- public void testUsesJavaPatternWithRepetition() {
+ void testUsesJavaPatternWithRepetition() {
// match pattern from JENKINS-26842
BranchSpec m = new BranchSpec(":origin/release-\\d{8}");
assertTrue(m.matches("origin/release-20150101"));
@@ -169,7 +173,7 @@ public void testUsesJavaPatternWithRepetition() {
}
@Test
- public void testUsesJavaPatternToExcludeMultipleBranches() {
+ void testUsesJavaPatternToExcludeMultipleBranches() {
BranchSpec m = new BranchSpec(":^(?!origin/master$|origin/develop$).*");
assertTrue(m.matches("origin/branch1"));
assertTrue(m.matches("origin/branch-2"));
@@ -193,7 +197,7 @@ private EnvVars createEnvMap(String key, String value) {
*/
@Test
@Issue("JENKINS-6856")
- public void testUsesEnvValueWithBraces() {
+ void testUsesEnvValueWithBraces() {
EnvVars env = createEnvMap("GIT_BRANCH", "origin/master");
BranchSpec withBraces = new BranchSpec("${GIT_BRANCH}");
@@ -204,7 +208,7 @@ public void testUsesEnvValueWithBraces() {
@Test
@Issue("JENKINS-6856")
- public void testUsesEnvValueWithoutBraces() {
+ void testUsesEnvValueWithoutBraces() {
EnvVars env = createEnvMap("GIT_BRANCH", "origin/master");
BranchSpec withoutBraces = new BranchSpec("$GIT_BRANCH");
@@ -215,7 +219,7 @@ public void testUsesEnvValueWithoutBraces() {
@Test
@Issue("JENKINS-6856")
- public void testUsesEnvValueWithToken() {
+ void testUsesEnvValueWithToken() {
EnvVars env = createEnvMap("GIT_BRANCH", "origin/master");
BranchSpec withToken = new BranchSpec("${GIT_BRANCH,fullName=True}");
@@ -226,7 +230,7 @@ public void testUsesEnvValueWithToken() {
@Test
@Issue("JENKINS-6856")
- public void testUsesEnvValueWithTokenFalse() {
+ void testUsesEnvValueWithTokenFalse() {
EnvVars env = createEnvMap("GIT_BRANCH", "origin/master");
BranchSpec withTokenFalse = new BranchSpec("${GIT_BRANCH,fullName=false}");
diff --git a/src/test/java/hudson/plugins/git/ChangelogToBranchOptionsTest.java b/src/test/java/hudson/plugins/git/ChangelogToBranchOptionsTest.java
index 4ebe2d6d8e..ff5b9950c3 100644
--- a/src/test/java/hudson/plugins/git/ChangelogToBranchOptionsTest.java
+++ b/src/test/java/hudson/plugins/git/ChangelogToBranchOptionsTest.java
@@ -23,39 +23,34 @@
*/
package hudson.plugins.git;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.*;
-public class ChangelogToBranchOptionsTest {
-
- private final ChangelogToBranchOptions options;
- private final String compareRemote;
- private final String compareTarget;
+class ChangelogToBranchOptionsTest {
- public ChangelogToBranchOptionsTest() {
- compareRemote = "origin";
- compareTarget = "feature/new-thing";
- options = new ChangelogToBranchOptions(compareRemote, compareTarget);
- }
+ private final String compareRemote = "origin";
+ private final String compareTarget = "feature/new-thing";
+ private final ChangelogToBranchOptions options = new ChangelogToBranchOptions(compareRemote, compareTarget);
@Test
- public void testGetCompareRemote() {
+ void testGetCompareRemote() {
assertThat(options.getCompareRemote(), is(compareRemote));
}
@Test
- public void testGetCompareTarget() {
+ void testGetCompareTarget() {
assertThat(options.getCompareTarget(), is(compareTarget));
}
@Test
- public void testGetRef() {
+ void testGetRef() {
assertThat(options.getRef(), is(compareRemote + "/" + compareTarget));
}
@Test
- public void testAlternateConstructor() {
+ void testAlternateConstructor() {
ChangelogToBranchOptions newOptions = new ChangelogToBranchOptions(options);
assertThat(newOptions.getCompareRemote(), is(options.getCompareRemote()));
assertThat(newOptions.getCompareTarget(), is(options.getCompareTarget()));
diff --git a/src/test/java/hudson/plugins/git/CheckoutStepSnippetizerTest.java b/src/test/java/hudson/plugins/git/CheckoutStepSnippetizerTest.java
index 2ba8e0154b..f8bd678b3a 100644
--- a/src/test/java/hudson/plugins/git/CheckoutStepSnippetizerTest.java
+++ b/src/test/java/hudson/plugins/git/CheckoutStepSnippetizerTest.java
@@ -33,9 +33,10 @@
import java.util.Random;
import org.jenkinsci.plugins.workflow.cps.SnippetizerTester;
import org.jenkinsci.plugins.workflow.steps.scm.GenericSCMStep;
-import org.junit.ClassRule;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
import org.jvnet.hudson.test.JenkinsRule;
+import org.jvnet.hudson.test.junit.jupiter.WithJenkins;
/**
* Test workflow snippet generation for the checkout step. Workflow
@@ -44,10 +45,10 @@
*
* @author Mark Waite
*/
-public class CheckoutStepSnippetizerTest {
+@WithJenkins
+class CheckoutStepSnippetizerTest {
- @ClassRule
- public static JenkinsRule r = new JenkinsRule();
+ private static JenkinsRule r;
private final Random random = new Random();
private final SnippetizerTester tester = new SnippetizerTester(r);
@@ -75,10 +76,13 @@ public class CheckoutStepSnippetizerTest {
/* Tested values common to many tests */
private final String remoteConfig = "userRemoteConfigs: [[url: '" + url + "']]";
- public CheckoutStepSnippetizerTest() throws Exception {}
+ @BeforeAll
+ static void beforeAll(JenkinsRule rule) {
+ r = rule;
+ }
@Test
- public void checkoutSimplest() throws Exception {
+ void checkoutSimplest() throws Exception {
tester.assertRoundTrip(checkoutStep, "checkout scmGit("
+ junkBranches
+ junkExtensions
@@ -91,7 +95,7 @@ public void checkoutSimplest() throws Exception {
}
@Test
- public void checkoutNoPoll() throws Exception {
+ void checkoutNoPoll() throws Exception {
checkoutStep.setPoll(false);
tester.assertRoundTrip(checkoutStep, "checkout poll: false, scm: scmGit("
+ junkBranches
@@ -105,7 +109,7 @@ public void checkoutNoPoll() throws Exception {
}
@Test
- public void checkoutNoChangelog() throws Exception {
+ void checkoutNoChangelog() throws Exception {
checkoutStep.setChangelog(false);
tester.assertRoundTrip(checkoutStep, "checkout changelog: false, scm: scmGit("
+ junkBranches
@@ -119,7 +123,7 @@ public void checkoutNoChangelog() throws Exception {
}
@Test
- public void checkoutCredentials() throws Exception {
+ void checkoutCredentials() throws Exception {
String myCredential = "my-credential";
UserRemoteConfig config = new UserRemoteConfig(url, remoteName, remoteRefspec, myCredential);
List configList = new ArrayList(List.of(config));
@@ -137,7 +141,7 @@ public void checkoutCredentials() throws Exception {
}
@Test
- public void checkoutBranch() throws Exception {
+ void checkoutBranch() throws Exception {
String branch = "4.10.x";
List branchList = new ArrayList(List.of(new BranchSpec(branch)));
GitSCM gitSCM = new GitSCM(userRemoteConfigList, branchList, browser, gitTool, extensionList);
@@ -154,7 +158,7 @@ public void checkoutBranch() throws Exception {
}
@Test
- public void checkoutSubmoduleSimplest() throws Exception {
+ void checkoutSubmoduleSimplest() throws Exception {
GitSCM gitSCM = new GitSCM(url);
List extensions = gitSCM.getExtensions();
extensions.add(new SubmoduleOption());
@@ -171,7 +175,7 @@ public void checkoutSubmoduleSimplest() throws Exception {
}
@Test
- public void checkoutSubmoduleOldConstructorMinimalArgs() throws Exception {
+ void checkoutSubmoduleOldConstructorMinimalArgs() throws Exception {
GitSCM gitSCM = new GitSCM(url);
List extensions = gitSCM.getExtensions();
boolean disableSubmodules = false;
@@ -194,7 +198,7 @@ public void checkoutSubmoduleOldConstructorMinimalArgs() throws Exception {
}
@Test
- public void checkoutSubmoduleOldConstructorReferenceRepo() throws Exception {
+ void checkoutSubmoduleOldConstructorReferenceRepo() throws Exception {
GitSCM gitSCM = new GitSCM(url);
List extensions = gitSCM.getExtensions();
boolean disableSubmodules = false;
@@ -217,7 +221,7 @@ public void checkoutSubmoduleOldConstructorReferenceRepo() throws Exception {
}
@Test
- public void checkoutSubmoduleOldConstructorDisableSubmodules() throws Exception {
+ void checkoutSubmoduleOldConstructorDisableSubmodules() throws Exception {
GitSCM gitSCM = new GitSCM(url);
List extensions = gitSCM.getExtensions();
boolean disableSubmodules = true; // Only change from default values
@@ -240,7 +244,7 @@ public void checkoutSubmoduleOldConstructorDisableSubmodules() throws Exception
}
@Test
- public void checkoutTimeoutCheckoutDefault() throws Exception {
+ void checkoutTimeoutCheckoutDefault() throws Exception {
GitSCM gitSCM = new GitSCM(url);
List extensions = gitSCM.getExtensions();
Integer timeout = null;
@@ -258,7 +262,7 @@ public void checkoutTimeoutCheckoutDefault() throws Exception {
}
@Test
- public void checkoutTimeoutCheckoutNonDefault() throws Exception {
+ void checkoutTimeoutCheckoutNonDefault() throws Exception {
GitSCM gitSCM = new GitSCM(url);
List extensions = gitSCM.getExtensions();
Integer timeout = 347;
@@ -276,7 +280,7 @@ public void checkoutTimeoutCheckoutNonDefault() throws Exception {
}
@Test
- public void checkoutLargeFileSupport() throws Exception {
+ void checkoutLargeFileSupport() throws Exception {
GitSCM gitSCM = new GitSCM(url);
List extensions = gitSCM.getExtensions();
extensions.add(new GitLFSPull());
diff --git a/src/test/java/hudson/plugins/git/CliGitSCMTriggerLocalPollTest.java b/src/test/java/hudson/plugins/git/CliGitSCMTriggerLocalPollTest.java
index 38c00e23bf..b6eaf1a9f4 100644
--- a/src/test/java/hudson/plugins/git/CliGitSCMTriggerLocalPollTest.java
+++ b/src/test/java/hudson/plugins/git/CliGitSCMTriggerLocalPollTest.java
@@ -3,8 +3,7 @@
import hudson.plugins.git.extensions.GitClientType;
import hudson.plugins.git.extensions.impl.EnforceGitClient;
-public class CliGitSCMTriggerLocalPollTest extends SCMTriggerTest
-{
+class CliGitSCMTriggerLocalPollTest extends SCMTriggerTest {
@Override
protected EnforceGitClient getGitClient()
diff --git a/src/test/java/hudson/plugins/git/CliGitSCMTriggerRemotePollTest.java b/src/test/java/hudson/plugins/git/CliGitSCMTriggerRemotePollTest.java
index 43b2db913f..00e547bc61 100644
--- a/src/test/java/hudson/plugins/git/CliGitSCMTriggerRemotePollTest.java
+++ b/src/test/java/hudson/plugins/git/CliGitSCMTriggerRemotePollTest.java
@@ -9,7 +9,7 @@
* The isChangeExpected() method adjusts the tests to the difference between
* local and remote polling.
*/
-public class CliGitSCMTriggerRemotePollTest extends SCMTriggerTest {
+class CliGitSCMTriggerRemotePollTest extends SCMTriggerTest {
@Override
protected EnforceGitClient getGitClient()
diff --git a/src/test/java/hudson/plugins/git/CredentialsUserRemoteConfigTest.java b/src/test/java/hudson/plugins/git/CredentialsUserRemoteConfigTest.java
index 60763c11cc..1027e2f773 100644
--- a/src/test/java/hudson/plugins/git/CredentialsUserRemoteConfigTest.java
+++ b/src/test/java/hudson/plugins/git/CredentialsUserRemoteConfigTest.java
@@ -12,34 +12,38 @@
import java.util.Random;
import jenkins.model.Jenkins;
import jenkins.plugins.git.GitSampleRepoRule;
+import jenkins.plugins.git.junit.jupiter.WithGitSampleRepo;
import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition;
import org.jenkinsci.plugins.workflow.job.WorkflowJob;
import org.jenkinsci.plugins.workflow.job.WorkflowRun;
-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.Issue;
import org.jvnet.hudson.test.JenkinsRule;
+import org.jvnet.hudson.test.junit.jupiter.WithJenkins;
import static org.hamcrest.Matchers.notNullValue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertTrue;
-public class CredentialsUserRemoteConfigTest {
+@WithJenkins
+@WithGitSampleRepo
+class CredentialsUserRemoteConfigTest {
- @Rule
- public JenkinsRule r = new JenkinsRule();
+ private JenkinsRule r;
- @Rule
- public GitSampleRepoRule sampleRepo = new GitSampleRepoRule();
+ private GitSampleRepoRule sampleRepo;
private CredentialsStore store = null;
private boolean useSymbolForGitSCM = true;
private Random random = new Random();
private String credential = "undefined-credential";
- @Before
- public void enableSystemCredentialsProvider() {
+ @BeforeEach
+ void beforeEach(JenkinsRule rule, GitSampleRepoRule repo) throws Exception {
+ r = rule;
+ sampleRepo = repo;
+
SystemCredentialsProvider.getInstance().setDomainCredentialsMap(
Collections.singletonMap(Domain.global(), Collections.emptyList()));
for (CredentialsStore s : CredentialsProvider.lookupStores(Jenkins.get())) {
@@ -49,23 +53,14 @@ public void enableSystemCredentialsProvider() {
}
}
assertThat("The system credentials provider is enabled", store, notNullValue());
- }
- @Before
- public void chooseSymbolForGitSCM() {
/* Use the 'scmGit' symbol instead of '$class: GitSCM */
useSymbolForGitSCM = random.nextBoolean();
- }
- @Before
- public void generateCredentialID() {
credential = "credential-id-" + (100 + random.nextInt(900));
- }
- @Before
- public void initSampleRepo() throws Exception {
sampleRepo.init();
- assertTrue("Failed to create src dir in sample repo", sampleRepo.mkdirs("src"));
+ assertTrue(sampleRepo.mkdirs("src"), "Failed to create src dir in sample repo");
sampleRepo.write("src/sample.txt", "Contents of src/sample.txt");
sampleRepo.git("add", "src/sample.txt");
sampleRepo.git("commit", "-m", "Add src/sample.txt to sample repo");
@@ -269,7 +264,7 @@ private String randomPipelineCheckoutExtras() throws Exception {
@Issue("JENKINS-30515")
@Test
- public void checkoutWithValidCredentials() throws Exception {
+ void checkoutWithValidCredentials() throws Exception {
store.addCredentials(Domain.global(), createCredential(CredentialsScope.GLOBAL, credential));
store.save();
@@ -280,7 +275,7 @@ public void checkoutWithValidCredentials() throws Exception {
@Issue("JENKINS-30515")
@Test
- public void checkoutWithDifferentCredentials() throws Exception {
+ void checkoutWithDifferentCredentials() throws Exception {
store.addCredentials(Domain.global(), createCredential(CredentialsScope.GLOBAL, "other"));
store.save();
@@ -300,7 +295,7 @@ public void checkoutWithDifferentCredentials() throws Exception {
@Issue("JENKINS-30515")
@Test
- public void checkoutWithInvalidCredentials() throws Exception {
+ void checkoutWithInvalidCredentials() throws Exception {
String systemCredential = "system-credential-" + (100 + random.nextInt(900));
store.addCredentials(Domain.global(), createCredential(CredentialsScope.SYSTEM, systemCredential));
store.save();
@@ -320,7 +315,7 @@ public void checkoutWithInvalidCredentials() throws Exception {
@Issue("JENKINS-30515")
@Test
- public void checkoutWithNoCredentialsStoredButUsed() throws Exception {
+ void checkoutWithNoCredentialsStoredButUsed() throws Exception {
WorkflowJob p = r.jenkins.createProject(WorkflowJob.class, "p");
p.setDefinition(new CpsFlowDefinition(
"node {\n"
@@ -336,7 +331,7 @@ public void checkoutWithNoCredentialsStoredButUsed() throws Exception {
@Issue("JENKINS-30515")
@Test
- public void checkoutWithNoCredentialsSpecified() throws Exception {
+ void checkoutWithNoCredentialsSpecified() throws Exception {
WorkflowJob p = r.jenkins.createProject(WorkflowJob.class, "p");
p.setDefinition(new CpsFlowDefinition(
"node {\n"
diff --git a/src/test/java/hudson/plugins/git/FIPSModeUrlCheckTest.java b/src/test/java/hudson/plugins/git/FIPSModeUrlCheckTest.java
index fbb5724e94..d43d682883 100644
--- a/src/test/java/hudson/plugins/git/FIPSModeUrlCheckTest.java
+++ b/src/test/java/hudson/plugins/git/FIPSModeUrlCheckTest.java
@@ -3,6 +3,7 @@
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.is;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
import com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey;
import com.cloudbees.plugins.credentials.CredentialsScope;
@@ -17,6 +18,7 @@
import hudson.model.Result;
import hudson.util.FormValidation;
import java.io.File;
+import java.io.IOException;
import java.nio.file.Files;
import java.util.List;
import jenkins.branch.MultiBranchProject;
@@ -29,26 +31,25 @@
import org.jenkinsci.plugins.workflow.job.WorkflowRun;
import org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject;
import org.jetbrains.annotations.NotNull;
-import org.junit.Assume;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.jvnet.hudson.test.RealJenkinsRule;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
+import org.junit.jupiter.api.io.TempDir;
+import org.jvnet.hudson.test.junit.jupiter.RealJenkinsExtension;
import org.testcontainers.DockerClientFactory;
import org.testcontainers.containers.BindMode;
-public class FIPSModeUrlCheckTest {
+class FIPSModeUrlCheckTest {
- @Rule public RealJenkinsRule rule = new RealJenkinsRule().omitPlugins("eddsa-api", "trilead-api", "git-tag-message")
+ @RegisterExtension
+ private final RealJenkinsExtension extension = new RealJenkinsExtension().omitPlugins("eddsa-api", "trilead-api", "git-tag-message")
.javaOptions("-Djenkins.security.FIPS140.COMPLIANCE=true");
- @Rule
- public TemporaryFolder directory = new TemporaryFolder();
-
+ @TempDir
+ private File directory;
@Test
- public void testFIPSLtsMethod() throws Throwable {
- rule.then( r -> {
+ void testFIPSLtsMethod() throws Throwable {
+ extension.then(r -> {
assertThat(GitSCMSource.isFIPSCompliantTLS(null, "http://github.com/cheese/wine"), is(true));
assertThat(GitSCMSource.isFIPSCompliantTLS("beer", "http://github.com/cheese/wine"), is(false));
assertThat(GitSCMSource.isFIPSCompliantTLS(null, "https://github.com/cheese/wine"), is(true));
@@ -61,8 +62,8 @@ public void testFIPSLtsMethod() throws Throwable {
}
@Test
- public void testGitSCMSourceCheck() throws Throwable {
- rule.then( r -> {
+ void testGitSCMSourceCheck() throws Throwable {
+ extension.then(r -> {
SystemCredentialsProvider.getInstance()
.getCredentials()
.add(new UsernamePasswordCredentialsImpl(
@@ -99,8 +100,8 @@ public void testGitSCMSourceCheck() throws Throwable {
}
@Test
- public void testUserRemoteConfigCheck() throws Throwable {
- Assume.assumeTrue(DockerClientFactory.instance().isDockerAvailable());
+ void testUserRemoteConfigCheck() throws Throwable {
+ assumeTrue(DockerClientFactory.instance().isDockerAvailable());
// ssh with credentials all good
try (GitServerContainer containerUnderTest =
new GitServerContainer(GitServerVersions.V2_45.getDockerImageName()).withGitRepo("someRepo")) {
@@ -127,7 +128,7 @@ public void testUserRemoteConfigCheck() throws Throwable {
// we don't want the user part of the uri or jgit will use this user
// and we want to be sure to test our implementation with dynamic user
final String repoUrl = StringUtils.remove(containerUnderTest.getGitRepoURIAsSSH().toString(), "git@");
- rule.then( r -> {
+ extension.then(r -> {
BasicSSHUserPrivateKey sshUserPrivateKey = getBasicSSHUserPrivateKey(privateKey, passphrase);
SystemCredentialsProvider.getInstance().getCredentials().add(sshUserPrivateKey);
SystemCredentialsProvider.getInstance()
@@ -152,7 +153,7 @@ public void testUserRemoteConfigCheck() throws Throwable {
assertThat(validation.kind, is(FormValidation.Kind.OK));
}
- Assume.assumeTrue(DockerClientFactory.instance().isDockerAvailable());
+ assumeTrue(DockerClientFactory.instance().isDockerAvailable());
{
FormValidation validation = descriptor.doCheckUrl(p, sshUserPrivateKey.getId(), repoUrl);
@@ -166,7 +167,7 @@ public void testUserRemoteConfigCheck() throws Throwable {
new GitHttpServerContainer(GitServerVersions.V2_45.getDockerImageName())) {
containerUnderTest.start();
String repoUri = containerUnderTest.getGitRepoURIAsHttp().toString();
- rule.then( r -> {
+ extension.then(r -> {
FreeStyleProject p = r.createProject(FreeStyleProject.class, "mbp2");
UserRemoteConfig.DescriptorImpl descriptor =
ExtensionList.lookupSingleton(UserRemoteConfig.DescriptorImpl.class);
@@ -197,13 +198,13 @@ public List getPrivateKeys() {
}
@Test
- public void gitStepTLSCheck() throws Throwable {
- Assume.assumeTrue(DockerClientFactory.instance().isDockerAvailable());
+ void gitStepTLSCheck() throws Throwable {
+ assumeTrue(DockerClientFactory.instance().isDockerAvailable());
try (GitHttpServerContainer containerUnderTest =
new GitHttpServerContainer(GitServerVersions.V2_45.getDockerImageName())) {
containerUnderTest.start();
// need to have at least on revision to avoid build failure
- File tmp = directory.newFolder();
+ File tmp = newFolder(directory, "junit");
Git git = Git.cloneRepository()
.setURI(containerUnderTest.getGitRepoURIAsHttp().toString())
.setDirectory(tmp)
@@ -217,7 +218,7 @@ public void gitStepTLSCheck() throws Throwable {
git.commit().setMessage("add foo").call();
git.push().call();
String repoUri = containerUnderTest.getGitRepoURIAsHttp().toString();
- rule.then(r -> {
+ extension.then(r -> {
WorkflowJob p = r.createProject(WorkflowJob.class, "some project");
{
// http with creds rejected
@@ -248,13 +249,13 @@ public void gitStepTLSCheck() throws Throwable {
}
@Test
- public void checkoutStepTLSCheck() throws Throwable {
- Assume.assumeTrue(DockerClientFactory.instance().isDockerAvailable());
+ void checkoutStepTLSCheck() throws Throwable {
+ assumeTrue(DockerClientFactory.instance().isDockerAvailable());
try (GitHttpServerContainer containerUnderTest =
new GitHttpServerContainer(GitServerVersions.V2_45.getDockerImageName())) {
containerUnderTest.start();
// need to have at least on revision to avoid build failure
- File tmp = directory.newFolder();
+ File tmp = newFolder(directory, "junit");
Git git = Git.cloneRepository()
.setURI(containerUnderTest.getGitRepoURIAsHttp().toString())
.setDirectory(tmp)
@@ -268,7 +269,7 @@ public void checkoutStepTLSCheck() throws Throwable {
git.commit().setMessage("add foo").call();
git.push().call();
String repoUri = containerUnderTest.getGitRepoURIAsHttp().toString();
- rule.then(r -> {
+ extension.then(r -> {
WorkflowJob p = r.createProject(WorkflowJob.class, "some project");
{
// http with creds rejected
@@ -303,4 +304,13 @@ checkout scmGit(branches: [[name: 'master']],
});
}
}
+
+ private static File newFolder(File root, String... subDirs) throws IOException {
+ String subFolder = String.join("/", subDirs);
+ File result = new File(root, subFolder);
+ if (!result.mkdirs()) {
+ throw new IOException("Couldn't create folders " + root);
+ }
+ return result;
+ }
}
diff --git a/src/test/java/hudson/plugins/git/GitBranchSpecifierColumnTest.java b/src/test/java/hudson/plugins/git/GitBranchSpecifierColumnTest.java
index 1113899fd4..caea90252b 100644
--- a/src/test/java/hudson/plugins/git/GitBranchSpecifierColumnTest.java
+++ b/src/test/java/hudson/plugins/git/GitBranchSpecifierColumnTest.java
@@ -24,24 +24,22 @@
package hudson.plugins.git;
import hudson.model.Item;
+import org.junit.jupiter.api.Test;
+
import java.util.ArrayList;
import java.util.List;
import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
-import org.junit.Test;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
/**
* @author Mark Waite
*/
-public class GitBranchSpecifierColumnTest {
-
- public GitBranchSpecifierColumnTest() {
- }
+class GitBranchSpecifierColumnTest {
@Test
- public void testGetBranchSpecifierNull() {
+ void testGetBranchSpecifierNull() {
Item item = null;
GitBranchSpecifierColumn branchSpecifierColumn = new GitBranchSpecifierColumn();
List result = branchSpecifierColumn.getBranchSpecifier(item);
@@ -49,7 +47,7 @@ public void testGetBranchSpecifierNull() {
}
@Test
- public void testBreakOutString() {
+ void testBreakOutString() {
List branches = new ArrayList<>();
final String MASTER_BRANCH = "master";
branches.add(MASTER_BRANCH);
@@ -61,7 +59,7 @@ public void testBreakOutString() {
}
@Test
- public void testBreakOutStringEmpty() {
+ void testBreakOutStringEmpty() {
List branches = new ArrayList<>();
GitBranchSpecifierColumn branchSpecifier = new GitBranchSpecifierColumn();
String result = branchSpecifier.breakOutString(branches);
@@ -69,7 +67,7 @@ public void testBreakOutStringEmpty() {
}
@Test
- public void testBreakOutStringNull() {
+ void testBreakOutStringNull() {
List branches = null;
GitBranchSpecifierColumn branchSpecifier = new GitBranchSpecifierColumn();
String result = branchSpecifier.breakOutString(branches);
diff --git a/src/test/java/hudson/plugins/git/GitChangeLogParserTest.java b/src/test/java/hudson/plugins/git/GitChangeLogParserTest.java
index 7686f02bd7..25c3c41317 100644
--- a/src/test/java/hudson/plugins/git/GitChangeLogParserTest.java
+++ b/src/test/java/hudson/plugins/git/GitChangeLogParserTest.java
@@ -11,27 +11,25 @@
import java.io.FileWriter;
import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
/**
* Unit tests of {@link GitChangeLogParser}
*/
-public class GitChangeLogParserTest {
+class GitChangeLogParserTest {
- @Rule
- public TemporaryFolder tmpFolder = new TemporaryFolder();
+ @TempDir
+ private File tmpFolder;
private final String firstMessageTruncated = "123456789 123456789 123456789 123456789 123456789 123456789 123456789 1";
private final String firstMessage = firstMessageTruncated + " 345 789";
/* Test duplicate changes filtered from parsed CLI git change set list. */
@Test
- public void testDuplicatesFilteredCliGit() throws Exception {
+ void testDuplicatesFilteredCliGit() throws Exception {
GitClient gitClient = Git.with(TaskListener.NULL, new EnvVars()).using("Default").in(new File(".")).getClient();
assertThat(gitClient, instanceOf(CliGitAPIImpl.class));
/* JENKINS-29977 notes that CLI git impl truncates summary message - confirm default behavior retained */
@@ -40,7 +38,7 @@ public void testDuplicatesFilteredCliGit() throws Exception {
/* Test duplicate changes filtered from parsed JGit change set list. */
@Test
- public void testDuplicatesFilteredJGit() throws Exception {
+ void testDuplicatesFilteredJGit() throws Exception {
GitClient gitClient = Git.with(TaskListener.NULL, new EnvVars()).using("jgit").in(new File(".")).getClient();
assertThat(gitClient, instanceOf(JGitAPIImpl.class));
/* JENKINS-29977 notes that JGit impl retains full summary message - confirm default behavior retained */
@@ -49,7 +47,7 @@ public void testDuplicatesFilteredJGit() throws Exception {
private void generateDuplicateChanges(GitClient gitClient, String expectedMessage) throws Exception {
GitChangeLogParser parser = new GitChangeLogParser(gitClient, true);
- File log = tmpFolder.newFile();
+ File log = File.createTempFile("junit", null, tmpFolder);
try (FileWriter writer = new FileWriter(log)) {
writer.write("commit 123abc456def\n");
writer.write(" " + firstMessage + "\n");
@@ -64,6 +62,6 @@ private void generateDuplicateChanges(GitClient gitClient, String expectedMessag
assertNotNull(first);
assertEquals("123abc456def", first.getId());
assertThat(first.getMsg(), is(expectedMessage));
- assertTrue("Temp file delete failed for " + log, log.delete());
+ assertTrue(log.delete(), "Temp file delete failed for " + log);
}
}
diff --git a/src/test/java/hudson/plugins/git/GitChangeSetBadArgsTest.java b/src/test/java/hudson/plugins/git/GitChangeSetBadArgsTest.java
index 408310628a..dc886aef39 100644
--- a/src/test/java/hudson/plugins/git/GitChangeSetBadArgsTest.java
+++ b/src/test/java/hudson/plugins/git/GitChangeSetBadArgsTest.java
@@ -4,16 +4,22 @@
import hudson.model.User;
-import org.junit.Test;
-import static org.junit.Assert.*;
-import org.junit.Rule;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+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 GitChangeSetBadArgsTest {
+@WithJenkins
+class GitChangeSetBadArgsTest {
- @Rule
- public JenkinsRule r = new JenkinsRule();
+ private JenkinsRule r;
+
+ @BeforeEach
+ void beforeEach(JenkinsRule rule) {
+ r = rule;
+ }
private GitChangeSet createChangeSet(boolean authorOrCommitter, String name, String email) {
String dataSource = authorOrCommitter ? "Author" : "Committer";
@@ -49,7 +55,7 @@ private GitChangeSet createCommitterChangeSet(String committerName, String commi
private static final String DEGENERATE_EMAIL_ADDRESS = "@";
@Test
- public void testFindOrCreateUserAuthorBadEmail() {
+ void testFindOrCreateUserAuthorBadEmail() {
String authorName = "Bad Author Test 1";
GitChangeSet changeSet = createAuthorChangeSet(authorName, DEGENERATE_EMAIL_ADDRESS);
assertEquals(User.getUnknown(), changeSet.findOrCreateUser(authorName, DEGENERATE_EMAIL_ADDRESS, false, false));
@@ -58,7 +64,7 @@ public void testFindOrCreateUserAuthorBadEmail() {
}
@Test
- public void testFindOrCreateUserCommitterBadEmail() {
+ void testFindOrCreateUserCommitterBadEmail() {
String committerName = "Bad Committer Test 2";
GitChangeSet changeSet = createCommitterChangeSet(committerName, DEGENERATE_EMAIL_ADDRESS);
assertEquals(User.getUnknown(), changeSet.findOrCreateUser(committerName, DEGENERATE_EMAIL_ADDRESS, false, false));
@@ -67,7 +73,7 @@ public void testFindOrCreateUserCommitterBadEmail() {
}
@Test
- public void testFindOrCreateUserEmptyAuthor() {
+ void testFindOrCreateUserEmptyAuthor() {
String emptyAuthorName = "";
String incompleteAuthorEmail = "@test3.example.com";
GitChangeSet changeSet = createAuthorChangeSet(emptyAuthorName, incompleteAuthorEmail);
@@ -77,7 +83,7 @@ public void testFindOrCreateUserEmptyAuthor() {
}
@Test
- public void testFindOrCreateEmptyCommitter() {
+ void testFindOrCreateEmptyCommitter() {
String emptyCommitterName = "";
String incompleteCommitterEmail = "@test4.example.com";
GitChangeSet changeSet = createCommitterChangeSet(emptyCommitterName, incompleteCommitterEmail);
@@ -87,7 +93,7 @@ public void testFindOrCreateEmptyCommitter() {
}
@Test
- public void testFindOrCreateUserEmptyAuthorEmail() {
+ void testFindOrCreateUserEmptyAuthorEmail() {
String authorName = "Author Test 5";
String emptyAuthorEmail = "";
GitChangeSet changeSet = createAuthorChangeSet(authorName, emptyAuthorEmail);
@@ -96,7 +102,7 @@ public void testFindOrCreateUserEmptyAuthorEmail() {
}
@Test
- public void testFindOrCreateUserNullAuthorEmail() {
+ void testFindOrCreateUserNullAuthorEmail() {
String authorName = "Author Test 6";
String emptyAuthorEmail = "";
GitChangeSet changeSet = createAuthorChangeSet(authorName, emptyAuthorEmail);
@@ -105,7 +111,7 @@ public void testFindOrCreateUserNullAuthorEmail() {
}
@Test
- public void testFindOrCreateUserEmptyCommitterEmail() {
+ void testFindOrCreateUserEmptyCommitterEmail() {
String committerName = "Committer Test 7";
String emptyCommitterEmail = "";
GitChangeSet changeSet = createCommitterChangeSet(committerName, emptyCommitterEmail);
@@ -114,7 +120,7 @@ public void testFindOrCreateUserEmptyCommitterEmail() {
}
@Test
- public void testFindOrCreateUserNullCommitterEmail() {
+ void testFindOrCreateUserNullCommitterEmail() {
String committerName = "Committer Test 8";
String emptyCommitterEmail = "";
GitChangeSet changeSet = createCommitterChangeSet(committerName, emptyCommitterEmail);
diff --git a/src/test/java/hudson/plugins/git/GitChangeSetBasicTest.java b/src/test/java/hudson/plugins/git/GitChangeSetBasicTest.java
index 898d0f9736..5f72bdb3b8 100644
--- a/src/test/java/hudson/plugins/git/GitChangeSetBasicTest.java
+++ b/src/test/java/hudson/plugins/git/GitChangeSetBasicTest.java
@@ -1,16 +1,17 @@
package hudson.plugins.git;
+import org.junit.jupiter.api.Test;
+
import java.util.ArrayList;
import java.util.Collections;
import static hudson.plugins.git.GitChangeSet.TRUNCATE_LIMIT;
import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertEquals;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
-public class GitChangeSetBasicTest {
+class GitChangeSetBasicTest {
private GitChangeSet genChangeSet(boolean authorOrCommitter, boolean useLegacyFormat) {
return GitChangeSetUtil.genChangeSet(authorOrCommitter, useLegacyFormat, true);
@@ -21,47 +22,47 @@ private GitChangeSet genChangeSet(boolean authorOrCommitter, boolean useLegacyFo
}
@Test
- public void testLegacyChangeSet() {
+ void testLegacyChangeSet() {
GitChangeSet gitChangeSet = GitChangeSetUtil.genChangeSet(false, true, false, GitChangeSetUtil.COMMIT_TITLE ,false);
GitChangeSetUtil.assertChangeSet( gitChangeSet );
}
@Test
- public void testChangeSet() {
+ void testChangeSet() {
GitChangeSetUtil.assertChangeSet(genChangeSet(false, false));
}
@Test
- public void testChangeSetNoParent() {
+ void testChangeSetNoParent() {
GitChangeSet changeSet = genChangeSet(false, false, false);
GitChangeSetUtil.assertChangeSet(changeSet);
assertNull(changeSet.getParentCommit());
}
@Test
- public void testCommitter() {
+ void testCommitter() {
assertEquals(GitChangeSetUtil.COMMITTER_NAME, genChangeSet(false, false).getAuthorName());
assertEquals(GitChangeSetUtil.COMMITTER_EMAIL, genChangeSet(false, false).getAuthorEmail());
}
@Test
- public void testAuthor() {
+ void testAuthor() {
assertEquals(GitChangeSetUtil.AUTHOR_NAME, genChangeSet(true, false).getAuthorName());
assertEquals(GitChangeSetUtil.AUTHOR_EMAIL, genChangeSet(true, false).getAuthorEmail());
}
@Test
- public void testGetDate() {
+ void testGetDate() {
assertEquals("1970-01-15T06:56:08-0600", genChangeSet(true, false).getDate());
}
@Test
- public void testGetTimestamp() {
+ void testGetTimestamp() {
assertEquals(1256168000L, genChangeSet(true, false).getTimestamp());
}
@Test
- public void testInvalidDate() {
+ void testInvalidDate() {
final String badDateString = "2015-03-03x09:22:42 -0700";
GitChangeSet c = new GitChangeSet(Collections.singletonList("author John Doe " + badDateString), true);
assertEquals(badDateString, c.getDate());
@@ -69,7 +70,7 @@ public void testInvalidDate() {
}
@Test
- public void testIsoDate() {
+ void testIsoDate() {
GitChangeSet c = new GitChangeSet(Collections.singletonList("author John Doe 2015-03-03T09:22:42-0700"), true);
assertEquals("2015-03-03T09:22:42-0700", c.getDate());
@@ -118,27 +119,27 @@ private GitChangeSet genChangeSetForSwedCase(boolean authorOrCommitter) {
}
@Test
- public void testSwedishCommitterName() {
+ void testSwedishCommitterName() {
assertEquals("Mister Ã…hlander", genChangeSetForSwedCase(false).getAuthorName());
}
@Test
- public void testSwedishAuthorName() {
+ void testSwedishAuthorName() {
assertEquals("misterÃ…", genChangeSetForSwedCase(true).getAuthorName());
}
@Test
- public void testSwedishDate() {
+ void testSwedishDate() {
assertEquals("2013-03-21T15:16:44+0100", genChangeSetForSwedCase(true).getDate());
}
@Test
- public void testSwedishTimestamp() {
+ void testSwedishTimestamp() {
assertEquals(1363875404000L, genChangeSetForSwedCase(true).getTimestamp());
}
@Test
- public void testChangeLogTruncationWithShortMessage(){
+ void testChangeLogTruncationWithShortMessage(){
GitChangeSet changeSet = GitChangeSetUtil.genChangeSet(true, false, true,
"Lorem ipsum dolor sit amet.",
false);
@@ -148,7 +149,7 @@ public void testChangeLogTruncationWithShortMessage(){
}
@Test
- public void testChangeLogTruncationWithNewLine(){
+ void testChangeLogTruncationWithNewLine(){
GitChangeSet changeSet = GitChangeSetUtil.genChangeSet(true, false, true,
"Lorem ipsum dolor sit amet, "+System.lineSeparator()+"consectetur adipiscing elit.",
false);
@@ -158,7 +159,7 @@ public void testChangeLogTruncationWithNewLine(){
}
@Test
- public void testChangeLogRetainSummaryWithoutNewLine(){
+ void testChangeLogRetainSummaryWithoutNewLine(){
String originalCommitMessage = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus pellentesque ipsum non aliquam interdum. Integer metus orci, vulputate id turpis in, pharetra pretium magna. Fusce sollicitudin vehicula lectus. Nam ut eros purus. Mauris aliquam mi et nunc porta, non consectetur mauris pretium. Fusce a venenatis dolor. Sed commodo, dui ac posuere dignissim, dolor tortor semper eros, varius consequat nulla purus a lacus. Vestibulum egestas, orci vitae pellentesque laoreet, dolor lorem molestie tellus, nec luctus lorem ex quis orci. Phasellus interdum elementum luctus. Nam commodo, turpis in sollicitudin auctor, ipsum lectus finibus erat, in iaculis sapien neque ultrices sapien. In congue diam semper tortor laoreet aliquet. Mauris lacinia quis nunc vel accumsan. Nullam sed nisl eget orci porttitor venenatis. Lorem ipsum dolor sit amet, consectetur adipiscing elit";
GitChangeSet changeSet = GitChangeSetUtil.genChangeSet(true, false, true,
originalCommitMessage,
@@ -167,7 +168,7 @@ public void testChangeLogRetainSummaryWithoutNewLine(){
}
@Test
- public void testChangeLogDoNotRetainSummaryWithoutNewLine(){
+ void testChangeLogDoNotRetainSummaryWithoutNewLine(){
String msg = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus pellentesque ipsum non aliquam interdum. Integer metus orci, vulputate id turpis in, pharetra pretium magna. Fusce sollicitudin vehicula lectus. Nam ut eros purus. Mauris aliquam mi et nunc porta, non consectetur mauris pretium. Fusce a venenatis dolor. Sed commodo, dui ac posuere dignissim, dolor tortor semper eros, varius consequat nulla purus a lacus. Vestibulum egestas, orci vitae pellentesque laoreet, dolor lorem molestie tellus, nec luctus lorem ex quis orci. Phasellus interdum elementum luctus. Nam commodo, turpis in sollicitudin auctor, ipsum lectus finibus erat, in iaculis sapien neque ultrices sapien. In congue diam semper tortor laoreet aliquet. Mauris lacinia quis nunc vel accumsan. Nullam sed nisl eget orci porttitor venenatis. Lorem ipsum dolor sit amet, consectetur adipiscing elit";
GitChangeSet changeSet = GitChangeSetUtil.genChangeSet(true, false, true,
msg,
@@ -176,7 +177,7 @@ public void testChangeLogDoNotRetainSummaryWithoutNewLine(){
}
@Test
- public void testChangeLogNoTruncationWithNewLine(){
+ void testChangeLogNoTruncationWithNewLine(){
GitChangeSet changeSet = GitChangeSetUtil.genChangeSet(true, false, true,
"Lorem ipsum dolor sit amet, consectetur "+System.lineSeparator()+" adipiscing elit. Phasellus pellentesque ipsum non aliquam interdum. Integer metus orci, vulputate id turpis in, pharetra pretium magna. Fusce sollicitudin vehicula lectus. Nam ut eros purus. Mauris aliquam mi et nunc porta, non consectetur mauris pretium. Fusce a venenatis dolor. Sed commodo, dui ac posuere dignissim, dolor tortor semper eros, varius consequat nulla purus a lacus. Vestibulum egestas, orci vitae pellentesque laoreet, dolor lorem molestie tellus, nec luctus lorem ex quis orci. Phasellus interdum elementum luctus. Nam commodo, turpis in sollicitudin auctor, ipsum lectus finibus erat, in iaculis sapien neque ultrices sapien. In congue diam semper tortor laoreet aliquet. Mauris lacinia quis nunc vel accumsan. Nullam sed nisl eget orci porttitor venenatis. Lorem ipsum dolor sit amet, consectetur adipiscing elit",
true);
@@ -185,7 +186,7 @@ public void testChangeLogNoTruncationWithNewLine(){
}
@Test
- public void testChangeLogEdgeCaseNotTruncating(){
+ void testChangeLogEdgeCaseNotTruncating(){
GitChangeSet changeSet = GitChangeSetUtil.genChangeSet(true, false, true,
"[JENKINS-012345] 8901 34567 90 23456 8901 34567 9012 4567890 2345678 0 2 4 5",
false);
@@ -195,7 +196,7 @@ public void testChangeLogEdgeCaseNotTruncating(){
}
@Test
- public void testChangeLogEdgeCaseTruncating(){
+ void testChangeLogEdgeCaseTruncating(){
GitChangeSet changeSet = GitChangeSetUtil.genChangeSet(true, false, true,
"[JENKINS-012345] 8901 34567 90 23456 8901 34567 9012 4567890 2345678 0 2 4 5",
true);
@@ -204,7 +205,7 @@ public void testChangeLogEdgeCaseTruncating(){
}
@Test
- public void testChangeLogEdgeCaseTruncatingAndNewLine(){
+ void testChangeLogEdgeCaseTruncatingAndNewLine(){
GitChangeSet changeSet = GitChangeSetUtil.genChangeSet(true, false, true,
"[JENKINS-012345] 8901 34567 " + System.lineSeparator() + "90 23456 8901 34567 9012 4567890 2345678 0 2 4 5",
true);
@@ -213,7 +214,7 @@ public void testChangeLogEdgeCaseTruncatingAndNewLine(){
}
@Test
- public void testLongString(){
+ void testLongString(){
GitChangeSet changeSet = GitChangeSetUtil.genChangeSet(true, false, true,
"12345678901234567890123456789012345678901234567890123456789012345678901234567890",
false);
@@ -222,7 +223,7 @@ public void testLongString(){
}
@Test
- public void stringSplitter(){
+ void stringSplitter(){
String msg = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus pellentesque ipsum non aliquam interdum. Integer metus orci, vulputate id turpis in, pharetra pretium magna. Fusce sollicitudin vehicula lectus. Nam ut eros purus. Mauris aliquam mi et nunc porta, non consectetur mauris pretium. Fusce a venenatis dolor. Sed commodo, dui ac posuere dignissim, dolor tortor semper eros, varius consequat nulla purus a lacus. Vestibulum egestas, orci vitae pellentesque laoreet, dolor lorem molestie tellus, nec luctus lorem ex quis orci. Phasellus interdum elementum luctus. Nam commodo, turpis in sollicitudin auctor, ipsum lectus finibus erat, in iaculis sapien neque ultrices sapien. In congue diam semper tortor laoreet aliquet. Mauris lacinia quis nunc vel accumsan. Nullam sed nisl eget orci porttitor venenatis. Lorem ipsum dolor sit amet, consectetur adipiscing elit";
assertThat(GitChangeSet.splitString(msg, 15), is("Lorem ipsum"));
assertThat(GitChangeSet.splitString(msg, 16), is("Lorem ipsum"));
@@ -239,17 +240,17 @@ public void stringSplitter(){
}
@Test
- public void splitingWithBrackets(){
+ void splitingWithBrackets(){
assertThat(GitChangeSet.splitString("[task] Lorem ipsum dolor sit amet, consectetur adipiscing elit.", 25), is("[task] Lorem ipsum dolor"));
}
@Test
- public void splitingEmptyString(){
+ void splitingEmptyString(){
assertThat(GitChangeSet.splitString("", 25), is(""));
}
@Test
- public void splitingNullString(){
+ void splitingNullString(){
assertThat(GitChangeSet.splitString(null, 25), is(""));
}
}
diff --git a/src/test/java/hudson/plugins/git/GitChangeSetEmptyTest.java b/src/test/java/hudson/plugins/git/GitChangeSetEmptyTest.java
index b813156066..d34de47ce1 100644
--- a/src/test/java/hudson/plugins/git/GitChangeSetEmptyTest.java
+++ b/src/test/java/hudson/plugins/git/GitChangeSetEmptyTest.java
@@ -1,100 +1,99 @@
package hudson.plugins.git;
import java.util.ArrayList;
-import org.junit.Before;
-import org.junit.Test;
-import static org.junit.Assert.*;
-public class GitChangeSetEmptyTest {
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
- private GitChangeSet changeSet = null;
+import static org.junit.jupiter.api.Assertions.*;
- public GitChangeSetEmptyTest() {
- }
+class GitChangeSetEmptyTest {
+
+ private GitChangeSet changeSet = null;
- @Before
- public void createEmptyChangeSet() {
+ @BeforeEach
+ void beforeEach() {
changeSet = new GitChangeSet(new ArrayList<>(), false);
}
@Test
- public void testGetDate() {
+ void testGetDate() {
assertNull(changeSet.getDate());
}
@Test
- public void testGetTimestamp() {
+ void testGetTimestamp() {
assertEquals(-1L, changeSet.getTimestamp());
}
@Test
- public void testGetCommitId() {
+ void testGetCommitId() {
assertNull(changeSet.getCommitId());
}
@Test
- public void testSetParent() {
+ void testSetParent() {
changeSet.setParent(null);
assertNull(changeSet.getParent());
}
@Test
- public void testGetParentCommit() {
+ void testGetParentCommit() {
assertNull(changeSet.getParentCommit());
}
@Test
- public void testGetAffectedPaths() {
+ void testGetAffectedPaths() {
assertTrue(changeSet.getAffectedPaths().isEmpty());
}
@Test
- public void testGetPaths() {
+ void testGetPaths() {
assertTrue(changeSet.getPaths().isEmpty());
}
@Test
- public void testGetAffectedFiles() {
+ void testGetAffectedFiles() {
assertTrue(changeSet.getAffectedFiles().isEmpty());
}
@Test
- public void testGetAuthorName() {
+ void testGetAuthorName() {
assertNull(changeSet.getAuthorName());
}
@Test
- public void testGetMsg() {
+ void testGetMsg() {
assertNull(changeSet.getMsg());
}
@Test
- public void testGetId() {
+ void testGetId() {
assertNull(changeSet.getId());
}
@Test
- public void testGetRevision() {
+ void testGetRevision() {
assertNull(changeSet.getRevision());
}
@Test
- public void testGetComment() {
+ void testGetComment() {
assertNull(changeSet.getComment());
}
@Test
- public void testGetBranch() {
+ void testGetBranch() {
assertNull(changeSet.getBranch());
}
@Test
- public void testHashCode() {
+ void testHashCode() {
assertTrue(changeSet.hashCode() != 0);
}
@Test
- public void testEquals() {
+ void testEquals() {
assertEquals(changeSet, changeSet);
assertNotEquals(changeSet, GitChangeSetUtil.genChangeSet(true, true));
}
diff --git a/src/test/java/hudson/plugins/git/GitChangeSetEuroTest.java b/src/test/java/hudson/plugins/git/GitChangeSetEuroTest.java
index 77e78c5477..37755470a9 100644
--- a/src/test/java/hudson/plugins/git/GitChangeSetEuroTest.java
+++ b/src/test/java/hudson/plugins/git/GitChangeSetEuroTest.java
@@ -3,14 +3,18 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import org.junit.Before;
-import org.junit.Test;
-import static org.junit.Assert.*;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-@RunWith(Parameterized.class)
-public class GitChangeSetEuroTest {
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.params.ParameterizedClass;
+import org.junit.jupiter.params.provider.MethodSource;
+
+@ParameterizedClass(name = "{0}")
+@MethodSource("permuteAuthorNameAndLegacyLayout")
+class GitChangeSetEuroTest {
private final String id = "1567861636cd854f4dd6fa40bf94c0c657681dd5";
private final String parent = "e74a24e995305bd67a180f0ebc57927e2b8783ce";
@@ -23,23 +27,22 @@ public class GitChangeSetEuroTest {
private GitChangeSet changeSet = null;
private final boolean useAuthorName;
- public GitChangeSetEuroTest(String useAuthorName) {
- this.useAuthorName = Boolean.valueOf(useAuthorName);
+ public GitChangeSetEuroTest(boolean useAuthorName) {
+ this.useAuthorName = useAuthorName;
}
- @Parameterized.Parameters(name = "{0}")
- public static Collection permuteAuthorNameAndLegacyLayout() {
+ static Collection permuteAuthorNameAndLegacyLayout() {
List