9b283fea0a5fde6a39589c0c48df3b8772b01500
[policy/models.git] / models-interactions / model-actors / actor.aai / src / test / java / org / onap / policy / controlloop / actor / aai / AaiGetOperationTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2023 Nordix Foundation.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.controlloop.actor.aai;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertSame;
26 import static org.mockito.ArgumentMatchers.any;
27 import static org.mockito.Mockito.mock;
28 import static org.mockito.Mockito.times;
29 import static org.mockito.Mockito.verify;
30 import static org.mockito.Mockito.when;
31
32 import java.util.Map;
33 import javax.ws.rs.client.Invocation.Builder;
34 import javax.ws.rs.client.WebTarget;
35 import org.junit.AfterClass;
36 import org.junit.Before;
37 import org.junit.BeforeClass;
38 import org.junit.Test;
39 import org.junit.runner.RunWith;
40 import org.mockito.junit.MockitoJUnitRunner;
41 import org.onap.policy.aai.AaiConstants;
42
43 @RunWith(MockitoJUnitRunner.class)
44 public class AaiGetOperationTest extends BasicAaiOperation {
45     private static final String MY_NAME = "my-operation-name";
46     private static final String PARAM_NAME = "my-param";
47     private static final String PARAM_VALUE = "my-value";
48
49     private AaiGetOperation oper;
50
51     public AaiGetOperationTest() {
52         super(AaiConstants.ACTOR_NAME, MY_NAME);
53     }
54
55     @BeforeClass
56     public static void setUpBeforeClass() throws Exception {
57         initBeforeClass();
58     }
59
60     @AfterClass
61     public static void tearDownAfterClass() {
62         destroyAfterClass();
63     }
64
65     /**
66      * Sets up.
67      */
68     @Before
69     public void setUp() throws Exception {
70         super.setUpBasic();
71         oper = new AaiGetOperation(params, config);
72     }
73
74     @Test
75     public void testConstructor() {
76         assertEquals(AaiConstants.ACTOR_NAME, oper.getActorName());
77         assertEquals(MY_NAME, oper.getName());
78     }
79
80     @Test
81     public void testGenerateSubRequestId() {
82         oper.generateSubRequestId(3);
83         assertEquals("3", oper.getSubRequestId());
84     }
85
86     @Test
87     public void testAddQuery() {
88         WebTarget web = mock(WebTarget.class);
89         when(web.queryParam(any(), any())).thenReturn(web);
90
91         StringBuilder bldr = new StringBuilder();
92
93         assertSame(web, oper.addQuery(web, bldr, ",", PARAM_NAME, PARAM_VALUE));
94         assertEquals(",my-param=my-value", bldr.toString());
95     }
96
97     @Test
98     public void testAddHeaders() {
99         Builder bldr = mock(Builder.class);
100         oper.addHeaders(bldr, Map.of("hdrA", "valA", "hdrB", "valB"));
101
102         verify(bldr, times(2)).header(any(), any());
103         verify(bldr).header("hdrA", "valA");
104         verify(bldr).header("hdrB", "valB");
105     }
106
107     @Test
108     public void testGetRetry() {
109         // use default if null retry
110         assertEquals(AaiGetOperation.DEFAULT_RETRY, oper.getRetry(null));
111
112         // otherwise, use specified value
113         assertEquals(0, oper.getRetry(0));
114         assertEquals(10, oper.getRetry(10));
115     }
116
117     @Test
118     public void testMakeHeaders() {
119         verifyHeaders(oper.makeHeaders());
120     }
121 }