aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/test/java/org/onap/vid/job/command/MacroServiceCommandTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'vid-app-common/src/test/java/org/onap/vid/job/command/MacroServiceCommandTest.java')
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/job/command/MacroServiceCommandTest.java136
1 files changed, 136 insertions, 0 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/job/command/MacroServiceCommandTest.java b/vid-app-common/src/test/java/org/onap/vid/job/command/MacroServiceCommandTest.java
new file mode 100644
index 000000000..e4771611c
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/job/command/MacroServiceCommandTest.java
@@ -0,0 +1,136 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * VID
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.vid.job.command;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import static org.onap.vid.model.VidNotions.ModelCategory.INFRASTRUCTURE_VPN;
+import static org.onap.vid.model.VidNotions.ModelCategory.IS_5G_FABRIC_CONFIGURATION_MODEL;
+import static org.onap.vid.model.VidNotions.ModelCategory.IS_5G_PROVIDER_NETWORK_MODEL;
+import static org.onap.vid.model.VidNotions.ModelCategory.OTHER;
+import static org.onap.vid.model.VidNotions.ModelCategory.SERVICE_WITH_COLLECTION_RESOURCE;
+import static org.onap.vid.model.VidNotions.ModelCategory.Transport;
+import static org.testng.AssertJUnit.assertEquals;
+
+import com.google.common.collect.ImmutableList;
+import java.util.Collections;
+import java.util.List;
+import java.util.UUID;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.onap.vid.job.Job;
+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.VidNotions;
+import org.onap.vid.model.serviceInstantiation.BaseResource;
+import org.onap.vid.model.serviceInstantiation.ServiceInstantiation;
+import org.onap.vid.mso.RestMsoImplementation;
+import org.onap.vid.mso.rest.AsyncRequestStatus;
+import org.onap.vid.services.AsyncInstantiationBusinessLogic;
+import org.onap.vid.services.AuditService;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+public class MacroServiceCommandTest {
+
+ @Mock
+ private InProgressStatusService inProgressStatusService;
+
+ @Mock
+ private WatchChildrenJobsBL watchChildrenJobsB;
+
+ @Mock
+ private AsyncInstantiationBusinessLogic asyncInstantiationBL;
+
+ @Mock
+ private JobsBrokerService jobsBrokerService;
+
+ @Mock
+ private MsoRequestBuilder msoRequestBuilder;
+
+ @Mock
+ private MsoResultHandlerService msoResultHandlerService;
+
+ @Mock
+ private JobAdapter jobAdapter;
+
+ @Mock
+ private RestMsoImplementation restMso;
+
+ @Mock
+ private AuditService auditService;
+
+ @InjectMocks
+ private MacroServiceCommand macroServiceCommand;
+
+ @DataProvider
+ public static Object[][] modelCategoryPre1806DataProvider() {
+ return new Object[][]{
+ {IS_5G_PROVIDER_NETWORK_MODEL, false},
+ {IS_5G_FABRIC_CONFIGURATION_MODEL, false},
+ {Transport, true},
+ {SERVICE_WITH_COLLECTION_RESOURCE, true},
+ {INFRASTRUCTURE_VPN, true},
+ {OTHER, false},
+ };
+ }
+
+ @BeforeClass
+ public void initMocks() {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test(dataProvider = "modelCategoryPre1806DataProvider")
+ public void testShouldUsePre1806Request(VidNotions.ModelCategory modelCategory, boolean expectedResult) {
+ ServiceInstantiation serviceInstantiation = mock(ServiceInstantiation.class);
+ VidNotions vidNotions = mock(VidNotions.class);
+ when(serviceInstantiation.getVidNotions()).thenReturn(vidNotions);
+ when(vidNotions.getModelCategory()).thenReturn(modelCategory);
+ assertEquals(macroServiceCommand.shouldUsePre1806Request(serviceInstantiation), expectedResult);
+ }
+
+ @DataProvider
+ public static Object[][] MsoFilteredRequestsDataProvider() {
+ return new Object[][]{
+ {Collections.EMPTY_LIST},
+ {ImmutableList.of(new AsyncRequestStatus.Request())}
+ };
+ }
+
+ @Test(dataProvider = "MsoFilteredRequestsDataProvider")
+ public void givenResumeAction_whenCantRetrieveRequestIdFromMSO_thenJobIsFailed(List<AsyncRequestStatus.Request> requests) {
+ String instanceId = UUID.randomUUID().toString();
+ BaseResource baseResource = mock(BaseResource.class);
+ when(baseResource.getInstanceId()).thenReturn(instanceId);
+ when(baseResource.getAction()).thenReturn(Action.Resume);
+ macroServiceCommand.init(new JobSharedData(null, null, baseResource, null));
+ when(auditService.retrieveRequestsFromMsoByServiceIdAndRequestTypeAndScope(eq(instanceId), any(), any()))
+ .thenReturn(requests);
+ assertEquals(macroServiceCommand.resumeMyself(), Job.JobStatus.FAILED);
+ }
+
+}