aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/test
diff options
context:
space:
mode:
authorRam Krishna Verma <ram_krishna.verma@bell.ca>2021-08-24 17:33:07 -0400
committerRam Krishna Verma <ram_krishna.verma@bell.ca>2021-08-25 09:00:00 -0400
commita978716f5f5a494276c88794c3d366a012479f0d (patch)
tree27ded16bb4f72d162b838426535618a70f0eac13 /main/src/test
parent861dbc22855e93784eb2145daea7be9f189ad765 (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')
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/rest/TestPolicyComponentsHealthCheckProvider.java36
-rw-r--r--main/src/test/resources/parameters/PapConfigParameters.json7
-rw-r--r--main/src/test/resources/parameters/PapConfigParametersStd.json7
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"
}]
}