From 7fd09d2eec5e5f88a0c2f5c23d5e6f550a1d5cb2 Mon Sep 17 00:00:00 2001 From: "Nigel.Zheng" Date: Wed, 16 Oct 2024 15:01:49 +0800 Subject: [PATCH] feat: add @MockClientRegistration annotation --- README.md | 2 +- build.gradle | 3 ++- .../oauth2/MockClientRegistration.java | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/github/ahunigel/test/security/oauth2/MockClientRegistration.java diff --git a/README.md b/README.md index 2e9910c..a9ac220 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ _Refer to https://jitpack.io/#ahunigel/spring-security-oauth2-test for details._ @Claim(name = "role_id", value = "1"), @Claim(name = "is_social_user", value = "false") }) -} +) ``` or ```java diff --git a/build.gradle b/build.gradle index b766a79..d1c8bae 100644 --- a/build.gradle +++ b/build.gradle @@ -25,7 +25,8 @@ dependencies { api platform("org.springframework.boot:spring-boot-dependencies:${springBootVersion}") api platform("org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}") - api "org.springframework.security.oauth:spring-security-oauth2:2.5.2.RELEASE" + implementation "org.springframework.security.oauth:spring-security-oauth2:2.5.2.RELEASE" + implementation "org.springframework.security:spring-security-oauth2-client:6.3.3" api "org.springframework.boot:spring-boot-starter-test" api "org.springframework.security:spring-security-test" api group: 'commons-beanutils', name: 'commons-beanutils', version: '1.9.4' diff --git a/src/main/java/com/github/ahunigel/test/security/oauth2/MockClientRegistration.java b/src/main/java/com/github/ahunigel/test/security/oauth2/MockClientRegistration.java new file mode 100644 index 0000000..9026294 --- /dev/null +++ b/src/main/java/com/github/ahunigel/test/security/oauth2/MockClientRegistration.java @@ -0,0 +1,18 @@ +package com.github.ahunigel.test.security.oauth2; + +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.boot.test.mock.mockito.MockReset; +import org.springframework.security.oauth2.client.registration.InMemoryClientRegistrationRepository; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Mock client registration repository + *

+ * Created by ahunigel on 10/16/2024. + */ +@Retention(RetentionPolicy.RUNTIME) +@MockBean(value = {InMemoryClientRegistrationRepository.class}, reset = MockReset.AFTER) +public @interface MockClientRegistration { +}