From 0fdbdd8200b8a16243ce96a2a039dbc3922d3171 Mon Sep 17 00:00:00 2001 From: Prakhar Pandey Date: Thu, 10 Feb 2022 14:14:13 -0500 Subject: Improve PAP healthcheck api to verify DB connectivity This commit improves PAP healthcheck API to enable verification of PAP to DB connectivity. Issue-ID: POLICY-3763 Signed-off-by: Prakhar Pandey Change-Id: I14353572a00e68a89161bcffd2ec3476b4a4c303 --- .../main/rest/TestHealthCheckRestControllerV1.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'main/src/test/java') diff --git a/main/src/test/java/org/onap/policy/pap/main/rest/TestHealthCheckRestControllerV1.java b/main/src/test/java/org/onap/policy/pap/main/rest/TestHealthCheckRestControllerV1.java index 6dd7103b..bc97c634 100644 --- a/main/src/test/java/org/onap/policy/pap/main/rest/TestHealthCheckRestControllerV1.java +++ b/main/src/test/java/org/onap/policy/pap/main/rest/TestHealthCheckRestControllerV1.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2019 Nordix Foundation. * Modifications Copyright (C) 2019 AT&T Intellectual Property. + * Modifications Copyright (C) 2022 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. @@ -22,10 +23,13 @@ package org.onap.policy.pap.main.rest; import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; import javax.ws.rs.client.Invocation; import org.junit.Test; import org.onap.policy.common.endpoints.report.HealthCheckReport; +import org.onap.policy.models.base.PfModelRuntimeException; +import org.springframework.boot.test.mock.mockito.MockBean; /** * Class to perform unit test of {@link PapRestServer}. @@ -36,6 +40,9 @@ public class TestHealthCheckRestControllerV1 extends CommonPapRestServer { private static final String HEALTHCHECK_ENDPOINT = "healthcheck"; + @MockBean + private PolicyStatusProvider policyStatusProvider; + @Test public void testSwagger() throws Exception { super.testSwagger(HEALTHCHECK_ENDPOINT); @@ -52,13 +59,21 @@ public class TestHealthCheckRestControllerV1 extends CommonPapRestServer { } @Test - public void testHealthCheck_500() throws Exception { + public void testHealthCheckActivatorFailure() throws Exception { markActivatorDead(); final Invocation.Builder invocationBuilder = sendRequest(HEALTHCHECK_ENDPOINT); final HealthCheckReport report = invocationBuilder.get(HealthCheckReport.class); - validateHealthCheckReport(NAME, SELF, false, 500, NOT_ALIVE, report); + validateHealthCheckReport(NAME, SELF, false, 503, NOT_ALIVE, report); + } + + @Test + public void testHealthCheckDbConnectionFailure() throws Exception { + when(policyStatusProvider.getPolicyStatus()).thenThrow(PfModelRuntimeException.class); + final Invocation.Builder invocationBuilder = sendRequest(HEALTHCHECK_ENDPOINT); + final HealthCheckReport report = invocationBuilder.get(HealthCheckReport.class); + validateHealthCheckReport(NAME, SELF, false, 503, NOT_ALIVE, report); } private void validateHealthCheckReport(final String name, final String url, final boolean healthy, final int code, -- cgit 1.2.3-korg