2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 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
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=========================================================
21 package org.onap.so.client.orchestration;
23 import static org.junit.Assert.assertEquals;
24 import static org.mockito.ArgumentMatchers.any;
25 import static org.mockito.ArgumentMatchers.isA;
26 import static org.mockito.Mockito.doReturn;
27 import static org.mockito.Mockito.times;
28 import static org.mockito.Mockito.verify;
30 import java.util.List;
32 import org.junit.Before;
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.junit.MockitoJUnitRunner;
38 import org.onap.so.bpmn.common.data.TestDataSetup;
39 import org.onap.namingservice.model.Deleteelement;
40 import org.onap.namingservice.model.Element;
41 import org.onap.namingservice.model.NameGenDeleteRequest;
42 import org.onap.namingservice.model.NameGenDeleteResponse;
43 import org.onap.namingservice.model.NameGenRequest;
44 import org.onap.namingservice.model.NameGenResponse;
45 import org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup;
46 import org.onap.so.client.namingservice.NamingClient;
47 import org.onap.so.client.namingservice.NamingRequestObjectBuilder;
48 import org.springframework.http.HttpStatus;
49 import org.springframework.http.ResponseEntity;
51 @RunWith(MockitoJUnitRunner.Silent.class)
52 public class NamingServiceResourcesTest extends TestDataSetup{
54 private NamingServiceResources namingServiceResources = new NamingServiceResources();
56 private InstanceGroup instanceGroup;
59 protected NamingRequestObjectBuilder MOCK_namingRequestObjectBuilder;
62 protected NamingClient MOCK_namingClient;
65 public void before() {
66 instanceGroup = buildInstanceGroup();
70 public void generateInstanceGroupNameTest() throws Exception {
71 NameGenResponse name = new NameGenResponse();
72 ResponseEntity<NameGenResponse> resp = new ResponseEntity<>(name, null, HttpStatus.OK);
73 Element element = new Element();
75 NameGenRequest req = new NameGenRequest();
76 doReturn(element).when(MOCK_namingRequestObjectBuilder).elementMapper(isA(String.class), isA(String.class),
77 isA(String.class), isA(String.class), isA(String.class));
78 doReturn("generatedInstanceGroupName").when(MOCK_namingClient).postNameGenRequest(isA(NameGenRequest.class));
79 doReturn(req).when(MOCK_namingRequestObjectBuilder).nameGenRequestMapper(isA(List.class));
81 String generatedName = namingServiceResources.generateInstanceGroupName(instanceGroup, "policyInstanceName", "nfNamingCode");
83 verify(MOCK_namingClient, times(1)).postNameGenRequest(any(NameGenRequest.class));
84 assertEquals(generatedName, "generatedInstanceGroupName");
88 public void deleteInstanceGroupNameTest() throws Exception {
89 NameGenDeleteResponse name = new NameGenDeleteResponse();
90 ResponseEntity<NameGenDeleteResponse> resp = new ResponseEntity<>(name, null, HttpStatus.OK);
91 Deleteelement deleteElement = new Deleteelement();
92 deleteElement.setExternalKey(instanceGroup.getId());
93 NameGenDeleteRequest req = new NameGenDeleteRequest();
94 doReturn(deleteElement).when(MOCK_namingRequestObjectBuilder).deleteElementMapper(isA(String.class));
95 doReturn("").when(MOCK_namingClient).deleteNameGenRequest(isA(NameGenDeleteRequest.class));
96 doReturn(req).when(MOCK_namingRequestObjectBuilder).nameGenDeleteRequestMapper(isA(List.class));
98 namingServiceResources.deleteInstanceGroupName(instanceGroup);
100 verify(MOCK_namingClient, times(1)).deleteNameGenRequest(any(NameGenDeleteRequest.class));