Skip to content

Commit fb07ff0

Browse files
committed
Added oid test
1 parent 3f28dc1 commit fb07ff0

8 files changed

Lines changed: 81 additions & 8 deletions

File tree

config-layers/common/in/erail/server/Server.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ log=true
77
routerBuilder=\
88
/v1/=/in/erail/route/CORSRouteBuilder,\
99
/=/in/erail/route/SessionRouteBuillder,\
10-
/=/in/erail/route/LoadUserFromSessionRouteBuillder,\
1110
/=/in/erail/route/OIDCCallbackRouteBuilder,\
11+
/=/in/erail/route/LoadUserFromSessionRouteBuillder,\
1212
/v1/=/in/erail/route/LoadUserFromAccessTokenRouteBuilder,\
1313
/v1/=/in/erail/route/OpenAPI3RouteBuilder
1414

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#/in/erail/route/SessionRouteBuillder
2+
enableSession=true

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@
102102
</profile>
103103
</profiles>
104104
<properties>
105-
<vertx.version>3.6.2</vertx.version>
105+
<vertx.version>3.6.3</vertx.version>
106106
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
107107
<maven.compiler.source>1.8</maven.compiler.source>
108108
<maven.compiler.target>1.8</maven.compiler.target>

src/main/java/in/erail/route/LoadUserFromSessionRouteBuillder.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ public void handle(RoutingContext pRoutingContext) {
2727
pRoutingContext.setUser(principal);
2828
} else {
2929
getLog().debug("User not found");
30-
pRoutingContext.fail(401);
3130
}
3231
}
3332
pRoutingContext.next();

src/main/java/in/erail/route/OIDCCallbackRouteBuilder.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,12 @@ public class OIDCCallbackRouteBuilder extends AbstractRouterBuilderImpl {
2222

2323
public void handle(RoutingContext pRoutingCoutext) {
2424
JsonObject tokenConfig = getTokenConfig(pRoutingCoutext);
25-
25+
2626
getAuthProvider()
2727
.rxAuthenticate(tokenConfig)
2828
.doOnSuccess((u) -> {
2929
Session session = pRoutingCoutext.session().regenerateId();
30-
session.put(FrameworkConstants.Session.PRINCIPAL, u);
31-
30+
session.put(FrameworkConstants.Session.PRINCIPAL, u.getDelegate());
3231
getLog().debug(() -> "Success URL:" + getSuccessURL(pRoutingCoutext));
3332

3433
pRoutingCoutext
@@ -39,7 +38,6 @@ public void handle(RoutingContext pRoutingCoutext) {
3938
})
4039
.doOnError((err) -> {
4140
getLog().error(err);
42-
4341
getLog().debug(() -> "Fail URL:" + getFailURL(pRoutingCoutext));
4442

4543
pRoutingCoutext

src/main/resources/log4j2.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
</Console>
77
</Appenders>
88
<Loggers>
9-
<Root level="trace">
9+
<Root level="INFO">
1010
<AppenderRef ref="Console"/>
1111
</Root>
1212
</Loggers>
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package in.erail.route;
2+
3+
import com.google.common.net.HttpHeaders;
4+
import in.erail.glue.Glue;
5+
import in.erail.server.Server;
6+
import io.vertx.ext.auth.DummyAuthProvider;
7+
import io.vertx.junit5.VertxExtension;
8+
import io.vertx.junit5.VertxTestContext;
9+
import io.vertx.reactivex.ext.auth.AuthProvider;
10+
import io.vertx.reactivex.ext.web.client.WebClient;
11+
import org.junit.jupiter.api.Test;
12+
import static org.junit.jupiter.api.Assertions.*;
13+
import org.junit.jupiter.api.extension.ExtendWith;
14+
15+
/**
16+
*
17+
* @author vinay
18+
*/
19+
@ExtendWith(VertxExtension.class)
20+
public class OIDCCallbackRouteBuilderTest {
21+
22+
@Test
23+
public void testHandle(VertxTestContext testContext) {
24+
Server server = Glue.instance().resolve("/in/erail/server/Server");
25+
OIDCCallbackRouteBuilder oid = Glue.instance().resolve("/in/erail/route/OIDCCallbackRouteBuilder");
26+
oid.setAuthProvider(new AuthProvider(new DummyAuthProvider()));
27+
28+
WebClient
29+
.create(server.getVertx())
30+
.get(server.getHttpServerOptions().getPort(), server.getHttpServerOptions().getHost(), "/callback")
31+
.addQueryParam("code", "nothing")
32+
.rxSend()
33+
.doOnSuccess(req -> assertEquals(302, req.statusCode()))
34+
.doOnSuccess(req -> assertTrue(req.getHeader(HttpHeaders.LOCATION).endsWith("?login=success")))
35+
.subscribe(req -> testContext.completeNow(), err -> testContext.failNow(err));
36+
}
37+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package io.vertx.ext.auth;
2+
3+
import io.vertx.core.AsyncResult;
4+
import io.vertx.core.Future;
5+
import io.vertx.core.Handler;
6+
import io.vertx.core.json.JsonObject;
7+
8+
/**
9+
*
10+
* @author vinay
11+
*/
12+
public class DummyAuthProvider implements AuthProvider {
13+
14+
@Override
15+
public void authenticate(JsonObject pAuthInfo, Handler<AsyncResult<User>> pResultHandler) {
16+
pResultHandler.handle(Future.succeededFuture(new DummyUser()));
17+
}
18+
19+
public static class DummyUser extends AbstractUser {
20+
21+
@Override
22+
protected void doIsPermitted(String pErmission, Handler<AsyncResult<Boolean>> pResultHandler) {
23+
pResultHandler.handle(Future.succeededFuture(Boolean.TRUE));
24+
}
25+
26+
@Override
27+
public JsonObject principal() {
28+
return new JsonObject();
29+
}
30+
31+
@Override
32+
public void setAuthProvider(AuthProvider pAuthProvider) {
33+
34+
}
35+
36+
}
37+
}

0 commit comments

Comments
 (0)