Add collaboration feature
[sdc.git] / openecomp-be / lib / openecomp-healing-lib / openecomp-sdc-healing-impl / src / test / java / org / openecomp / sdc / healing / healers / VspOnboardingMethodHealerTest.java
index b732cb0..5584a5f 100644 (file)
@@ -2,69 +2,77 @@ package org.openecomp.sdc.healing.healers;
 
 import org.junit.Before;
 import org.junit.Test;
+import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
-import org.openecomp.sdc.common.utils.SdcCommon;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDao;
 import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEntity;
 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
 import org.openecomp.sdc.versioning.dao.types.Version;
 
-import java.util.HashMap;
-import java.util.Map;
-
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Matchers.any;
 
-public class VspOnboardingMethodHealerTest{
+public class VspOnboardingMethodHealerTest {
+  private static final String vspId = "1";
+  private static final Version version = new Version(1, 1);
+
+  @Mock
+  private VendorSoftwareProductInfoDao vendorSoftwareProductInfoDao;
+  @Mock
+  private OrchestrationTemplateDao orchestrationTemplateDao;
+  @Mock
+  private OrchestrationTemplateCandidateDao candidateDao;
+  @InjectMocks
+  private VspOnboardingMethodHealer vspOnboardingMethodHealer;
+
+  private OrchestrationTemplateEntity orchestrationTemplateEntity = new OrchestrationTemplateEntity();
+  private OrchestrationTemplateCandidateData candidateData = new OrchestrationTemplateCandidateData();
+  private static final String NETWORK_PACKAGE = "NetworkPackage";
+  private static final String HEAT = "HEAT";
+  private static final String MANUAL = "Manual";
+
+  @Before
+  public void setUp() throws Exception {
+    MockitoAnnotations.initMocks(VspOnboardingMethodHealerTest.this);
+  }
+
+  @Test
+  public void checkHealingWithNullOnboarding() throws Exception {
+    VspDetails vspDetails = initAndExecuteHealer(null);
+    assertEquals(vspDetails.getOnboardingMethod(), NETWORK_PACKAGE);
+  }
 
-    @Mock
-    private VendorSoftwareProductInfoDao vendorSoftwareProductInfoDao;
+  @Test
+  public void checkHealingWithHEATOnboarding() throws Exception {
+    VspDetails vspDetails = initAndExecuteHealer(HEAT);
+    assertEquals(vspDetails.getOnboardingMethod(), NETWORK_PACKAGE);
+  }
 
-    @Before
-    public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(VspOnboardingMethodHealerTest.this);
-    }
+  @Test
+  public void checkHealingWithManualOnboarding() throws Exception {
+    VspDetails vspDetails = initAndExecuteHealer(MANUAL);
+    assertEquals(vspDetails.getOnboardingMethod(), MANUAL);
+  }
 
-    @Test
-    public void checkHealingWithNullOnboarding() throws Exception{
-        VspOnboardingMethodHealer vspOnboardingMethodHealer = new VspOnboardingMethodHealer(vendorSoftwareProductInfoDao);
-        Map<String,Object> params = new HashMap<>();
-        params.put(SdcCommon.VSP_ID,"1");
-        params.put(SdcCommon.VERSION, new Version(1,1));
-        VspDetails vspDetails = new VspDetails();
-        vspDetails.setOnboardingMethod(null);
-        Mockito.when(vendorSoftwareProductInfoDao.get(any())).thenReturn(vspDetails);
-        vspOnboardingMethodHealer.heal(params);
-        assertEquals(vspDetails.getOnboardingMethod(),"NetworkPackage");
-        assertEquals(vspDetails.getOnboardingOrigin(),"zip");
-    }
+  private VspDetails initAndExecuteHealer(String onboardingMethod) throws Exception {
+    VspDetails vspDetails = new VspDetails();
+    vspDetails.setOnboardingMethod(onboardingMethod);
 
-    @Test
-    public void checkHealingWithHEATOnboarding() throws Exception{
-        VspOnboardingMethodHealer vspOnboardingMethodHealer = new VspOnboardingMethodHealer(vendorSoftwareProductInfoDao);
-        Map<String,Object> params = new HashMap<>();
-        params.put(SdcCommon.VSP_ID,"1");
-        params.put(SdcCommon.VERSION, new Version(1,1));
-        VspDetails vspDetails = new VspDetails();
-        vspDetails.setOnboardingMethod("HEAT");
-        Mockito.when(vendorSoftwareProductInfoDao.get(any())).thenReturn(vspDetails);
-        vspOnboardingMethodHealer.heal(params);
-        assertEquals(vspDetails.getOnboardingMethod(),"NetworkPackage");
-        assertEquals(vspDetails.getOnboardingOrigin(),"zip");
-    }
+    setMockActions(vspDetails);
+    vspOnboardingMethodHealer.heal(vspId, version);
+    return vspDetails;
+  }
 
-    @Test
-    public void checkHealingWithManualOnboarding() throws Exception{
-        VspOnboardingMethodHealer vspOnboardingMethodHealer = new VspOnboardingMethodHealer(vendorSoftwareProductInfoDao);
-        Map<String,Object> params = new HashMap<>();
-        params.put(SdcCommon.VSP_ID,"1");
-        params.put(SdcCommon.VERSION, new Version(1,1));
-        VspDetails vspDetails = new VspDetails();
-        vspDetails.setOnboardingMethod("Manual");
-        Mockito.when(vendorSoftwareProductInfoDao.get(any())).thenReturn(vspDetails);
-        vspOnboardingMethodHealer.heal(params);
-        assertEquals(vspDetails.getOnboardingMethod(),"Manual");
-        assertEquals(vspDetails.getOnboardingOrigin(),null);
-    }
+  private void setMockActions(VspDetails vspDetails) {
+    Mockito.doReturn(vspDetails).when(vendorSoftwareProductInfoDao).get(any());
+    Mockito.doReturn(orchestrationTemplateEntity).when(orchestrationTemplateDao).get(any(), any());
+    Mockito.doNothing().when(orchestrationTemplateDao).update(any(), any(), any());
+    Mockito.doReturn(candidateData).when(candidateDao).get(any(), any());
+    Mockito.doNothing().when(candidateDao).update(any(), any(), any());
+  }
 }
\ No newline at end of file