test(auth): use sealed provider handle fixture

Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
This commit is contained in:
XiaoSeS 2026-07-31 02:10:04 +08:00
parent 09a74cad1e
commit 2100c259c2
3 changed files with 20 additions and 3 deletions

View file

@ -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);
}
}

View file

@ -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);

View file

@ -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);