2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2019 Samsung. 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
11 * http://www.apache.org/licenses/LICENSE-2.0
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 * ===================================================================
23 package org.onap.clamp.clds.client;
25 import static org.mockito.Matchers.any;
26 import static org.mockito.Matchers.eq;
27 import static org.mockito.Mockito.never;
28 import static org.mockito.Mockito.times;
29 import static org.mockito.Mockito.verify;
30 import static org.mockito.Mockito.when;
32 import org.apache.camel.Exchange;
33 import org.junit.Test;
34 import org.junit.runner.RunWith;
35 import org.mockito.InjectMocks;
36 import org.mockito.Mock;
37 import org.mockito.runners.MockitoJUnitRunner;
38 import org.onap.clamp.clds.client.req.policy.PolicyClient;
39 import org.onap.clamp.clds.exception.ModelBpmnException;
40 import org.onap.clamp.clds.model.properties.ModelProperties;
42 @RunWith(MockitoJUnitRunner.class)
43 public class OperationalPolicyDeleteDelegateTest {
45 private static final String TEST_KEY = "isTest";
46 private static final String MODEL_BPMN_KEY = "modelBpmnProp";
47 private static final String MODEL_PROP_KEY = "modelProp";
48 private static final String EVENT_ACTION_KEY = "eventAction";
49 private static final String POLICY_ID_FROM_JSON = "{policy:[{id:Poli2,from:''}]}";
50 private static final String ID_WITH_CHAIN_JSON = "{Poli2:{ab:c,xy:z}}";
51 private static final String ID_NO_CHAIN_JSON = "{Poli2:{}}";
52 private static final String EVENT_ACTION_VALUE = "still";
53 private static final String NOT_JSON = "23e";
56 private Exchange exchange;
59 private PolicyClient policyClient;
62 private OperationalPolicyDeleteDelegate operationalPolicyDeleteDelegate;
65 public void shouldExecuteSuccessfully() {
67 when(exchange.getProperty(eq(TEST_KEY))).thenReturn(false);
68 when(exchange.getProperty(eq(MODEL_BPMN_KEY))).thenReturn(POLICY_ID_FROM_JSON);
69 when(exchange.getProperty(eq(MODEL_PROP_KEY))).thenReturn(ID_WITH_CHAIN_JSON);
70 when(exchange.getProperty(eq(EVENT_ACTION_KEY))).thenReturn(EVENT_ACTION_VALUE);
73 operationalPolicyDeleteDelegate.execute(exchange);
76 verify(policyClient, times(2)).deleteBrms(any(ModelProperties.class));
80 public void shouldExecuteTcaNotFound() {
82 when(exchange.getProperty(eq(TEST_KEY))).thenReturn(true);
83 when(exchange.getProperty(eq(MODEL_BPMN_KEY))).thenReturn(POLICY_ID_FROM_JSON);
84 when(exchange.getProperty(eq(MODEL_PROP_KEY))).thenReturn(ID_NO_CHAIN_JSON);
87 operationalPolicyDeleteDelegate.execute(exchange);
90 verify(policyClient, never()).deleteBrms(any(ModelProperties.class));
93 @Test(expected = ModelBpmnException.class)
94 public void shouldThrowModelBpmnException() {
96 when(exchange.getProperty(eq(TEST_KEY))).thenReturn(false);
97 when(exchange.getProperty(eq(MODEL_BPMN_KEY))).thenReturn(NOT_JSON);
100 operationalPolicyDeleteDelegate.execute(exchange);
103 @Test(expected = NullPointerException.class)
104 public void shouldThrowNullPointerException() {
106 operationalPolicyDeleteDelegate.execute(exchange);