Skip to content

Commit debd7ee

Browse files
Thomasludomikula
Thomas
authored andcommitted
test case with no refresh endpoint
1 parent b525c01 commit debd7ee

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/request/oauth2/request/GenericAuthRequest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.lowcoder.api.authentication.request.oauth2.request;
22

3+
import lombok.Setter;
34
import org.lowcoder.api.authentication.request.AuthException;
45
import org.lowcoder.api.authentication.request.oauth2.GenericOAuthProviderSource;
56
import org.lowcoder.api.authentication.request.oauth2.OAuth2RequestContext;
@@ -22,11 +23,10 @@
2223
* This class is for Generic Auth Request
2324
*/
2425
public class GenericAuthRequest extends AbstractOauth2Request<Oauth2GenericAuthConfig>{
26+
@Setter
2527
private static boolean isTest = false;
26-
27-
public static void setIsTest(boolean isTest) {
28-
GenericAuthRequest.isTest = isTest;
29-
}
28+
@Setter
29+
private static boolean testCase01 = false;
3030

3131
public GenericAuthRequest(Oauth2GenericAuthConfig context) {
3232
super(context, new GenericOAuthProviderSource(context));
@@ -62,6 +62,7 @@ protected Mono<AuthToken> getAuthToken(OAuth2RequestContext context) {
6262
@Override
6363
protected Mono<AuthToken> refreshAuthToken(String refreshToken) {
6464
if(isTest) {
65+
if(testCase01) return Mono.error(new AuthException(true));
6566
AuthToken authToken = AuthToken.builder().build();
6667
return Mono.just(authToken);
6768
} else return WebClientBuildHelper.builder()

server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/authentication/GenericAuthenticateTest.java

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,36 @@ public void testGoogleLoginSuccess() {
6363
String orgId = "org01";
6464
String redirectUrl = "https://test.com";
6565

66-
GenericAuthRequest.setIsTest(true);
66+
GenericAuthRequest.setTest(true);
67+
String uid = "uId";
68+
69+
MockServerHttpRequest request = MockServerHttpRequest.post("").build();
70+
MockServerWebExchange exchange = MockServerWebExchange.builder(request).build();
71+
72+
var authId = getGenericAuthConfigId(orgId).block();
73+
Mono<User> userMono = authenticationController.loginWithThirdParty(authId, source, code, null, redirectUrl, orgId, exchange)
74+
.then(userRepository.findByConnections_SourceAndConnections_RawId(source, uid));
75+
76+
StepVerifier.create(userMono)
77+
.assertNext(user -> {
78+
assertEquals("dummyname", user.getName());
79+
assertEquals(UserState.ACTIVATED, user.getState());
80+
assertEquals(1, user.getConnections().size());
81+
assertTrue(user.getIsEnabled());
82+
})
83+
.verifyComplete();
84+
}
85+
86+
@Test
87+
@WithMockUser
88+
public void testGoogleLoginWithNoRefreshSuccess() {
89+
String source = AuthSourceConstants.GOOGLE;
90+
String code = "test-code-123456";
91+
String orgId = "org01";
92+
String redirectUrl = "https://test.com";
93+
94+
GenericAuthRequest.setTest(true);
95+
GenericAuthRequest.setTestCase01(true);
6796
String uid = "uId";
6897

6998
MockServerHttpRequest request = MockServerHttpRequest.post("").build();

0 commit comments

Comments
 (0)