Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions docs/java-custom-rules-example/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,6 @@
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-migrationsupport</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,17 @@
*/
package org.sonar.samples.java.checks;

import org.junit.Rule;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.event.Level;
import org.sonar.api.testfixtures.log.LogTester;
import org.sonar.api.testfixtures.log.LogTesterJUnit5;
import org.sonar.java.checks.verifier.CheckVerifier;

@EnableRuleMigrationSupport
class AvoidBrandInMethodNamesRuleTest {

// Set a LogTester to see the Syntax Tree when running tests and executing the rule
@Rule
public LogTester logTester = new LogTester().setLevel(Level.DEBUG);
@RegisterExtension
public LogTesterJUnit5 logTester = new LogTesterJUnit5().setLevel(Level.DEBUG);

@Test
void detected() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,17 @@
*/
package org.sonar.samples.java.checks;

import org.junit.Rule;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.event.Level;
import org.sonar.api.testfixtures.log.LogTester;
import org.sonar.api.testfixtures.log.LogTesterJUnit5;
import org.sonar.java.checks.verifier.CheckVerifier;

@EnableRuleMigrationSupport
class SecurityAnnotationMandatoryRuleTest {

// Set a LogTester to see the Syntax Tree when running tests and executing the rule
@Rule
public LogTester logTester = new LogTester().setLevel(Level.DEBUG);
@RegisterExtension
public LogTesterJUnit5 logTester = new LogTesterJUnit5().setLevel(Level.DEBUG);

@Test
void detected() {
Expand Down
5 changes: 0 additions & 5 deletions external-reports/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,6 @@
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-migrationsupport</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,11 @@
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nullable;
import org.junit.Rule;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport;
import org.junit.jupiter.api.io.TempDir;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import org.junit.rules.TemporaryFolder;
import org.slf4j.event.Level;
import org.sonar.api.batch.rule.Severity;
import org.sonar.api.batch.sensor.internal.DefaultSensorDescriptor;
Expand All @@ -42,7 +40,6 @@
import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.java.externalreport.ExternalReportTestUtils.onlyOneLogElement;

@EnableRuleMigrationSupport
class CheckstyleSensorTest {

private static final Path PROJECT_DIR = Paths.get("src", "test", "resources", "checkstyle")
Expand All @@ -51,8 +48,8 @@ class CheckstyleSensorTest {
private static SensorContextTester sensorContext = SensorContextTester.create(PROJECT_DIR);
private static CheckstyleSensor checkstyleSensor = new CheckstyleSensor(sensorContext.runtime());

@Rule
public final TemporaryFolder tmp = new TemporaryFolder();
@TempDir
public Path tmp;

@RegisterExtension
public LogTesterJUnit5 logTester = new LogTesterJUnit5().setLevel(Level.DEBUG);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import java.nio.file.Path;
import java.util.List;
import java.util.stream.Stream;
import org.junit.rules.TemporaryFolder;
import org.slf4j.event.Level;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.internal.TestInputFileBuilder;
Expand Down Expand Up @@ -50,14 +49,14 @@ public static String onlyOneLogElement(List<String> elements) {
return elements.get(0);
}

public static File generateReport(Path projectDir, TemporaryFolder tmp, String fileName) throws IOException {
public static File generateReport(Path projectDir, Path tmp, String fileName) throws IOException {
Path filePath = projectDir.resolve(fileName);
if (!filePath.toFile().exists()) {
return filePath.toFile();
}
String reportData = new String(Files.readAllBytes(filePath), UTF_8);
reportData = reportData.replace("${PROJECT_DIR}", projectDir.toRealPath() + File.separator);
File reportFile = tmp.newFile(fileName).getCanonicalFile();
File reportFile = Files.createFile(tmp.resolve(fileName)).toFile().getCanonicalFile();
Files.write(reportFile.toPath(), reportData.getBytes(UTF_8));
return reportFile;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,11 @@
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nullable;
import org.junit.Rule;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport;
import org.junit.jupiter.api.io.TempDir;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import org.junit.rules.TemporaryFolder;
import org.slf4j.event.Level;
import org.sonar.api.batch.rule.Severity;
import org.sonar.api.batch.sensor.internal.DefaultSensorDescriptor;
Expand All @@ -43,7 +41,6 @@
import static org.assertj.core.api.Assertions.tuple;
import static org.sonar.java.externalreport.ExternalReportTestUtils.onlyOneLogElement;

@EnableRuleMigrationSupport
class SpotBugsSensorTest {

private static final Path PROJECT_DIR = Paths.get("src", "test", "resources", "spotbugs")
Expand All @@ -52,8 +49,8 @@ class SpotBugsSensorTest {
private static SensorContextTester sensorContext = SensorContextTester.create(PROJECT_DIR);
private static SpotBugsSensor spotBugsSensor = new SpotBugsSensor(sensorContext.runtime());

@Rule
public final TemporaryFolder tmp = new TemporaryFolder();
@TempDir
public Path tmp;

@RegisterExtension
public LogTesterJUnit5 logTester = new LogTesterJUnit5().setLevel(Level.DEBUG);
Expand Down
5 changes: 0 additions & 5 deletions java-checks-testkit/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,6 @@
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-migrationsupport</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.sonarsource.analyzer-commons</groupId>
<artifactId>sonar-analyzer-test-commons</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,17 @@
import java.nio.file.Path;
import java.util.List;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport;
import org.junit.rules.TemporaryFolder;
import org.junit.jupiter.api.io.TempDir;

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

@EnableRuleMigrationSupport
class FilesUtilsTest {
@org.junit.Rule
public TemporaryFolder temp = new TemporaryFolder();
@TempDir
public Path temp;

@Test
void verify_get_classpath_files() throws IOException {
Path tmp = temp.newFolder().toPath();
Path tmp = Files.createDirectory(temp.resolve("tmp"));
Path jar = tmp.resolve("test.jar");
Path zip = tmp.resolve("test.zip");
Path invalid = tmp.resolve("test.txt");
Expand All @@ -43,7 +41,7 @@ void verify_get_classpath_files() throws IOException {
Files.createFile(zip);
Files.createFile(invalid);

List<File> list = FilesUtils.getFilesRecursively(temp.getRoot().toPath(), new String[] {"zip", "jar"});
List<File> list = FilesUtils.getFilesRecursively(temp, new String[] {"zip", "jar"});
assertThat(list).containsOnly(jar.toFile(), zip.toFile());
}

Expand Down
5 changes: 0 additions & 5 deletions java-frontend/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,6 @@
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-migrationsupport</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,23 @@

import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.junit.Rule;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport;
import org.junit.rules.TemporaryFolder;
import org.junit.jupiter.api.io.TempDir;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.sensor.internal.SensorContextTester;
import org.sonar.api.config.internal.MapSettings;

import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.java.InputFileUtils.addFile;

@EnableRuleMigrationSupport
class BatchGeneratorTest {
@Rule
public TemporaryFolder temp = new TemporaryFolder();
@TempDir
public Path temp;

@Test
void batch_generator_returns_an_empty_list_when_no_input_files() {
Expand All @@ -48,7 +46,7 @@ void batch_generator_returns_an_empty_list_when_no_input_files() {

@Test
void batch_generator_returns_at_most_one_item_per_batch_when_size_is_zero() throws IOException {
File baseDir = temp.getRoot().getAbsoluteFile();
File baseDir = temp.toFile().getAbsoluteFile();
SensorContextTester sensorContext = SensorContextTester.create(baseDir);
sensorContext.setSettings(new MapSettings());
List<InputFile> inputFiles = new ArrayList<>();
Expand All @@ -69,7 +67,7 @@ void batch_generator_returns_at_most_one_item_per_batch_when_size_is_zero() thro

@Test
void batch_generator_returns_batches_with_multiple_files_that_are_smaller_than_batch_size() throws IOException {
File baseDir = temp.getRoot().getAbsoluteFile();
File baseDir = temp.toFile().getAbsoluteFile();
SensorContextTester sensorContext = SensorContextTester.create(baseDir);
sensorContext.setSettings(new MapSettings());
InputFile fileA = addFile(temp, "class A { public void doSomething() {} }", sensorContext);
Expand Down Expand Up @@ -107,7 +105,7 @@ void batch_generator_returns_batches_with_multiple_files_that_are_smaller_than_b

@Test
void batch_generator_includes_file_excluded_from_previous_batch_into_next_batch() throws IOException {
File baseDir = temp.getRoot().getAbsoluteFile();
File baseDir = temp.toFile().getAbsoluteFile();
SensorContextTester sensorContext = SensorContextTester.create(baseDir);
sensorContext.setSettings(new MapSettings());
InputFile fileA = addFile(temp, "class A { public void doSomething() {} }", sensorContext);
Expand Down
12 changes: 6 additions & 6 deletions java-frontend/src/test/java/org/sonar/java/InputFileUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,34 +16,34 @@
*/
package org.sonar.java;

import com.google.common.io.Files;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
Comment thread
vdiez marked this conversation as resolved.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.jetbrains.annotations.NotNull;
import org.junit.rules.TemporaryFolder;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.sensor.internal.SensorContextTester;

class InputFileUtils {
public static InputFile addFile(TemporaryFolder temp, String code, SensorContextTester context) throws IOException {
public static InputFile addFile(Path temp, String code, SensorContextTester context) throws IOException {
Matcher matcher = Pattern.compile("(?:^|\\s)(?:class|interface|enum|record)\\s++(\\w++)").matcher(code);
if (matcher.find()) {
String className = matcher.group(1);
InputFile.Type type = className.endsWith("Test") ? InputFile.Type.TEST : InputFile.Type.MAIN;
File file = temp.newFile(className + ".java").getAbsoluteFile();
File file = Files.createFile(temp.resolve(className + ".java")).toFile().getAbsoluteFile();
return generateInputFile(code, context, file, type);
} else {
File file = temp.newFile("Unnamed.java").getAbsoluteFile();
File file = Files.createFile(temp.resolve("Unnamed.java")).toFile().getAbsoluteFile();
return generateInputFile(code, context, file, InputFile.Type.MAIN);
}
}

@NotNull
private static InputFile generateInputFile(String code, SensorContextTester context, File file, InputFile.Type type) throws IOException {
Files.asCharSink(file, StandardCharsets.UTF_8).write(code);
Files.writeString(file.toPath(), code, StandardCharsets.UTF_8);
InputFile defaultFile = TestUtils.inputFile(context.fileSystem().baseDir().getAbsolutePath(), file, type);
context.fileSystem().add(defaultFile);
return defaultFile;
Expand Down
Loading
Loading