From 570d93cdd0e9c3e3e04f2ad12a0fde341ceaeca8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Bratne?= <89254037+bratne@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:45:50 +0200 Subject: [PATCH] notfound-test also OK --- src/main/java/no/fintlabs/AzureClient.java | 31 +++++++------------ .../java/no/fintlabs/AzureClientTest.java | 10 ++---- 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/src/main/java/no/fintlabs/AzureClient.java b/src/main/java/no/fintlabs/AzureClient.java index 68a32ce..43c1bf7 100644 --- a/src/main/java/no/fintlabs/AzureClient.java +++ b/src/main/java/no/fintlabs/AzureClient.java @@ -563,32 +563,25 @@ private CompletableFuture processPageAsync(AzureGroup azureGroup, Director public boolean doesGroupExist(String resourceGroupId) { // TODO: Attributes should not be hard-coded [FKS-210] - String selectionCriteria = String.format("id,displayName,description,%s", configGroup.getFintkontrollidattribute()); + String[] selectionCriteria = new String[]{String.format("id,displayName,description,%s", configGroup.getFintkontrollidattribute())}; + String filterCriteria = String.format(configGroup.getFintkontrollidattribute() + " eq '%s'", resourceGroupId); GroupCollectionResponse groupCollectionPage = graphServiceClient.groups() .get(requestConfiguration -> { - requestConfiguration.queryParameters.select = new String[]{String.format("id,displayName,description,%s", configGroup.getFintkontrollidattribute())}; - requestConfiguration.queryParameters.filter = String.format(configGroup.getFintkontrollidattribute() + " eq '%s'", resourceGroupId); + requestConfiguration.queryParameters.select = selectionCriteria; + requestConfiguration.queryParameters.filter = filterCriteria; }); - while (groupCollectionPage != null) { - for (Group group : groupCollectionPage.getValue()) { - String attributeValue = group.getAdditionalData().get(configGroup.getFintkontrollidattribute()).toString(); + if (groupCollectionPage.getOdataNextLink() != null) { + log.error("doesGroupExist should only return a single group!"); + } - if (attributeValue != null && attributeValue.equals(resourceGroupId)) { - return true; // Group with the specified ResourceID found - } - } + for (Group group : groupCollectionPage.getValue()) { + String attributeValue = group.getAdditionalData().get(configGroup.getFintkontrollidattribute()).toString(); - // Move to the next page if available - //groupCollectionPage = groupCollectionPage.getOdataNextLink() == null ? null : - // graphServiceClient.groups().get(requestconfiguration -> - // requestconfiguration.queryParameters.toQueryParameters(groupCollectionPage.getOdataNextLink()) - // ); - //groupCollectionPage = groupCollectionPage.getNextPage() == null ? null : - // groupCollectionPage.getNextPage() - // .buildRequest() - // .get(); + if (attributeValue != null && attributeValue.equals(resourceGroupId)) { + return true; // Group with the specified ResourceID found + } } return false; // Group with resourceID not found diff --git a/src/test/java/no/fintlabs/AzureClientTest.java b/src/test/java/no/fintlabs/AzureClientTest.java index 2c6662b..7dd0077 100644 --- a/src/test/java/no/fintlabs/AzureClientTest.java +++ b/src/test/java/no/fintlabs/AzureClientTest.java @@ -150,15 +150,11 @@ void doesGroupExist_found() { void doesGroupExist_notfound() { String resourceGroupID = "234"; - when(graphServiceClient.groups().byGroupId(anyString()).get()).thenReturn(groupItemRequestBuilder.get()); - //when(graphServiceClient.groups().get()).thenReturn(groupCollectionRequest); - when(graphServiceClient.groups().get(requestConfiguration -> { - requestConfiguration.queryParameters.select = new String[]{String.format("id,%s", configGroup.getFintkontrollidattribute())}; - requestConfiguration.queryParameters.filter = String.format(configGroup.getFintkontrollidattribute() + " eq '%s'", resourceGroupID); - })).thenReturn(groupRequestConfiguration.get()); + when(graphServiceClient.groups()).thenReturn(groupsRequestBuilder); + when(groupsRequestBuilder.get(any())).thenReturn(groupCollectionResponse); List groupList = getTestGrouplist(3); - when(groupCollectionPage.getValue()).thenReturn(groupList); + when(groupCollectionResponse.getValue()).thenReturn(groupList); assertFalse(azureClient.doesGroupExist(resourceGroupID)); }