]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc/src/test/java/org/argeo/slc/example/junit/TestAntBuild.java
Improve reporting
[gpl/argeo-slc.git] / org.argeo.slc / src / test / java / org / argeo / slc / example / junit / TestAntBuild.java
1 package org.argeo.slc.example.junit;
2
3 import java.io.File;
4
5 import org.springframework.context.ApplicationContext;
6
7 import org.apache.tools.ant.Project;
8
9 import junit.framework.TestCase;
10
11 import org.argeo.slc.ant.AntRegistryUtil;
12 import org.argeo.slc.ant.SlcProjectHelper;
13 import org.argeo.slc.core.structure.tree.TreeSPath;
14 import org.argeo.slc.core.test.NumericTRId;
15 import org.argeo.slc.core.test.SimpleResultPart;
16 import org.argeo.slc.core.test.TestStatus;
17 import org.argeo.slc.core.test.tree.PartSubList;
18 import org.argeo.slc.core.test.tree.TreeTestResult;
19 import org.argeo.slc.dao.test.TestResultDao;
20
21 /** High level tests for SLC Ant. */
22 public class TestAntBuild extends TestCase {
23 /** Tests an end-to-end Ant run. */
24 public void testAllRunSimple() {
25 File[] reportFiles = new File("src/test/slc/work/results/report/")
26 .listFiles();
27 for (File file : reportFiles) {
28 file.delete();
29 }
30
31 File slcBaseDir = new File("./src/test/slc").getAbsoluteFile();
32
33 File antFile = new File(slcBaseDir.getPath()
34 + "/root/Category1/SubCategory2/build.xml");
35 Project p = AntRegistryUtil.runAll(antFile);
36
37 ApplicationContext context = (ApplicationContext) p
38 .getReference(SlcProjectHelper.REF_ROOT_CONTEXT);
39
40 TestResultDao testResultDao = (TestResultDao) context
41 .getBean("testResultDao");
42
43 NumericTRId numericTRId = new NumericTRId();
44 numericTRId.setValue(1l);
45 TreeTestResult testResult1 = (TreeTestResult) testResultDao
46 .getTestResult(numericTRId);
47 // assertPart(testResult1, "", 0, TestStatus.PASSED, "");
48 assertPart(
49 testResult1,
50 "/root/Category1/SubCategory2/testComplex/slc.test0/0",
51 0,
52 TestStatus.PASSED,
53 "Sub task with path /root/Category1/SubCategory2/testComplex/slc.test0/0 executed");
54 assertPart(testResult1,
55 "/root/Category1/SubCategory2/testSimple/slc.test0", 1,
56 TestStatus.FAILED,
57 "Compare nato-expected.txt with nato-reached.txt");
58
59 numericTRId.setValue(2l);
60 TreeTestResult testResult2 = (TreeTestResult) testResultDao
61 .getTestResult(numericTRId);
62 assertPart(testResult2,
63 "/root/Category1/SubCategory2/testSimple/slc.test2", 1,
64 TestStatus.PASSED,
65 "Compare eu-reform-expected.txt with eu-reform-reached.txt");
66 assertPart(testResult2,
67 "/root/Category1/SubCategory2/testSimple/slc.test3", 1,
68 TestStatus.FAILED,
69 "Compare eu-reform-expected.txt with eu-reform-reached.txt");
70
71 String reportDirPath = "src/test/slc/work/results/report/";
72 assertTrue(new File(reportDirPath + "index.html").exists());
73 assertTrue(new File(reportDirPath + "slc-resultsList.html").exists());
74 assertTrue(new File(reportDirPath + "slc-result-1.html").exists());
75 assertTrue(new File(reportDirPath + "slc-result-2.html").exists());
76 }
77
78 private void assertPart(TreeTestResult testResult, String pathStr,
79 int index, Integer status, String message) {
80 TreeSPath path = TreeSPath.parseToCreatePath(pathStr);
81 PartSubList list = testResult.getResultParts().get(path);
82 SimpleResultPart part = (SimpleResultPart) list.getParts().get(index);
83 assertEquals(status, part.getStatus());
84 assertEquals(message, part.getMessage());
85 }
86 }