]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc/src/test/java/org/argeo/slc/example/junit/TestAntBuild.java
Improve comments
[gpl/argeo-slc.git] / org.argeo.slc / src / test / java / org / argeo / slc / example / junit / TestAntBuild.java
index 37440b6a0aad10dc4675821491ee4a604fb8f4c9..b4d097483ee2cf79a808ea14db2ef09ce6f7c0cb 100644 (file)
@@ -2,19 +2,84 @@ package org.argeo.slc.example.junit;
 \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