/
QueryParametersTest.java
123 lines (109 loc) · 3.58 KB
/
QueryParametersTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package integration.params;
import com.github.aesteve.vertx.nubes.utils.DateUtils;
import integration.VertxNubesTestBase;
import io.vertx.ext.unit.Async;
import io.vertx.ext.unit.TestContext;
import mock.controllers.params.QueryParametersTestController.Animal;
import org.junit.Test;
import java.util.Date;
public class QueryParametersTest extends VertxNubesTestBase {
@Test
public void mandatoryParam(TestContext context) {
Async async = context.async();
client().getNow("/params/query/string", response -> {
context.assertEquals(400, response.statusCode());
async.complete();
});
}
@Test
public void testString(TestContext context) {
String myString = "Snoopy";
Async async = context.async();
client().getNow("/params/query/string?parameter=" + myString, response -> {
response.bodyHandler(buff -> {
context.assertEquals(myString, buff.toString("UTF-8"));
async.complete();
});
});
}
@Test
public void testInt(TestContext context) {
Integer myInt = 123;
Async async = context.async();
client().getNow("/params/query/int?parameter=" + myInt, response -> {
response.bodyHandler(buff -> {
context.assertEquals(myInt.toString(), buff.toString("UTF-8"));
async.complete();
});
});
}
@Test
public void testLong(TestContext context) {
Long myInt = 1234l;
Async async = context.async();
client().getNow("/params/query/long?parameter=" + myInt, response -> {
response.bodyHandler(buff -> {
context.assertEquals(myInt.toString(), buff.toString("UTF-8"));
async.complete();
});
});
}
@Test
public void testFloat(TestContext context) {
Float myFloat = 123.45f;
Async async = context.async();
client().getNow("/params/query/float?parameter=" + myFloat, response -> {
response.bodyHandler(buff -> {
context.assertEquals(myFloat.toString(), buff.toString("UTF-8"));
async.complete();
});
});
}
@Test
public void testEnum(TestContext context) {
Animal animal = Animal.CAT;
Async async = context.async();
client().getNow("/params/query/enum?parameter=" + animal, response -> {
response.bodyHandler(buff -> {
context.assertEquals(animal.toString(), buff.toString("UTF-8"));
async.complete();
});
});
}
@Test
public void testDate(TestContext context) throws Exception {
Date date = new Date();
String iso = DateUtils.INSTANCE.formatIso8601(date);
Async async = context.async();
client().getNow("/params/query/date?parameter=" + iso, response -> {
response.bodyHandler(buff -> {
context.assertEquals(Long.toString(date.getTime()), buff.toString("UTF-8"));
async.complete();
});
});
}
@Test
public void testParamByName(TestContext context) throws Exception {
String name = "Snoopy";
Async async = context.async();
client().getNow("/params/query/byName?dog=" + name, response -> {
response.bodyHandler(buff -> {
context.assertEquals(name, buff.toString("UTF-8"));
async.complete();
});
});
}
@Test
public void testWrongParam(TestContext context) {
String name = "parameter";
String value = "invalidDate";
Async async = context.async();
client().getNow("/params/query/date?" + name + "=" + value, response -> {
context.assertEquals(400, response.statusCode());
response.bodyHandler(buff -> {
context.assertEquals("Invalid value : " + value + " for request parameter : " + name, buff.toString("UTF-8"));
async.complete();
});
});
}
}