]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc/src/test/java/org/argeo/slc/example/SimpleExampleTestDef.java
Revert changes in result parts
[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.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;
18
19 public class SimpleExampleTestDef implements TestDefinition {
20 private Log log = LogFactory.getLog(SimpleExampleTestDef.class);
21
22 public void execute(TestRun testRun) {
23 ExampleDeployedSystem system = (ExampleDeployedSystem) testRun
24 .getDeployedSystem();
25
26 ExampleTestData data = (ExampleTestData) testRun.getTestData();
27
28 ExampleAppli appli = system.getExampleAppliInstance();
29 String[] args = { data.getInputFile().getAbsolutePath(),
30 data.getReachedFile().getAbsolutePath() };
31
32 TestResult result = testRun.getTestResult();
33
34 SimpleResultPart executePart = new SimpleResultPart();
35 executePart.setMessage("Execute example appli");
36 try {
37 // execute
38 appli.filter(args);
39
40 executePart.setStatus(TestStatus.PASSED);
41 } catch (Exception e) {
42 executePart.setStatus(TestStatus.ERROR);
43 executePart.setException(e);
44 }
45 result.addResultPart(executePart);
46 if (executePart.getStatus() == TestStatus.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) ? TestStatus.PASSED
61 : TestStatus.FAILED);
62 } catch (Exception e) {
63 part.setStatus(TestStatus.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 }