diff options
author | Wojciech Sliwka <wojciech.sliwka@nokia.com> | 2019-06-19 11:06:54 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-06-19 11:06:54 +0000 |
commit | 7f0e6936709cc19e3e1e1ad035e5b7d00809d6c6 (patch) | |
tree | 163542e67746e7693daf12e7835f5b2f6c78255a /vid-app-common/src/test/java/org/onap/vid/aai/AaiOverTLSClientTest.java | |
parent | 46adb535d3af416773475b9aabb2ace8e1e9e1de (diff) | |
parent | 72b3fb69e548cf665204ec025d2778dcf3ce0216 (diff) |
Merge "Extend probe mechanism"
Diffstat (limited to 'vid-app-common/src/test/java/org/onap/vid/aai/AaiOverTLSClientTest.java')
-rw-r--r-- | vid-app-common/src/test/java/org/onap/vid/aai/AaiOverTLSClientTest.java | 63 |
1 files changed, 55 insertions, 8 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/aai/AaiOverTLSClientTest.java b/vid-app-common/src/test/java/org/onap/vid/aai/AaiOverTLSClientTest.java index 43fb5a3bb..da937cade 100644 --- a/vid-app-common/src/test/java/org/onap/vid/aai/AaiOverTLSClientTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/aai/AaiOverTLSClientTest.java @@ -21,21 +21,32 @@ package org.onap.vid.aai; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Lists; +import com.google.gson.Gson; +import io.joshworks.restclient.http.HttpResponse; +import org.apache.commons.io.IOUtils; import org.mockito.Answers; import org.mockito.Mock; -import org.mockito.Mockito; import org.onap.vid.aai.model.ResourceType; import org.onap.vid.client.SyncRestClient; +import org.onap.vid.model.Subscriber; import org.onap.vid.model.SubscriberList; +import org.onap.vid.model.probes.ExternalComponentStatus; +import org.springframework.http.HttpStatus; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; +import java.io.InputStream; import java.util.Collections; +import java.util.List; import java.util.Map; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.contains; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; import static org.mockito.MockitoAnnotations.initMocks; public class AaiOverTLSClientTest { @@ -49,6 +60,9 @@ public class AaiOverTLSClientTest { @Mock private AaiOverTLSPropertySupplier propertySupplier; + @Mock + private HttpResponse<SubscriberList> response; + @BeforeMethod public void setUp() { initMocks(this); @@ -60,7 +74,7 @@ public class AaiOverTLSClientTest { mockPropertyReader(); aaiRestClient.isNodeTypeExistsByName("name", ResourceType.GENERIC_VNF); - Mockito.verify(syncRestClient).get(contains(SEARCH_NODES_QUERY_SEARCH_NODE_TYPE), + verify(syncRestClient).get(contains(SEARCH_NODES_QUERY_SEARCH_NODE_TYPE), eq(getHeaders()), eq(Collections.emptyMap())); } @@ -69,15 +83,49 @@ public class AaiOverTLSClientTest { mockPropertyReader(); aaiRestClient.getAllSubscribers(); - Mockito.verify(syncRestClient).get(contains(SUBSCRIBERS), + verify(syncRestClient).get(contains(SUBSCRIBERS), eq(getHeaders()), eq(Collections.emptyMap()), eq(SubscriberList.class)); } + + @Test + public void probeMechanismShouldReturnAllSubscribers() { + mockPropertyReader(); + List<Subscriber> subscribers = Lists.newArrayList(new Subscriber()); + + SubscriberList subscriberList = new SubscriberList(subscribers); + InputStream json = IOUtils.toInputStream(new Gson().toJson(subscriberList)); + when(syncRestClient.get(contains(SUBSCRIBERS), eq(getHeaders()), eq(Collections.emptyMap()), + eq(SubscriberList.class))).thenReturn(response); + when(response.getStatus()).thenReturn(HttpStatus.OK.value()); + when(response.getRawBody()).thenReturn(json); + when(response.isSuccessful()).thenReturn(true); + + + ExternalComponentStatus externalComponentStatus = aaiRestClient.probeGetAllSubscribers(); + + assertThat(externalComponentStatus.isAvailable()).isTrue(); + assertThat(externalComponentStatus.getComponent()).isEqualTo(ExternalComponentStatus.Component.AAI); + } + + @Test + public void probeMechanismShouldHandleExceptionProperly(){ + mockPropertyReader(); + when(syncRestClient.get(contains(SUBSCRIBERS), eq(getHeaders()), eq(Collections.emptyMap()), + eq(SubscriberList.class))).thenThrow(new RuntimeException("call failed")); + + ExternalComponentStatus externalComponentStatus = aaiRestClient.probeGetAllSubscribers(); + + assertThat(externalComponentStatus.isAvailable()).isFalse(); + assertThat(externalComponentStatus.getComponent()).isEqualTo(ExternalComponentStatus.Component.AAI); + assertThat(externalComponentStatus.getMetadata().getDescription()).containsSequence("call failed"); + } + private void mockPropertyReader() { - Mockito.when(propertySupplier.getPassword()).thenReturn("Pass"); - Mockito.when(propertySupplier.getUsername()).thenReturn("User"); - Mockito.when(propertySupplier.getRequestId()).thenReturn("1"); - Mockito.when(propertySupplier.getRandomUUID()).thenReturn("2"); + when(propertySupplier.getPassword()).thenReturn("Pass"); + when(propertySupplier.getUsername()).thenReturn("User"); + when(propertySupplier.getRequestId()).thenReturn("1"); + when(propertySupplier.getRandomUUID()).thenReturn("2"); } private Map<String,String> getHeaders(){ @@ -85,5 +133,4 @@ public class AaiOverTLSClientTest { put("X-FromAppId", "VidAaiController").put("Accept", "application/json").put("X-ECOMP-RequestID", "1"). put("X-TransactionId", "2").put("Content-Type", "application/json").build(); } - } |