diff options
Diffstat (limited to 'common/src/test/java/org/onap/so/client/aai/AAIQueryClientTest.java')
-rw-r--r-- | common/src/test/java/org/onap/so/client/aai/AAIQueryClientTest.java | 65 |
1 files changed, 58 insertions, 7 deletions
diff --git a/common/src/test/java/org/onap/so/client/aai/AAIQueryClientTest.java b/common/src/test/java/org/onap/so/client/aai/AAIQueryClientTest.java index 84c3cad0f9..e648ea38da 100644 --- a/common/src/test/java/org/onap/so/client/aai/AAIQueryClientTest.java +++ b/common/src/test/java/org/onap/so/client/aai/AAIQueryClientTest.java @@ -20,47 +20,65 @@ package org.onap.so.client.aai; +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.Arrays; import java.util.List; +import java.util.Map; -import javax.ws.rs.core.Response; +import javax.ws.rs.core.GenericType; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.Spy; import org.mockito.junit.MockitoJUnitRunner; +import org.onap.aai.domain.yang.Complex; import org.onap.so.client.RestClient; +import org.onap.so.client.aai.entities.AAIResultWrapper; import org.onap.so.client.aai.entities.CustomQuery; +import org.onap.so.client.aai.entities.Results; import org.onap.so.client.aai.entities.uri.AAIResourceUri; import org.onap.so.client.aai.entities.uri.AAIUri; import org.onap.so.client.aai.entities.uri.AAIUriFactory; import org.onap.so.client.graphinventory.Format; import org.onap.so.client.graphinventory.GraphInventoryClient; import org.onap.so.client.graphinventory.GraphInventorySubgraphType; +import org.onap.so.client.graphinventory.entities.Pathed; +import org.onap.so.client.graphinventory.entities.ResourceAndUrl; + +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; @RunWith(MockitoJUnitRunner.class) public class AAIQueryClientTest { @Mock - Response response; - - @Mock - RestClient restClient; + private RestClient restClient; @Mock - GraphInventoryClient client; + private GraphInventoryClient client; @InjectMocks - AAIQueryClient aaiQueryClient = new AAIQueryClient(); + @Spy + private AAIQueryClient aaiQueryClient = new AAIQueryClient(); + private String AAI_JSON_FILE_LOCATION = "src/test/resources/__files/aai/query/"; + + private ObjectMapper mapper = new ObjectMapper(); @Test public void testQuery() { List<AAIResourceUri> uris = Arrays.asList(AAIUriFactory.createResourceUri(AAIObjectType.CUSTOM_QUERY)); @@ -91,4 +109,37 @@ public class AAIQueryClientTest { verify(aaiUri, times(1)).queryParam("nodesOnly", ""); verify(aaiUri, times(1)).queryParam("subgraph", subgraph.toString()); } + + @Test + public void querySingleResourceTest() throws IOException { + doReturn(getJson("single-query-result.json")).when(aaiQueryClient).query(eq(Format.RESOURCE_AND_URL), any(CustomQuery.class)); + List<Complex> result = aaiQueryClient.querySingleResource(new CustomQuery(Arrays.asList(AAIUriFactory.createNodesUri(AAIObjectType.COMPLEX, "test"))), Complex.class); + assertEquals(2, result.size()); + assertEquals("complex-id-15100-jc689q2", result.get(1).getPhysicalLocationId()); + } + + @Test + public void getResourceAndUrlTest() throws IOException { + doReturn(getJson("single-query-result.json")).when(aaiQueryClient).query(eq(Format.RESOURCE_AND_URL), any(CustomQuery.class)); + List<ResourceAndUrl<AAIResultWrapper>> result = aaiQueryClient.getResourceAndUrl(new CustomQuery(Arrays.asList(AAIUriFactory.createNodesUri(AAIObjectType.COMPLEX, "test")))); + assertEquals(2, result.size()); + + assertEquals(1, result.get(1).getWrapper().getRelationships().get().getRelatedUris(AAIObjectType.PSERVER).size()); + } + + @Test + public void querySingleTypeTest() throws IOException { + when(client.createClient(isA(AAIUri.class))).thenReturn(restClient); + when(restClient.put(any(Object.class), any(GenericType.class))).thenReturn(mapper.readValue(getJson("pathed-result.json"), new TypeReference<Results<Map<String, Object>>>(){})); + + + List<Pathed> results = aaiQueryClient.queryPathed(new CustomQuery(Arrays.asList(AAIUriFactory.createNodesUri(AAIObjectType.COMPLEX, "test")))); + + assertEquals(2, results.size()); + assertEquals("service-instance", results.get(1).getResourceType()); + } + + private String getJson(String filename) throws IOException { + return new String(Files.readAllBytes(Paths.get(AAI_JSON_FILE_LOCATION + filename))); + } } |