Skip to content

Commit

Permalink
HV-1350 Using containsOnlyViolations/assertNoViolations asserts inste…
Browse files Browse the repository at this point in the history
…ad of assertNumberOfViolations
  • Loading branch information
marko-bekhta authored and gsmet committed Jun 23, 2017
1 parent 00f414d commit a430cd5
Show file tree
Hide file tree
Showing 73 changed files with 2,926 additions and 1,701 deletions.
Expand Up @@ -6,8 +6,8 @@
*/
package org.hibernate.validator.bugs;

import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertCorrectConstraintViolationMessages;
import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertNumberOfViolations;
import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertThat;
import static org.hibernate.validator.testutil.ConstraintViolationAssert.violationOf;

import java.util.Set;

Expand All @@ -17,6 +17,7 @@

import org.hibernate.validator.testutil.TestForIssue;
import org.hibernate.validator.testutils.ValidatorUtil;

import org.testng.annotations.Test;

/**
Expand Down Expand Up @@ -78,8 +79,9 @@ public void largeMessageCanBeInterpolated() {
GoldFish fish = new GoldFish();

Set<ConstraintViolation<GoldFish>> constraintViolations = validator.validate( fish );
assertNumberOfViolations( constraintViolations, 1 );
assertCorrectConstraintViolationMessages( constraintViolations, LARGE_MESSAGE );
assertThat( constraintViolations ).containsOnlyViolations(
violationOf( NotNull.class ).withMessage( LARGE_MESSAGE )
);
}

private static class GoldFish {
Expand Down
Expand Up @@ -7,26 +7,28 @@

package org.hibernate.validator.test.cfg;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertThat;
import static org.hibernate.validator.testutil.ConstraintViolationAssert.violationOf;
import static org.hibernate.validator.testutils.ValidatorUtil.getConfiguration;

import java.lang.reflect.Method;
import java.util.Set;

import javax.validation.ConstraintViolation;
import javax.validation.Validator;
import javax.validation.constraints.NotNull;

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.hibernate.validator.HibernateValidator;
import org.hibernate.validator.HibernateValidatorConfiguration;
import org.hibernate.validator.cfg.ConstraintMapping;
import org.hibernate.validator.cfg.defs.NotNullDef;
import org.hibernate.validator.internal.util.privilegedactions.GetMethod;
import org.hibernate.validator.testutil.TestForIssue;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertCorrectConstraintViolationMessages;
import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertNumberOfViolations;
import static org.hibernate.validator.testutils.ValidatorUtil.getConfiguration;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class CascadingWithConstraintMappingTest {
private HibernateValidatorConfiguration config;
Expand Down Expand Up @@ -55,8 +57,9 @@ public void testProgrammaticCascadingValidationFieldAccess() {

Set<ConstraintViolation<B>> violations = validator.validate( b );

assertNumberOfViolations( violations, 1 );
assertCorrectConstraintViolationMessages( violations, "may not be null" );
assertThat( violations ).containsOnlyViolations(
violationOf( NotNull.class ).withMessage( "may not be null" )
);
}

@Test
Expand All @@ -78,8 +81,9 @@ public void testProgrammaticCascadingValidationMethodAccess() {

Set<ConstraintViolation<B>> violations = validator.validate( b );

assertNumberOfViolations( violations, 1 );
assertCorrectConstraintViolationMessages( violations, "may not be null" );
assertThat( violations ).containsOnlyViolations(
violationOf( NotNull.class ).withMessage( "may not be null" )
);
}

@Test
Expand All @@ -104,8 +108,9 @@ public void testProgrammaticCascadingMethodValidation() {
b, method, b.getC()
);

assertNumberOfViolations( violations, 1 );
assertCorrectConstraintViolationMessages( violations, "may not be null" );
assertThat( violations ).containsOnlyViolations(
violationOf( NotNull.class ).withMessage( "may not be null" )
);
}

private static class A {
Expand Down
Expand Up @@ -11,9 +11,9 @@
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertCorrectConstraintTypes;
import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertCorrectConstraintViolationMessages;
import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertNumberOfViolations;
import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertThat;
import static org.hibernate.validator.testutil.ConstraintViolationAssert.violationOf;

import java.io.File;
import java.io.InputStream;
Expand All @@ -39,6 +39,7 @@
import org.hibernate.validator.internal.cfg.context.DefaultConstraintMapping;
import org.hibernate.validator.testutil.TestForIssue;
import org.hibernate.validator.testutils.ValidatorUtil;

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

Expand All @@ -47,7 +48,7 @@
*
* @author Yoann Rodiere
*/
@TestForIssue( jiraKey = "HV-501")
@TestForIssue(jiraKey = "HV-501")
public class ConstraintDefinitionTest {

private HibernateValidatorConfiguration config;
Expand Down Expand Up @@ -84,7 +85,9 @@ public void testConstraintMapping() {
Validator validator = config.buildValidatorFactory().getValidator();

Set<? extends ConstraintViolation<?>> violations = validator.validate( new ConstrainedLongFieldBean() );
assertNumberOfViolations( violations, 1 );
assertThat( violations ).containsOnlyViolations(
violationOf( ConstraintAnnotation.class )
);
assertCorrectValidatorTypes( violations, NonDefaultLongValidator.class );
}

Expand All @@ -100,7 +103,9 @@ public void testConstraintMappingDefaultsToIncludingExistingValidators() {
* (i.e. check that existing validators were actually included)
*/
Set<? extends ConstraintViolation<?>> violations = validator.validate( new ConstrainedStringFieldBean() );
assertNumberOfViolations( violations, 1 );
assertThat( violations ).containsOnlyViolations(
violationOf( ConstraintAnnotation.class )
);
assertCorrectValidatorTypes( violations, DefaultStringValidator.class );
}

Expand All @@ -117,7 +122,9 @@ public void testConstraintMappingIncludingExistingValidators() {
* (i.e. check that existing validators were actually included)
*/
Set<? extends ConstraintViolation<?>> violations = validator.validate( new ConstrainedStringFieldBean() );
assertNumberOfViolations( violations, 1 );
assertThat( violations ).containsOnlyViolations(
violationOf( ConstraintAnnotation.class )
);
assertCorrectValidatorTypes( violations, DefaultStringValidator.class );
}

Expand All @@ -131,7 +138,9 @@ public void testConstraintMappingExcludingExistingValidators() {
Validator validator = config.buildValidatorFactory().getValidator();

Set<? extends ConstraintViolation<?>> violations = validator.validate( new ConstrainedIntegerFieldBean() );
assertNumberOfViolations( violations, 1 );
assertThat( violations ).containsOnlyViolations(
violationOf( ConstraintAnnotation.class )
);
assertCorrectValidatorTypes( violations, NonDefaultIntegerValidator.class );
}

Expand All @@ -147,11 +156,15 @@ public void testConstraintMappingIncludingExistingValidatorsThenExcludingThem()
Validator validator = config.buildValidatorFactory().getValidator();

Set<? extends ConstraintViolation<?>> violations = validator.validate( new ConstrainedLongFieldBean() );
assertNumberOfViolations( violations, 1 );
assertThat( violations ).containsOnlyViolations(
violationOf( ConstraintAnnotation.class )
);
assertCorrectValidatorTypes( violations, NonDefaultLongValidator.class );

violations = validator.validate( new ConstrainedIntegerFieldBean() );
assertNumberOfViolations( violations, 1 );
assertThat( violations ).containsOnlyViolations(
violationOf( ConstraintAnnotation.class )
);
assertCorrectValidatorTypes( violations, NonDefaultIntegerValidator.class );
}

Expand Down Expand Up @@ -203,17 +216,23 @@ public void testXmlConstraintDefinitionMergedWithProgrammaticConfiguration() {

// Defaults are untouched
Set<? extends ConstraintViolation<?>> violations = validator.validate( new ConstrainedStringFieldBean() );
assertNumberOfViolations( violations, 1 );
assertThat( violations ).containsOnlyViolations(
violationOf( ConstraintAnnotation.class )
);
assertCorrectValidatorTypes( violations, DefaultStringValidator.class );

// XML configuration is taken into account
violations = validator.validate( new ConstrainedLongFieldBean() );
assertNumberOfViolations( violations, 1 );
assertThat( violations ).containsOnlyViolations(
violationOf( ConstraintAnnotation.class )
);
assertCorrectValidatorTypes( violations, NonDefaultLongValidator.class );

// Programmatic configuration is also taken into account
violations = validator.validate( new ConstrainedShortFieldBean() );
assertNumberOfViolations( violations, 1 );
assertThat( violations ).containsOnlyViolations(
violationOf( ConstraintAnnotation.class )
);
assertCorrectValidatorTypes( violations, NonDefaultShortValidator.class );
}

Expand All @@ -235,12 +254,16 @@ public void testXmlConstraintDefinitionOverriddenByProgrammaticConfiguration() {

// Defaults are overridden
Set<? extends ConstraintViolation<?>> violations = validator.validate( new ConstrainedIntegerFieldBean() );
assertNumberOfViolations( violations, 1 );
assertThat( violations ).containsOnlyViolations(
violationOf( ConstraintAnnotation.class )
);
assertCorrectValidatorTypes( violations, NonDefaultIntegerValidator.class );

// XML configuration is overridden by programmatic configuration
violations = validator.validate( new ConstrainedLongFieldBean() );
assertNumberOfViolations( violations, 1 );
assertThat( violations ).containsOnlyViolations(
violationOf( ConstraintAnnotation.class )
);
assertCorrectValidatorTypes( violations, OtherNonDefaultLongValidator.class );
}

Expand Down Expand Up @@ -280,8 +303,9 @@ public void testConstraintBasedOnMethodReference() {
Validator validator = config.buildValidatorFactory().getValidator();

Set<? extends ConstraintViolation<?>> violations = validator.validate( new MyBean() );
assertNumberOfViolations( violations, 1 );
assertCorrectConstraintTypes( violations, Directory.class );
assertThat( violations ).containsOnlyViolations(
violationOf( Directory.class ).withMessage( "" )
);
}

@Test
Expand All @@ -293,8 +317,9 @@ public void testConstraintBasedOnLambdaExpression() {
Validator validator = config.buildValidatorFactory().getValidator();

Set<? extends ConstraintViolation<?>> violations = validator.validate( new MyBean() );
assertNumberOfViolations( violations, 1 );
assertCorrectConstraintTypes( violations, Directory.class );
assertThat( violations ).containsOnlyViolations(
violationOf( Directory.class ).withMessage( "" )
);
}

@Target({ FIELD, METHOD, PARAMETER, ANNOTATION_TYPE })
Expand Down Expand Up @@ -327,7 +352,7 @@ private static void assertCorrectValidatorTypes(Set<? extends ConstraintViolatio
for ( Class<?> validatorClass : validatorClasses ) {
String identifyingMessage = StubValidator.getIdentifyingMessage(
(Class<? extends StubValidator<?>>) validatorClass
);
);
expectedMessages.add( identifyingMessage );
}
assertCorrectConstraintViolationMessages(
Expand Down

0 comments on commit a430cd5

Please sign in to comment.