From 0fe129bba7e6d40dba08b655e9491c28a0c37daf Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Tue, 4 Aug 2026 09:43:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...TenantAdministratorProvisioningService.java | 2 ++ ...ntAdministratorProvisioningServiceTest.java | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/iam/src/main/java/com/baiyue/iam/service/TenantAdministratorProvisioningService.java b/iam/src/main/java/com/baiyue/iam/service/TenantAdministratorProvisioningService.java index 1dffe2433..8e85371ff 100644 --- a/iam/src/main/java/com/baiyue/iam/service/TenantAdministratorProvisioningService.java +++ b/iam/src/main/java/com/baiyue/iam/service/TenantAdministratorProvisioningService.java @@ -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) { diff --git a/iam/src/test/java/com/baiyue/iam/service/TenantAdministratorProvisioningServiceTest.java b/iam/src/test/java/com/baiyue/iam/service/TenantAdministratorProvisioningServiceTest.java index eec5877a0..fea122c96 100644 --- a/iam/src/test/java/com/baiyue/iam/service/TenantAdministratorProvisioningServiceTest.java +++ b/iam/src/test/java/com/baiyue/iam/service/TenantAdministratorProvisioningServiceTest.java @@ -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();