Re-encrypt drools-pdp properties
[policy/drools-pdp.git] / feature-pooling-dmaap / src / test / java / org / onap / policy / drools / pooling / extractor / MapExtractorTest.java
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP
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.drools.pooling.extractor;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertNull;
25
26 import java.util.HashMap;
27 import java.util.Map;
28 import org.junit.Before;
29 import org.junit.Test;
30
31 public class MapExtractorTest {
32     private static final String KEY = "a.key";
33     private static final String VALUE = "a.value";
34
35     private MapExtractor ext;
36
37     @Before
38     public void setUp() {
39         ext = new MapExtractor(KEY);
40     }
41
42     @Test
43     public void testExtract_NotAMap() {
44
45         // object is not a map (i.e., it's a String)
46         assertNull(ext.extract(KEY));
47     }
48
49     @Test
50     public void testExtract_MissingValue() {
51
52         Map<String, Object> map = new HashMap<>();
53         map.put(KEY + "x", VALUE + "x");
54
55         // object is a map, but doesn't have the key
56         assertNull(ext.extract(map));
57     }
58
59     @Test
60     public void testExtract() {
61
62         Map<String, Object> map = new HashMap<>();
63         map.put(KEY + "x", VALUE + "x");
64         map.put(KEY, VALUE);
65
66         // object is a map and contains the key
67         assertEquals(VALUE, ext.extract(map));
68
69         // change to value to a different type
70         map.put(KEY, 20);
71         assertEquals(20, ext.extract(map));
72     }
73
74 }