1 package org
.argeo
.slc
.example
;
3 import java
.io
.BufferedReader
;
5 import java
.io
.FileReader
;
6 import java
.io
.IOException
;
8 import org
.apache
.commons
.logging
.Log
;
9 import org
.apache
.commons
.logging
.LogFactory
;
11 import org
.argeo
.slc
.core
.test
.SimpleResultPart
;
12 import org
.argeo
.slc
.core
.test
.TestDefinition
;
13 import org
.argeo
.slc
.core
.test
.TestResult
;
14 import org
.argeo
.slc
.core
.test
.TestResultPart
;
15 import org
.argeo
.slc
.core
.test
.TestRun
;
16 import org
.argeo
.slc
.example
.appli
.ExampleAppli
;
18 public class SimpleExampleTestDef
implements TestDefinition
{
19 private Log log
= LogFactory
.getLog(SimpleExampleTestDef
.class);
21 public void execute(TestRun testRun
) {
22 ExampleDeployedSystem system
= (ExampleDeployedSystem
) testRun
25 ExampleTestData data
= (ExampleTestData
) testRun
.getTestData();
27 ExampleAppli appli
= system
.getExampleAppliInstance();
28 String
[] args
= { data
.getInputFile().getAbsolutePath(),
29 data
.getReachedFile().getAbsolutePath() };
31 TestResult result
= testRun
.getTestResult();
33 SimpleResultPart executePart
= new SimpleResultPart();
34 executePart
.setMessage("Execute example appli");
37 log
.info("Execute example appli...");
40 executePart
.setStatus(SimpleResultPart
.PASSED
);
41 } catch (Exception e
) {
42 executePart
.setStatus(SimpleResultPart
.ERROR
);
43 executePart
.setException(e
);
45 result
.addResultPart(executePart
);
46 if(executePart
.getStatus()==SimpleResultPart
.ERROR
){
50 result
.addResultPart(assertFiles(data
));
53 private TestResultPart
assertFiles(ExampleTestData data
) {
54 SimpleResultPart part
= new SimpleResultPart();
55 part
.setMessage("Compare " + data
.getExpectedFile().getName()
56 + " with " + data
.getReachedFile().getName());
58 String expected
= loadFile(data
.getExpectedFile());
59 String reached
= loadFile(data
.getReachedFile());
60 part
.setStatus(expected
.equals(reached
) ? SimpleResultPart
.PASSED
61 : SimpleResultPart
.FAILED
);
62 } catch (Exception e
) {
63 part
.setStatus(SimpleResultPart
.ERROR
);
65 log
.error("Error while asserting files", e
);
70 public String
loadFile(File file
) throws IOException
{
71 StringBuffer buf
= new StringBuffer("");
72 BufferedReader in
= new BufferedReader(new FileReader(file
));
74 while ((line
= in
.readLine()) != null) {
75 buf
.append(line
).append('\n');
78 return buf
.toString();