7266d0311eb265eee60dd530ccd620c59a6a99f4
[policy/models.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * Copyright (C) 2019 Bell Canada. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  * ============LICENSE_END=========================================================
17  */
18
19 package org.onap.policy.controlloop.actor.cds.request;
20
21 import static org.junit.Assert.assertFalse;
22 import static org.junit.Assert.assertTrue;
23
24 import com.google.common.collect.ImmutableMap;
25 import java.util.HashMap;
26 import java.util.Map;
27 import org.junit.Before;
28 import org.junit.Test;
29 import org.onap.policy.common.utils.coder.CoderException;
30 import org.onap.policy.controlloop.actor.cds.constants.CdsActorConstants;
31
32 public class CdsActionRequestTest {
33
34     private static final String TEST_ACTION_NAME = "vfw-modify-config";
35     private CdsActionRequest req = new CdsActionRequest();
36
37     /**
38      * Setup the CdsActionRequest object.
39      */
40     @Before
41     public void setUp() {
42         req.setActionName(TEST_ACTION_NAME);
43         req.setResolutionKey("1234567890");
44
45         Map<String, String> aaiParams =
46                 ImmutableMap.of("service-instance.service-instance-id", "1234", "generic-vnf.vnf-id", "5678");
47         req.setAaiProperties(aaiParams);
48
49         Map<String, String> eventParams = ImmutableMap.of("event-param-1", "1234", "event-param-2", "5678");
50         req.setAdditionalEventParams(eventParams);
51     }
52
53     @Test
54     public void testGenerateCdsPayloadWhenPolicyPayloadIsNotValidJsonString() throws CoderException {
55         String payloadStr = "active-streams=5";
56         Map<String, String> payloadProps = ImmutableMap.of(CdsActorConstants.KEY_POLICY_PAYLOAD_DATA, payloadStr);
57         req.setPolicyPayload(payloadProps);
58
59         // Act
60         String result = req.generateCdsPayload();
61
62         // Assert
63         assertTrue(result.contains(TEST_ACTION_NAME + CdsActorConstants.CDS_REQUEST_PROPERTIES_SUFFIX));
64         assertTrue(result.contains(TEST_ACTION_NAME + CdsActorConstants.CDS_REQUEST_SUFFIX));
65         assertTrue(result.contains(CdsActorConstants.KEY_RESOLUTION_KEY));
66         assertTrue(result.contains("\"" + CdsActorConstants.KEY_POLICY_PAYLOAD_DATA + "\":\"" + payloadStr + "\""));
67     }
68
69     @Test
70     public void testGenerateCdsPayloadWhenPolicyPayloadIsValidJsonString() throws CoderException {
71         String payloadStr = "{\"active-streams\":\"5\"}";
72         Map<String, String> payloadProps = ImmutableMap.of(CdsActorConstants.KEY_POLICY_PAYLOAD_DATA, payloadStr);
73         req.setPolicyPayload(payloadProps);
74
75         // Act
76         String result = req.generateCdsPayload();
77
78         // Assert
79         assertTrue(result.contains(TEST_ACTION_NAME + CdsActorConstants.CDS_REQUEST_PROPERTIES_SUFFIX));
80         assertTrue(result.contains(TEST_ACTION_NAME + CdsActorConstants.CDS_REQUEST_SUFFIX));
81         assertTrue(result.contains(CdsActorConstants.KEY_RESOLUTION_KEY));
82         assertTrue(result.contains("\"" + CdsActorConstants.KEY_POLICY_PAYLOAD_DATA + "\":" + payloadStr));
83     }
84
85     @Test
86     public void testGenerateCdsPayloadWhenPolicyPayloadIsNull() throws CoderException {
87         Map<String, String> payloadProps = new HashMap<String, String>() {
88             private static final long serialVersionUID = 1L;
89             {
90                 put(CdsActorConstants.KEY_POLICY_PAYLOAD_DATA, null);
91             }
92         };
93         req.setPolicyPayload(payloadProps);
94
95         // Act
96         String result = req.generateCdsPayload();
97
98         // Assert
99         assertTrue(result.contains(TEST_ACTION_NAME + CdsActorConstants.CDS_REQUEST_PROPERTIES_SUFFIX));
100         assertTrue(result.contains(TEST_ACTION_NAME + CdsActorConstants.CDS_REQUEST_SUFFIX));
101         assertTrue(result.contains(CdsActorConstants.KEY_RESOLUTION_KEY));
102         assertFalse(result.contains(CdsActorConstants.KEY_POLICY_PAYLOAD_DATA));
103     }
104 }