From 4f2c479d87e205dbc8c8bbf1bcea885e1a5e594a Mon Sep 17 00:00:00 2001 From: Irwin Dunietz Date: Wed, 11 Apr 2018 16:55:34 -0400 Subject: [PATCH] Add junit tests to LocalRequestValidatorImpl class Introduce additional junit tests for LocalRequestValidatorImpl class Change-Id: Iea8cabafab55d6b948303b8d4fa3c427efad44c2 Issue-ID: APPC-850 Signed-off-by: Irwin Dunietz --- .../impl/LocalRequestValidatorImplTest.java | 49 +++++++++++++++++----- 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/onap/appc/requesthandler/impl/LocalRequestValidatorImplTest.java b/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/onap/appc/requesthandler/impl/LocalRequestValidatorImplTest.java index 3e2c7d7b3..51dfa6a1b 100644 --- a/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/onap/appc/requesthandler/impl/LocalRequestValidatorImplTest.java +++ b/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/onap/appc/requesthandler/impl/LocalRequestValidatorImplTest.java @@ -2,34 +2,36 @@ * ============LICENSE_START======================================================= * ONAP : APPC * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Copyright (C) 2017 Amdocs * ============================================================================= * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. * ============LICENSE_END========================================================= */ package org.onap.appc.requesthandler.impl; +// import com.att.eelf.configuration.EELFLogger; +// import com.att.eelf.configuration.EELFManager; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; +import org.mockito.Matchers; import org.mockito.runners.MockitoJUnitRunner; +import org.onap.appc.domainmodel.lcm.ActionIdentifiers; import org.onap.appc.domainmodel.lcm.ActionLevel; import org.onap.appc.domainmodel.lcm.RuntimeContext; import org.onap.appc.domainmodel.lcm.VNFOperation; @@ -37,6 +39,7 @@ import org.onap.appc.exceptions.InvalidInputException; import org.onap.appc.requesthandler.LCMStateManager; import org.onap.appc.requesthandler.exceptions.DuplicateRequestException; import org.onap.appc.requesthandler.exceptions.LCMOperationsDisabledException; +import org.onap.appc.transactionrecorder.TransactionRecorder; import static org.powermock.api.mockito.PowerMockito.spy; @@ -46,17 +49,24 @@ import static org.powermock.api.mockito.PowerMockito.spy; @RunWith(MockitoJUnitRunner.class) public class LocalRequestValidatorImplTest implements LocalRequestHanlderTestHelper { + // protected final EELFLogger logger = EELFManager.getInstance().getLogger(LocalRequestValidatorImplTest.class); + @Mock private LCMStateManager lcmStateManager; + @Mock + private TransactionRecorder transactionRecorder; + LocalRequestValidatorImpl requestValidator; @Before public void setUp() throws Exception { requestValidator = spy(new LocalRequestValidatorImpl()); requestValidator.setLcmStateManager(lcmStateManager); + requestValidator.setTransactionRecorder(transactionRecorder); Mockito.when(lcmStateManager.isLCMOperationEnabled()).thenReturn(true); + Mockito.when(transactionRecorder.isTransactionDuplicate(Matchers.anyObject())).thenReturn(false); } @Test(expected = LCMOperationsDisabledException.class) @@ -64,14 +74,15 @@ public class LocalRequestValidatorImplTest implements LocalRequestHanlderTestHel Mockito.when(lcmStateManager.isLCMOperationEnabled()).thenReturn(false); requestValidator.validateRequest(createRequestValidatorInput()); } - //TODO needs to be fixed - /*@Test - public void validateRequestSuccess() throws Exception { - requestValidator.validateRequest(createRequestValidatorInput()); - } @Test(expected = DuplicateRequestException.class) public void validateRequestDuplicateReqFailure() throws Exception { + Mockito.when(transactionRecorder.isTransactionDuplicate(Matchers.anyObject())).thenReturn(true); + requestValidator.validateRequest(createRequestValidatorInput()); + } + + @Test + public void validateRequestSuccess() throws Exception { requestValidator.validateRequest(createRequestValidatorInput()); } @@ -81,7 +92,23 @@ public class LocalRequestValidatorImplTest implements LocalRequestHanlderTestHel RuntimeContext context = createRequestValidatorInput(); context.getRequestContext().setPayload(incorrectPayload); requestValidator.validateRequest(context); - }*/ + } + + @Test(expected = InvalidInputException.class) + public void validateRequestActionIdentifiersNullVnfIdFail() throws Exception { + RuntimeContext context = createRequestValidatorInput(); + ActionIdentifiers ai = context.getRequestContext().getActionIdentifiers(); + ai.setVnfId(null); + // logger.warn("Set vnfId in ActionIdentifiers extracted from createRequestValidatorInput's RequestContext to null"); + requestValidator.validateRequest(context); + } + + @Test + public void validateRequestUnsupportedAction() throws Exception { + RuntimeContext context = createRequestValidatorInput(); + context.getRequestContext().setAction(VNFOperation.AttachVolume); + requestValidator.validateRequest(context); + } private RuntimeContext createRequestValidatorInput() { return createRequestHandlerRuntimeContext("VSCP", "{\"request-id\":\"request-id\"}"); -- 2.16.6