From b208d427e5b433fecd8bb203b30cb19ccf266cb4 Mon Sep 17 00:00:00 2001 From: Janelle Law Date: Fri, 17 Dec 2021 17:58:09 -0500 Subject: [PATCH] Allow nested mock clients --- .../java/io/cryostat/net/OpenShiftAuthManager.java | 12 +----------- .../io/cryostat/net/OpenShiftAuthManagerTest.java | 13 ++++++------- 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/src/main/java/io/cryostat/net/OpenShiftAuthManager.java b/src/main/java/io/cryostat/net/OpenShiftAuthManager.java index eb1b9d1882..14294c9b3d 100644 --- a/src/main/java/io/cryostat/net/OpenShiftAuthManager.java +++ b/src/main/java/io/cryostat/net/OpenShiftAuthManager.java @@ -73,7 +73,6 @@ import io.fabric8.kubernetes.client.Config; import io.fabric8.kubernetes.client.KubernetesClientException; import io.fabric8.openshift.api.model.OAuthAccessToken; -import io.fabric8.openshift.client.DefaultOpenShiftClient; import io.fabric8.openshift.client.OpenShiftClient; import io.vertx.core.json.JsonObject; import io.vertx.ext.web.client.WebClient; @@ -315,16 +314,7 @@ public Future validateWebSocketSubProtocol( private Future deleteToken(String token) { try (OpenShiftClient client = clientProvider.apply(getServiceAccountToken())) { String serviceAccountAsOAuthClient = this.getServiceAccountName(); - - // FIXME reuse performTokenReview instead of copying it here - TokenReview review = - new TokenReviewBuilder().withNewSpec().withToken(token).endSpec().build(); - review = client.tokenReviews().create(review); - TokenReviewStatus status = review.getStatus(); - if (StringUtils.isNotBlank(status.getError())) { - return CompletableFuture.failedFuture( - new AuthorizationErrorException(status.getError())); - } + TokenReviewStatus status = performTokenReview(token).get(); String uid = status.getUser().getUid(); List userOauthAccessTokens = diff --git a/src/test/java/io/cryostat/net/OpenShiftAuthManagerTest.java b/src/test/java/io/cryostat/net/OpenShiftAuthManagerTest.java index 1285e5dd45..114e6e47bc 100644 --- a/src/test/java/io/cryostat/net/OpenShiftAuthManagerTest.java +++ b/src/test/java/io/cryostat/net/OpenShiftAuthManagerTest.java @@ -49,7 +49,6 @@ import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; -import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.function.Function; @@ -65,7 +64,6 @@ import com.google.gson.Gson; import io.fabric8.kubernetes.api.model.authentication.TokenReview; import io.fabric8.kubernetes.api.model.authentication.TokenReviewBuilder; -import io.fabric8.kubernetes.api.model.authentication.TokenReviewStatus; import io.fabric8.kubernetes.api.model.authorization.v1.SelfSubjectAccessReview; import io.fabric8.kubernetes.api.model.authorization.v1.SelfSubjectAccessReviewBuilder; import io.fabric8.kubernetes.client.Config; @@ -445,7 +443,9 @@ public Void answer(InvocationOnMock args) throws Throwable { @Test void shouldReturnLogoutRedirectUrl() throws Exception { Mockito.when(fs.readFile(Paths.get(Config.KUBERNETES_SERVICE_ACCOUNT_TOKEN_PATH))) - .thenReturn(new BufferedReader(new StringReader(SERVICE_ACCOUNT_TOKEN))); + .thenReturn( + new BufferedReader(new StringReader(SERVICE_ACCOUNT_TOKEN)), + new BufferedReader(new StringReader(SERVICE_ACCOUNT_TOKEN))); Mockito.when(fs.readFile(Paths.get(Config.KUBERNETES_NAMESPACE_PATH))) .thenReturn( new BufferedReader(new StringReader(NAMESPACE)), @@ -512,7 +512,9 @@ public Void answer(InvocationOnMock args) throws Throwable { @ValueSource(booleans = {false}) void shouldThrowWhenTokenDeletionFailsOnLogout(Boolean deletionFailure) throws Exception { Mockito.when(fs.readFile(Paths.get(Config.KUBERNETES_SERVICE_ACCOUNT_TOKEN_PATH))) - .thenReturn(new BufferedReader(new StringReader(SERVICE_ACCOUNT_TOKEN))); + .thenReturn( + new BufferedReader(new StringReader(SERVICE_ACCOUNT_TOKEN)), + new BufferedReader(new StringReader(SERVICE_ACCOUNT_TOKEN))); Mockito.when(fs.readFile(Paths.get(Config.KUBERNETES_NAMESPACE_PATH))) .thenReturn( new BufferedReader(new StringReader(NAMESPACE)), @@ -692,9 +694,6 @@ private static class TokenProvider implements Function @Override public OpenShiftClient apply(String token) { - if (this.token != null) { - throw new IllegalStateException("Token was already set!"); - } this.token = token; return osc; }