diff options
3 files changed, 83 insertions, 39 deletions
diff --git a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/report/TestHealthCheckReport.java b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/report/TestHealthCheckReport.java index b32aa3b4..62db30b2 100644 --- a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/report/TestHealthCheckReport.java +++ b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/report/TestHealthCheckReport.java @@ -22,13 +22,15 @@ package org.onap.policy.common.endpoints.report; -import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; - -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Order; +import com.openpojo.reflection.filters.FilterClassName; +import com.openpojo.validation.Validator; +import com.openpojo.validation.ValidatorBuilder; +import com.openpojo.validation.rule.impl.GetterMustExistRule; +import com.openpojo.validation.rule.impl.SetterMustExistRule; +import com.openpojo.validation.test.impl.GetterTester; +import com.openpojo.validation.test.impl.SetterTester; import org.junit.jupiter.api.Test; +import org.onap.policy.common.utils.test.ToStringTester; /** * Class to perform unit test of HealthCheckReport. @@ -37,39 +39,12 @@ import org.junit.jupiter.api.Test; */ class TestHealthCheckReport { - private static final int CODE_INT = 12345; - private static final String URL_STRING = "http://test-url.test"; - private static final String NAME_STRING = "testName"; - private static final String MESSAGE_STRING = "Testing the getters and setters"; - private static final boolean HEALTHY_BOOL = true; - - static HealthCheckReport report; - - @BeforeAll - static void setUp() { - report = new HealthCheckReport(); - } - @Test - void testHealthCheckReportConstructor() { - assertNotNull(report); - } - - @Test - void testHealthCheckReportGettersAndSetters() { - report.setCode(CODE_INT); - report.setUrl(URL_STRING); - report.setName(NAME_STRING); - report.setHealthy(HEALTHY_BOOL); - report.setMessage(MESSAGE_STRING); - - assertEquals(CODE_INT, report.getCode()); - assertEquals(URL_STRING, report.getUrl()); - assertEquals(NAME_STRING, report.getName()); - assertEquals(HEALTHY_BOOL, report.isHealthy()); - assertEquals(MESSAGE_STRING, report.getMessage()); - - assertThat(report.toString()).contains("code=12345", "url=http://test-url.test", - "name=testName", "healthy=true", "message=Testing the getters and setters"); + void testHealthCheckReport() { + final Validator validator = + ValidatorBuilder.create().with(new GetterMustExistRule()).with(new SetterMustExistRule()) + .with(new GetterTester()).with(new SetterTester()).with(new ToStringTester()).build(); + validator.validate(HealthCheckReport.class.getPackage().getName(), + new FilterClassName(HealthCheckReport.class.getName())); } } diff --git a/utils-test/pom.xml b/utils-test/pom.xml index 78f748a1..a659062b 100644 --- a/utils-test/pom.xml +++ b/utils-test/pom.xml @@ -87,5 +87,11 @@ <artifactId>spring-test</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest-core</artifactId> + <version>2.2</version> + <scope>compile</scope> + </dependency> </dependencies> </project> diff --git a/utils-test/src/main/java/org/onap/policy/common/utils/test/ToStringTester.java b/utils-test/src/main/java/org/onap/policy/common/utils/test/ToStringTester.java new file mode 100644 index 00000000..ab09291c --- /dev/null +++ b/utils-test/src/main/java/org/onap/policy/common/utils/test/ToStringTester.java @@ -0,0 +1,63 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2018 Ericsson. All rights reserved. + * Modifications Copyright (C) 2018-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.common.utils.test; + +import static org.hamcrest.CoreMatchers.anyOf; +import static org.hamcrest.CoreMatchers.anything; + +import com.openpojo.reflection.PojoClass; +import com.openpojo.validation.affirm.Affirm; +import com.openpojo.validation.test.Tester; +import com.openpojo.validation.utils.ValidationHelper; +import lombok.AllArgsConstructor; +import org.hamcrest.Matcher; + + +/** + * Class to provide toString testing utility for testing pojo classes. + * + * @author Ram Krishna Verma (ram.krishna.verma@est.tech) + */ +@AllArgsConstructor +public class ToStringTester implements Tester { + + private final Matcher<?> matcher; + + public ToStringTester() { + matcher = anything(); + } + + @SuppressWarnings("unchecked") + @Override + public void run(final PojoClass pojoClass) { + final Class<?> clazz = pojoClass.getClazz(); + if (anyOf(matcher).matches(clazz)) { + final Object classInstance = ValidationHelper.getBasicInstance(pojoClass); + + Affirm.affirmFalse("Found default toString output", + classInstance.toString().matches(Object.class.getName() + "@" + "\\w+")); + } + + } + +} |