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.bpmn.common.scripts
23 import org.junit.rules.ExpectedException
25 import static org.mockito.Mockito.*
27 import javax.ws.rs.NotFoundException
29 import org.camunda.bpm.engine.delegate.BpmnError
30 import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
31 import org.junit.Before
34 import org.mockito.ArgumentCaptor
35 import org.mockito.Captor
36 import org.mockito.MockitoAnnotations
37 import org.mockito.Spy
38 import org.onap.so.client.aai.AAIObjectType
39 import org.onap.so.client.aai.entities.uri.AAIResourceUri
40 import org.onap.so.client.aai.entities.uri.AAIUriFactory
41 import org.onap.aai.domain.yang.VfModule
43 import com.github.tomakehurst.wiremock.junit.WireMockRule
45 class UpdateAAIVfModuleTest extends MsoGroovyTest {
46 def prefix = "UAAIVfMod_"
49 public ExpectedException thrown = ExpectedException.none();
51 UpdateAAIVfModule updateAAIVfModule;
54 public WireMockRule wireMockRule = new WireMockRule(28090)
57 static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class)
60 void init() throws IOException {
61 super.init("UpdateAAIVfModule")
62 when(updateAAIVfModule.getAAIClient()).thenReturn(client)
66 void testGetVfModule() {
67 when(mockExecution.getVariable("prefix")).thenReturn(prefix)
68 when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
69 when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
70 VfModule vfModule = new VfModule()
71 vfModule.setVfModuleId("supercool")
72 AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, "skask", "supercool");
73 when(client.get(VfModule.class,resourceUri)).thenReturn(Optional.of(vfModule))
74 updateAAIVfModule.getVfModule(mockExecution)
75 verify(mockExecution).setVariable(prefix + "getVfModuleResponseCode", 200)
76 verify(mockExecution).setVariable(prefix + "getVfModuleResponse", vfModule)
80 void testGetVfModuleNotFound() {
81 when(mockExecution.getVariable("prefix")).thenReturn(prefix)
82 when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
83 when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
84 AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, "skask", "supercool");
85 when(client.get(VfModule.class,resourceUri)).thenReturn(Optional.empty())
86 updateAAIVfModule.getVfModule(mockExecution)
87 verify(mockExecution).setVariable(prefix + "getVfModuleResponseCode", 404)
88 verify(mockExecution).setVariable(prefix + "getVfModuleResponse", "VF Module not found in AAI")
92 void testGetVfModuleException() {
93 when(mockExecution.getVariable("prefix")).thenReturn(prefix)
94 when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
95 when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
96 AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, "skask", "supercool");
97 when(client.get(VfModule.class,resourceUri)).thenThrow(new NullPointerException("Error from AAI client"))
98 updateAAIVfModule.getVfModule(mockExecution)
99 verify(mockExecution).setVariable(prefix + "getVfModuleResponseCode", 500)
100 verify(mockExecution).setVariable(prefix + "getVfModuleResponse", "AAI GET Failed:"+"Error from AAI client")
105 void testUpdateVfModule() {
106 when(mockExecution.getVariable("prefix")).thenReturn(prefix)
107 when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
108 when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
109 when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
110 VfModule vfModule = new VfModule()
111 vfModule.setVfModuleId("supercool")
112 vfModule.setResourceVersion("12345")
113 when(mockExecution.getVariable(prefix + "getVfModuleResponse")).thenReturn(vfModule)
114 doNothing().when(client).update(isA(AAIResourceUri.class), anyObject())
115 updateAAIVfModule.updateVfModule(mockExecution)
119 void testUpdateVfModuleNotFound() throws BpmnError {
120 when(mockExecution.getVariable("prefix")).thenReturn(prefix)
121 when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
122 when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
123 when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
124 VfModule vfModule = new VfModule()
125 vfModule.setVfModuleId("supercool")
126 vfModule.setResourceVersion("12345")
127 when(mockExecution.getVariable(prefix + "getVfModuleResponse")).thenReturn(vfModule)
128 doThrow(new NotFoundException("Vf Module not found")).when(client).update(isA(AAIResourceUri.class), anyObject())
129 thrown.expect(BpmnError.class)
130 updateAAIVfModule.updateVfModule(mockExecution)
135 void testUpdateVfModuleException() {
136 when(mockExecution.getVariable("prefix")).thenReturn(prefix)
137 when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true")
138 when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("skask")
139 when(mockExecution.getVariable(prefix + "vfModuleId")).thenReturn("supercool")
140 VfModule vfModule = new VfModule()
141 vfModule.setVfModuleId("supercool")
142 vfModule.setResourceVersion("12345")
143 when(mockExecution.getVariable(prefix + "getVfModuleResponse")).thenReturn(vfModule)
144 doThrow(new IllegalStateException("Error in AAI client")).when(client).update(isA(AAIResourceUri.class), anyObject())
145 thrown.expect(BpmnError.class)
146 updateAAIVfModule.updateVfModule(mockExecution)