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
9 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
19 package org.onap.policy.controlloop.actor.cds.request;
21 import static org.junit.Assert.assertFalse;
22 import static org.junit.Assert.assertTrue;
24 import com.google.common.collect.ImmutableMap;
25 import java.util.HashMap;
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;
32 public class CdsActionRequestTest {
34 private static final String TEST_ACTION_NAME = "vfw-modify-config";
35 private CdsActionRequest req = new CdsActionRequest();
38 * Setup the CdsActionRequest object.
42 req.setActionName(TEST_ACTION_NAME);
43 req.setResolutionKey("1234567890");
45 Map<String, String> aaiParams =
46 ImmutableMap.of("service-instance.service-instance-id", "1234", "generic-vnf.vnf-id", "5678");
47 req.setAaiProperties(aaiParams);
49 Map<String, String> eventParams = ImmutableMap.of("event-param-1", "1234", "event-param-2", "5678");
50 req.setAdditionalEventParams(eventParams);
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);
60 String result = req.generateCdsPayload();
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 + "\""));
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);
76 String result = req.generateCdsPayload();
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));
86 public void testGenerateCdsPayloadWhenPolicyPayloadIsNull() throws CoderException {
87 Map<String, String> payloadProps = new HashMap<String, String>() {
88 private static final long serialVersionUID = 1L;
90 put(CdsActorConstants.KEY_POLICY_PAYLOAD_DATA, null);
93 req.setPolicyPayload(payloadProps);
96 String result = req.generateCdsPayload();
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));