-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
161 additions
and
0 deletions.
There are no files selected for viewing
161 changes: 161 additions & 0 deletions
161
...ls-compiler/src/test/java/org/drools/compiler/integrationtests/KieDefaultPackageTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,161 @@ | ||
package org.drools.compiler.integrationtests; | ||
|
||
import org.drools.compiler.CommonTestMethodBase; | ||
import org.junit.Ignore; | ||
import org.junit.Test; | ||
import org.kie.api.KieServices; | ||
import org.kie.api.builder.KieBuilder; | ||
import org.kie.api.builder.KieFileSystem; | ||
|
||
/** | ||
* Testing use of default Package. | ||
*/ | ||
public class KieDefaultPackageTest extends CommonTestMethodBase { | ||
|
||
@Test | ||
public void testAllInDefaultPackage() throws Exception { | ||
//This Model will be in the "default package" | ||
String model_drl = "" | ||
+ "declare Smurf\n" | ||
+ "Field1 : String\n" | ||
+ "end\n"; | ||
|
||
//This DRL is in the "default package" | ||
String drl = "" | ||
+ "rule \"test\"\n" | ||
+ "when\n" | ||
+ "Smurf()\n" | ||
+ "then\n" | ||
+ "end"; | ||
|
||
KieServices ks = KieServices.Factory.get(); | ||
|
||
KieFileSystem kfs = ks.newKieFileSystem(); | ||
kfs.write( "src/main/resources/model.drl", model_drl ); | ||
kfs.write( "src/main/resources/drl.drl", drl ); | ||
KieBuilder builder = ks.newKieBuilder( kfs ).buildAll(); | ||
|
||
assertEquals( 0, | ||
builder.getResults().getMessages().size() ); | ||
} | ||
|
||
@Test | ||
@Ignore("How do you access Type 'Smurf'? Test 1 - No import prefix") | ||
public void testModelInDefaultPackage1() throws Exception { | ||
//This Model will be in the "default package" | ||
String model_drl = "" | ||
+ "declare Smurf\n" | ||
+ "Field1 : String\n" | ||
+ "end\n"; | ||
|
||
//This DRL is in a named package, but imports the model | ||
String drl = "" | ||
+ "package org.smurf\n" | ||
+ "import Smurf\n" | ||
+ "rule \"test\"\n" | ||
+ "when\n" | ||
+ "Smurf()\n" | ||
+ "then\n" | ||
+ "end"; | ||
|
||
KieServices ks = KieServices.Factory.get(); | ||
|
||
KieFileSystem kfs = ks.newKieFileSystem(); | ||
kfs.write( "src/main/resources/model.drl", model_drl ); | ||
kfs.write( "src/main/resources/drl.drl", drl ); | ||
KieBuilder builder = ks.newKieBuilder( kfs ).buildAll(); | ||
|
||
assertEquals( 0, | ||
builder.getResults().getMessages().size() ); | ||
} | ||
|
||
@Test | ||
@Ignore("How do you access Type 'Smurf'? Test 2 - Attempting to use defaultPkg prefix") | ||
public void testModelInDefaultPackage2() throws Exception { | ||
//This Model will be in the "default package" | ||
String model_drl = "" | ||
+ "declare Smurf\n" | ||
+ "Field1 : String\n" | ||
+ "end\n"; | ||
|
||
//This DRL is in a named package, but imports the model (trying with defaultPkg prefix) | ||
String drl = "" | ||
+ "package org.smurf\n" | ||
+ "import defaultPkg.Smurf\n" | ||
+ "rule \"test\"\n" | ||
+ "when\n" | ||
+ "Smurf()\n" | ||
+ "then\n" | ||
+ "end"; | ||
|
||
KieServices ks = KieServices.Factory.get(); | ||
|
||
KieFileSystem kfs = ks.newKieFileSystem(); | ||
kfs.write( "src/main/resources/model.drl", model_drl ); | ||
kfs.write( "src/main/resources/drl.drl", drl ); | ||
KieBuilder builder = ks.newKieBuilder( kfs ).buildAll(); | ||
|
||
assertEquals( 0, | ||
builder.getResults().getMessages().size() ); | ||
} | ||
|
||
@Test | ||
public void testAllInExplicitPackage() throws Exception { | ||
//This Model will be in package "org.smurf" | ||
String model_drl = "" | ||
+ "package org.smurf\n" | ||
+ "declare Smurf\n" | ||
+ "Field1 : String\n" | ||
+ "end\n"; | ||
|
||
//This DRL is in package "org.smurf" too | ||
String drl = "" | ||
+ "package org.smurf\n" | ||
+ "rule \"test\"\n" | ||
+ "when\n" | ||
+ "Smurf()\n" | ||
+ "then\n" | ||
+ "end"; | ||
|
||
KieServices ks = KieServices.Factory.get(); | ||
|
||
KieFileSystem kfs = ks.newKieFileSystem(); | ||
kfs.write( "src/main/resources/model.drl", model_drl ); | ||
kfs.write( "src/main/resources/drl.drl", drl ); | ||
KieBuilder builder = ks.newKieBuilder( kfs ).buildAll(); | ||
|
||
assertEquals( 0, | ||
builder.getResults().getMessages().size() ); | ||
} | ||
|
||
@Test | ||
public void testAllInDifferentExplicitPackages() throws Exception { | ||
//This Model will be in package "org.smurf" | ||
String model_drl = "" | ||
+ "package org.smurf\n" | ||
+ "declare Smurf\n" | ||
+ "Field1 : String\n" | ||
+ "end\n"; | ||
|
||
//This DRL is in package "org.smurf.subpackage" | ||
String drl = "" | ||
+ "package org.smurf.subpackage\n" | ||
+ "import org.smurf.Smurf\n" | ||
+ "rule \"test\"\n" | ||
+ "when\n" | ||
+ "Smurf()\n" | ||
+ "then\n" | ||
+ "end"; | ||
|
||
KieServices ks = KieServices.Factory.get(); | ||
|
||
KieFileSystem kfs = ks.newKieFileSystem(); | ||
kfs.write( "src/main/resources/model.drl", model_drl ); | ||
kfs.write( "src/main/resources/drl.drl", drl ); | ||
KieBuilder builder = ks.newKieBuilder( kfs ).buildAll(); | ||
|
||
assertEquals( 0, | ||
builder.getResults().getMessages().size() ); | ||
} | ||
|
||
} |