Removing deprecated DMAAP library
[policy/drools-pdp.git] / policy-domains / src / test / java / org / onap / policy / drools / domain / models / DroolsPolicyTest.java
1 /*
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
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
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.
17  *
18  * SPDX-License-Identifier: Apache-2.0
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.drools.domain.models;
23
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;
36 import lombok.Data;
37 import lombok.EqualsAndHashCode;
38 import lombok.NoArgsConstructor;
39 import lombok.experimental.SuperBuilder;
40 import org.junit.jupiter.api.Test;
41
42 class DroolsPolicyTest {
43
44     @Data
45     @SuperBuilder
46     @NoArgsConstructor
47     @EqualsAndHashCode(callSuper = true)
48     public static class DerivedDomainPolicy extends DroolsPolicy implements Serializable {
49         @Serial
50         private static final long serialVersionUID = -1027974819756498893L;
51     }
52
53     @Test
54     void testDerivedClass() {
55         /* validate model pojos */
56         Validator validator = ValidatorBuilder.create()
57                                       .with(new SetterTester(), new GetterTester()).build();
58
59         validator.validate(PojoClassFactory.getPojoClass(DerivedDomainPolicy.class));
60     }
61
62     @Test
63     void testPackage() {
64         /* validate model pojos */
65         List<PojoClass> pojoClasses =
66                 PojoClassFactory
67                         .getPojoClassesRecursively("org.onap.policy.drools.domain.models",
68                                 new FilterChain(new FilterNonConcrete(),
69                                         new FilterClassName(DroolsPolicy.class.getName())));
70
71         Validator validator = ValidatorBuilder.create()
72                                       .with(new SetterTester(), new GetterTester()).build();
73         validator.validate(pojoClasses);
74     }
75 }