\r
import java.io.File;\r
\r
-import org.argeo.slc.ant.AntRegistryUtil;\r
+import org.springframework.context.ApplicationContext;\r
+\r
+import org.apache.tools.ant.Project;\r
\r
import junit.framework.TestCase;\r
\r
+import org.argeo.slc.ant.AntRegistryUtil;\r
+import org.argeo.slc.ant.SlcProjectHelper;\r
+import org.argeo.slc.core.structure.tree.TreeSPath;\r
+import org.argeo.slc.core.test.NumericTRId;\r
+import org.argeo.slc.core.test.SimpleResultPart;\r
+import org.argeo.slc.core.test.TestStatus;\r
+import org.argeo.slc.core.test.tree.PartSubList;\r
+import org.argeo.slc.core.test.tree.TreeTestResult;\r
+import org.argeo.slc.dao.test.TestResultDao;\r
+\r
+/** High level tests for SLC Ant. */\r
public class TestAntBuild extends TestCase {\r
+ /** Tests an end-to-end Ant run. */\r
public void testAllRunSimple() {\r
+ File[] reportFiles = new File("src/test/slc/work/results/report/")\r
+ .listFiles();\r
+ for (File file : reportFiles) {\r
+ file.delete();\r
+ }\r
+\r
File slcBaseDir = new File("./src/test/slc").getAbsoluteFile();\r
- System.setProperty("log4j.configuration", "file:///"+slcBaseDir.getPath()\r
- + "/conf/log4j.properties");\r
\r
File antFile = new File(slcBaseDir.getPath()\r
+ "/root/Category1/SubCategory2/build.xml");\r
- AntRegistryUtil.runAll(antFile);\r
- \r
+ Project p = AntRegistryUtil.runAll(antFile);\r
+\r
+ ApplicationContext context = (ApplicationContext) p\r
+ .getReference(SlcProjectHelper.REF_ROOT_CONTEXT);\r
+\r
+ TestResultDao testResultDao = (TestResultDao) context\r
+ .getBean("testResultDao");\r
+\r
+ NumericTRId numericTRId = new NumericTRId();\r
+ numericTRId.setValue(1l);\r
+ TreeTestResult testResult1 = (TreeTestResult) testResultDao\r
+ .getTestResult(numericTRId);\r
+ // assertPart(testResult1, "", 0, TestStatus.PASSED, "");\r
+ assertPart(\r
+ testResult1,\r
+ "#root#Category1#SubCategory2#testComplex#slc.test0#0",\r
+ 0,\r
+ TestStatus.PASSED,\r
+ "Sub task with path #root#Category1#SubCategory2#testComplex#slc.test0#0 executed");\r
+ assertPart(testResult1,\r
+ "#root#Category1#SubCategory2#testSimple#slc.test0", 1,\r
+ TestStatus.FAILED,\r
+ "Compare nato-expected.txt with nato-reached.txt");\r
+\r
+ numericTRId.setValue(2l);\r
+ TreeTestResult testResult2 = (TreeTestResult) testResultDao\r
+ .getTestResult(numericTRId);\r
+ assertPart(testResult2,\r
+ "#root#Category1#SubCategory2#testSimple#slc.test2", 1,\r
+ TestStatus.PASSED,\r
+ "Compare eu-reform-expected.txt with eu-reform-reached.txt");\r
+ assertPart(testResult2,\r
+ "#root#Category1#SubCategory2#testSimple#slc.test3", 1,\r
+ TestStatus.FAILED,\r
+ "Compare eu-reform-expected.txt with eu-reform-reached.txt");\r
+\r
+ assertTrue(new File("src/test/slc/work/results/report/index.html")\r
+ .exists());\r
+ assertTrue(new File("src/test/slc/work/results/report/1.html").exists());\r
+ assertTrue(new File("src/test/slc/work/results/report/2.html").exists());\r
+ }\r
+\r
+ private void assertPart(TreeTestResult testResult, String pathStr,\r
+ int index, Integer status, String message) {\r
+ TreeSPath path = TreeSPath.parseToCreatePath(pathStr, '#');\r
+ PartSubList list = testResult.getResultParts().get(path);\r
+ SimpleResultPart part = (SimpleResultPart) list.getParts().get(index);\r
+ assertEquals(status, part.getStatus());\r
+ assertEquals(message, part.getMessage());\r
}\r
}\r