package integration.cookies;
import integration.VertxNubesTestBase;
import io.vertx.ext.unit.Async;
import io.vertx.ext.unit.TestContext;
import org.junit.Test;
import static io.vertx.core.http.HttpHeaders.COOKIE;
import static io.vertx.core.http.HttpHeaders.SET_COOKIE;
public class CookieTest extends VertxNubesTestBase {
@Test
public void testNoCookieValue(TestContext context) {
Async async = context.async();
client().getNow("/cookies/noCookie", response -> {
context.assertNull(response.headers().get(SET_COOKIE));
async.complete();
});
}
@Test
public void testSetCookieValue(TestContext context) {
Async async = context.async();
client().getNow("/cookies/setCookie", response -> {
context.assertNotNull(response.headers().get(SET_COOKIE));
async.complete();
});
}
@Test
public void testReadCookie(TestContext context) {
String key = "dog";
String value = "Cubitus";
Async async = context.async();
client().get("/cookies/echo", response -> {
response.bodyHandler(buff -> {
context.assertEquals(value, buff.toString("UTF-8"));
async.complete();
});
}).putHeader(COOKIE, key + "=" + value).end();
}
@Test
public void testReadCookieByName(TestContext context) {
String key = "dog";
String value = "Milou";
Async async = context.async();
client().get("/cookies/echoByName", response -> {
response.bodyHandler(buff -> {
context.assertEquals(value, buff.toString("UTF-8"));
async.complete();
});
}).putHeader(COOKIE, key + "=" + value).end();
}
@Test
public void testReadCookieObject(TestContext context) {
String key = "dog";
String value = "Milou";
Async async = context.async();
client().get("/cookies/echoObject", response -> {
response.bodyHandler(buff -> {
context.assertEquals(value, buff.toString("UTF-8"));
async.complete();
});
}).putHeader(COOKIE, key + "=" + value).end();
}
@Test
public void testCookieNotSet(TestContext context) {
Async async = context.async();
client().get("/cookies/echoObject", response -> {
context.assertEquals(400, response.statusCode());
async.complete();
}).end();
}
}