Fixed more tests.

This commit is contained in:
Erik C. Thauvin 2023-04-14 09:10:13 -07:00
parent cbbf5a7f2d
commit da85ff4a32

View file

@ -16,14 +16,14 @@
package rife.bld.extension; package rife.bld.extension;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.List; import java.util.List;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatCode;
/** /**
* PmdOperationTest class * PmdOperationTest class
@ -32,96 +32,105 @@ import static org.assertj.core.api.Assertions.assertThat;
* @since 1.0 * @since 1.0
*/ */
public class PmdOperationTest { public class PmdOperationTest {
static final PmdOperation PMD_OPERATION = new PmdOperation(); public static final String COMMAND_NAME = "pmd";
public static final String TEST = "test";
static final PmdOperation pmdOperation = new PmdOperation();
@BeforeAll @BeforeEach
public static void initializeOperation() { void initializeOperation() {
PMD_OPERATION.inputPaths = List.of(Paths.get("src/main")); pmdOperation.inputPaths = List.of(Paths.get("src/main"));
PMD_OPERATION.reportFile = Paths.get("build", "pmd", "pmd-test-report.txt"); pmdOperation.reportFile = Paths.get("build", COMMAND_NAME, "pmd-test-report.txt");
PMD_OPERATION.cache = Paths.get("build", "pmd", "pmd-cache"); pmdOperation.cache = Paths.get("build", COMMAND_NAME, "pmd-cache");
PMD_OPERATION.failOnViolation = false; pmdOperation.failOnViolation = false;
} }
@Test @Test
void testConfigFile() { void testConfigFile() {
var pmd = PMD_OPERATION.ruleSets("src/test/resources/pmd.xml"); var pmd = pmdOperation.ruleSets("src/test/resources/pmd.xml");
assertThat(pmd.performPmdAnalysis("test", pmd.initConfiguration("pmd"))) assertThat(pmd.performPmdAnalysis(TEST, pmd.initConfiguration(COMMAND_NAME)))
.as("no errors").isEqualTo(0); .as("no errors").isEqualTo(0);
} }
@Test @Test
void testEmptyRuleSets() { void testEmptyRuleSets() {
var pmd = PMD_OPERATION.ruleSets(""); var pmd = pmdOperation.ruleSets("");
assertThat(pmd.performPmdAnalysis("test", pmd.initConfiguration("pmd"))) assertThat(pmd.performPmdAnalysis(TEST, pmd.initConfiguration(COMMAND_NAME)))
.as("no errors").isEqualTo(0); .as("no errors").isEqualTo(0);
} }
@Test @Test
void testJavaQuickStart() { void testJavaQuickStart() {
var pmd = PMD_OPERATION.ruleSets("rulesets/java/quickstart.xml"); var pmd = pmdOperation.ruleSets("rulesets/java/quickstart.xml");
assertThat(pmd.performPmdAnalysis("test", pmd.initConfiguration("pmd"))) assertThat(pmd.performPmdAnalysis(TEST, pmd.initConfiguration(COMMAND_NAME)))
.as("no errors").isEqualTo(0); .as("no errors").isEqualTo(0);
} }
@Test @Test
void testJavaErrorProne() { void testJavaErrorProne() {
var pmd = PMD_OPERATION.ruleSets("category/java/errorprone.xml"); var pmd = pmdOperation.ruleSets("category/java/errorprone.xml");
assertThat(pmd.performPmdAnalysis("test", pmd.initConfiguration("pmd"))) assertThat(pmd.performPmdAnalysis(TEST, pmd.initConfiguration(COMMAND_NAME)))
.as("no errors").isGreaterThan(0); .as("no errors").isGreaterThan(0);
} }
@Test @Test
void testJavaCodeStyle() { void testJavaCodeStyle() {
var pmd = PMD_OPERATION.ruleSets("category/java/codestyle.xml"); var pmd = pmdOperation.ruleSets("category/java/codestyle.xml");
assertThat(pmd.performPmdAnalysis("test", pmd.initConfiguration("pmd"))) assertThat(pmd.performPmdAnalysis(TEST, pmd.initConfiguration(COMMAND_NAME)))
.as("no errors").isGreaterThan(0); .as("no errors").isGreaterThan(0);
} }
@Test @Test
void testJavaDesign() { void testJavaDesign() {
var pmd = PMD_OPERATION.ruleSets("category/java/design.xml"); var pmd = pmdOperation.ruleSets("category/java/design.xml");
assertThat(pmd.performPmdAnalysis("test", pmd.initConfiguration("pmd"))) assertThat(pmd.performPmdAnalysis(TEST, pmd.initConfiguration(COMMAND_NAME)))
.as("no errors").isGreaterThan(0); .as("no errors").isGreaterThan(0);
} }
@Test @Test
void testJavaDocumentation() { void testJavaDocumentation() {
var pmd = PMD_OPERATION.ruleSets("category/java/documentation.xml"); var pmd = pmdOperation.ruleSets("category/java/documentation.xml");
assertThat(pmd.performPmdAnalysis("test", pmd.initConfiguration("pmd"))) assertThat(pmd.performPmdAnalysis(TEST, pmd.initConfiguration(COMMAND_NAME)))
.as("no errors").isGreaterThan(0); .as("no errors").isGreaterThan(0);
} }
@Test @Test
void testJavaBestPractices() { void testJavaBestPractices() {
var pmd = PMD_OPERATION.ruleSets("category/java/bestpractices.xml"); var pmd = pmdOperation.ruleSets("category/java/bestpractices.xml");
assertThat(pmd.performPmdAnalysis("test", pmd.initConfiguration("pmd"))) assertThat(pmd.performPmdAnalysis(TEST, pmd.initConfiguration(COMMAND_NAME)))
.as("no errors").isEqualTo(0); .as("no errors").isEqualTo(0);
} }
@Test @Test
void testJavaMultiThreading() { void testJavaMultiThreading() {
var pmd = PMD_OPERATION.ruleSets("category/java/multithreading"); var pmd = pmdOperation.ruleSets("category/java/multithreading");
assertThat(pmd.performPmdAnalysis("test", pmd.initConfiguration("pmd"))) assertThat(pmd.performPmdAnalysis(TEST, pmd.initConfiguration(COMMAND_NAME)))
.as("no errors").isEqualTo(0); .as("no errors").isEqualTo(0);
} }
@Test @Test
void testJavaPerformance() { void testJavaPerformance() {
var pmd = PMD_OPERATION.ruleSets("category/java/performance.xml"); var pmd = pmdOperation.ruleSets("category/java/performance.xml");
assertThat(pmd.performPmdAnalysis("test", pmd.initConfiguration("pmd"))) assertThat(pmd.performPmdAnalysis(TEST, pmd.initConfiguration(COMMAND_NAME)))
.as("no errors").isEqualTo(0); .as("no errors").isEqualTo(0);
} }
@Test @Test
void testJavaSecurity() { void testJavaSecurity() {
var pmd = PMD_OPERATION.ruleSets("category/java/security.xml"); var pmd = pmdOperation.ruleSets("category/java/security.xml");
assertThat(pmd.performPmdAnalysis("test", pmd.initConfiguration("pmd"))) assertThat(pmd.performPmdAnalysis(TEST, pmd.initConfiguration(COMMAND_NAME)))
.as("no errors").isEqualTo(0); .as("no errors").isEqualTo(0);
} }
@Test @Test
void testPmdOperation() { void testPmdOperation() {
assertThat(PMD_OPERATION.performPmdAnalysis("test", PMD_OPERATION.initConfiguration("pmd"))) assertThat(pmdOperation.performPmdAnalysis(TEST, pmdOperation.initConfiguration(COMMAND_NAME)))
.as("no errors").isEqualTo(0); .as("no errors").isEqualTo(0);
} }
@Test
void testFailOnValidation() {
assertThatCode(() -> pmdOperation.ruleSets("category/java/documentation.xml").failOnViolation(true)
.performPmdAnalysis(TEST, pmdOperation.initConfiguration(COMMAND_NAME))
).isInstanceOf(RuntimeException.class).hasMessageContaining('[' + TEST + ']');
}
} }