Skip to content

Commit d1b97f2

Browse files
SONARPY-1428 Migrate from JUnit4 to JUnit5 (#1537)
1 parent cc15226 commit d1b97f2

433 files changed

Lines changed: 903 additions & 831 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

its/plugin/it-python-plugin-test/pom.xml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<dependencies>
1919
<dependency>
2020
<groupId>org.sonarsource.orchestrator</groupId>
21-
<artifactId>sonar-orchestrator-junit4</artifactId>
21+
<artifactId>sonar-orchestrator-junit5</artifactId>
2222
</dependency>
2323
<dependency>
2424
<groupId>org.sonarsource.sonarqube</groupId>
@@ -27,8 +27,14 @@
2727
<scope>test</scope>
2828
</dependency>
2929
<dependency>
30-
<groupId>junit</groupId>
31-
<artifactId>junit</artifactId>
30+
<groupId>org.junit.jupiter</groupId>
31+
<artifactId>junit-jupiter</artifactId>
32+
<scope>test</scope>
33+
</dependency>
34+
<dependency>
35+
<groupId>org.junit.jupiter</groupId>
36+
<artifactId>junit-jupiter-api</artifactId>
37+
<scope>test</scope>
3238
</dependency>
3339
<dependency>
3440
<groupId>org.sonarsource.sonarlint.core</groupId>

its/plugin/it-python-plugin-test/src/test/java/com/sonar/python/it/plugin/BanditReportTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020
package com.sonar.python.it.plugin;
2121

2222
import com.sonar.orchestrator.build.SonarScanner;
23-
import com.sonar.orchestrator.junit4.OrchestratorRule;
23+
import com.sonar.orchestrator.junit5.OrchestratorExtension;
2424
import java.io.File;
2525
import java.util.List;
26-
import org.junit.ClassRule;
27-
import org.junit.Test;
26+
import org.junit.jupiter.api.Test;
27+
import org.junit.jupiter.api.extension.RegisterExtension;
2828
import org.sonarqube.ws.Common;
2929
import org.sonarqube.ws.Issues;
3030

@@ -35,8 +35,8 @@ public class BanditReportTest {
3535

3636
private static final String PROJECT = "bandit_project";
3737

38-
@ClassRule
39-
public static final OrchestratorRule ORCHESTRATOR = Tests.ORCHESTRATOR;
38+
@RegisterExtension
39+
public static final OrchestratorExtension ORCHESTRATOR = Tests.ORCHESTRATOR;
4040

4141
@Test
4242
public void import_report() {

its/plugin/it-python-plugin-test/src/test/java/com/sonar/python/it/plugin/CPDTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020
package com.sonar.python.it.plugin;
2121

2222
import com.sonar.orchestrator.build.SonarScanner;
23-
import com.sonar.orchestrator.junit4.OrchestratorRule;
23+
import com.sonar.orchestrator.junit5.OrchestratorExtension;
2424
import java.io.File;
2525
import org.assertj.core.data.Offset;
26-
import org.junit.BeforeClass;
27-
import org.junit.ClassRule;
28-
import org.junit.Test;
26+
import org.junit.jupiter.api.BeforeAll;
27+
import org.junit.jupiter.api.Test;
28+
import org.junit.jupiter.api.extension.RegisterExtension;
2929

3030
import static com.sonar.python.it.plugin.Tests.getMeasureAsDouble;
3131
import static org.assertj.core.api.Assertions.assertThat;
@@ -43,10 +43,10 @@ public class CPDTest {
4343
private static final String DUPLICATED_FILES = "duplicated_files";
4444
private static final String DUPLICATED_LINES_DENSITY = "duplicated_lines_density";
4545

46-
@ClassRule
47-
public static final OrchestratorRule ORCHESTRATOR = Tests.ORCHESTRATOR;
46+
@RegisterExtension
47+
public static final OrchestratorExtension ORCHESTRATOR = Tests.ORCHESTRATOR;
4848

49-
@BeforeClass
49+
@BeforeAll
5050
public static void startServer() {
5151
ORCHESTRATOR.getServer().provisionProject(PROJECT_KEY, PROJECT_KEY);
5252
ORCHESTRATOR.getServer().associateProjectToQualityProfile(PROJECT_KEY, "py", "no_rule");

its/plugin/it-python-plugin-test/src/test/java/com/sonar/python/it/plugin/CoverageTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,20 @@
2323
import com.google.common.collect.ImmutableMap.Builder;
2424
import com.sonar.orchestrator.build.BuildResult;
2525
import com.sonar.orchestrator.build.SonarScanner;
26-
import com.sonar.orchestrator.junit4.OrchestratorRule;
26+
import com.sonar.orchestrator.junit5.OrchestratorExtension;
2727
import java.io.File;
2828
import java.util.HashMap;
2929
import java.util.Map;
30-
import org.junit.ClassRule;
31-
import org.junit.Test;
30+
import org.junit.jupiter.api.Test;
31+
import org.junit.jupiter.api.extension.RegisterExtension;
3232

3333
import static org.assertj.core.api.Assertions.assertThat;
3434

3535
public class CoverageTest {
3636

3737
private static final String COVERAGE_PROJECT = "projects/coverage_project";
38-
@ClassRule
39-
public static final OrchestratorRule ORCHESTRATOR = Tests.ORCHESTRATOR;
38+
@RegisterExtension
39+
public static final OrchestratorExtension ORCHESTRATOR = Tests.ORCHESTRATOR;
4040

4141
private static final String PROJECT_KEY = "coverage_project";
4242
private static final String LINES_TO_COVER = "lines_to_cover";

its/plugin/it-python-plugin-test/src/test/java/com/sonar/python/it/plugin/CustomRulesTest.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020
package com.sonar.python.it.plugin;
2121

2222
import com.sonar.orchestrator.build.SonarScanner;
23-
import com.sonar.orchestrator.junit4.OrchestratorRule;
23+
import com.sonar.orchestrator.junit5.OrchestratorExtension;
2424
import java.io.File;
2525
import java.util.List;
26-
import org.junit.BeforeClass;
27-
import org.junit.ClassRule;
28-
import org.junit.Test;
26+
import org.junit.jupiter.api.BeforeAll;
27+
import org.junit.jupiter.api.Test;
28+
import org.junit.jupiter.api.extension.RegisterExtension;
2929
import org.sonarqube.ws.Issues;
3030
import org.sonarqube.ws.client.issues.SearchRequest;
3131

@@ -35,12 +35,13 @@
3535

3636
public class CustomRulesTest {
3737

38-
@ClassRule
39-
public static OrchestratorRule orchestrator = Tests.ORCHESTRATOR;
38+
@RegisterExtension
39+
public static final OrchestratorExtension orchestrator = Tests.ORCHESTRATOR;
40+
4041
private static final String PROJECT_KEY = "custom-rules";
4142
private static final String PROJECT_NAME = "Custom Rules";
4243

43-
@BeforeClass
44+
@BeforeAll
4445
public static void prepare() {
4546
orchestrator.getServer().provisionProject(PROJECT_KEY, PROJECT_NAME);
4647
orchestrator.getServer().associateProjectToQualityProfile(PROJECT_KEY, "py", "python-custom-rules-profile");

its/plugin/it-python-plugin-test/src/test/java/com/sonar/python/it/plugin/Flake8ReportTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020
package com.sonar.python.it.plugin;
2121

2222
import com.sonar.orchestrator.build.SonarScanner;
23-
import com.sonar.orchestrator.junit4.OrchestratorRule;
23+
import com.sonar.orchestrator.junit5.OrchestratorExtension;
2424
import java.io.File;
2525
import java.util.List;
26-
import org.junit.ClassRule;
27-
import org.junit.Test;
26+
import org.junit.jupiter.api.Test;
27+
import org.junit.jupiter.api.extension.RegisterExtension;
2828
import org.sonarqube.ws.Common;
2929
import org.sonarqube.ws.Issues;
3030

@@ -35,8 +35,8 @@ public class Flake8ReportTest {
3535

3636
private static final String PROJECT = "flake8_project";
3737

38-
@ClassRule
39-
public static final OrchestratorRule ORCHESTRATOR = Tests.ORCHESTRATOR;
38+
@RegisterExtension
39+
public static final OrchestratorExtension ORCHESTRATOR = Tests.ORCHESTRATOR;
4040

4141
@Test
4242
public void import_report() {

its/plugin/it-python-plugin-test/src/test/java/com/sonar/python/it/plugin/IPythonTest.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,10 @@
3232
import java.util.List;
3333
import java.util.Map;
3434
import java.util.stream.Stream;
35-
import org.junit.AfterClass;
36-
import org.junit.BeforeClass;
37-
import org.junit.ClassRule;
38-
import org.junit.Test;
39-
import org.junit.rules.TemporaryFolder;
35+
import org.junit.jupiter.api.AfterAll;
36+
import org.junit.jupiter.api.BeforeAll;
37+
import org.junit.jupiter.api.Test;
38+
import org.junit.jupiter.api.io.TempDir;
4039
import org.sonar.api.batch.fs.InputFile;
4140
import org.sonarsource.sonarlint.core.StandaloneSonarLintEngineImpl;
4241
import org.sonarsource.sonarlint.core.analysis.api.ClientInputFile;
@@ -56,16 +55,16 @@
5655

5756
public class IPythonTest {
5857

59-
@ClassRule
60-
public static final TemporaryFolder TEMP = new TemporaryFolder();
58+
@TempDir
59+
public static Path TEMP;
6160

6261
private static StandaloneSonarLintEngine sonarlintEngine;
6362

64-
@BeforeClass
63+
@BeforeAll
6564
public static void prepare() throws Exception {
6665
StandaloneGlobalConfiguration sonarLintConfig = StandaloneGlobalConfiguration.builder()
6766
.addPlugin(Tests.PLUGIN_LOCATION.getFile().toPath())
68-
.setSonarLintUserHome(TEMP.newFolder().toPath())
67+
.setSonarLintUserHome(TEMP)
6968
.addEnabledLanguage(Language.IPYTHON)
7069
.setLogOutput((formattedMessage, level) -> {
7170
/* Don't pollute logs */ })
@@ -74,7 +73,7 @@ public static void prepare() throws Exception {
7473
sonarlintEngine = new StandaloneSonarLintEngineImpl(sonarLintConfig);
7574
}
7675

77-
@AfterClass
76+
@AfterAll
7877
public static void stop() {
7978
sonarlintEngine.stop();
8079
}

its/plugin/it-python-plugin-test/src/test/java/com/sonar/python/it/plugin/MetricsTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@
2121

2222
import com.sonar.orchestrator.build.BuildResult;
2323
import com.sonar.orchestrator.build.SonarScanner;
24-
import com.sonar.orchestrator.junit4.OrchestratorRule;
24+
import com.sonar.orchestrator.junit5.OrchestratorExtension;
2525
import java.io.File;
2626
import org.assertj.core.data.Offset;
27-
import org.junit.BeforeClass;
28-
import org.junit.ClassRule;
29-
import org.junit.Test;
27+
import org.junit.jupiter.api.BeforeAll;
28+
import org.junit.jupiter.api.Test;
29+
import org.junit.jupiter.api.extension.RegisterExtension;
3030
import org.sonarqube.ws.Measures.Measure;
3131

3232
import static com.sonar.python.it.plugin.Tests.getMeasure;
@@ -64,12 +64,12 @@ public class MetricsTest {
6464

6565
private static final Offset<Double> OFFSET = Offset.offset(0.01d);
6666

67-
@ClassRule
68-
public static final OrchestratorRule orchestrator = Tests.ORCHESTRATOR;
67+
@RegisterExtension
68+
public static final OrchestratorExtension orchestrator = Tests.ORCHESTRATOR;
6969

7070
private static BuildResult buildResult;
7171

72-
@BeforeClass
72+
@BeforeAll
7373
public static void startServer() {
7474
orchestrator.getServer().provisionProject(PROJECT_KEY, PROJECT_KEY);
7575
orchestrator.getServer().associateProjectToQualityProfile(PROJECT_KEY, "py", "no_rule");

its/plugin/it-python-plugin-test/src/test/java/com/sonar/python/it/plugin/MypyReportTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020
package com.sonar.python.it.plugin;
2121

2222
import com.sonar.orchestrator.build.SonarScanner;
23-
import com.sonar.orchestrator.junit4.OrchestratorRule;
23+
import com.sonar.orchestrator.junit5.OrchestratorExtension;
2424
import java.io.File;
2525
import java.util.List;
26-
import org.junit.ClassRule;
27-
import org.junit.Test;
26+
import org.junit.jupiter.api.Test;
27+
import org.junit.jupiter.api.extension.RegisterExtension;
2828
import org.sonarqube.ws.Common;
2929
import org.sonarqube.ws.Issues;
3030

@@ -35,8 +35,8 @@ public class MypyReportTest {
3535

3636
private static final String PROJECT = "mypy_project";
3737

38-
@ClassRule
39-
public static final OrchestratorRule ORCHESTRATOR = Tests.ORCHESTRATOR;
38+
@RegisterExtension
39+
public static final OrchestratorExtension ORCHESTRATOR = Tests.ORCHESTRATOR;
4040

4141
@Test
4242
public void import_report() {

its/plugin/it-python-plugin-test/src/test/java/com/sonar/python/it/plugin/NoSonarTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020
package com.sonar.python.it.plugin;
2121

2222
import com.sonar.orchestrator.build.SonarScanner;
23-
import com.sonar.orchestrator.junit4.OrchestratorRule;
23+
import com.sonar.orchestrator.junit5.OrchestratorExtension;
2424
import java.io.File;
2525
import java.util.List;
26-
import org.junit.BeforeClass;
27-
import org.junit.ClassRule;
28-
import org.junit.Test;
26+
import org.junit.jupiter.api.BeforeAll;
27+
import org.junit.jupiter.api.Test;
28+
import org.junit.jupiter.api.extension.RegisterExtension;
2929
import org.sonarqube.ws.Issues;
3030

3131
import static com.sonar.python.it.plugin.Tests.issues;
@@ -36,10 +36,10 @@ public class NoSonarTest {
3636
private static final String PROJECT_KEY = "nosonar";
3737
private static final String PROFILE_NAME = "nosonar";
3838

39-
@ClassRule
40-
public static final OrchestratorRule ORCHESTRATOR = Tests.ORCHESTRATOR;
39+
@RegisterExtension
40+
public static final OrchestratorExtension ORCHESTRATOR = Tests.ORCHESTRATOR;
4141

42-
@BeforeClass
42+
@BeforeAll
4343
public static void startServer() {
4444
ORCHESTRATOR.getServer().provisionProject(PROJECT_KEY, PROJECT_KEY);
4545
ORCHESTRATOR.getServer().associateProjectToQualityProfile(PROJECT_KEY, "py", PROFILE_NAME);

0 commit comments

Comments
 (0)