1a4c2756bb9d249da548f6aa9a6bd4b5981408bf
[policy/engine.git] / ONAP-REST / src / test / java / org / onap / policy / rest / jpa / PIPConfigurationTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP-REST
4  * ================================================================================
5  * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.rest.jpa;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertNotNull;
25 import java.util.Date;
26 import java.util.HashSet;
27 import java.util.Properties;
28 import java.util.Set;
29 import org.junit.Test;
30 import com.att.research.xacml.api.pip.PIPException;
31 import com.att.research.xacml.util.XACMLProperties;
32
33 public class PIPConfigurationTest {
34   @Test
35   public void testConfig() throws PIPException {
36     String value = "testVal";
37     String id = "1";
38     PIPConfigParam param = new PIPConfigParam();
39     param.setParamName(value);
40     param.setParamValue(value);
41     Set<PIPConfigParam> params = new HashSet<PIPConfigParam>();
42     PIPResolver resolver = new PIPResolver();
43     resolver.setClassname(value);
44     resolver.setName(value);
45     params.add(param);
46     Set<PIPResolver> resolvers = new HashSet<PIPResolver>();
47     resolvers.add(resolver);
48     Properties props = new Properties();
49     props.setProperty(id + ".classname", value);
50     props.setProperty(XACMLProperties.PROP_PIP_ENGINES, id);
51     PIPType type = new PIPType();
52     Date date = new Date();
53
54     // Test constructors
55     PIPConfiguration config = new PIPConfiguration();
56     assertNotNull(config);
57     config.setPipconfigParams(params);
58     config.setPipresolvers(resolvers);
59     PIPConfiguration config2 = new PIPConfiguration(config, value);
60     assertNotNull(config2);
61     config2.prePersist();
62     config2.preUpdate();
63     PIPConfiguration config3 = new PIPConfiguration(id, props);
64     assertNotNull(config3);
65     PIPConfiguration config4 = new PIPConfiguration(id, props, value);
66     assertNotNull(config4);
67
68     // Test set and get
69     config.setId(1);
70     assertEquals(1, config.getId());
71     config.setDescription(value);
72     assertEquals(value, config.getDescription());
73     config.setName(id);
74     assertEquals(id, config.getName());
75     config.setClassname(value);
76     assertEquals(value, config.getClassname());
77     config.setIssuer(value);
78     assertEquals(value, config.getIssuer());
79     config.setReadOnly(true);
80     assertEquals('1', config.getReadOnly());
81     config.setReadOnly('0');
82     assertEquals('0', config.getReadOnly());
83     assertEquals(false, config.isReadOnly());
84     config.setRequiresResolvers('t');
85     assertEquals('t', config.getRequiresResolvers());
86     config.setReadOnly(false);
87     assertEquals('0', config.getReadOnly());
88     config.setPiptype(type);
89     assertEquals(type, config.getPiptype());
90     config.setRequiresResolvers(false);
91     assertEquals('0', config.getRequiresResolvers());
92     config.setCreatedBy(value);
93     assertEquals(value, config.getCreatedBy());
94     config.setCreatedDate(date);
95     assertEquals(date, config.getCreatedDate());
96     config.setModifiedBy(value);
97     assertEquals(value, config.getModifiedBy());
98     config.setModifiedDate(date);
99     assertEquals(date, config.getModifiedDate());
100     config.setRequiresResolvers(true);
101     assertEquals(true, config.requiresResolvers());
102     assertEquals(8, config.getConfiguration(id).size());
103     assertEquals(9, config.generateProperties(id).size());
104
105     // Test remove and clear
106     assertEquals(param, config.removePipconfigParam(param));
107     config.clearConfigParams();
108     assertEquals(0, config.getPipconfigParams().size());
109     config.removePipresolver(resolver);
110     assertEquals(0, config.getPipresolvers().size());
111
112     // Test import
113     assertEquals(1, PIPConfiguration.importPIPConfigurations(props).size());
114     config.readProperties(id, props);
115     assertEquals(id, config.getName());
116
117     // Test toString
118     String configString = config.toString().replaceAll("@[0-9a-f]*", "");
119     assertEquals(323, configString.length());
120   }
121 }