aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/test/java/org/onap/vid/job/command/InstanceGroupCommandTest.java
diff options
context:
space:
mode:
authorEinat Vinouze <einat.vinouze@intl.att.com>2019-07-16 17:17:36 +0300
committerIttay Stern <ittay.stern@att.com>2019-07-30 06:01:44 +0300
commite601bbdc43bae9a08e2e10c5139a6f76b47860d7 (patch)
tree1913f0b369ead3f2ea5557e5649d8281eca9871c /vid-app-common/src/test/java/org/onap/vid/job/command/InstanceGroupCommandTest.java
parent76c6ee4a697617ec4cdee2f3b48bc83136c858c5 (diff)
Implant vid-app-common org.onap.vid.job (main and test)
Issue-ID: VID-378 Change-Id: I41b0bdc2c4e3635f3f3319b1cd63cefc61912dfc Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com> Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-app-common/src/test/java/org/onap/vid/job/command/InstanceGroupCommandTest.java')
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/job/command/InstanceGroupCommandTest.java71
1 files changed, 49 insertions, 22 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/job/command/InstanceGroupCommandTest.java b/vid-app-common/src/test/java/org/onap/vid/job/command/InstanceGroupCommandTest.java
index b4a5c64f5..c68c5f754 100644
--- a/vid-app-common/src/test/java/org/onap/vid/job/command/InstanceGroupCommandTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/job/command/InstanceGroupCommandTest.java
@@ -7,9 +7,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,29 +20,35 @@
package org.onap.vid.job.command;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.only;
-import static org.mockito.Mockito.same;
-import static org.mockito.Mockito.verify;
-
import com.google.common.collect.ImmutableMap;
-import java.util.Optional;
+import org.apache.commons.beanutils.BeanUtils;
import org.mockito.Answers;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.onap.vid.job.JobAdapter;
+import org.onap.vid.job.JobsBrokerService;
import org.onap.vid.job.impl.JobSharedData;
+import org.onap.vid.model.Action;
import org.onap.vid.model.RequestReferencesContainer;
import org.onap.vid.model.serviceInstantiation.InstanceGroup;
import org.onap.vid.mso.RestMsoImplementation;
import org.onap.vid.mso.model.ModelInfo;
import org.onap.vid.services.AsyncInstantiationBusinessLogic;
-import org.onap.vid.testUtils.TestUtils;
import org.springframework.http.HttpMethod;
import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
+import java.util.Optional;
+import java.util.Set;
+
+import static java.util.function.Function.identity;
+import static java.util.stream.Collectors.toMap;
+import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.*;
+
public class InstanceGroupCommandTest {
@Mock(answer = Answers.RETURNS_MOCKS)
@@ -53,11 +59,20 @@ public class InstanceGroupCommandTest {
@Mock(answer = Answers.RETURNS_MOCKS)
MsoResultHandlerService msoResultHandlerService;
+ @Mock(answer = Answers.RETURNS_MOCKS)
+ MsoRequestBuilder msoRequestBuilder;
+
@Mock WatchChildrenJobsBL watchChildrenJobsBL;
@Mock(answer = Answers.RETURNS_MOCKS)
AsyncInstantiationBusinessLogic asyncInstantiationBL;
+ @Mock(answer = Answers.RETURNS_MOCKS)
+ JobsBrokerService jobsBrokerService;
+
+ @Mock(answer = Answers.RETURNS_MOCKS)
+ JobAdapter jobAdapter;
+
@Mock InProgressStatusService inProgressStatusService;
@InjectMocks
@@ -68,29 +83,41 @@ public class InstanceGroupCommandTest {
command = null;
MockitoAnnotations.initMocks(this);
}
-
- @Test
- public void createMyself_callsMso() {
- final ModelInfo serviceModelInfo = setStrings(new ModelInfo());
+ @DataProvider
+ public static Object[][] testApis() {
+ return new Object[][]{
+ {"VNF_API"}, {null}};
+ }
+ @Test(dataProvider = "testApis")
+ public void createMyself_callsMso(String testApi) {
+ final ModelInfo serviceModelInfo = setRandomStrings(new ModelInfo());
final String serviceInstanceId = "service-instance-id";
final String userId = "ff3223";
- command.init(new JobSharedData(
- null, userId, instanceGroupRequest
- ), ImmutableMap.of(
+ when(instanceGroupRequest.getAction()).thenReturn(Action.Delete);
+
+ JobSharedData sharedData = new JobSharedData(
+ null, userId, instanceGroupRequest, testApi);
+ command.init(sharedData, ImmutableMap.of(
"resourceModelInfos", ImmutableMap.of("SERVICE_MODEL_INFO", serviceModelInfo),
"resourceInstancesIds", ImmutableMap.of("SERVICE_INSTANCE_ID", serviceInstanceId)
));
command.createMyself();
- verify(asyncInstantiationBL).generateInstanceGroupInstantiationRequest(
- same(instanceGroupRequest), eq(serviceModelInfo), eq(serviceInstanceId), eq(userId));
+ verify(msoRequestBuilder).generateInstanceGroupInstantiationRequest(
+ same(instanceGroupRequest), eq(serviceModelInfo), eq(serviceInstanceId), eq(userId), eq(testApi));
verify(restMso, only()).restCall(eq(HttpMethod.POST), eq(RequestReferencesContainer.class), any(), any(), eq(Optional.empty()));
-
}
- private ModelInfo setStrings(ModelInfo object) {
- return TestUtils.setStringsInStringProperties(object);
+ private ModelInfo setRandomStrings(ModelInfo object) {
+ try {
+ Set<String> fields = BeanUtils.describe(object).keySet();
+ BeanUtils.populate(object,
+ fields.stream().collect(toMap(identity(), s -> randomAlphanumeric(4))));
+ return object;
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
}
}