Misc XACML code coverage
[policy/xacml-pdp.git] / applications / common / src / test / java / org / onap / policy / pdp / xacml / application / common / OnapPolicyFinderFactoryTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2019-2020 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  *
19  * SPDX-License-Identifier: Apache-2.0
20  * ============LICENSE_END=========================================================
21  */
22
23 package org.onap.policy.pdp.xacml.application.common;
24
25 import static org.assertj.core.api.Assertions.assertThat;
26 import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
27
28 import java.io.FileInputStream;
29 import java.util.Properties;
30 import org.junit.Test;
31
32 public class OnapPolicyFinderFactoryTest {
33
34     @Test
35     public void testNoUseConstructor() throws Exception {
36         assertThatExceptionOfType(OnapPolicyFinderFactoryException.class).isThrownBy(() -> {
37             new OnapPolicyFinderFactory();
38         }).withMessageContaining("Please use the constructor with Properties object.");
39     }
40
41     @Test
42     public void testFinder() throws Exception {
43         //
44         // Load our test properties to use
45         //
46         Properties properties = new Properties();
47         try (FileInputStream is = new FileInputStream("src/test/resources/finder.test.properties")) {
48             properties.load(is);
49         }
50         OnapPolicyFinderFactory finder = new OnapPolicyFinderFactory(properties);
51         assertThat(finder).isNotNull();
52
53         assertThat(finder.getPolicyFinder()).isNotNull();
54         assertThat(finder.getPolicyFinder(properties)).isNotNull();
55     }
56
57     @Test
58     public void testFinderWithCombiningAlgorithm() throws Exception {
59         //
60         // Load our test properties to use
61         //
62         Properties properties = new Properties();
63         try (FileInputStream is = new FileInputStream("src/test/resources/finder.test.properties")) {
64             properties.load(is);
65         }
66         //
67         // Set a combining algorithm
68         //
69         properties.put("xacml.att.policyFinderFactory.combineRootPolicies",
70                 "urn:com:att:xacml:3.0:policy-combining-algorithm:combined-permit-overrides");
71         OnapPolicyFinderFactory finder = new OnapPolicyFinderFactory(properties);
72         assertThat(finder).isNotNull();
73     }
74
75 }