annotate src/test/java/de/intevation/lada/test/stamm/OrtTest.java @ 978:1a3a3996e072

Avoid duplicate entries in interface tests.
author Tom Gottfried <tom@intevation.de>
date Tue, 14 Jun 2016 18:31:29 +0200
parents d0a591b3eade
children 59bdb52bac1c
rev   line source
849
d0a591b3eade Added missing file header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 835
diff changeset
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
d0a591b3eade Added missing file header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 835
diff changeset
2 * Software engineering by Intevation GmbH
d0a591b3eade Added missing file header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 835
diff changeset
3 *
d0a591b3eade Added missing file header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 835
diff changeset
4 * This file is Free Software under the GNU GPL (v>=3)
d0a591b3eade Added missing file header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 835
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out
d0a591b3eade Added missing file header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 835
diff changeset
6 * the documentation coming with IMIS-Labordaten-Application for details.
d0a591b3eade Added missing file header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 835
diff changeset
7 */
835
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
8 package de.intevation.lada.test.stamm;
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
9
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10 import java.net.URL;
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11 import java.util.Arrays;
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 import java.util.List;
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14 import javax.json.JsonObject;
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15 import javax.json.JsonObjectBuilder;
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17 import org.junit.Assert;
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
18
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
19 import de.intevation.lada.Protocol;
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20 import de.intevation.lada.test.ServiceTest;
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22 public class OrtTest extends ServiceTest {
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
23 private JsonObject expectedById;
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24 private JsonObject create;
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26 /**
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
27 * @return The test protocol
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28 */
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
29 public List<Protocol> getProtocol() {
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
30 return protocol;
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
31 }
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33 @Override
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 public void init(
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35 URL baseUrl,
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36 List<Protocol> protocol
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37 ) {
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38 super.init(baseUrl, protocol);
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 // Attributes with timestamps
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 timestampAttributes = Arrays.asList(new String[]{
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 "letzteAenderung"
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42 });
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
44 // Prepare expected object
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45 JsonObject content = readJsonResource("/datasets/dbUnit_ort.json");
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46 JsonObject erzeuger = content.getJsonArray("stammdaten.ort").getJsonObject(0);
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 JsonObjectBuilder builder = convertObject(erzeuger);
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
48 expectedById = builder.build();
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 Assert.assertNotNull(expectedById);
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
51 // Load object to test POST request
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
52 create = readJsonResource("/datasets/ort.json");
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53 Assert.assertNotNull(create);
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54 }
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
55
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
56 public final void execute() {
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
57 getAll("ort", "rest/ort");
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
58 getById("ort", "rest/ort/1000", expectedById);
978
1a3a3996e072 Avoid duplicate entries in interface tests.
Tom Gottfried <tom@intevation.de>
parents: 849
diff changeset
59 int createdId = create("ort", "rest/ort", create)
1a3a3996e072 Avoid duplicate entries in interface tests.
Tom Gottfried <tom@intevation.de>
parents: 849
diff changeset
60 .getJsonObject("data").getInt("id");
1a3a3996e072 Avoid duplicate entries in interface tests.
Tom Gottfried <tom@intevation.de>
parents: 849
diff changeset
61 update("ort", "rest/ort/" + createdId,
1a3a3996e072 Avoid duplicate entries in interface tests.
Tom Gottfried <tom@intevation.de>
parents: 849
diff changeset
62 "langtext", "Langer Text", "Längerer Text");
1a3a3996e072 Avoid duplicate entries in interface tests.
Tom Gottfried <tom@intevation.de>
parents: 849
diff changeset
63 delete("ort", "rest/ort/" + createdId);
835
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
64 }
075f511243d5 Added tests for stammdaten
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
65 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)