Removing deprecated DMAAP library
[policy/drools-pdp.git] / policy-management / src / test / java / org / onap / policy / drools / protocol / configuration / ControllerConfigurationTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2017-2021 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2024 Nordix Foundation.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.drools.protocol.configuration;
23
24 import static org.assertj.core.api.Assertions.assertThat;
25 import static org.junit.jupiter.api.Assertions.assertEquals;
26 import static org.junit.jupiter.api.Assertions.assertFalse;
27 import static org.junit.jupiter.api.Assertions.assertNotEquals;
28 import static org.junit.jupiter.api.Assertions.assertTrue;
29
30 import java.util.Properties;
31 import org.junit.jupiter.api.Test;
32 import org.onap.policy.common.utils.gson.GsonTestUtils;
33
34 class ControllerConfigurationTest {
35
36     private static final String NAME = "name";
37     private static final String OPERATION = "operation";
38     private static final String NAME2 = "name2";
39     private static final String OPERATION2 = "operation2";
40
41     private static final String ARTIFACT = "org.onap.artifact";
42     private static final String GROUPID = "group";
43     private static final String VERSION = "1.0.0";
44
45     private static final String ARTIFACT2 = "org.onap.artifact2";
46     private static final String GROUPID2 = "group2";
47     private static final String VERSION2 = "1.0.1";
48
49     private static final String ADDITIONAL_PROPERTY_KEY = "foo";
50     private static final String ADDITIONAL_PROPERTY_VALUE = "bar";
51
52     private static final String ADDITIONAL_PROPERTY_KEY2 = "hello";
53     private static final String ADDITIONAL_PROPERTY_VALUE2 = "world";
54
55     private static final DroolsConfiguration DROOLS_CONFIG = new DroolsConfiguration(ARTIFACT, GROUPID, VERSION);
56     private static final DroolsConfiguration DROOLS_CONFIG2 = new DroolsConfiguration(ARTIFACT2, GROUPID2, VERSION2);
57
58     private static final String DROOLS_STRING = "drools";
59
60     /**
61      * Test.
62      */
63     @Test
64     void test() {
65
66         Properties additionalProperties = new Properties();
67         additionalProperties.put(ADDITIONAL_PROPERTY_KEY, ADDITIONAL_PROPERTY_VALUE);
68
69         ControllerConfiguration controllerConfig = new ControllerConfiguration(NAME, OPERATION, DROOLS_CONFIG);
70
71         assertEquals(controllerConfig, (Object) controllerConfig);
72         assertNotEquals(controllerConfig, new Object());
73
74         ControllerConfiguration controllerConfig2 = new ControllerConfiguration();
75         controllerConfig2.setName(NAME2);
76         controllerConfig2.setOperation(OPERATION2);
77         controllerConfig2.setDrools(DROOLS_CONFIG2);
78
79         assertEquals(NAME2, controllerConfig2.getName());
80         assertEquals(OPERATION2, controllerConfig2.getOperation());
81         assertEquals(DROOLS_CONFIG2, controllerConfig2.getDrools());
82
83         assertEquals(controllerConfig2, controllerConfig2.withName(NAME2));
84         assertEquals(controllerConfig2, controllerConfig2.withOperation(OPERATION2));
85         assertEquals(controllerConfig2, controllerConfig2.withDrools(DROOLS_CONFIG2));
86
87         controllerConfig2.setAdditionalProperty(ADDITIONAL_PROPERTY_KEY, ADDITIONAL_PROPERTY_VALUE);
88         assertEquals(controllerConfig2.getAdditionalProperties(), additionalProperties);
89
90         assertEquals(controllerConfig2, controllerConfig2.withAdditionalProperty(ADDITIONAL_PROPERTY_KEY,
91                 ADDITIONAL_PROPERTY_VALUE));
92
93         assertTrue(controllerConfig2.declaredProperty(NAME, NAME2));
94         assertTrue(controllerConfig2.declaredProperty(OPERATION, OPERATION2));
95         assertTrue(controllerConfig2.declaredProperty(DROOLS_STRING, DROOLS_CONFIG2));
96         assertFalse(controllerConfig2.declaredProperty("dummy", NAME));
97
98
99         assertEquals(NAME2, controllerConfig2.declaredPropertyOrNotFound(NAME, NAME2));
100         assertEquals(OPERATION2, controllerConfig2.declaredPropertyOrNotFound(OPERATION, OPERATION2));
101         assertEquals(DROOLS_CONFIG2, controllerConfig2.declaredPropertyOrNotFound(DROOLS_STRING, DROOLS_CONFIG2));
102         assertEquals(NAME, controllerConfig2.declaredPropertyOrNotFound("dummy", NAME));
103
104         assertThat(controllerConfig2.hashCode()).isNotZero();
105     }
106
107     @Test
108     void testSerialize() {
109         ControllerConfiguration controllerConfig = new ControllerConfiguration(NAME, OPERATION, DROOLS_CONFIG);
110         controllerConfig.setAdditionalProperty(ADDITIONAL_PROPERTY_KEY, ADDITIONAL_PROPERTY_VALUE);
111         controllerConfig.setAdditionalProperty(ADDITIONAL_PROPERTY_KEY2, ADDITIONAL_PROPERTY_VALUE2);
112
113         GsonTestUtils gson = new GsonTestUtils();
114
115         // ensure jackson and gson give same result
116         gson.compareGson(controllerConfig, ControllerConfigurationTest.class);
117
118         // ensure we get the same value when decoding
119         ControllerConfiguration config2 = gson.gsonRoundTrip(controllerConfig, ControllerConfiguration.class);
120         assertEquals(controllerConfig, config2);
121         assertEquals(gson.gsonEncode(controllerConfig), gson.gsonEncode(config2));
122     }
123 }