<import resource="slc.xml" />\r
<import resource="testDatas.xml" />\r
<import resource="testDefinitions.xml" />\r
+ <import resource="contextTests.xml" />\r
</beans>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<beans xmlns="http://www.springframework.org/schema/beans"\r
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">\r
+\r
+\r
+ <bean id="context.simple1" parent="context.template">\r
+ <property name="values">\r
+ <map>\r
+ <entry key="reference" value="20" />\r
+ <entry key="varIntern" value="60" />\r
+ </map>\r
+ </property>\r
+ <property name="expectedValues">\r
+ <map>\r
+ <entry key="reference" value="21" />\r
+ </map>\r
+ </property>\r
+ </bean>\r
+ \r
+ <bean id="context.simple2" parent="context.template">\r
+ <property name="values">\r
+ <map>\r
+ <entry key="var" value="50" />\r
+ </map>\r
+ </property>\r
+ <property name="expectedValues">\r
+ <map>\r
+ <entry key="reference" value="21" />\r
+ <entry key="var" value="50" />\r
+ <entry key="varIntern" value="60" />\r
+ <entry key="varExtern" value="70" />\r
+ </map>\r
+ </property>\r
+ </bean>\r
+ \r
+ <bean id="context.template"\r
+ class="org.argeo.slc.core.test.context.DefaultContextTestData"\r
+ abstract="true">\r
+ </bean>\r
+</beans>
\ No newline at end of file
\r
## Levels\r
# Slc\r
-log4j.logger.org.argeo.slc=TRACE\r
+log4j.logger.org.argeo.slc=INFO\r
# Spring\r
log4j.logger.org.springframework=INFO\r
# Hibernate\r
scope="prototype">\r
</bean>\r
\r
+ <bean id="simpleContextTestDef"\r
+ class="org.argeo.slc.example.ContextExampleTestDef"\r
+ scope="prototype">\r
+ </bean>\r
+\r
<bean id="complexExampleTestDef"\r
class="org.argeo.slc.core.test.tree.CompositeTreeTestDefinition "\r
scope="prototype">\r
<project default="test" name="testProject">\r
<description>A Test project</description>\r
\r
- <import file="complex.xml"/>\r
- \r
- <target name="test" depends="testSimple,testComplex,testError">\r
+ <import file="complex.xml" />\r
+\r
+ <target name="test" depends="testSimple,testComplex,testError,testContext">\r
<slc.closeResult result="testResult" />\r
<slc.closeResult result="testResult2" />\r
<slc.report report="report" />\r
<slc.test description="NATO">\r
<testDefinition bean="simpleExampleTestDef" />\r
<testData bean="testData.nato" />\r
- <structureElement bean="sElement.nato"/>\r
+ <structureElement bean="sElement.nato" />\r
</slc.test>\r
\r
<slc.test description="UN">\r
</slc.test>\r
</target>\r
\r
+ <target name="testContext" description="Tests with context">\r
+ <slc.context id="context1">\r
+ <values>\r
+ <entry key="varExtern" value="70" />\r
+ </values>\r
+ <expectedValues>\r
+ <entry key="reference" value="20" />\r
+ </expectedValues>\r
+ </slc.context>\r
+\r
+ <slc.test description="Context 1">\r
+ <testDefinition bean="simpleContextTestDef" />\r
+ <testData bean="context.simple1">\r
+ <override name="parentContext" antref="context1" />\r
+ </testData>\r
+ </slc.test>\r
+\r
+ <slc.test description="Context 2">\r
+ <testDefinition bean="simpleContextTestDef" />\r
+ <testData bean="context.simple2">\r
+ <override name="parentContext" antref="context1" />\r
+ </testData>\r
+ </slc.test>\r
+ </target>\r
+\r
\r
</project>
\ No newline at end of file
<parent>\r
<groupId>org.argeo.slc</groupId>\r
<artifactId>argeo-slc</artifactId>\r
- <version>0.8.1</version>\r
+ <version>0.8-SNAPSHOT</version>\r
<relativePath>../org.argeo.slc</relativePath>\r
</parent>\r
<artifactId>argeo-slc-example</artifactId>\r
--- /dev/null
+package org.argeo.slc.example;\r
+\r
+import org.argeo.slc.core.structure.SimpleSElement;\r
+import org.argeo.slc.core.structure.StructureElement;\r
+import org.argeo.slc.core.structure.tree.TreeSRelatedHelper;\r
+import org.argeo.slc.core.test.TestDefinition;\r
+import org.argeo.slc.core.test.TestRun;\r
+import org.argeo.slc.core.test.context.ContextUtils;\r
+import org.argeo.slc.core.test.context.DefaultContextTestData;\r
+\r
+public class ContextExampleTestDef extends TreeSRelatedHelper implements\r
+ TestDefinition {\r
+\r
+ public void execute(TestRun testRun) {\r
+ DefaultContextTestData data = testRun.getTestData();\r
+ ContextUtils\r
+ .compareReachedExpected(data, testRun.getTestResult(), this);\r
+ }\r
+\r
+ public StructureElement getStructureElement(String key) {\r
+ return new SimpleSElement(key);\r
+ }\r
+\r
+}\r
private static Log log = LogFactory.getLog(ExampleIntegrationTest.class);\r
\r
/** Tests an end-to-end Ant run. */\r
- public void testAllRunSimple() throws Exception{\r
- String slcBase = System.getProperty("it.slc.base","exampleSlcAppli");\r
+ public void testAllRunSimple() throws Exception {\r
+ String slcBase = System.getProperty("it.slc.base", "exampleSlcAppli");\r
File slcBaseDir = new File(slcBase).getCanonicalFile();\r
log.info("SLC base: " + slcBaseDir);\r
\r
"/root/Category1/SubCategory2/testError/slc.test0", 0,\r
TestStatus.ERROR, "Execute example appli");\r
\r
+ // Context\r
+ assertPart(testResult1,\r
+ "/root/Category1/SubCategory2/testContext/slc.test1/reference",\r
+ 0, TestStatus.PASSED, "Values matched for key 'reference'");\r
+ assertPart(testResult1,\r
+ "/root/Category1/SubCategory2/testContext/slc.test1/varIntern",\r
+ 0, TestStatus.PASSED, "Values matched for key 'varIntern'");\r
+ assertPart(testResult1,\r
+ "/root/Category1/SubCategory2/testContext/slc.test1/varExtern",\r
+ 0, TestStatus.PASSED, "Values matched for key 'varExtern'");\r
+\r
numericTRId.setValue(2l);\r
TreeTestResult testResult2 = (TreeTestResult) testResultDao\r
.getTestResult(numericTRId);\r