This commit is contained in:
2026-08-04 09:43:53 +08:00
parent 8ada1e5714
commit 0fe129bba7
2 changed files with 20 additions and 0 deletions
@@ -15,6 +15,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import feign.FeignException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Service;
@@ -42,6 +43,7 @@ public class TenantAdministratorProvisioningService implements TenantApprovalIni
private final String internalToken;
private final SecureRandom random;
@Autowired
public TenantAdministratorProvisioningService(MemberRepository members, IamRoleMapper roles,
AuthAccountClient authClient,
@Value("${baiyue.security.internal-service-token}") String internalToken) {
@@ -11,6 +11,8 @@ import com.baiyue.iam.repository.MemberRepository;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
import org.springframework.boot.test.util.TestPropertyValues;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import java.security.SecureRandom;
import java.util.List;
@@ -39,6 +41,22 @@ class TenantAdministratorProvisioningServiceTest {
new TenantAdministratorProvisioningService(members, roles, auth, "internal-token", new SecureRandom());
private IamTenant tenant;
@Test
void springContextUsesProductionConstructorWhenTestConstructorAlsoExists() {
try (AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext()) {
TestPropertyValues.of("baiyue.security.internal-service-token=internal-token-at-least-32-bytes-long")
.applyTo(context);
context.registerBean(MemberRepository.class, () -> mock(MemberRepository.class));
context.registerBean(IamRoleMapper.class, () -> mock(IamRoleMapper.class));
context.registerBean(AuthAccountClient.class, () -> mock(AuthAccountClient.class));
context.register(TenantAdministratorProvisioningService.class);
context.refresh();
assertNotNull(context.getBean(TenantAdministratorProvisioningService.class));
}
}
@BeforeEach
void setUp() {
tenant = new IamTenant();