This is an automated email from the ASF dual-hosted git repository.
mariofusco pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git
The following commit(s) were added to refs/heads/main by this push:
new e3124f5e48 NO ISSUE: Migrating to JUnit5 (#6076)
e3124f5e48 is described below
commit e3124f5e48c88d1178405ffb06b1a3dd24263ddc
Author: Paolo Bizzarri <[email protected]>
AuthorDate: Wed Sep 11 10:46:52 2024 +0200
NO ISSUE: Migrating to JUnit5 (#6076)
* Migrating to JUnit5. Using good use of parametrized tests
* Reverted changes in pom
---
.../drools-drlonyaml-cli-tests/pom.xml | 8 +-
.../cli/tests/ConversionsUsingCliTest.java | 2 +-
.../drools-drlonyaml-integration-tests/pom.xml | 4 +-
.../integration/tests/ProgrammaticProjectTest.java | 122 ++++++++------------
.../drools-drlonyaml-model/pom.xml | 4 +-
.../java/org/drools/drlonyaml/model/SmokeTest.java | 128 ++++++---------------
.../drools-drlonyaml-todrl/pom.xml | 4 +-
.../org/drools/drlonyaml/todrl/YAMLtoDRLTest.java | 103 +++++------------
8 files changed, 125 insertions(+), 250 deletions(-)
diff --git a/drools-drlonyaml-parent/drools-drlonyaml-cli-tests/pom.xml
b/drools-drlonyaml-parent/drools-drlonyaml-cli-tests/pom.xml
index 0ff6b0f960..4940cce95d 100644
--- a/drools-drlonyaml-parent/drools-drlonyaml-cli-tests/pom.xml
+++ b/drools-drlonyaml-parent/drools-drlonyaml-cli-tests/pom.xml
@@ -34,13 +34,13 @@
<dependencies>
<dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
diff --git
a/drools-drlonyaml-parent/drools-drlonyaml-cli-tests/src/test/java/org/drools/drlonyaml/cli/tests/ConversionsUsingCliTest.java
b/drools-drlonyaml-parent/drools-drlonyaml-cli-tests/src/test/java/org/drools/drlonyaml/cli/tests/ConversionsUsingCliTest.java
index d9e8ed0570..ba58e64cf1 100644
---
a/drools-drlonyaml-parent/drools-drlonyaml-cli-tests/src/test/java/org/drools/drlonyaml/cli/tests/ConversionsUsingCliTest.java
+++
b/drools-drlonyaml-parent/drools-drlonyaml-cli-tests/src/test/java/org/drools/drlonyaml/cli/tests/ConversionsUsingCliTest.java
@@ -23,7 +23,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import java.io.InputStream;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class ConversionsUsingCliTest {
diff --git a/drools-drlonyaml-parent/drools-drlonyaml-integration-tests/pom.xml
b/drools-drlonyaml-parent/drools-drlonyaml-integration-tests/pom.xml
index d9eaa5c8b5..72e7125211 100644
--- a/drools-drlonyaml-parent/drools-drlonyaml-integration-tests/pom.xml
+++ b/drools-drlonyaml-parent/drools-drlonyaml-integration-tests/pom.xml
@@ -47,8 +47,8 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
diff --git
a/drools-drlonyaml-parent/drools-drlonyaml-integration-tests/src/test/java/org/drools/drlonyaml/integration/tests/ProgrammaticProjectTest.java
b/drools-drlonyaml-parent/drools-drlonyaml-integration-tests/src/test/java/org/drools/drlonyaml/integration/tests/ProgrammaticProjectTest.java
index 9496a73943..00ba840ce0 100644
---
a/drools-drlonyaml-parent/drools-drlonyaml-integration-tests/src/test/java/org/drools/drlonyaml/integration/tests/ProgrammaticProjectTest.java
+++
b/drools-drlonyaml-parent/drools-drlonyaml-integration-tests/src/test/java/org/drools/drlonyaml/integration/tests/ProgrammaticProjectTest.java
@@ -18,72 +18,26 @@
*/
package org.drools.drlonyaml.integration.tests;
-import java.io.StringReader;
-import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Stream;
-import org.drools.drl.ast.descr.PackageDescr;
-import org.drools.drl.parser.DrlParser;
-import org.drools.drlonyaml.model.DrlPackage;
import org.drools.model.codegen.ExecutableModelProject;
-import org.junit.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
import org.kie.api.runtime.KieSession;
import org.kie.internal.utils.KieHelper;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.drools.drlonyaml.model.Utils.getYamlMapper;
public class ProgrammaticProjectTest {
- @Test
- public void testDrl() {
- KieSession ksession = new KieHelper()
- .addContent(getDrlRule(),
"org/drools/drlonyaml/integration/tests/rule.drl")
- .build(ExecutableModelProject.class)
- .newKieSession();
-
- checkKieSession(ksession);
- }
-
- @Test
- public void testYaml() {
- KieSession ksession = new KieHelper()
- .addContent(getYamlRule(),
"org/drools/drlonyaml/integration/tests/rule.drl.yaml")
- .build(ExecutableModelProject.class)
- .newKieSession();
-
- checkKieSession(ksession);
- }
-
- private static void checkKieSession(KieSession ksession) {
- List<String> result = new ArrayList<>();
- ksession.setGlobal("result", result);
-
- ksession.insert(new Message("test"));
- ksession.insert(new Message("Hello World"));
- ksession.insert(10);
- ksession.insert(11);
-
- int count = ksession.fireAllRules();
- assertThat(count).isEqualTo(1);
- assertThat(result).hasSize(1);
- assertThat(result.get(0)).isEqualTo("Hello World");
- }
-
- private String drl2yaml(String drl) {
- try (StringWriter writer = new StringWriter()) {
- PackageDescr pkgDescr = new DrlParser().parse(new
StringReader(drl));
- DrlPackage model = DrlPackage.from(pkgDescr);
- getYamlMapper().writeValue(writer, model);
- return writer.toString();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- private String getDrlRule() {
- return """
+ private static Stream<Arguments> params() {
+ return Stream.of(
+
Arguments.of("org/drools/drlonyaml/integration/tests/rule.drl",
+ """
package org.drools.drlonyaml.integration.tests
global java.util.List result;
@@ -93,25 +47,49 @@ public class ProgrammaticProjectTest {
$m : Message( size == $i )
then
result.add( $m.getText() );
- end""";
+ end"""),
+
+
Arguments.of("org/drools/drlonyaml/integration/tests/rule.drl.yaml",
+ """
+ name: org.drools.drlonyaml.integration.tests
+ globals:
+ - type: java.util.List
+ id: result
+ rules:
+ - name: R
+ when:
+ - given: Integer
+ as: $i
+ - given: Message
+ as: $m
+ having:
+ - size == $i
+ then: |
+ result.add( $m.getText() );""")
+ );
}
+
+ @ParameterizedTest
+ @MethodSource("params")
+ public void test1(String name, String content) {
+ KieSession ksession = new KieHelper()
+ .addContent(content, name)
+ .build(ExecutableModelProject.class)
+ .newKieSession();
- private String getYamlRule() {
- return """
- name: org.drools.drlonyaml.integration.tests
- globals:
- - type: java.util.List
- id: result
- rules:
- - name: R
- when:
- - given: Integer
- as: $i
- - given: Message
- as: $m
- having:
- - size == $i
- then: |
- result.add( $m.getText() );""";
+ List<String> result = new ArrayList<>();
+ ksession.setGlobal("result", result);
+
+ ksession.insert(new Message("test"));
+ ksession.insert(new Message("Hello World"));
+ ksession.insert(10);
+ ksession.insert(11);
+
+ int count = ksession.fireAllRules();
+ assertThat(count).isEqualTo(1);
+ assertThat(result).hasSize(1);
+ assertThat(result.get(0)).isEqualTo("Hello World");
}
+
+
}
diff --git a/drools-drlonyaml-parent/drools-drlonyaml-model/pom.xml
b/drools-drlonyaml-parent/drools-drlonyaml-model/pom.xml
index 028ef1f381..261bba95a2 100644
--- a/drools-drlonyaml-parent/drools-drlonyaml-model/pom.xml
+++ b/drools-drlonyaml-parent/drools-drlonyaml-model/pom.xml
@@ -48,8 +48,8 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
diff --git
a/drools-drlonyaml-parent/drools-drlonyaml-model/src/test/java/org/drools/drlonyaml/model/SmokeTest.java
b/drools-drlonyaml-parent/drools-drlonyaml-model/src/test/java/org/drools/drlonyaml/model/SmokeTest.java
index 7834b23d94..72b9381c75 100644
---
a/drools-drlonyaml-parent/drools-drlonyaml-model/src/test/java/org/drools/drlonyaml/model/SmokeTest.java
+++
b/drools-drlonyaml-parent/drools-drlonyaml-model/src/test/java/org/drools/drlonyaml/model/SmokeTest.java
@@ -26,11 +26,12 @@ import java.nio.file.Paths;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator.Feature;
-import org.assertj.core.api.Assertions;
import org.drools.drl.ast.descr.PackageDescr;
import org.drools.drl.parser.DrlParser;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,91 +46,40 @@ public class SmokeTest {
YAMLFactory yamlFactory =
YAMLFactory.builder().enable(Feature.MINIMIZE_QUOTES).build();
mapper = new ObjectMapper(yamlFactory);
}
-
- private void assertDrlToYamlAndBack(String filename) {
- try {
- String content =
Files.readString(Paths.get(this.getClass().getResource(filename).toURI()));
- assertThat(content).as("Failed to read test resource").isNotNull();
-
- PackageDescr pkgDescr = drlParser.parse(new StringReader(content));
- assertThat(pkgDescr).as("Failed to parse DRL as a
PackageDescr").isNotNull();
-
- DrlPackage model = DrlPackage.from(pkgDescr);
- assertThat(model).as("Failed to generate from a PackageDescr a
valid model").isNotNull();
-
- StringWriter writer = new StringWriter();
- mapper.writeValue(writer, model);
- final String yaml = writer.toString();
- writer.close();
- LOG.debug("{}", yaml);
- assertThat(yaml).as("resulting YAML shall not be null nor
empty").isNotNull().isNotEmpty();
-
- final DrlPackage deserPackage = mapper.readValue(yaml,
DrlPackage.class);
-
assertThat(deserPackage).usingRecursiveComparison().isEqualTo(model);
- } catch (Exception e) {
- Assertions.fail("Failed to roundtrip from DRL to YAML and back to
YAML", e);
- }
- }
-
- @Test
- public void smokeTestFromDRL1() {
- String filename = "/smoketests/smoke1.drl.txt";
- assertDrlToYamlAndBack(filename);
- }
-
- @Test
- public void smokeTestFromDRL2() {
- String filename = "/smoketests/smoke2.drl.txt";
- assertDrlToYamlAndBack(filename);
- }
-
- @Test
- public void smokeTestFromDRL3() {
- String filename = "/smoketests/smoke3.drl.txt";
- assertDrlToYamlAndBack(filename);
- }
-
- @Test
- public void smokeTestFromDRL4() {
- String filename = "/smoketests/smoke4.drl.txt";
- assertDrlToYamlAndBack(filename);
- }
-
- @Test
- public void smokeTestFromDRL5() {
- String filename = "/smoketests/smoke5.drl.txt";
- assertDrlToYamlAndBack(filename);
- }
-
- @Test
- public void smokeTestFromDRL6() {
- String filename = "/smoketests/smoke6.drl.txt";
- assertDrlToYamlAndBack(filename);
- }
-
- @Test
- public void smokeTestFromDRL7() {
- String filename = "/smoketests/smoke7.drl.txt";
- assertDrlToYamlAndBack(filename);
- }
-
- @Test
- public void smokeTestFromDRL8() {
- String filename = "/smoketests/smoke8.drl.txt";
- assertDrlToYamlAndBack(filename);
- }
- @Test
- public void smokeTestFromDRL9() {
- String filename = "/smoketests/smoke9.drl.txt";
- assertDrlToYamlAndBack(filename);
+ @ParameterizedTest
+ @ValueSource(strings = {"/smoketests/smoke1.drl.txt",
+ "/smoketests/smoke2.drl.txt",
+ "/smoketests/smoke3.drl.txt",
+ "/smoketests/smoke4.drl.txt",
+ "/smoketests/smoke5.drl.txt",
+ "/smoketests/smoke6.drl.txt",
+ "/smoketests/smoke7.drl.txt",
+ "/smoketests/smoke8.drl.txt",
+ "/smoketests/smoke9.drl.txt",
+ "/smoketests/smoke10.drl.txt",
+ "/smoketests/ruleunit.drl.txt"})
+ public void smokeTestFromDrl(String filename ) throws Exception {
+ String content =
Files.readString(Paths.get(this.getClass().getResource(filename).toURI()));
+ assertThat(content).as("Failed to read test resource").isNotNull();
+
+ PackageDescr pkgDescr = drlParser.parse(new StringReader(content));
+ assertThat(pkgDescr).as("Failed to parse DRL as a
PackageDescr").isNotNull();
+
+ DrlPackage model = DrlPackage.from(pkgDescr);
+ assertThat(model).as("Failed to generate from a PackageDescr a valid
model").isNotNull();
+
+ StringWriter writer = new StringWriter();
+ mapper.writeValue(writer, model);
+ final String yaml = writer.toString();
+ writer.close();
+ LOG.debug("{}", yaml);
+ assertThat(yaml).as("resulting YAML shall not be null nor
empty").isNotNull().isNotEmpty();
+
+ final DrlPackage deserPackage = mapper.readValue(yaml,
DrlPackage.class);
+ assertThat(deserPackage).usingRecursiveComparison().isEqualTo(model);
}
- @Test
- public void smokeTestFromDRL10() {
- String filename = "/smoketests/smoke10.drl.txt";
- assertDrlToYamlAndBack(filename);
- }
@Test
public void smokeTestFromYAML1() throws Exception {
@@ -138,17 +88,11 @@ public class SmokeTest {
LOG.debug("{}", result);
}
- @Ignore("additional RHS types not supported at the moment.")
+ @Disabled("additional RHS types not supported at the moment.")
@Test
public void smokeTestFromYAML2() throws Exception {
String content =
Files.readString(Paths.get(this.getClass().getResource("/smoketests/yamlfirst_smoke2.yml").toURI()));
DrlPackage result = mapper.readValue(content, DrlPackage.class);
LOG.debug("{}", result);
}
-
- @Test
- public void smokeTestWithRuleUnit() {
- String filename = "/smoketests/ruleunit.drl.txt";
- assertDrlToYamlAndBack(filename);
- }
}
diff --git a/drools-drlonyaml-parent/drools-drlonyaml-todrl/pom.xml
b/drools-drlonyaml-parent/drools-drlonyaml-todrl/pom.xml
index 809af59c40..6e370a93d6 100644
--- a/drools-drlonyaml-parent/drools-drlonyaml-todrl/pom.xml
+++ b/drools-drlonyaml-parent/drools-drlonyaml-todrl/pom.xml
@@ -51,8 +51,8 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
diff --git
a/drools-drlonyaml-parent/drools-drlonyaml-todrl/src/test/java/org/drools/drlonyaml/todrl/YAMLtoDRLTest.java
b/drools-drlonyaml-parent/drools-drlonyaml-todrl/src/test/java/org/drools/drlonyaml/todrl/YAMLtoDRLTest.java
index b412c07a3a..ebdf16d646 100644
---
a/drools-drlonyaml-parent/drools-drlonyaml-todrl/src/test/java/org/drools/drlonyaml/todrl/YAMLtoDRLTest.java
+++
b/drools-drlonyaml-parent/drools-drlonyaml-todrl/src/test/java/org/drools/drlonyaml/todrl/YAMLtoDRLTest.java
@@ -25,11 +25,11 @@ import java.nio.file.Paths;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator.Feature;
-import org.assertj.core.api.Assertions;
import org.drools.drl.ast.descr.PackageDescr;
import org.drools.drl.parser.DrlParser;
import org.drools.drlonyaml.model.DrlPackage;
-import org.junit.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,77 +46,30 @@ public class YAMLtoDRLTest {
mapper = new ObjectMapper(yamlFactory);
}
- private void assertDumpingYAMLtoDRLisValid(String filename) {
- try {
- final String yamlText =
Files.readString(Paths.get(YAMLtoDRLTest.class.getResource(filename).toURI()));
- assertThat(yamlText).as("Failed to read test
resource").isNotNull();
-
- DrlPackage readValue = mapper.readValue(yamlText,
DrlPackage.class);
- assertThat(readValue).as("Failed to parse YAML as
model").isNotNull();
-
- final String drlText = YAMLtoDrlDumper.dumpDRL(readValue);
- LOG.debug(drlText);
- assertThat(drlText).as("result of DRL dumper shall not be null or
empty").isNotNull().isNotEmpty();
-
- PackageDescr parseResult = drlParser.parse(new
StringReader(drlText));
- assertThat(parseResult).as("The result of DRL dumper must be
syntactically valid DRL").isNotNull();
- } catch (Exception e) {
- Assertions.fail("Failed to generate a valid DRL while processing
YAML", e);
- }
+ @ParameterizedTest
+ @ValueSource(strings = {"/smoketests/yaml2.yml",
+ "/smoketests/yaml3.yml",
+ "/smoketests/yaml4.yml",
+ "/smoketests/yaml5.yml",
+ "/smoketests/yaml6.yml",
+ "/smoketests/yaml7.yml",
+ "/smoketests/yaml8.yml",
+ "/smoketests/yaml9.yml",
+ "/smoketests/yaml10.yml",
+ "/smoketests/yaml11.yml",
+ "/smoketests/ruleunit.yml"})
+ public void smokeTestFromYAML2(String filename) throws Exception {
+ final String yamlText =
Files.readString(Paths.get(YAMLtoDRLTest.class.getResource(filename).toURI()));
+ assertThat(yamlText).as("Failed to read test resource").isNotNull();
+
+ DrlPackage readValue = mapper.readValue(yamlText, DrlPackage.class);
+ assertThat(readValue).as("Failed to parse YAML as model").isNotNull();
+
+ final String drlText = YAMLtoDrlDumper.dumpDRL(readValue);
+ LOG.debug(drlText);
+ assertThat(drlText).as("result of DRL dumper shall not be null or
empty").isNotNull().isNotEmpty();
+
+ PackageDescr parseResult = drlParser.parse(new StringReader(drlText));
+ assertThat(parseResult).as("The result of DRL dumper must be
syntactically valid DRL").isNotNull();
}
-
- @Test
- public void smokeTestFromYAML2() {
- assertDumpingYAMLtoDRLisValid("/smoketests/yaml2.yml");
- }
-
- @Test
- public void smokeTestFromYAML3() {
- assertDumpingYAMLtoDRLisValid("/smoketests/yaml3.yml");
- }
-
- @Test
- public void smokeTestFromYAML4() {
- assertDumpingYAMLtoDRLisValid("/smoketests/yaml4.yml");
- }
-
- @Test
- public void smokeTestFromYAML5() {
- assertDumpingYAMLtoDRLisValid("/smoketests/yaml5.yml");
- }
-
- @Test
- public void smokeTestFromYAML6() {
- assertDumpingYAMLtoDRLisValid("/smoketests/yaml6.yml");
- }
-
- @Test
- public void smokeTestFromYAML7() {
- assertDumpingYAMLtoDRLisValid("/smoketests/yaml7.yml");
- }
-
- @Test
- public void smokeTestFromYAML8() {
- assertDumpingYAMLtoDRLisValid("/smoketests/yaml8.yml");
- }
-
- @Test
- public void smokeTestFromYAML9() {
- assertDumpingYAMLtoDRLisValid("/smoketests/yaml9.yml");
- }
-
- @Test
- public void smokeTestFromYAML10() {
- assertDumpingYAMLtoDRLisValid("/smoketests/yaml10.yml");
- }
-
- @Test
- public void smokeTestFromYAML11() {
- assertDumpingYAMLtoDRLisValid("/smoketests/yaml11.yml");
- }
-
- @Test
- public void smokeTestRuleUnit() {
- assertDumpingYAMLtoDRLisValid("/smoketests/ruleunit.yml");
- }
-}
+ }
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]