]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc/src/test/java/org/argeo/slc/example/SimpleExampleTestDef.java
Basic reporting
[gpl/argeo-slc.git] / org.argeo.slc / src / test / java / org / argeo / slc / example / SimpleExampleTestDef.java
1 package org.argeo.slc.example;
2
3 import java.io.BufferedReader;
4 import java.io.File;
5 import java.io.FileReader;
6 import java.io.IOException;
7
8 import org.apache.commons.logging.Log;
9 import org.apache.commons.logging.LogFactory;
10
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;
17
18 public class SimpleExampleTestDef implements TestDefinition {
19 private Log log = LogFactory.getLog(SimpleExampleTestDef.class);
20
21 public void execute(TestRun testRun) {
22 ExampleDeployedSystem system = (ExampleDeployedSystem) testRun
23 .getDeployedSystem();
24
25 ExampleTestData data = (ExampleTestData) testRun.getTestData();
26
27 ExampleAppli appli = system.getExampleAppliInstance();
28 String[] args = { data.getInputFile().getAbsolutePath(),
29 data.getReachedFile().getAbsolutePath() };
30
31 TestResult result = testRun.getTestResult();
32
33 SimpleResultPart executePart = new SimpleResultPart();
34 executePart.setMessage("Execute example appli");
35 try {
36 // execute
37 log.info("Execute example appli...");
38 appli.filter(args);
39
40 executePart.setStatus(SimpleResultPart.PASSED);
41 } catch (Exception e) {
42 executePart.setStatus(SimpleResultPart.ERROR);
43 executePart.setException(e);
44 }
45 result.addResultPart(executePart);
46 if(executePart.getStatus()==SimpleResultPart.ERROR){
47 return;
48 }
49
50 result.addResultPart(assertFiles(data));
51 }
52
53 private TestResultPart assertFiles(ExampleTestData data) {
54 SimpleResultPart part = new SimpleResultPart();
55 part.setMessage("Compare " + data.getExpectedFile().getName()
56 + " with " + data.getReachedFile().getName());
57 try {
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);
64 part.setException(e);
65 log.error("Error while asserting files", e);
66 }
67 return part;
68 }
69
70 public String loadFile(File file) throws IOException {
71 StringBuffer buf = new StringBuffer("");
72 BufferedReader in = new BufferedReader(new FileReader(file));
73 String line;
74 while ((line = in.readLine()) != null) {
75 buf.append(line).append('\n');
76 }
77 in.close();
78 return buf.toString();
79 }
80 }