/** * Copyright 2005-2016 hdiv.org * * 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. */ package org.hdiv.filter; import java.util.ArrayList; import java.util.List; import org.hdiv.AbstractHDIVTestCase; import org.hdiv.util.HDIVErrorCodes; /** * Unit tests for the <code>org.hdiv.filter.ValidatorHelperRequest</code> class. * * @author Gorka Vicente */ public class ValidatorHelperRequestTest extends AbstractHDIVTestCase { private IValidationHelper helper; private String targetName = "/path/testAction.do"; protected void onSetUp() throws Exception { this.helper = this.getApplicationContext().getBean(IValidationHelper.class); } /** * This method check if hasNonConfidentialIncorrectValues method can receive repeated values in the last 2 positions. */ public void testHasNonConfidentialIncorrectValues_RepeatedValuesInLastPosition() { String parameter = "param1"; String[] values = new String[] { "0", "10", "20", "20" }; List<String> tempStateValues = new ArrayList<String>(); tempStateValues.add("0"); tempStateValues.add("10"); tempStateValues.add("20"); ValidatorHelperResult actualResult = ((ValidatorHelperRequest) helper).hasNonConfidentialIncorrectValues(targetName, parameter, values, tempStateValues); assertFalse(actualResult.isValid()); assertEquals(HDIVErrorCodes.REPEATED_VALUES_FOR_PARAMETER, actualResult.getErrors().get(0).getType()); } /** * This method check if hasNonConfidentialIncorrectValues method can receive repeated values in the middle of received array values. */ public void testHasNonConfidentialIncorrectValues_RepeatedValuesInTheMiddle() { String parameter = "param1"; String[] values = new String[] { "0", "20", "20", "10" }; List<String> tempStateValues = new ArrayList<String>(); tempStateValues.add("0"); tempStateValues.add("10"); tempStateValues.add("20"); ValidatorHelperResult actualResult = ((ValidatorHelperRequest) helper).hasNonConfidentialIncorrectValues(targetName, parameter, values, tempStateValues); assertFalse(actualResult.isValid()); assertEquals(HDIVErrorCodes.REPEATED_VALUES_FOR_PARAMETER, actualResult.getErrors().get(0).getType()); } /** * This method check if hasNonConfidentialIncorrectValues method can receive repeated values at first positions of received array * values. */ public void testHasNonConfidentialIncorrectValues_RepeatedValuesAtFirstPositions() { String parameter = "param1"; String[] values = new String[] { "20", "20", "0", "10" }; List<String> tempStateValues = new ArrayList<String>(); tempStateValues.add("0"); tempStateValues.add("10"); tempStateValues.add("20"); ValidatorHelperResult actualResult = ((ValidatorHelperRequest) helper).hasNonConfidentialIncorrectValues(targetName, parameter, values, tempStateValues); assertFalse(actualResult.isValid()); assertEquals(HDIVErrorCodes.REPEATED_VALUES_FOR_PARAMETER, actualResult.getErrors().get(0).getType()); } /** * This method check if hasNonConfidentialIncorrectValues method can receive repeated values of received array values. */ public void testHasNonConfidentialIncorrectValues_RepeatedValuesInAnyPosition_1() { String parameter = "param1"; String[] values = new String[] { "20", "0", "10", "20" }; List<String> tempStateValues = new ArrayList<String>(); tempStateValues.add("0"); tempStateValues.add("10"); tempStateValues.add("20"); ValidatorHelperResult actualResult = ((ValidatorHelperRequest) helper).hasNonConfidentialIncorrectValues(targetName, parameter, values, tempStateValues); assertFalse(actualResult.isValid()); assertEquals(HDIVErrorCodes.REPEATED_VALUES_FOR_PARAMETER, actualResult.getErrors().get(0).getType()); } /** * This method check if hasNonConfidentialIncorrectValues method can receive repeated values of received array values. */ public void testHasNonConfidentialIncorrectValues_RepeatedValuesInAnyPosition_2() { String parameter = "param1"; String[] values = new String[] { "20", "0", "20", "10" }; List<String> tempStateValues = new ArrayList<String>(); tempStateValues.add("0"); tempStateValues.add("10"); tempStateValues.add("20"); ValidatorHelperResult actualResult = ((ValidatorHelperRequest) helper).hasNonConfidentialIncorrectValues(targetName, parameter, values, tempStateValues); assertFalse(actualResult.isValid()); assertEquals(HDIVErrorCodes.REPEATED_VALUES_FOR_PARAMETER, actualResult.getErrors().get(0).getType()); } /** * This method check if hasNonConfidentialIncorrectValues method can receive repeated values of received array values. */ public void testHasNonConfidentialIncorrectValues_RepeatedValuesInAnyPosition_3() { String parameter = "param1"; String[] values = new String[] { "0", "20", "10", "20" }; List<String> tempStateValues = new ArrayList<String>(); tempStateValues.add("0"); tempStateValues.add("10"); tempStateValues.add("20"); ValidatorHelperResult actualResult = ((ValidatorHelperRequest) helper).hasNonConfidentialIncorrectValues(targetName, parameter, values, tempStateValues); assertFalse(actualResult.isValid()); assertEquals(HDIVErrorCodes.REPEATED_VALUES_FOR_PARAMETER, actualResult.getErrors().get(0).getType()); } /** * This method check that hasNonConfidentialIncorrectValues method returns invalid result when unexpected value is received for specific * parameter. */ public void testHasNonConfidentialIncorrectValues_IncorrectParameterValueReceivedInLastPosition() { String parameter = "param1"; String[] values = new String[] { "0", "10", "99999" }; List<String> tempStateValues = new ArrayList<String>(); tempStateValues.add("0"); tempStateValues.add("10"); tempStateValues.add("20"); ValidatorHelperResult actualResult = ((ValidatorHelperRequest) helper).hasNonConfidentialIncorrectValues(targetName, parameter, values, tempStateValues); assertFalse(actualResult.isValid()); assertEquals(HDIVErrorCodes.INVALID_PARAMETER_VALUE, actualResult.getErrors().get(0).getType()); } /** * This method check that hasNonConfidentialIncorrectValues method returns invalid result when unexpected value is received for specific * parameter. */ public void testHasNonConfidentialIncorrectValues_IncorrectParameterValueReceivedInTheMiddle() { String parameter = "param1"; String[] values = new String[] { "0", "99999", "10" }; List<String> tempStateValues = new ArrayList<String>(); tempStateValues.add("0"); tempStateValues.add("10"); tempStateValues.add("20"); ValidatorHelperResult actualResult = ((ValidatorHelperRequest) helper).hasNonConfidentialIncorrectValues(targetName, parameter, values, tempStateValues); assertFalse(actualResult.isValid()); assertEquals(HDIVErrorCodes.INVALID_PARAMETER_VALUE, actualResult.getErrors().get(0).getType()); } /** * This method check that hasNonConfidentialIncorrectValues method returns invalid result when unexpected value is received for specific * parameter. */ public void testHasNonConfidentialIncorrectValues_IncorrectParameterValueReceivedAtFirstPosition() { String parameter = "param1"; String[] values = new String[] { "99999", "0", "10" }; List<String> tempStateValues = new ArrayList<String>(); tempStateValues.add("0"); tempStateValues.add("10"); tempStateValues.add("20"); ValidatorHelperResult actualResult = ((ValidatorHelperRequest) helper).hasNonConfidentialIncorrectValues(targetName, parameter, values, tempStateValues); assertFalse(actualResult.isValid()); assertEquals(HDIVErrorCodes.INVALID_PARAMETER_VALUE, actualResult.getErrors().get(0).getType()); } }