package org.drools.compiler.xpath.tobeinstrumented;
import static org.kie.maven.plugin.InjectReactiveMojo.*;
import static org.junit.Assert.*;
import java.util.Arrays;
import java.util.List;
import org.drools.core.phreak.ReactiveObject;
import org.junit.Test;
public class InjectReactiveMojoConfigTest {
@Test
public void testRegexpForPackagesDefault() {
String[] inputConfig = new String[]{"*"};
List<String> config = convertAllToPkgRegExps(inputConfig);
System.out.println(Arrays.asList(config));
assertTrue(isPackageNameIncluded(Object.class.getPackage().getName(), config));
assertTrue(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config));
assertTrue(isPackageNameIncluded("xyz.my", config));
}
@Test
public void testRegexpForPackagesSingleNoStars() {
String[] inputConfig = new String[]{"org.drools"};
List<String> config = convertAllToPkgRegExps(inputConfig);
System.out.println(Arrays.asList(config));
assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), config));
assertFalse(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config));
assertFalse(isPackageNameIncluded("xyz.my", config));
}
@Test
public void testRegexpForPackagesMultipleNoStars() {
String[] inputConfig = new String[]{"org.drools", "xyz.my"};
List<String> config = convertAllToPkgRegExps(inputConfig);
System.out.println(Arrays.asList(config));
assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), config));
assertFalse(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config));
assertTrue (isPackageNameIncluded("xyz.my", config));
}
@Test
public void testRegexpForPackagesSingleStars() {
String[] inputConfig = new String[]{"org.drools.*"};
List<String> config = convertAllToPkgRegExps(inputConfig);
System.out.println(Arrays.asList(config));
assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), config));
assertTrue (isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config));
assertFalse(isPackageNameIncluded("xyz.my", config));
}
@Test
public void testRegexpForPackagesMultipleStars() {
String[] inputConfig = new String[]{"org.drools.*", "xyz.my.*"};
List<String> config = convertAllToPkgRegExps(inputConfig);
System.out.println(Arrays.asList(config));
assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), config));
assertTrue (isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config));
assertTrue (isPackageNameIncluded("xyz.my", config));
}
@Test
public void testRegexpForPackagesCheckPart() {
String[] inputConfig = new String[]{"my"};
List<String> config = convertAllToPkgRegExps(inputConfig);
System.out.println(Arrays.asList(config));
assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), config));
assertFalse(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config));
assertFalse(isPackageNameIncluded("xyz.my", config));
}
@Test
public void testRegexpForPackagesCheckNaming() {
String[] inputConfig = new String[]{"org.drools", "to.instrument.*"};
List<String> config = convertAllToPkgRegExps(inputConfig);
System.out.println(Arrays.asList(config));
assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), config));
assertFalse(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config));
assertFalse(isPackageNameIncluded("xyz.my", config));
assertTrue (isPackageNameIncluded("to.instrument", config));
assertFalse(isPackageNameIncluded("to.not.instrument", config));
}
}