diff options
author | Ram Krishna Verma <ram_krishna.verma@bell.ca> | 2021-08-24 17:33:07 -0400 |
---|---|---|
committer | Ram Krishna Verma <ram_krishna.verma@bell.ca> | 2021-08-25 09:00:00 -0400 |
commit | a978716f5f5a494276c88794c3d366a012479f0d (patch) | |
tree | 27ded16bb4f72d162b838426535618a70f0eac13 /main/src/test | |
parent | 861dbc22855e93784eb2145daea7be9f189ad765 (diff) |
Add dmaap connectivity check in pap
Add dmaap connectivity check in pap consolidated health check.
Make a rest call to fetch all the topics.
Verify POLICY-PDP-PAP topic is present.
Issue-ID: POLICY-2896
Change-Id: Ide39c70999eaca61205225c95b904e3009d41408
Signed-off-by: Ram Krishna Verma <ram_krishna.verma@bell.ca>
Diffstat (limited to 'main/src/test')
3 files changed, 49 insertions, 1 deletions
diff --git a/main/src/test/java/org/onap/policy/pap/main/rest/TestPolicyComponentsHealthCheckProvider.java b/main/src/test/java/org/onap/policy/pap/main/rest/TestPolicyComponentsHealthCheckProvider.java index 3f4ecd32..f27a8d32 100644 --- a/main/src/test/java/org/onap/policy/pap/main/rest/TestPolicyComponentsHealthCheckProvider.java +++ b/main/src/test/java/org/onap/policy/pap/main/rest/TestPolicyComponentsHealthCheckProvider.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2020 Nordix Foundation. * Modifications Copyright (C) 2020-2021 AT&T Corp. - * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. + * Modifications Copyright (C) 2020-2021 Bell Canada. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,6 +30,7 @@ import static org.mockito.Mockito.when; import java.io.File; import java.net.HttpURLConnection; +import java.util.Arrays; import java.util.List; import java.util.Map; import javax.ws.rs.core.Response; @@ -89,11 +90,17 @@ public class TestPolicyComponentsHealthCheckProvider { private HttpClient client2; @Mock + private HttpClient client3; + + @Mock private Response response1; @Mock private Response response2; + @Mock + private Response response3; + private List<PdpGroup> groups; private PapParameterGroup savedPapParameterGroup; @@ -133,10 +140,17 @@ public class TestPolicyComponentsHealthCheckProvider { when(response2.readEntity(HealthCheckReport.class)).thenReturn(createReport(HttpURLConnection.HTTP_OK, true)); when(client2.get()).thenReturn(response2); + when(client3.getName()).thenReturn("dmaap"); + when(client3.getBaseUrl()).thenReturn("message-router"); + when(response3.getStatus()).thenReturn(HttpURLConnection.HTTP_OK); + when(response3.readEntity(DmaapGetTopicResponse.class)).thenReturn(createDmaapResponse()); + when(client3.get()).thenReturn(response3); + PapParameterGroup papParameterGroup = ParameterService.get(PAP_GROUP_PARAMS_NAME); List<RestClientParameters> params = papParameterGroup.getHealthCheckRestClientParameters(); when(clientFactory.build(params.get(0))).thenReturn(client1); when(clientFactory.build(params.get(1))).thenReturn(client2); + when(clientFactory.build(params.get(2))).thenReturn(client3); PolicyComponentsHealthCheckProvider.initializeClientHealthCheckExecutorService(papParameterGroup, clientFactory); @@ -180,6 +194,20 @@ public class TestPolicyComponentsHealthCheckProvider { assertFalse((Boolean) result2.get(HEALTHY)); HealthCheckReport report2 = (HealthCheckReport) result.get(CLIENT_1); assertFalse(report2.isHealthy()); + + when(response3.getStatus()).thenReturn(HttpURLConnection.HTTP_INTERNAL_ERROR); + when(response3.readEntity(DmaapGetTopicResponse.class)).thenReturn(null); + Map<String, Object> result3 = callFetchPolicyComponentsHealthStatus(); + assertFalse((Boolean) result3.get(HEALTHY)); + HealthCheckReport report3 = (HealthCheckReport) result3.get("dmaap"); + assertFalse(report3.isHealthy()); + + when(response3.getStatus()).thenReturn(HttpURLConnection.HTTP_OK); + when(response3.readEntity(DmaapGetTopicResponse.class)).thenReturn(new DmaapGetTopicResponse()); + Map<String, Object> result4 = callFetchPolicyComponentsHealthStatus(); + assertFalse((Boolean) result4.get(HEALTHY)); + HealthCheckReport report4 = (HealthCheckReport) result4.get("dmaap"); + assertFalse(report4.isHealthy()); } @SuppressWarnings("unchecked") @@ -234,4 +262,10 @@ public class TestPolicyComponentsHealthCheckProvider { throw new RuntimeException(e); } } + + private DmaapGetTopicResponse createDmaapResponse() { + DmaapGetTopicResponse response = new DmaapGetTopicResponse(); + response.setTopics(Arrays.asList(PapConstants.TOPIC_POLICY_PDP_PAP)); + return response; + } } diff --git a/main/src/test/resources/parameters/PapConfigParameters.json b/main/src/test/resources/parameters/PapConfigParameters.json index 09adfcec..4f59d69b 100644 --- a/main/src/test/resources/parameters/PapConfigParameters.json +++ b/main/src/test/resources/parameters/PapConfigParameters.json @@ -68,5 +68,12 @@ "password": "zb!XztG34", "useHttps": true, "basePath": "healthcheck" + }, + { + "clientName": "dmaap", + "hostname": "message-router", + "port": 3905, + "useHttps": true, + "basePath": "topics" }] } diff --git a/main/src/test/resources/parameters/PapConfigParametersStd.json b/main/src/test/resources/parameters/PapConfigParametersStd.json index 0f881430..56e891a1 100644 --- a/main/src/test/resources/parameters/PapConfigParametersStd.json +++ b/main/src/test/resources/parameters/PapConfigParametersStd.json @@ -69,5 +69,12 @@ "password": "zb!XztG34", "useHttps": true, "basePath": "healthcheck" + }, + { + "clientName": "dmaap", + "hostname": "message-router", + "port": 3905, + "useHttps": true, + "basePath": "topics" }] } |