Add new test cases for uncovered conditions. 32/72532/6
authorisaac.manuelraj <isaac.manuelraj@huawei.com>
Tue, 13 Nov 2018 11:46:05 +0000 (17:16 +0530)
committerTal Gitelman <tal.gitelman@att.com>
Thu, 29 Nov 2018 10:40:35 +0000 (10:40 +0000)
Added new test cases on top of existing test cases.
Rebased it based on comment.

Issue-ID: SDC-1774

Change-Id: I8d09c51cec2469049bde2ba8f77f597c6f418b7b
Signed-off-by: isaac.manuelraj <isaac.manuelraj@huawei.com>
catalog-be/src/test/java/org/openecomp/sdc/be/components/PropertyBusinessLogicTest.java
catalog-be/src/test/java/org/openecomp/sdc/be/impl/ComponentsUtilsTest.java

index 63c5dc9..f55f461 100644 (file)
@@ -23,21 +23,26 @@ package org.openecomp.sdc.be.components;
 import fj.data.Either;
 import org.junit.Before;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.openecomp.sdc.be.components.impl.BaseBusinessLogic;
 import org.openecomp.sdc.be.components.impl.PropertyBusinessLogic;
 import org.openecomp.sdc.be.components.validation.UserValidations;
 import org.openecomp.sdc.be.config.ConfigurationManager;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
+import org.openecomp.sdc.be.dao.jsongraph.TitanDao;
+import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
 import org.openecomp.sdc.be.impl.ComponentsUtils;
 import org.openecomp.sdc.be.impl.WebAppContextWrapper;
-import org.openecomp.sdc.be.model.PropertyDefinition;
-import org.openecomp.sdc.be.model.Resource;
-import org.openecomp.sdc.be.model.User;
+import org.openecomp.sdc.be.model.*;
 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
+import org.openecomp.sdc.be.model.operations.api.IGraphLockOperation;
 import org.openecomp.sdc.be.model.operations.api.IPropertyOperation;
+import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
 import org.openecomp.sdc.be.user.Role;
 import org.openecomp.sdc.be.user.UserBusinessLogic;
 import org.openecomp.sdc.common.api.ConfigurationSource;
@@ -48,19 +53,24 @@ import org.openecomp.sdc.exception.ResponseFormat;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.web.context.WebApplicationContext;
-
 import javax.servlet.ServletContext;
+import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
-
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+import static org.junit.runner.Request.method;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.when;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.*;
 
 public class PropertyBusinessLogicTest {
 
@@ -83,11 +93,17 @@ public class PropertyBusinessLogicTest {
     @Mock
     private UserValidations userValidations;
 
+    @Mock
+    IGraphLockOperation graphLockOperation;
+
     @InjectMocks
     private PropertyBusinessLogic bl = new PropertyBusinessLogic();
     private User user = null;
     private String resourceId = "resourceforproperty.0.1";
 
+    @Mock
+    TitanDao titanDao;
+
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
@@ -172,4 +188,119 @@ public class PropertyBusinessLogicTest {
         pd.setUniqueId(resourceId + "." + propertyName);
         return pd;
     }
+
+    @Test
+    public void deleteProperty_CONNECTION_FAILURE() {
+        StorageOperationStatus lockResult = StorageOperationStatus.CONNECTION_FAILURE;
+        when(graphLockOperation.lockComponent(any(), any())).thenReturn(lockResult);
+        assertTrue(bl.deleteProperty("resourceforproperty.0.1", "someProperty","i726").isRight());
+    }
+
+    @Test
+    public void deleteProperty_RESOURCE_NOT_FOUND() throws Exception {
+
+        Resource resource = new Resource();
+        PropertyDefinition property1 = createPropertyObject("someProperty", "someResource");
+
+        resource.setProperties(Arrays.asList(property1));
+        String resourceId = "myResource";
+        resource.setUniqueId(resourceId);
+
+        Field baseBusinessLogic3;
+        baseBusinessLogic3 = bl.getClass().getSuperclass().getDeclaredField("titanDao");
+        baseBusinessLogic3.setAccessible(true);
+        baseBusinessLogic3.set(bl, titanDao);
+
+
+        Mockito.when(toscaOperationFacade.getToscaElement(resourceId)).thenReturn(Either.left(resource));
+
+        StorageOperationStatus lockResult = StorageOperationStatus.OK;
+        when(graphLockOperation.lockComponent(any(), any())).thenReturn(lockResult);
+        //doNothing().when(titanDao).commit();
+
+        Either<PropertyDefinition, ResponseFormat> result;
+
+        Component resourcereturn= new Resource();
+        resourcereturn.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
+        resourcereturn.setIsDeleted(false);
+        resourcereturn.setLastUpdaterUserId("USR01");
+
+        Either<Component, StorageOperationStatus> toscastatus=Either.left(resource);
+        when(toscaOperationFacade.getToscaElement("RES01")).thenReturn(toscastatus);
+
+
+        assertTrue(bl.deleteProperty("RES01", "someProperty","i726").isRight());
+    }
+
+    @Test
+    public void deleteProperty_RESTRICTED_OPERATION() throws Exception {
+
+        Resource resource = new Resource();
+        PropertyDefinition property1 = createPropertyObject("someProperty", "someResource");
+
+        resource.setProperties(Arrays.asList(property1));
+        String resourceId = "myResource";
+        resource.setUniqueId(resourceId);
+
+        Field baseBusinessLogic3;
+        baseBusinessLogic3 = bl.getClass().getSuperclass().getDeclaredField("titanDao");
+        baseBusinessLogic3.setAccessible(true);
+        baseBusinessLogic3.set(bl, titanDao);
+
+
+        Mockito.when(toscaOperationFacade.getToscaElement(resourceId)).thenReturn(Either.left(resource));
+
+        StorageOperationStatus lockResult = StorageOperationStatus.OK;
+        when(graphLockOperation.lockComponent(any(), any())).thenReturn(lockResult);
+        //doNothing().when(titanDao).commit();
+
+        Either<PropertyDefinition, ResponseFormat> result;
+
+        Component resourcereturn= new Resource();
+        resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
+        resource.setIsDeleted(false);
+        resource.setLastUpdaterUserId("USR01");
+
+        Either<Component, StorageOperationStatus> toscastatus=Either.left(resource);
+        when(toscaOperationFacade.getToscaElement("RES01")).thenReturn(toscastatus);
+
+
+        assertTrue(bl.deleteProperty("RES01", "someProperty","i726").isRight());
+    }
+
+    @Test
+    public void deleteProperty_RESTRICTED_() throws Exception {
+
+        Resource resource = new Resource();
+        PropertyDefinition property1 = createPropertyObject("PROP", "RES01");
+        property1.setUniqueId("PROP");
+        resource.setProperties(Arrays.asList(property1));
+        String resourceId = "myResource";
+        resource.setUniqueId(resourceId);
+
+        Field baseBusinessLogic3;
+        baseBusinessLogic3 = bl.getClass().getSuperclass().getDeclaredField("titanDao");
+        baseBusinessLogic3.setAccessible(true);
+        baseBusinessLogic3.set(bl, titanDao);
+
+
+        Mockito.when(toscaOperationFacade.getToscaElement(resourceId)).thenReturn(Either.left(resource));
+
+        StorageOperationStatus lockResult = StorageOperationStatus.OK;
+        when(graphLockOperation.lockComponent(any(), any())).thenReturn(lockResult);
+        //doNothing().when(titanDao).commit();
+
+        Either<PropertyDefinition, ResponseFormat> result;
+
+        Component resourcereturn= new Resource();
+        resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
+        resource.setIsDeleted(false);
+        resource.setLastUpdaterUserId("USR01");
+
+        Either<Component, StorageOperationStatus> toscastatus=Either.left(resource);
+        when(toscaOperationFacade.getToscaElement("RES01")).thenReturn(toscastatus);
+        when(toscaOperationFacade.deletePropertyOfResource(anyObject(),anyString())).thenReturn(StorageOperationStatus.OK);
+
+        assertTrue(bl.deleteProperty("RES01", "PROP","USR01").isRight());
+    }
 }
index 60e93f0..74ce6f1 100644 (file)
@@ -276,12 +276,6 @@ public class ComponentsUtilsTest {
                                currentArtifactUuid, null);
        }
 
-
-       
-
-
-
-       
        @Test
        public void testConvertFromStorageResponse() throws Exception {
                ComponentsUtils testSubject;