mirror of
https://github.com/iflytek/skillhub.git
synced 2026-08-27 11:14:59 +00:00
test(auth): use concrete OAuth registrations
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
This commit is contained in:
parent
9ef272e32b
commit
a95d639eb7
3 changed files with 42 additions and 6 deletions
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue