[SCB-2652]migrate handler-publickey-auth module to mockito (#3246)
diff --git a/handlers/handler-publickey-auth/pom.xml b/handlers/handler-publickey-auth/pom.xml
index 3c72c0e..e2aaf4d 100644
--- a/handlers/handler-publickey-auth/pom.xml
+++ b/handlers/handler-publickey-auth/pom.xml
@@ -57,8 +57,8 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.jmockit</groupId>
- <artifactId>jmockit</artifactId>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-inline</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
diff --git a/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/provider/TestRSAProviderTokenManager.java b/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/provider/TestRSAProviderTokenManager.java
index e6569fb..1302161 100644
--- a/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/provider/TestRSAProviderTokenManager.java
+++ b/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/provider/TestRSAProviderTokenManager.java
@@ -37,8 +37,9 @@
import com.google.common.cache.Cache;
-import mockit.Expectations;
import org.junit.jupiter.api.Assertions;
+import org.mockito.MockedStatic;
+import org.mockito.Mockito;
public class TestRSAProviderTokenManager {
@@ -72,32 +73,27 @@
String tokenStr =
"e8a04b54cf2711e7b701286ed488fc20@c8636e5acf1f11e7b701286ed488fc20@1511315597475@9t0tp8ce80SUM5ts6iRGjFJMvCdQ7uvhpyh0RM7smKm3p4wYOrojr4oT1Pnwx7xwgcgEFbQdwPJxIMfivpQ1rHGqiLp67cjACvJ3Ke39pmeAVhybsLADfid6oSjscFaJ@WBYouF6hXYrXzBA31HC3VX8Bw9PNgJUtVqOPAaeW9ye3q/D7WWb0M+XMouBIWxWY6v9Un1dGu5Rkjlx6gZbnlHkb2VO8qFR3Y6lppooWCirzpvEBRjlJQu8LPBur0BCfYGq8XYrEZA2NU6sg2zXieqCSiX6BnMnBHNn4cR9iZpk=";
- RSAAuthenticationToken token = RSAAuthenticationToken.fromStr(tokenStr);
- RSAProviderTokenManager tokenManager = new RSAProviderTokenManager() {
+ RSAAuthenticationToken token = Mockito.spy(RSAAuthenticationToken.fromStr(tokenStr));
+ RSAProviderTokenManager tokenManager = Mockito.spy(new RSAProviderTokenManager() {
@Override
protected int getExpiredTime() {
return 500;
}
- };
+ });
- new Expectations(RSAProviderTokenManager.class, RSAAuthenticationToken.class) {
- {
- token.getGenerateTime();
- result = System.currentTimeMillis();
+ try (MockedStatic<RSAAuthenticationToken> rsaAuthenticationTokenMockedStatic = Mockito.mockStatic(RSAAuthenticationToken.class)) {
+ rsaAuthenticationTokenMockedStatic.when(() -> RSAAuthenticationToken.fromStr(tokenStr)).thenReturn(token);
+ Mockito.when(token.getGenerateTime()).thenReturn(System.currentTimeMillis());
+ Mockito.doReturn(true).when(tokenManager).isValidToken(token);
+ Assertions.assertTrue(tokenManager.valid(tokenStr));
- tokenManager.isValidToken(token);
- result = true;
- }
- };
+ Cache<RSAAuthenticationToken, Boolean> cache = tokenManager
+ .getValidatedToken();
+ Assertions.assertTrue(cache.asMap().containsKey(token));
- Assertions.assertTrue(tokenManager.valid(tokenStr));
-
- Cache<RSAAuthenticationToken, Boolean> cache = tokenManager
- .getValidatedToken();
- Assertions.assertTrue(cache.asMap().containsKey(token));
-
- Thread.sleep(1000);
- Assertions.assertFalse(cache.asMap().containsKey(token));
+ Thread.sleep(1000);
+ Assertions.assertFalse(cache.asMap().containsKey(token));
+ }
}
@Test
@@ -116,31 +112,24 @@
properties.put(DefinitionConst.INSTANCE_PUBKEY_PRO, rsaKeyPairEntry.getPublicKeyEncoded());
Microservice microservice = new Microservice();
microservice.setServiceId(serviceId);
- new Expectations(RegistrationManager.INSTANCE) {
- {
- RegistrationManager.INSTANCE.getMicroservice();
- result = microservice;
- RegistrationManager.INSTANCE.getMicroserviceInstance();
- result = microserviceInstance;
- }
- };
+ RegistrationManager.INSTANCE = Mockito.spy(RegistrationManager.INSTANCE);
+ Mockito.when(RegistrationManager.INSTANCE.getMicroservice()).thenReturn(microservice);
+ Mockito.when(RegistrationManager.INSTANCE.getMicroserviceInstance()).thenReturn(microserviceInstance);
//Test Consumer first create token
String token = rsaConsumerTokenManager.getToken();
Assertions.assertNotNull(token);
// use cache token
Assertions.assertEquals(token, rsaConsumerTokenManager.getToken());
- new Expectations(MicroserviceInstanceCache.class) {
- {
- MicroserviceInstanceCache.getOrCreate(serviceId, instanceId);
- result = microserviceInstance;
- MicroserviceInstanceCache.getOrCreate(serviceId);
- result = microservice;
- }
- };
- RSAProviderTokenManager rsaProviderTokenManager = new RSAProviderTokenManager();
- //first validate need to verify use RSA
- Assertions.assertTrue(rsaProviderTokenManager.valid(token));
- // second validate use validated pool
- Assertions.assertTrue(rsaProviderTokenManager.valid(token));
+ try (MockedStatic<MicroserviceInstanceCache> microserviceInstanceCacheMockedStatic = Mockito.mockStatic(MicroserviceInstanceCache.class);) {
+ microserviceInstanceCacheMockedStatic.when(() -> MicroserviceInstanceCache.getOrCreate(serviceId, instanceId))
+ .thenReturn(microserviceInstance);
+ microserviceInstanceCacheMockedStatic.when(() -> MicroserviceInstanceCache.getOrCreate(serviceId))
+ .thenReturn(microservice);
+ RSAProviderTokenManager rsaProviderTokenManager = new RSAProviderTokenManager();
+ //first validate need to verify use RSA
+ Assertions.assertTrue(rsaProviderTokenManager.valid(token));
+ // second validate use validated pool
+ Assertions.assertTrue(rsaProviderTokenManager.valid(token));
+ }
}
}