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
.TestStatus
;
13 import org
.argeo
.slc
.core
.test
.TestDefinition
;
14 import org
.argeo
.slc
.core
.test
.TestResult
;
15 import org
.argeo
.slc
.core
.test
.TestResultPart
;
16 import org
.argeo
.slc
.core
.test
.TestRun
;
17 import org
.argeo
.slc
.example
.appli
.ExampleAppli
;
19 public class SimpleExampleTestDef
implements TestDefinition
{
20 private Log log
= LogFactory
.getLog(SimpleExampleTestDef
.class);
22 public void execute(TestRun testRun
) {
23 ExampleDeployedSystem system
= (ExampleDeployedSystem
) testRun
26 ExampleTestData data
= (ExampleTestData
) testRun
.getTestData();
28 ExampleAppli appli
= system
.getExampleAppliInstance();
29 String
[] args
= { data
.getInputFile().getAbsolutePath(),
30 data
.getReachedFile().getAbsolutePath() };
32 TestResult result
= testRun
.getTestResult();
34 SimpleResultPart executePart
= new SimpleResultPart();
35 executePart
.setMessage("Execute example appli");
40 executePart
.setStatus(TestStatus
.PASSED
);
41 } catch (Exception e
) {
42 executePart
.setStatus(TestStatus
.ERROR
);
43 executePart
.setException(e
);
45 result
.addResultPart(executePart
);
46 if (executePart
.getStatus() == TestStatus
.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
) ? TestStatus
.PASSED
62 } catch (Exception e
) {
63 part
.setStatus(TestStatus
.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();