Skip to content

Commit 86b97e0

Browse files
th37roseludomikula
th37rose
authored andcommitted
Write test case for findAllAuthConfigs and passed!
1 parent 7d3e326 commit 86b97e0

File tree

4 files changed

+88
-1
lines changed

4 files changed

+88
-1
lines changed

server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/DatabaseChangelog.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.lowcoder.runner.migrations.job.AddSuperAdminUser;
2424
import org.lowcoder.runner.migrations.job.CompleteAuthType;
2525
import org.lowcoder.runner.migrations.job.MigrateAuthConfigJob;
26+
import org.springframework.context.annotation.Profile;
2627
import org.springframework.data.domain.Sort;
2728
import org.springframework.data.mongodb.UncategorizedMongoDbException;
2829
import org.springframework.data.mongodb.core.index.CompoundIndexDefinition;
@@ -35,6 +36,7 @@
3536
@SuppressWarnings("all")
3637
@Slf4j
3738
@ChangeLog(order = "001")
39+
@Profile("!test")
3840
public class DatabaseChangelog {
3941

4042
@ChangeSet(order = "001", id = "init-indexes", author = "")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
package org.lowcoder.api.authentication;
2+
3+
import org.junit.Test;
4+
import org.junit.runner.RunWith;
5+
import org.lowcoder.domain.authentication.AuthenticationServiceImpl;
6+
import org.lowcoder.domain.organization.model.Organization;
7+
import org.lowcoder.domain.organization.service.OrgMemberService;
8+
import org.lowcoder.domain.organization.service.OrganizationService;
9+
import org.lowcoder.sdk.auth.AbstractAuthConfig;
10+
import org.lowcoder.sdk.config.AuthProperties;
11+
import org.lowcoder.sdk.config.CommonConfig;
12+
import org.mockito.InjectMocks;
13+
import org.mockito.Mock;
14+
import org.springframework.boot.test.context.SpringBootTest;
15+
import org.springframework.test.context.junit4.SpringRunner;
16+
import reactor.core.publisher.Mono;
17+
import reactor.test.StepVerifier;
18+
19+
import java.lang.reflect.Method;
20+
import java.util.Arrays;
21+
import java.util.List;
22+
import static org.mockito.Mockito.mock;
23+
import static org.mockito.Mockito.when;
24+
25+
/**
26+
* This class is for testing GenericAuth feature
27+
*/
28+
@SpringBootTest
29+
@RunWith(SpringRunner.class)
30+
public class GenericAuthenticateTest {
31+
32+
@InjectMocks
33+
AuthenticationServiceImpl mockAuthenticationService;
34+
35+
@Mock
36+
OrgMemberService mockOrgMemberService;
37+
38+
@Mock
39+
OrganizationService mockOrganizationService;
40+
41+
@Mock
42+
private AuthProperties authProperties;
43+
44+
@Mock
45+
private CommonConfig commonConfig;
46+
47+
@Test
48+
public void findAllAuthConfigsTest() throws Exception {
49+
String orgId = "org123";
50+
boolean enableOnly = true;
51+
52+
// Create mock objects
53+
Organization mockOrganization = mock(Organization.class);
54+
List<AbstractAuthConfig> mockAuthConfigs = Arrays.asList();
55+
CommonConfig.Workspace mockedWorkspace = new CommonConfig.Workspace();
56+
57+
// Mock functions
58+
when(mockOrganization.getAuthConfigs()).thenReturn(mockAuthConfigs);
59+
when(mockOrganizationService.getByDomain()).thenReturn(Mono.just(mockOrganization));
60+
when(mockOrganizationService.getById(orgId)).thenReturn(Mono.just(mockOrganization));
61+
when(mockOrgMemberService.doesAtleastOneAdminExist()).thenReturn(Mono.just(true));
62+
when(commonConfig.getWorkspace()).thenReturn(mockedWorkspace);
63+
64+
// Mocking auth properties email configuration
65+
AuthProperties.Email emailConfig = new AuthProperties.Email();
66+
emailConfig.setEnable(true);
67+
emailConfig.setEnableRegister(true);
68+
when(authProperties.getEmail()).thenReturn(emailConfig);
69+
70+
// Use reflection to access the private method
71+
Method findAllAuthConfigsByDomain = AuthenticationServiceImpl.class.getDeclaredMethod("findAllAuthConfigsByDomain");
72+
findAllAuthConfigsByDomain.setAccessible(true);
73+
Method findAllAuthConfigsForEnterpriseMode = AuthenticationServiceImpl.class.getDeclaredMethod("findAllAuthConfigsForEnterpriseMode");
74+
findAllAuthConfigsForEnterpriseMode.setAccessible(true);
75+
Method findAllAuthConfigsForSaasMode = AuthenticationServiceImpl.class.getDeclaredMethod("findAllAuthConfigsForSaasMode", String.class);
76+
findAllAuthConfigsForSaasMode.setAccessible(true);
77+
78+
// Act & Assert
79+
StepVerifier.create(mockAuthenticationService.findAllAuthConfigs(orgId, enableOnly))
80+
.expectNextMatches(findAuthConfig -> findAuthConfig.authConfig().isEnable())
81+
.verifyComplete();
82+
}
83+
}

server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/common/TestRedisConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import java.util.concurrent.atomic.AtomicInteger;
1111

1212
@SuppressWarnings("UnstableApiUsage")
13-
@TestConfiguration
13+
//@TestConfiguration
1414
public class TestRedisConfiguration {
1515

1616
private static final AtomicInteger STATE = new AtomicInteger(0);

server/api-service/lowcoder-server/src/test/resources/application.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ spring:
44
data:
55
redis:
66
url: redis://localhost:6370
7+
profiles:
8+
active: test
79

810
de:
911
flapdoodle:

0 commit comments

Comments
 (0)