annotate gwt-client/src/test/java/test/ModuleRunnerOutput.java @ 9709:b74f817435fe

comment removed
author dnt_bjoernsen <d.tironi@bjoernsen.de>
date Wed, 27 Jan 2021 11:47:38 +0100
parents 531a60b7af95
children
rev   line source
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
2 * Software engineering by
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
5 *
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
9 */
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
10 package test;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
11
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
12 import java.io.File;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
13 import java.io.FileNotFoundException;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
14 import java.io.IOException;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
15 import java.io.InputStream;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
16 import java.net.URL;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
17 import java.util.HashMap;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
18 import java.util.Map;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
19
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
20 import org.apache.commons.io.FileUtils;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
21 import org.apache.commons.io.IOUtils;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
22 import org.dive4elements.artifacts.common.utils.ClientProtocolUtils;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
23 import org.dive4elements.artifacts.httpclient.http.HttpClient;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
24 import org.dive4elements.river.client.server.ChartServiceHelper;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
25 import org.junit.Assert;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
26 import org.w3c.dom.Document;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
27
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
28 /**
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
29 * @author Domenico Nardi Tironi
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
30 *
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
31 */
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
32
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
33 public class ModuleRunnerOutput {
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
34
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
35 private static final String IGNORE_ERSTELLDATUM = "# Datum der Erstellung";
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
36 private static final String IGNORE_FLYS_VERSION = "# FLYS-Version:";
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
37 private static final String IGNORE_BEARBEITER = "# Bearbeiter:";
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
38
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
39 private static final String LINE_SEPARATOR = System.getProperty("line.separator");
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
40
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
41 final FilenameSupplier filename;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
42 final String outputModeName;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
43
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
44 // private final String collectionIdentifier;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
45
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
46 private final Map<String, String> params;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
47
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
48 public final String getOutputModename() {
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
49 return this.outputModeName;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
50 }
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
51
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
52 public ModuleRunnerOutput(final FilenameSupplier filename, final String outputModeName, final String currentKm) {
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
53 this.filename = filename;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
54 this.outputModeName = outputModeName;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
55
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
56 this.params = getChartExportAttributeMap(currentKm, outputModeName);
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
57 }
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
58
9570
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
59 protected final void assertAndWriteToFile(final HttpClient client, final String collectionId, final File testFolder) throws IOException {
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
60
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
61 final String type = "csv";
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
62
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
63 final String enc = "UTF-8";// req.getParameter("encoding");
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
64
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
65 final URL expectedResource = getClass().getResource(this.filename.getFilename());
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
66 final Document attr = ChartServiceHelper.getChartAttributes(this.params);
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
67
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
68 final Document request = ClientProtocolUtils.newOutCollectionDocument(collectionId, this.outputModeName, type, attr);
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
69
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
70 final InputStream response = client.collectionOut(request, collectionId, this.outputModeName);
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
71
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
72 final String actual = deleteErstelldatum(IOUtils.toString(response, "UTF-8"));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
73
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
74 final String expected = deleteErstelldatum(FileUtils.readFileToString(new File(expectedResource.getFile()), enc));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
75
9570
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
76 final File fileTmp = doGetWriteToDisk(actual, testFolder);
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
77 Assert.assertEquals(expected, actual);
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
78
9570
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
79 fileTmp.delete(); // if assert fails, file won't be deleted
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
80
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
81 }
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
82
9570
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
83 public final File doGetWriteToDisk(final String actual_text, final File testFolder) throws FileNotFoundException, IOException {
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
84
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
85 final File file = new File(testFolder, this.filename.getFilename());
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
86 new File(file.getParent()).mkdir();
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
87
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
88 // final String name = mode;
9570
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
89 // final String type = "csv";
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
90
9570
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
91 FileUtils.write(file, actual_text, "UTF-8");
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
92 return file;
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
93 }
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
94
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
95 private final String deleteErstelldatum(final String input) {
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
96 String result = "";
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
97 final String[] lines = input.split(LINE_SEPARATOR);
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
98 for (final String line : lines) {
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
99 if (!line.contains(IGNORE_ERSTELLDATUM) && !line.contains(IGNORE_FLYS_VERSION) && !line.contains(IGNORE_BEARBEITER)) {
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
100 result = result + line + LINE_SEPARATOR;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
101 }
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
102 }
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
103 return result;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
104 }
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
105
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
106 private final Map<String, String> getChartExportAttributeMap(final String currentKm, final String outputmodeName) {
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
107
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
108 // From ChartOutputServiceImpl
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
109 final Map<String, String> attr = new HashMap<String, String>();
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
110
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
111 attr.put("width", "-1"); // req.getParameter("width"));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
112 attr.put("height", "-1"); // req.getParameter("height"));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
113 // attr.put("minx", null);// req.getParameter("minx"));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
114 // attr.put("maxx", req.getParameter("maxx"));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
115 // attr.put("miny", req.getParameter("miny"));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
116 // attr.put("maxy", req.getParameter("maxy"));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
117 attr.put("format", "csv"); // req.getParameter("format"));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
118 attr.put("export", "true");// req.getParameter("export"));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
119
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
120 if (currentKm != null)
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
121 attr.put("km", currentKm);// req.getParameter("currentKm"));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
122 // encoding?
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
123
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
124 // Weiteres (nicht mehr von CHartOutputServiceImpl, sondern von URL-Parametern):
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
125 attr.put("type", outputmodeName);
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
126 attr.put("locale", "de");
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
127 attr.put("timestamp", String.valueOf(System.currentTimeMillis()));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
128 attr.put("encoding", "windows-1252");
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
129
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
130 return attr;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
131 }
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
132
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents:
diff changeset
133 }

http://dive4elements.wald.intevation.org