* 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.
+ * ================================================================================
+ * Modifications copyright (c) 2019 Nokia
+ * ================================================================================
*/
package org.openecomp.sdc.be.components.impl;
import org.openecomp.sdc.be.auditing.impl.AuditingManager;
import org.openecomp.sdc.be.components.validation.RequirementValidation;
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.dao.titan.TitanOperationStatus;
+import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
+import org.openecomp.sdc.be.dao.janusgraph.JanusGraphDao;
import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
import org.openecomp.sdc.be.impl.ComponentsUtils;
import org.openecomp.sdc.be.model.Resource;
import org.openecomp.sdc.be.model.Service;
import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.be.model.jsontitan.operations.RequirementOperation;
-import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
+import org.openecomp.sdc.be.model.jsonjanusgraph.operations.RequirementOperation;
+import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
import org.openecomp.sdc.be.model.operations.impl.GraphLockOperation;
import org.openecomp.sdc.be.user.Role;
import org.openecomp.sdc.be.user.UserBusinessLogic;
-import org.openecomp.sdc.common.api.ConfigurationSource;
import org.openecomp.sdc.common.impl.ExternalConfiguration;
-import org.openecomp.sdc.common.impl.FSConfigurationSource;
import org.openecomp.sdc.exception.ResponseFormat;
import java.util.ArrayList;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyCollection;
-import static org.mockito.ArgumentMatchers.anyObject;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.when;
-public class RequirementBusinessLogicTest {
+public class RequirementBusinessLogicTest extends BaseBusinessLogicMock {
private final String componentId = "resourceId1";
private final String requirementId = "uniqueId1";
- private final TitanDao mockTitanDao = Mockito.mock(TitanDao.class);
+ private final JanusGraphDao mockJanusGraphDao = Mockito.mock(JanusGraphDao.class);
private final UserBusinessLogic mockUserAdmin = Mockito.mock(UserBusinessLogic.class);
private final ToscaOperationFacade toscaOperationFacade = Mockito.mock(ToscaOperationFacade.class);
private final UserValidations userValidations = Mockito.mock(UserValidations.class);
private User user = null;
@InjectMocks
- private RequirementBusinessLogic requirementsBusinessLogicMock = new RequirementBusinessLogic();
+ private RequirementBusinessLogic requirementsBusinessLogicMock = new RequirementBusinessLogic(elementDao,
+ groupOperation, groupInstanceOperation, groupTypeOperation, interfaceOperation,
+ interfaceLifecycleTypeOperation, artifactToscaOperation);
@Before
public void setup() {
- MockitoAnnotations.initMocks(this);
+ MockitoAnnotations.openMocks(this);
ExternalConfiguration.setAppName("catalog-be");
- // init Configuration
- String appConfigDir = "src/test/resources/config/catalog-be";
- ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration
- .getChangeListener(), appConfigDir);
- ConfigurationManager configurationManager = new ConfigurationManager(configurationSource);
-
ComponentsUtils componentsUtils = new ComponentsUtils(Mockito.mock(AuditingManager.class));
// User data and management
user = new User();
user.setLastName("Hendrix");
user.setRole(Role.ADMIN.name());
- Either<User, ActionStatus> eitherGetUser = Either.left(user);
- when(mockUserAdmin.getUser("jh0003", false)).thenReturn(eitherGetUser);
+ when(mockUserAdmin.getUser("jh0003", false)).thenReturn(user);
when(graphLockOperation.lockComponent(Mockito.anyString(), eq(NodeTypeEnum.Resource)))
.thenReturn(StorageOperationStatus.OK);
//CapabilityOperation
- when(requirementValidation.validateRequirements(anyCollection(), anyObject(), anyBoolean()))
+ when(requirementValidation.validateRequirements(anyCollection(), any(), anyBoolean()))
.thenReturn(Either.left(true));
- when(requirementOperation.addRequirement(anyString(), anyObject()))
+ when(requirementOperation.addRequirement(anyString(), any()))
.thenReturn(Either.left(createMockRequirementListToReturn(createRequirement(
"reqName", "capType", "node", "source1",
"0", "10"))));
- when(requirementOperation.updateRequirement(anyString(), anyObject()))
+ when(requirementOperation.updateRequirement(anyString(), any()))
.thenReturn(Either.left(createMockRequirementListToReturn(createRequirement(
"reqName", "capType", "node", "source1",
"0", "10"))));
- when(requirementOperation.deleteRequirements( anyObject(), anyString()))
+ when(requirementOperation.deleteRequirements( any(), anyString()))
.thenReturn(StorageOperationStatus.OK);
- when(mockTitanDao.commit()).thenReturn(TitanOperationStatus.OK);
+ when(mockJanusGraphDao.commit()).thenReturn(JanusGraphOperationStatus.OK);
- requirementsBusinessLogicMock = new RequirementBusinessLogic();
+ requirementsBusinessLogicMock = new RequirementBusinessLogic(elementDao,
+ groupOperation, groupInstanceOperation, groupTypeOperation, interfaceOperation,
+ interfaceLifecycleTypeOperation, artifactToscaOperation);
requirementsBusinessLogicMock.setComponentsUtils(componentsUtils);
requirementsBusinessLogicMock.setUserAdmin(mockUserAdmin);
requirementsBusinessLogicMock.setGraphLockOperation(graphLockOperation);
- requirementsBusinessLogicMock.setTitanGenericDao(mockTitanDao);
+ requirementsBusinessLogicMock.setJanusGraphDao(mockJanusGraphDao);
requirementsBusinessLogicMock.setToscaOperationFacade(toscaOperationFacade);
requirementsBusinessLogicMock.setUserValidations(userValidations);
requirementsBusinessLogicMock.setRequirementOperation(requirementOperation);
}
@Test
- public void shouldFailUpdateRequirementWhenOperationFailedInTitan(){
+ public void shouldFailUpdateRequirementWhenOperationFailedInJanusGraph(){
List<RequirementDefinition> requirementDefinitions = createMockRequirementListToReturn(
createRequirement("reqName", "capType", "node", "source1",
"6", "11"));
Resource resource = createComponent(true);
resource.setComponentType(ComponentTypeEnum.RESOURCE);
validateUserRoles(Role.ADMIN, Role.DESIGNER);
- when(requirementOperation.addRequirement(anyString(), anyObject()))
+ when(requirementOperation.addRequirement(anyString(), any()))
.thenReturn(Either.right(StorageOperationStatus.GENERAL_ERROR));
- when(requirementOperation.updateRequirement(anyString(), anyObject()))
+ when(requirementOperation.updateRequirement(anyString(), any()))
.thenReturn(Either.right(StorageOperationStatus.GENERAL_ERROR));
when(toscaOperationFacade.getToscaElement(anyString(), any(ComponentParametersView.class)))
.thenReturn(Either.left(resource));
@Test
- public void shouldFailDeleteRequirementWhenOperationFailedInTitan(){
+ public void shouldFailDeleteRequirementWhenOperationFailedInJanusGraph(){
Resource resource = createComponent(true);
resource.setComponentType(ComponentTypeEnum.RESOURCE);
validateUserRoles(Role.ADMIN, Role.DESIGNER);
.thenReturn(Either.left(resource));
when(toscaOperationFacade.getParentComponents(anyString()))
.thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
- when(requirementOperation.deleteRequirements(anyObject(), anyString()))
+ when(requirementOperation.deleteRequirements(any(), anyString()))
.thenReturn(StorageOperationStatus.GENERAL_ERROR);
Either<RequirementDefinition, ResponseFormat> deleteRequirementEither
= requirementsBusinessLogicMock.deleteRequirement(componentId, requirementId, user, true);
return service;
}
-}
\ No newline at end of file
+}