1 package org
.argeo
.slc
.example
.junit
;
5 import junit
.framework
.TestCase
;
7 import org
.springframework
.context
.ApplicationContext
;
9 import org
.apache
.commons
.logging
.Log
;
10 import org
.apache
.commons
.logging
.LogFactory
;
11 import org
.apache
.tools
.ant
.Project
;
13 import org
.argeo
.slc
.ant
.AntRegistryUtil
;
14 import org
.argeo
.slc
.ant
.SlcProjectHelper
;
15 import org
.argeo
.slc
.core
.structure
.tree
.TreeSPath
;
16 import org
.argeo
.slc
.core
.test
.NumericTRId
;
17 import org
.argeo
.slc
.core
.test
.SimpleResultPart
;
18 import org
.argeo
.slc
.core
.test
.TestStatus
;
19 import org
.argeo
.slc
.core
.test
.tree
.PartSubList
;
20 import org
.argeo
.slc
.core
.test
.tree
.TreeTestResult
;
21 import org
.argeo
.slc
.dao
.test
.TestResultDao
;
23 /** High level tests for SLC Ant. */
24 public class ExampleIntegrationTest
extends TestCase
{
25 private static Log log
= LogFactory
.getLog(ExampleIntegrationTest
.class);
27 /** Tests an end-to-end Ant run. */
28 public void testAllRunSimple() {
29 String slcBase
= System
.getProperty("it.slc.base","exampleSlcAppli");
30 File slcBaseDir
= new File(slcBase
).getAbsoluteFile();
31 log
.info("SLC base: " + slcBaseDir
);
33 String reportDirPath
= slcBaseDir
.getPath() + "/work/results/report/";
34 File
[] reportFiles
= new File(reportDirPath
).listFiles();
35 for (File file
: reportFiles
) {
39 File antFile
= new File(slcBaseDir
.getPath()
40 + "/root/Category1/SubCategory2/build.xml");
41 Project p
= AntRegistryUtil
.runAll(antFile
);
43 ApplicationContext context
= (ApplicationContext
) p
44 .getReference(SlcProjectHelper
.REF_ROOT_CONTEXT
);
46 TestResultDao testResultDao
= (TestResultDao
) context
47 .getBean("testResultDao");
49 NumericTRId numericTRId
= new NumericTRId();
50 numericTRId
.setValue(1l);
51 TreeTestResult testResult1
= (TreeTestResult
) testResultDao
52 .getTestResult(numericTRId
);
53 // assertPart(testResult1, "", 0, TestStatus.PASSED, "");
56 "/root/Category1/SubCategory2/testComplex/slc.test0/0",
59 "Sub task with path /root/Category1/SubCategory2/testComplex/slc.test0/0 executed");
60 assertPart(testResult1
,
61 "/root/Category1/SubCategory2/testSimple/slc.test0", 1,
63 "Compare nato-expected.txt with nato-reached.txt");
64 assertPart(testResult1
,
65 "/root/Category1/SubCategory2/testError/slc.test0", 0,
66 TestStatus
.ERROR
, "Execute example appli");
68 numericTRId
.setValue(2l);
69 TreeTestResult testResult2
= (TreeTestResult
) testResultDao
70 .getTestResult(numericTRId
);
71 assertPart(testResult2
,
72 "/root/Category1/SubCategory2/testSimple/slc.test2", 1,
74 "Compare eu-reform-expected.txt with eu-reform-reached.txt");
75 assertPart(testResult2
,
76 "/root/Category1/SubCategory2/testSimple/slc.test3", 1,
78 "Compare eu-reform-expected.txt with eu-reform-reached.txt");
80 assertTrue(new File(reportDirPath
+ "index.html").exists());
81 assertTrue(new File(reportDirPath
+ "slc-resultsList.html").exists());
82 assertTrue(new File(reportDirPath
+ "slc-result-1.html").exists());
83 assertTrue(new File(reportDirPath
+ "slc-result-2.html").exists());
86 private void assertPart(TreeTestResult testResult
, String pathStr
,
87 int index
, Integer status
, String message
) {
88 TreeSPath path
= TreeSPath
.parseToCreatePath(pathStr
);
89 PartSubList list
= testResult
.getResultParts().get(path
);
90 SimpleResultPart part
= (SimpleResultPart
) list
.getParts().get(index
);
91 assertEquals(status
, part
.getStatus());
92 assertEquals(message
, part
.getMessage());