2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
4 * Modifications Copyright (C) 2024 Nordix Foundation.
5 * ================================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
18 * SPDX-License-Identifier: Apache-2.0
19 * ============LICENSE_END=========================================================
22 package org.onap.policy.drools.domain.models;
24 import com.openpojo.reflection.PojoClass;
25 import com.openpojo.reflection.filters.FilterChain;
26 import com.openpojo.reflection.filters.FilterClassName;
27 import com.openpojo.reflection.filters.FilterNonConcrete;
28 import com.openpojo.reflection.impl.PojoClassFactory;
29 import com.openpojo.validation.Validator;
30 import com.openpojo.validation.ValidatorBuilder;
31 import com.openpojo.validation.test.impl.GetterTester;
32 import com.openpojo.validation.test.impl.SetterTester;
33 import java.io.Serial;
34 import java.io.Serializable;
35 import java.util.List;
37 import lombok.EqualsAndHashCode;
38 import lombok.NoArgsConstructor;
39 import lombok.experimental.SuperBuilder;
40 import org.junit.jupiter.api.Test;
42 class DroolsPolicyTest {
47 @EqualsAndHashCode(callSuper = true)
48 public static class DerivedDomainPolicy extends DroolsPolicy implements Serializable {
50 private static final long serialVersionUID = -1027974819756498893L;
54 void testDerivedClass() {
55 /* validate model pojos */
56 Validator validator = ValidatorBuilder.create()
57 .with(new SetterTester(), new GetterTester()).build();
59 validator.validate(PojoClassFactory.getPojoClass(DerivedDomainPolicy.class));
64 /* validate model pojos */
65 List<PojoClass> pojoClasses =
67 .getPojoClassesRecursively("org.onap.policy.drools.domain.models",
68 new FilterChain(new FilterNonConcrete(),
69 new FilterClassName(DroolsPolicy.class.getName())));
71 Validator validator = ValidatorBuilder.create()
72 .with(new SetterTester(), new GetterTester()).build();
73 validator.validate(pojoClasses);