Mercurial > lada > lada-server
annotate src/test/java/de/intevation/lada/test/land/StatusTest.java @ 832:59c51da59b30
Refactored test environment.
Land tests are using arquillian persistence extension (built on DBUnit).
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 18 Dec 2015 18:01:00 +0100 |
parents | |
children | cb1cfc8c81ed |
rev | line source |
---|---|
832
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.lada.test.land; |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 import java.net.URL; |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 import java.util.Arrays; |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 import java.util.List; |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
7 import javax.json.JsonObject; |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 import javax.json.JsonObjectBuilder; |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 import javax.json.JsonValue; |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 import org.junit.Assert; |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 import de.intevation.lada.Protocol; |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 public class StatusTest extends ServiceTest { |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 private JsonObject expectedById; |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 private JsonObject create; |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 /** |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 * @return The test protocol |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 */ |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 public List<Protocol> getProtocol() { |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 return protocol; |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 } |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 @Override |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 public void init( |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 URL baseUrl, |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 List<Protocol> protocol |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 ) { |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 super.init(baseUrl, protocol); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 // Attributes with timestamps |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 timestampAttributes = Arrays.asList(new String[]{ |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 "datum", |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 "treeModified" |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 }); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 // Prepare expected object |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 JsonObject content = readJsonResource("/datasets/dbUnit_messung.json"); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 JsonObject status = content.getJsonArray("land.status_protokoll").getJsonObject(0); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 JsonObjectBuilder builder = convertObject(status); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 builder.add("parentModified", 1450371851654L); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 builder.add("readonly", JsonValue.FALSE); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 builder.add("owner", JsonValue.TRUE); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 expectedById = builder.build(); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 Assert.assertNotNull(expectedById); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 // Load object to test POST request |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 create = readJsonResource("/datasets/status.json"); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 Assert.assertNotNull(create); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 } |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 public final void execute() { |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 getAll("status", "rest/status?messungsId=1000"); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 getById("status", "rest/status/1000", expectedById); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 //update("status", "rest/status/1000", "text", "Initialer Status", "Initialer Status geƤndert"); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 //JsonObject created = |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 create("status", "rest/status", create); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 //delete("status", "rest/status/" + created.getJsonObject("data").get("id")); |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 } |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 |
59c51da59b30
Refactored test environment.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 } |