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
;
10 import org
.argeo
.slc
.core
.test
.SimpleResultPart
;
11 import org
.argeo
.slc
.example
.appli
.ExampleAppli
;
12 import org
.argeo
.slc
.test
.TestDefinition
;
13 import org
.argeo
.slc
.test
.TestResult
;
14 import org
.argeo
.slc
.test
.TestResultPart
;
15 import org
.argeo
.slc
.test
.TestRun
;
16 import org
.argeo
.slc
.test
.TestStatus
;
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");
39 executePart
.setStatus(TestStatus
.PASSED
);
40 } catch (Exception e
) {
41 executePart
.setStatus(TestStatus
.ERROR
);
42 executePart
.setException(e
);
44 result
.addResultPart(executePart
);
45 if (executePart
.getStatus() == TestStatus
.ERROR
) {
49 result
.addResultPart(assertFiles(data
));
52 private TestResultPart
assertFiles(ExampleTestData data
) {
53 SimpleResultPart part
= new SimpleResultPart();
54 part
.setMessage("Compare " + data
.getExpectedFile().getName()
55 + " with " + data
.getReachedFile().getName());
57 String expected
= loadFile(data
.getExpectedFile());
58 String reached
= loadFile(data
.getReachedFile());
59 part
.setStatus(expected
.equals(reached
) ? TestStatus
.PASSED
61 } catch (Exception e
) {
62 part
.setStatus(TestStatus
.ERROR
);
64 log
.error("Error while asserting files", e
);
69 public String
loadFile(File file
) throws IOException
{
70 StringBuffer buf
= new StringBuffer("");
71 BufferedReader in
= new BufferedReader(new FileReader(file
));
73 while ((line
= in
.readLine()) != null) {
74 buf
.append(line
).append('\n');
77 return buf
.toString();