diff --git a/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/identity/DefaultIdentityProviderReadinessServiceTest.java b/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/identity/DefaultIdentityProviderReadinessServiceTest.java index 27e50c08..9e7bc8d1 100644 --- a/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/identity/DefaultIdentityProviderReadinessServiceTest.java +++ b/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/identity/DefaultIdentityProviderReadinessServiceTest.java @@ -9,6 +9,7 @@ import java.util.Set; import org.junit.jupiter.api.Test; import org.mockito.InOrder; import org.springframework.security.oauth2.client.registration.ClientRegistration; +import org.springframework.security.oauth2.core.AuthorizationGrantType; class DefaultIdentityProviderReadinessServiceTest { @@ -20,7 +21,7 @@ class DefaultIdentityProviderReadinessServiceTest { mock(TrustedProviderDescriptorSource.class); ProviderAuthorityLockService authorityLockService = mock(ProviderAuthorityLockService.class); - ClientRegistration registration = mock(ClientRegistration.class); + ClientRegistration registration = registration(); ResolvedProviderHandle handle = new DefaultResolvedProviderHandle("github"); ProviderDescriptor descriptor = descriptor(); @@ -58,4 +59,22 @@ class DefaultIdentityProviderReadinessServiceTest { List.of("avatar_url"), EmailAssurance.VERIFIED); } + + private static ClientRegistration registration() { + return ClientRegistration.withRegistrationId("github") + .clientId("client") + .clientSecret("secret") + .authorizationGrantType( + AuthorizationGrantType.AUTHORIZATION_CODE) + .redirectUri( + "{baseUrl}/login/oauth2/code/{registrationId}") + .authorizationUri( + "https://github.com/login/oauth/authorize") + .tokenUri( + "https://github.com/login/oauth/access_token") + .userInfoUri("https://api.github.com/user") + .userNameAttributeName("id") + .clientName("GitHub") + .build(); + } } diff --git a/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/identity/ReconciledIdentityProviderCatalogTest.java b/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/identity/ReconciledIdentityProviderCatalogTest.java index b22014a5..bf7cae67 100644 --- a/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/identity/ReconciledIdentityProviderCatalogTest.java +++ b/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/identity/ReconciledIdentityProviderCatalogTest.java @@ -4,6 +4,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; import static org.mockito.Mockito.when; import java.util.List; @@ -41,9 +42,7 @@ class ReconciledIdentityProviderCatalogTest { "github", "GitHub")); InOrder order = inOrder(authorityLockService); - order.verify(authorityLockService) - .requirePinnedAuthority(github); - order.verify(authorityLockService) + order.verify(authorityLockService, times(2)) .requirePinnedAuthority(github); order.verify(authorityLockService).isReady(github); } diff --git a/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/oauth/IdentityProviderRouteReadinessFilterTest.java b/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/oauth/IdentityProviderRouteReadinessFilterTest.java index ee8cbcec..af8f6868 100644 --- a/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/oauth/IdentityProviderRouteReadinessFilterTest.java +++ b/server/skillhub-auth/src/test/java/com/iflytek/skillhub/auth/oauth/IdentityProviderRouteReadinessFilterTest.java @@ -18,6 +18,7 @@ import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.security.oauth2.client.registration.ClientRegistration; import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository; +import org.springframework.security.oauth2.core.AuthorizationGrantType; class IdentityProviderRouteReadinessFilterTest { @@ -32,8 +33,7 @@ class IdentityProviderRouteReadinessFilterTest { ClientRegistrationRepository.class); readinessService = mock( IdentityProviderReadinessService.class); - registration = mock(ClientRegistration.class); - when(registration.getRegistrationId()).thenReturn("github"); + registration = registration(); when(registrationRepository.findByRegistrationId("github")) .thenReturn(registration); filter = new IdentityProviderRouteReadinessFilter( @@ -132,4 +132,22 @@ class IdentityProviderRouteReadinessFilterTest { request.setServletPath(uri); return request; } + + private static ClientRegistration registration() { + return ClientRegistration.withRegistrationId("github") + .clientId("client") + .clientSecret("secret") + .authorizationGrantType( + AuthorizationGrantType.AUTHORIZATION_CODE) + .redirectUri( + "{baseUrl}/login/oauth2/code/{registrationId}") + .authorizationUri( + "https://github.com/login/oauth/authorize") + .tokenUri( + "https://github.com/login/oauth/access_token") + .userInfoUri("https://api.github.com/user") + .userNameAttributeName("id") + .clientName("GitHub") + .build(); + } }