From: <jbo...@li...> - 2006-01-21 01:01:24
|
Author: mic...@jb... Date: 2006-01-20 20:01:13 -0500 (Fri, 20 Jan 2006) New Revision: 2159 Modified: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/IntegrationTest.java Log: better tests Modified: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/IntegrationTest.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/IntegrationTest.java 2006-01-21 00:46:01 UTC (rev 2158) +++ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/IntegrationTest.java 2006-01-21 01:01:13 UTC (rev 2159) @@ -51,7 +51,7 @@ RepositoryManager repoB = RepositoryFactory.getStatefulRepository(); - //Lets try a simple rule + //Lets try a simple rule, which will stay stand alone RuleDef ruleA = new RuleDef("Concurrent 1", "content1"); repoA.save(ruleA); repoA.close(); @@ -84,13 +84,13 @@ repoA.save(ruleSet); repoA.close(); - //we will add a rule to each one + //we will add a rule to each one, concurrently repoA = RepositoryFactory.getStatefulRepository(); repoB = RepositoryFactory.getStatefulRepository(); RuleSetDef ruleSetA = repoA.loadRuleSet("Integration concurrent 1", 1); RuleSetDef ruleSetB = repoB.loadRuleSet("Integration concurrent 1", 1); - + ruleA = new RuleDef("Concurrent 3", "content"); ruleSetA.addRule(ruleA); ruleSetB.addRule(new RuleDef("Concurrent 4", "content")); @@ -104,6 +104,7 @@ ruleA.setContent("new content"); repoA.save(ruleSetA); + repoA.close(); repoB.close(); @@ -115,7 +116,27 @@ repoA.close(); + //now lets have bob and michael both edit to different rules at once + repoA = RepositoryFactory.getStatefulRepository(); + repoB = RepositoryFactory.getStatefulRepository(); + ruleSetA = repoA.loadRuleSet("Integration concurrent 1", 1); + ruleSetB = repoB.loadRuleSet("Integration concurrent 1", 1); + ruleA = ruleSetA.findRuleByName("Concurrent 3"); + ruleB = ruleSetB.findRuleByName("Concurrent 4"); + + ruleA.setContent("something wild"); + ruleB.setContent("something simple"); + + //should be fine, as different rules. + repoA.save(ruleSetA); + repoB.save(ruleSetB); + + repoA.close(); + repoB.close(); + + + } |