@Test public void checkNullableMap_whenMapKeyandValueAreInvalidObjects_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(SingleMethodSampleModel.class); context.setValidatedItemName("getNotNullField()"); SingleMethodSampleModel validSingle = new SingleMethodSampleModel("ab", SingleMethodSampleModel.MATCHED1); Map<SingleMethodSampleModel, SingleMethodSampleModel> map = new HashMap<>(); map.put(validSingle, new SingleMethodSampleModel(null, SingleMethodSampleModel.MATCHED1)); map.put(new SingleMethodSampleModel("lengthiseven", "Not matching the specified string defs"), validSingle); List<RaveError> errors = BaseValidator.checkNullable(map, false, context); assertThat(errors).isNotNull(); assertThat(errors).hasSize(2); }
private void validateAs(SingleMethodSampleModel object) throws InvalidModelException { BaseValidator.ValidationContext context = getValidationContext(SingleMethodSampleModel.class); List<RaveError> raveErrors = null; context.setValidatedItemName("getNotNullField()"); raveErrors = mergeErrors(raveErrors, isSizeOk(object.getNotNullField(), false, 1L, 20L, 2L, context)); context.setValidatedItemName("getMatchStringDef()"); raveErrors = mergeErrors(raveErrors, checkStringDef(false, context, object.getMatchStringDef(), "Matched", "Matching", "AlsoMatching")); if (raveErrors != null && !raveErrors.isEmpty()) { throw new InvalidModelException(raveErrors); } }
@Test public void allInvalidSingleMethodSampleModels_shouldFail() throws RaveException { SingleMethodSampleModel.Builder builder = new SingleMethodSampleModel.Builder(); Rave rave = Rave.getInstance(); Collection<SingleMethodSampleModel> invalid = builder.getInvalidCases(); assertFalse(invalid.isEmpty()); for (SingleMethodSampleModel model : invalid) { try { rave.validate(model); } catch (InvalidModelException e) { continue; } assertTrue("Model should have failed with string:\"" + model.getNotNullField() + "\"", false); } }
raveErrors = mergeErrors(raveErrors, isSizeOk(object.getNotNullField(), false, 1L, 20L, 2L, context)); context.setValidatedItemName("getMatchStringDef()"); raveErrors = mergeErrors(raveErrors, checkStringDef(false, context, object.getMatchStringDef(), "Matched", "Matching", "AlsoMatching")); if (raveErrors != null && !raveErrors.isEmpty()) { throw new InvalidModelException(raveErrors);
@Test public void allInvalidSingleMethodSampleModels_shouldFail() throws RaveException { SingleMethodSampleModel.Builder builder = new SingleMethodSampleModel.Builder(); Rave rave = Rave.getInstance(); Collection<SingleMethodSampleModel> invalid = builder.getInvalidCases(); assertThat(invalid).isNotEmpty(); for (SingleMethodSampleModel model : invalid) { try { rave.validate(model); } catch (InvalidModelException e) { continue; } assertTrue("Model should have failed with string:\n" + model.getNotNullField() + "\n", false); } }
@Test public void checkNullableCollection_whenCollectionHas2InvalidObjects_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(SingleMethodSampleModel.class); List<SingleMethodSampleModel> list = new LinkedList<>(); list.add(new SingleMethodSampleModel(null, SingleMethodSampleModel.MATCHED1)); list.add(new SingleMethodSampleModel("lengthiseven", "Not matching the specified string defs")); List<RaveError> errors = BaseValidator.checkNullable(list, false, context); assertThat(errors).isNotNull(); assertThat(errors).hasSize(2); }
@Test public void checkNullableArray_whenCollectionHas2InvalidObjects_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(SingleMethodSampleModel.class); SingleMethodSampleModel[] array = new SingleMethodSampleModel[2]; array[0] = new SingleMethodSampleModel(null, SingleMethodSampleModel.MATCHED1); array[1] = new SingleMethodSampleModel("lengthiseven", "Not matching the specified string defs"); List<RaveError> errors = BaseValidator.checkNullable(array, false, context); assertThat(errors).isNotNull(); assertThat(errors).hasSize(2); }
@Test public void checkNullableMap_whenMapHasInvalidObjectAsValue_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(SingleMethodSampleModel.class); context.setValidatedItemName("getNotNullField()"); Map<Object, SingleMethodSampleModel> map = new HashMap<>(); map.put(new Object(), new SingleMethodSampleModel(null, SingleMethodSampleModel.MATCHED1)); List<RaveError> errors = BaseValidator.checkNullable(map, false, context); assertThat(errors).isNotNull(); assertThat(errors).hasSize(1); RaveError expectedError = new RaveError(context, RaveErrorStrings.NON_NULL_ERROR); assertThat(errors.get(0).toString()).isEqualTo(expectedError.toString()); }
@Test public void checkNullableMap_whenMapHasInvalidObjectAsKey_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(SingleMethodSampleModel.class); context.setValidatedItemName("getNotNullField()"); Map<SingleMethodSampleModel, Object> map = new HashMap<>(); map.put(new SingleMethodSampleModel(null, SingleMethodSampleModel.MATCHED1), new Object()); List<RaveError> errors = BaseValidator.checkNullable(map, false, context); assertThat(errors).isNotNull(); assertThat(errors).hasSize(1); RaveError expectedError = new RaveError(context, RaveErrorStrings.NON_NULL_ERROR); assertThat(errors.get(0).toString()).isEqualTo(expectedError.toString()); }
@Test(expected = IllegalArgumentException.class) public void unAnnotateValidatorHandlerValidateAs_whenModelIsAnnotated_shouldThrowException() throws RaveException { Rave.UnAnnotatedModelValidator handler = new Rave.UnAnnotatedModelValidator(1); handler.validateAs(new SingleMethodSampleModel("", ""), SingleMethodSampleModel.class); }
@Test public void checkNullableCollection_whenCollectionHasInvalidObject_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(SingleMethodSampleModel.class); context.setValidatedItemName("getNotNullField()"); List<SingleMethodSampleModel> list = new LinkedList<>(); list.add(new SingleMethodSampleModel(null, SingleMethodSampleModel.MATCHED1)); List<RaveError> errors = BaseValidator.checkNullable(list, false, context); assertThat(errors).isNotNull(); assertThat(errors).hasSize(1); RaveError expectedError = new RaveError(context, RaveErrorStrings.NON_NULL_ERROR); assertThat(errors.get(0).toString()).isEqualTo(expectedError.toString()); }
@Test public void checkNullableArray_whenCollectionHasInvalidObject_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(SingleMethodSampleModel.class); context.setValidatedItemName("getNotNullField()"); SingleMethodSampleModel[] array = new SingleMethodSampleModel[1]; array[0] = new SingleMethodSampleModel(null, SingleMethodSampleModel.MATCHED1); List<RaveError> errors = BaseValidator.checkNullable(array, false, context); assertThat(errors).isNotNull(); assertThat(errors).hasSize(1); RaveError expectedError = new RaveError(context, RaveErrorStrings.NON_NULL_ERROR); assertThat(errors.get(0).toString()).isEqualTo(expectedError.toString()); }
private void buildValidCases() { while (incrementer.hasValidPermutations()) { addValidType(new SingleMethodSampleModel(notNullStringCreator.getValidItem(), matchStringDefStringCreator.getValidItem())); incrementer.incrementValidCreators(); } }
private void buildInvalidCases() { while (incrementer.hasInvalidPermutations()) { addInvalidType(new SingleMethodSampleModel(notNullStringCreator.getInvalidItem(), matchStringDefStringCreator.getInvalidItem())); incrementer.incrementInvalidCreators(); } } }
private void buildValidCases() { while (mIncrementer.hasValidPermutations()) { addValidType(new SingleMethodSampleModel(notNullStringCreator.getValidItem(), matchStringDefStringCreator.getValidItem())); mIncrementer.incrementValidCreators(); } }
private void buildInvalidCases() { while (mIncrementer.hasInvalidPermutations()) { addInvalidType(new SingleMethodSampleModel(notNullStringCreator.getInvalidItem(), matchStringDefStringCreator.getInvalidItem())); mIncrementer.incrementInvalidCreators(); } } }