diff options
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/CommonImportManagerTest.java')
-rw-r--r-- | catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/CommonImportManagerTest.java | 150 |
1 files changed, 78 insertions, 72 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/CommonImportManagerTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/CommonImportManagerTest.java index 0527f372d4..b360a94862 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/CommonImportManagerTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/CommonImportManagerTest.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,7 +20,17 @@ package org.openecomp.sdc.be.components.impl; +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + import fj.data.Either; +import java.util.Arrays; +import java.util.List; +import java.util.function.BiFunction; +import java.util.function.Function; import org.apache.commons.lang3.tuple.ImmutablePair; import org.junit.Before; import org.junit.Test; @@ -34,31 +44,24 @@ import org.openecomp.sdc.be.dao.janusgraph.JanusGraphGenericDao; import org.openecomp.sdc.be.impl.ComponentsUtils; import org.openecomp.sdc.be.model.CapabilityTypeDefinition; import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus; +import org.openecomp.sdc.be.model.operations.impl.ModelOperation; import org.openecomp.sdc.be.model.operations.impl.PropertyOperation; import org.openecomp.sdc.exception.ResponseFormat; import org.openecomp.sdc.exception.ServiceException; -import java.util.Arrays; -import java.util.List; -import java.util.function.BiFunction; -import java.util.function.Function; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - @RunWith(MockitoJUnitRunner.class) public class CommonImportManagerTest { + private CommonImportManager commonImportManager; @Mock private ComponentsUtils componentsUtils; @Mock - PropertyOperation propertyOperation; + private PropertyOperation propertyOperation; + @Mock + private ModelOperation modelOperation; @Mock private JanusGraphGenericDao janusGraphGenericDao; - + @Mock private Function<Object, Either<ActionStatus, ResponseFormat>> validator; @Mock @@ -69,59 +72,60 @@ public class CommonImportManagerTest { private Function<Object, Either<Object, StorageOperationStatus>> elementAdder; @Mock private BiFunction<Object, Object, Either<Object, StorageOperationStatus>> elementUpgrader; - + @Before public void startUp() { - commonImportManager = new CommonImportManager(componentsUtils, propertyOperation); - + commonImportManager = new CommonImportManager(componentsUtils, propertyOperation, modelOperation); + when(propertyOperation.getJanusGraphGenericDao()).thenReturn(janusGraphGenericDao); } - + @Test public void testCreateElementTypesByDao_validationFailed() { Object type1 = new Object(); List<Object> elementTypesToCreate = Arrays.asList(type1); - - ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); + + ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); when(elementInfoGetter.apply(type1)).thenReturn(elementInfo); - + ResponseFormat responseFormat = new ResponseFormat(); responseFormat.setServiceException(new ServiceException()); when(validator.apply(type1)).thenReturn(Either.right(responseFormat)); + Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate, + validator, elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); - Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate , validator , elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); - verify(elementAdder, never()).apply(Mockito.any()); verify(elementUpgrader, never()).apply(Mockito.any(), Mockito.any()); verify(janusGraphGenericDao).rollback(); assertThat(result.isRight()).isTrue(); } - + @Test(expected = RuntimeException.class) public void testCreateElementTypesByDao_RuntTimeExceptionInValidation() { Object type1 = new Object(); List<Object> elementTypesToCreate = Arrays.asList(type1); - - ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); + + ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); when(elementInfoGetter.apply(type1)).thenReturn(elementInfo); when(validator.apply(type1)).thenThrow(new RuntimeException("Test Exception")); - - commonImportManager.createElementTypesByDao(elementTypesToCreate , validator , elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); - + + commonImportManager.createElementTypesByDao(elementTypesToCreate, validator, elementInfoGetter, elementFetcher, elementAdder, + elementUpgrader); + verify(elementAdder, never()).apply(Mockito.any()); verify(elementUpgrader, never()).apply(Mockito.any(), Mockito.any()); verify(janusGraphGenericDao).rollback(); } - + @Test public void testCreateElementTypesByDao_capabilityTypeFetcherFailed() { CapabilityTypeDefinition type1 = new CapabilityTypeDefinition(); List<Object> elementTypesToCreate = Arrays.asList(type1); - - ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); + + ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); when(elementInfoGetter.apply(type1)).thenReturn(elementInfo); - + when(validator.apply(type1)).thenReturn(Either.left(ActionStatus.OK)); when(elementFetcher.apply("TestCapability")).thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST)); ResponseFormat responseFormat = new ResponseFormat(); @@ -129,34 +133,34 @@ public class CommonImportManagerTest { when(componentsUtils.convertFromStorageResponseForCapabilityType(Mockito.any())).thenCallRealMethod(); when(componentsUtils.getResponseFormatByCapabilityType(ActionStatus.INVALID_CONTENT, type1)).thenReturn(responseFormat); + Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate, + validator, elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); - Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate , validator , elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); - verify(elementAdder, never()).apply(Mockito.any()); verify(elementUpgrader, never()).apply(Mockito.any(), Mockito.any()); verify(janusGraphGenericDao).rollback(); assertThat(result.isRight()).isTrue(); } - + @Test public void testCreateElementTypesByDao_capabilityTypeNotFound_AddFailed() { CapabilityTypeDefinition type1 = new CapabilityTypeDefinition(); List<Object> elementTypesToCreate = Arrays.asList(type1); - - ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); + + ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); when(elementInfoGetter.apply(type1)).thenReturn(elementInfo); - + when(validator.apply(type1)).thenReturn(Either.left(ActionStatus.OK)); when(elementFetcher.apply("TestCapability")).thenReturn(Either.right(StorageOperationStatus.NOT_FOUND)); when(elementAdder.apply(type1)).thenReturn(Either.right(StorageOperationStatus.SCHEMA_VIOLATION)); - + ResponseFormat responseFormat = new ResponseFormat(); responseFormat.setServiceException(new ServiceException()); when(componentsUtils.convertFromStorageResponseForCapabilityType(Mockito.any())).thenCallRealMethod(); when(componentsUtils.getResponseFormatByCapabilityType(ActionStatus.CAPABILITY_TYPE_ALREADY_EXIST, type1)).thenReturn(responseFormat); - - Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate , validator , elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); + Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate, + validator, elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); verify(elementAdder).apply(type1); verify(elementUpgrader, never()).apply(Mockito.any(), Mockito.any()); @@ -164,99 +168,101 @@ public class CommonImportManagerTest { assertThat(result.isRight()).isTrue(); } - + @Test public void testCreateElementTypesByDao_capabilityTypeNotFound_AddSucceeded() { CapabilityTypeDefinition type1 = new CapabilityTypeDefinition(); List<Object> elementTypesToCreate = Arrays.asList(type1); - - ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); + + ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); when(elementInfoGetter.apply(type1)).thenReturn(elementInfo); - + when(validator.apply(type1)).thenReturn(Either.left(ActionStatus.OK)); when(elementFetcher.apply("TestCapability")).thenReturn(Either.right(StorageOperationStatus.NOT_FOUND)); when(elementAdder.apply(type1)).thenReturn(Either.left(type1)); - - - Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate , validator , elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); + + Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate, + validator, elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); verify(elementAdder).apply(type1); verify(elementUpgrader, never()).apply(Mockito.any(), Mockito.any()); verify(janusGraphGenericDao).commit(); - + assertEquals(type1, result.left().value().get(0).getLeft()); assertEquals(true, result.left().value().get(0).getRight()); } - + @Test public void testCreateElementTypesByDao_capabilityTypeFound_UpgradeFailed() { CapabilityTypeDefinition type1 = new CapabilityTypeDefinition(); CapabilityTypeDefinition type1_1 = new CapabilityTypeDefinition(); List<Object> elementTypesToCreate = Arrays.asList(type1_1); - - ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); + + ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); when(elementInfoGetter.apply(type1_1)).thenReturn(elementInfo); - + when(validator.apply(type1_1)).thenReturn(Either.left(ActionStatus.OK)); when(elementFetcher.apply("TestCapability")).thenReturn(Either.left(type1)); when(elementUpgrader.apply(type1_1, type1)).thenReturn(Either.right(StorageOperationStatus.SCHEMA_VIOLATION)); - + ResponseFormat responseFormat = new ResponseFormat(); responseFormat.setServiceException(new ServiceException()); when(componentsUtils.convertFromStorageResponseForCapabilityType(Mockito.any())).thenCallRealMethod(); when(componentsUtils.getResponseFormatByCapabilityType(ActionStatus.CAPABILITY_TYPE_ALREADY_EXIST, type1_1)).thenReturn(responseFormat); - - Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate , validator , elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); + Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate, + validator, elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); verify(elementAdder, never()).apply(Mockito.any()); verify(elementUpgrader).apply(type1_1, type1); verify(janusGraphGenericDao).rollback(); assertThat(result.isRight()).isTrue(); } - + @Test public void testCreateElementTypesByDao_capabilityTypeFound_UpgradeSucceeded() { CapabilityTypeDefinition type1 = new CapabilityTypeDefinition(); CapabilityTypeDefinition type1_1 = new CapabilityTypeDefinition(); List<Object> elementTypesToCreate = Arrays.asList(type1_1); - - ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); + + ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); when(elementInfoGetter.apply(type1_1)).thenReturn(elementInfo); - + when(validator.apply(type1_1)).thenReturn(Either.left(ActionStatus.OK)); when(elementFetcher.apply("TestCapability")).thenReturn(Either.left(type1)); when(elementUpgrader.apply(type1_1, type1)).thenReturn(Either.left(type1_1)); - - Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate , validator , elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); + + Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate, + validator, elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); verify(elementAdder, never()).apply(Mockito.any()); verify(elementUpgrader).apply(type1_1, type1); verify(janusGraphGenericDao).commit(); - + assertEquals(type1_1, result.left().value().get(0).getLeft()); assertEquals(true, result.left().value().get(0).getRight()); } - + @Test public void testCreateElementTypesByDao_capabilityTypeFound_UpgradeAlreadyExists() { CapabilityTypeDefinition type1 = new CapabilityTypeDefinition(); CapabilityTypeDefinition type1_1 = new CapabilityTypeDefinition(); List<Object> elementTypesToCreate = Arrays.asList(type1_1); - - ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); + + ImmutablePair<ElementTypeEnum, String> elementInfo = new ImmutablePair<>(ElementTypeEnum.CAPABILITY_TYPE, "TestCapability"); when(elementInfoGetter.apply(type1_1)).thenReturn(elementInfo); - + when(validator.apply(type1_1)).thenReturn(Either.left(ActionStatus.OK)); when(elementFetcher.apply("TestCapability")).thenReturn(Either.left(type1)); when(elementUpgrader.apply(type1_1, type1)).thenReturn(Either.right(StorageOperationStatus.OK)); - - Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate , validator , elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); + + Either<List<ImmutablePair<Object, Boolean>>, ResponseFormat> result = commonImportManager.createElementTypesByDao(elementTypesToCreate, + validator, elementInfoGetter, elementFetcher, elementAdder, elementUpgrader); verify(elementAdder, never()).apply(Mockito.any()); verify(elementUpgrader).apply(type1_1, type1); verify(janusGraphGenericDao).commit(); - + assertEquals(type1_1, result.left().value().get(0).getLeft()); assertEquals(false, result.left().value().get(0).getRight()); } |