diff --git a/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/identity/ResolvedProviderHandleTestFixture.java b/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/identity/ResolvedProviderHandleTestFixture.java new file mode 100644 index 00000000..f8ac527a --- /dev/null +++ b/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/identity/ResolvedProviderHandleTestFixture.java @@ -0,0 +1,15 @@ +package com.iflytek.skillhub.auth.identity; + +/** + * Test-only factory for the sealed provider handle. + */ +public final class ResolvedProviderHandleTestFixture { + + private ResolvedProviderHandleTestFixture() { + } + + public static ResolvedProviderHandle handle( + String providerCode) { + return new DefaultResolvedProviderHandle(providerCode); + } +} diff --git a/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/oauth/CustomOidcUserServiceTest.java b/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/oauth/CustomOidcUserServiceTest.java index b8cb2827..2f7a27d6 100644 --- a/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/oauth/CustomOidcUserServiceTest.java +++ b/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/oauth/CustomOidcUserServiceTest.java @@ -13,6 +13,7 @@ import com.iflytek.skillhub.auth.identity.IdentityLoginContext; import com.iflytek.skillhub.auth.identity.ProviderAttributeTrust; import com.iflytek.skillhub.auth.identity.ProviderAuthenticationResult; import com.iflytek.skillhub.auth.identity.ResolvedProviderHandle; +import com.iflytek.skillhub.auth.identity.ResolvedProviderHandleTestFixture; import com.iflytek.skillhub.auth.rbac.PlatformPrincipal; import java.time.Instant; import java.util.List; @@ -64,7 +65,7 @@ class CustomOidcUserServiceTest { "okta", Set.of("USER", "SUPER_ADMIN")); ResolvedProviderHandle provider = - mock(ResolvedProviderHandle.class); + ResolvedProviderHandleTestFixture.handle("okta"); when(loginFlowService.requireReadyProvider( request.getClientRegistration())) .thenReturn(provider); @@ -230,7 +231,7 @@ class CustomOidcUserServiceTest { "email_verified", false, "preferred_username", "unverified-user")); ResolvedProviderHandle provider = - mock(ResolvedProviderHandle.class); + ResolvedProviderHandleTestFixture.handle("okta"); when(loginFlowService.requireReadyProvider( request.getClientRegistration())) .thenReturn(provider); diff --git a/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/oauth/OAuthLoginFlowServiceTest.java b/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/oauth/OAuthLoginFlowServiceTest.java index 94d9ad05..e65a5206 100644 --- a/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/oauth/OAuthLoginFlowServiceTest.java +++ b/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/oauth/OAuthLoginFlowServiceTest.java @@ -20,6 +20,7 @@ import com.iflytek.skillhub.auth.identity.IdentityLoginOutcome; import com.iflytek.skillhub.auth.identity.ProtocolAuthenticationEvidence; import com.iflytek.skillhub.auth.identity.ProviderAuthenticationResult; import com.iflytek.skillhub.auth.identity.ResolvedProviderHandle; +import com.iflytek.skillhub.auth.identity.ResolvedProviderHandleTestFixture; import com.iflytek.skillhub.auth.identity.SubjectCandidate; import com.iflytek.skillhub.auth.identity.TrustedProviderRouteResolver; import com.iflytek.skillhub.auth.rbac.PlatformPrincipal; @@ -54,7 +55,7 @@ class OAuthLoginFlowServiceTest { OAuth2UserRequest request = mock(OAuth2UserRequest.class); OAuth2User upstreamUser = mock(OAuth2User.class); ResolvedProviderHandle provider = - mock(ResolvedProviderHandle.class); + ResolvedProviderHandleTestFixture.handle("github"); ClientRegistration registration = registration(); when(request.getClientRegistration()).thenReturn(registration); when(resolver.resolve(registration)).thenReturn(provider);