package org.jooby.issues;
import com.typesafe.config.ConfigFactory;
import com.typesafe.config.ConfigValueFactory;
import org.jooby.pac4j.Auth;
import org.jooby.test.ServerFeature;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.junit.Test;
import static org.junit.Assert.*;
public class Issue572 extends ServerFeature {
{
use(ConfigFactory.empty()
.withValue("application.path", ConfigValueFactory.fromAnyRef("/572")));
use(new Auth());
get("/", req -> req.path());
}
@Test
public void auth() throws Exception {
request()
.get("/572/auth?username=test&password=test")
.expect("/");
}
@Test
public void redirectToLoginPage() throws Exception {
request()
.dontFollowRedirect()
.get("/572/auth/form")
.expect(302)
.header("Location", "/572/login");
}
@Test
public void loginPage() throws Exception {
request()
.get("/572/auth/form")
.expect(rsp -> {
Document html = Jsoup.parse(rsp);
String action = (html.select("form").attr("action"));
assertEquals("/572/auth?client_name=FormClient", action);
});
}
}