diff --git a/pom.xml b/pom.xml index 60b7160..a416417 100644 --- a/pom.xml +++ b/pom.xml @@ -1,11 +1,12 @@ - + 4.0.0 org.springframework.boot spring-boot-starter-parent - 4.0.4 + 4.0.7 @@ -16,8 +17,8 @@ 25 - 2.48.0 - 0.13.1 + 2.50.0 + 0.13.7 @@ -25,7 +26,7 @@ it.aboutbits spring-boot-toolbox - 2.4.4 + 2.5.2 it.aboutbits @@ -59,6 +60,13 @@ true + + + com.google.errorprone + error_prone_annotations + ${errorprone.version} + + org.springframework.security diff --git a/src/main/java/it/aboutbits/springboot/testing/persistence/PersistenceAssert.java b/src/main/java/it/aboutbits/springboot/testing/persistence/PersistenceAssert.java index 3194297..92c77da 100644 --- a/src/main/java/it/aboutbits/springboot/testing/persistence/PersistenceAssert.java +++ b/src/main/java/it/aboutbits/springboot/testing/persistence/PersistenceAssert.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.persistence; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.spring.BeanAccessor; import it.aboutbits.springboot.toolbox.persistence.ChangeAware; import it.aboutbits.springboot.toolbox.type.identity.EntityId; @@ -28,6 +29,7 @@ private static EntityManager getEntityManager() { } @SuppressWarnings("unused") + @CheckReturnValue public static , E extends Identified & ChangeAware, M extends Identified & ChangeAware> WriteOperationAsserter assertThatEntity( E before, Class modelClass @@ -36,6 +38,7 @@ public static , E extends Identified & ChangeAware, M } @SuppressWarnings("unused") + @CheckReturnValue public static , E extends Identified & ChangeAware, M extends Identified & ChangeAware> WriteOperationAsserter assertThatEntity( Collection before, Class modelClass @@ -44,6 +47,7 @@ public static , E extends Identified & ChangeAware, M } @SuppressWarnings("unused") + @CheckReturnValue public static , M extends Identified> WriteOperationIdAsserter assertThatEntityId( ID id, Class modelClass @@ -52,6 +56,7 @@ public static , M extends Identified> WriteOperationI } @SuppressWarnings("unused") + @CheckReturnValue public static , M extends Identified> WriteOperationIdAsserter assertThatEntityId( Collection id, Class modelClass diff --git a/src/main/java/it/aboutbits/springboot/testing/testdata/base/AllTestDataReader.java b/src/main/java/it/aboutbits/springboot/testing/testdata/base/AllTestDataReader.java index 648391d..d2220bc 100644 --- a/src/main/java/it/aboutbits/springboot/testing/testdata/base/AllTestDataReader.java +++ b/src/main/java/it/aboutbits/springboot/testing/testdata/base/AllTestDataReader.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.testdata.base; +import com.google.errorprone.annotations.CheckReturnValue; import org.jspecify.annotations.NullMarked; import java.util.Comparator; @@ -24,6 +25,7 @@ public List returnAll() { @SafeVarargs @SuppressWarnings("unused") + @CheckReturnValue public final List returnSorted(Comparator... comparators) { if (comparators.length == 0) { throw new IllegalArgumentException("At least one comparator must be provided"); @@ -39,6 +41,7 @@ public final List returnSorted(Comparator... comparators) { @SafeVarargs @SuppressWarnings({"unchecked", "unused"}) + @CheckReturnValue public final > List returnSorted(Function>... comparators) { if (comparators.length == 0) { throw new IllegalArgumentException("At least one comparator must be provided"); @@ -53,6 +56,7 @@ public final > List returnSorted(Function< } @SuppressWarnings("unused") + @CheckReturnValue public > AllAndFiltered returnFiltered(Predicate predicate) { var all = this.returnAll(); return new AllAndFiltered<>( @@ -63,6 +67,7 @@ public > AllAndFiltered returnFiltered(Pre } @SuppressWarnings("unused") + @CheckReturnValue public Set returnSet() { return new HashSet<>(this.returnAll()); } diff --git a/src/main/java/it/aboutbits/springboot/testing/testdata/base/ModifiableTestDataCreator.java b/src/main/java/it/aboutbits/springboot/testing/testdata/base/ModifiableTestDataCreator.java index 732004b..955e9c9 100644 --- a/src/main/java/it/aboutbits/springboot/testing/testdata/base/ModifiableTestDataCreator.java +++ b/src/main/java/it/aboutbits/springboot/testing/testdata/base/ModifiableTestDataCreator.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.testdata.base; +import com.google.errorprone.annotations.CheckReturnValue; import lombok.extern.slf4j.Slf4j; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -31,6 +32,7 @@ protected ModifiableTestDataCreator(int count) { } @SuppressWarnings({"unchecked", "unused"}) + @CheckReturnValue public CREATOR modifyParameter(BiFunction parameterMutator) { this.parameterMutator = (parameter, index) -> { mutatorCalled = true; @@ -41,6 +43,7 @@ public CREATOR modifyParameter(BiFunction paramet } @SuppressWarnings({"unchecked", "unused"}) + @CheckReturnValue public CREATOR modifyParameter(UnaryOperator parameterMutator) { this.parameterMutator = (parameter, index) -> { mutatorCalled = true; @@ -51,12 +54,14 @@ public CREATOR modifyParameter(UnaryOperator parameterMutator) { } @SuppressWarnings({"unchecked", "unused"}) + @CheckReturnValue public CREATOR modifyResult(ObjIntConsumer resultMutator) { this.resultMutator = resultMutator; return (CREATOR) this; } @SuppressWarnings({"unchecked", "unused"}) + @CheckReturnValue public CREATOR modifyResult(Consumer resultMutator) { this.resultMutator = (item, index) -> resultMutator.accept(item); return (CREATOR) this; diff --git a/src/main/java/it/aboutbits/springboot/testing/testdata/base/TestDataCreator.java b/src/main/java/it/aboutbits/springboot/testing/testdata/base/TestDataCreator.java index 96287dd..6147b34 100644 --- a/src/main/java/it/aboutbits/springboot/testing/testdata/base/TestDataCreator.java +++ b/src/main/java/it/aboutbits/springboot/testing/testdata/base/TestDataCreator.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.testdata.base; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.testdata.FakerExtended; import org.jspecify.annotations.NullMarked; @@ -28,17 +29,20 @@ public void commit() { } @SuppressWarnings("unused") + @CheckReturnValue public ITEM returnFirst() { return create().getFirst(); } @SuppressWarnings("unused") + @CheckReturnValue public List returnAll() { return create(); } @SafeVarargs @SuppressWarnings("unused") + @CheckReturnValue public final List returnSorted(Comparator... comparators) { if (comparators.length == 0) { throw new IllegalArgumentException("At least one comparator must be provided"); @@ -54,6 +58,7 @@ public final List returnSorted(Comparator... comparators) { @SafeVarargs @SuppressWarnings({"unchecked", "unused"}) + @CheckReturnValue public final > List returnSorted(Function>... comparators) { if (comparators.length == 0) { throw new IllegalArgumentException("At least one comparator must be provided"); @@ -68,6 +73,7 @@ public final > List returnSorted(Function< } @SuppressWarnings("unused") + @CheckReturnValue public Set returnSet() { return new HashSet<>(create()); } diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/core/BaseValidationAssert.java b/src/main/java/it/aboutbits/springboot/testing/validation/core/BaseValidationAssert.java index c81ccae..b24aeae 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/core/BaseValidationAssert.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/core/BaseValidationAssert.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.core; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.toolbox.type.CustomType; import jakarta.validation.Valid; import lombok.AccessLevel; @@ -49,6 +50,7 @@ public static void registerNonBeanType(Class type) { NON_BEAN_TYPES.add(type); } + @CheckReturnValue public

CallBuilder of(P parameterUnderTest) { this.parameterUnderTest = parameterUnderTest; ruleBuilder.setTriggerValidation(this::assertValidation); @@ -56,6 +58,7 @@ public

CallBuilder of(P parameterUnderTest) { } @SuppressWarnings("unused") + @CheckReturnValue public AnnotationChecker calling( Class classUnderTest, String methodName, @@ -97,17 +100,20 @@ public static final class CallBuilder, P> { private final BaseValidationAssert parent; @SuppressWarnings("unused") + @CheckReturnValue public R calling(Consumer

functionToCallWithParameter) { parent.setFunctionToCallWithParameter(functionToCallWithParameter); return parent.ruleBuilder; } @SuppressWarnings("unused") + @CheckReturnValue public R usingBeanValidation() { return parent.ruleBuilder; } @SuppressWarnings({"unused", "unchecked"}) + @CheckReturnValue public R calling( BiConsumer functionToCallWithParameter, ID id @@ -119,6 +125,7 @@ public R calling( } @SuppressWarnings({"unused", "unchecked"}) + @CheckReturnValue public R calling( TriConsumer functionToCallWithParameter, A a, diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/BetweenRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/BetweenRule.java index ce16810..3e176c8 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/BetweenRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/BetweenRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -10,6 +11,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface BetweenRule> extends ValidationRulesData { + @CheckReturnValue default V between(String property, long min, long max) { addRule( new Rule(property, BiggerThanValueSource.class, max) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/FutureRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/FutureRule.java index aef2e22..b81e6aa 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/FutureRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/FutureRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -9,6 +10,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface FutureRule> extends ValidationRulesData { + @CheckReturnValue default V future(String property) { addRule( new Rule(property, PastValueSource.class) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/MaxRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/MaxRule.java index 1ffae34..8dbb09e 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/MaxRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/MaxRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -9,6 +10,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface MaxRule> extends ValidationRulesData { + @CheckReturnValue default V max(String property, long max) { addRule( new Rule(property, BiggerThanValueSource.class, max) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/MinRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/MinRule.java index 57f0a33..be5c09a 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/MinRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/MinRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -9,6 +10,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface MinRule> extends ValidationRulesData { + @CheckReturnValue default V min(String property, long min) { addRule( new Rule(property, LessThanValueSource.class, min) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NegativeOrZeroRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NegativeOrZeroRule.java index e1af433..905334b 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NegativeOrZeroRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NegativeOrZeroRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -9,6 +10,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface NegativeOrZeroRule> extends ValidationRulesData { + @CheckReturnValue default V negativeOrZero(String property) { addRule( new Rule(property, BiggerThanValueSource.class, 0L) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NegativeRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NegativeRule.java index 888834f..0b208fb 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NegativeRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NegativeRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -10,6 +11,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface NegativeRule> extends ValidationRulesData { + @CheckReturnValue default V negative(String property) { addRule( new Rule(property, BiggerThanValueSource.class, 0L) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotBlankRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotBlankRule.java index 6d020c6..ae0b3f9 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotBlankRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotBlankRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -10,6 +11,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface NotBlankRule> extends ValidationRulesData { + @CheckReturnValue default V notBlank(String property) { addRule( new Rule(property, BlankValueSource.class) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotEmptyRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotEmptyRule.java index 612a704..4d08a71 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotEmptyRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotEmptyRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -10,6 +11,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface NotEmptyRule> extends ValidationRulesData { + @CheckReturnValue default V notEmpty(String property) { addRule( new Rule(property, EmptyValueSource.class) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotNullRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotNullRule.java index d78b1df..61c1452 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotNullRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotNullRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -9,6 +10,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface NotNullRule> extends ValidationRulesData { + @CheckReturnValue default V notNull(String property) { addRule( new Rule(property, NullValueSource.class) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotValidatedRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotValidatedRule.java index 45fb5d5..b4ce273 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotValidatedRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NotValidatedRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -9,6 +10,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface NotValidatedRule> extends ValidationRulesData { + @CheckReturnValue default V notValidated(String property) { addRule( new Rule(property, InertValueSource.class) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NullableRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NullableRule.java index 776db9e..703a811 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/NullableRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/NullableRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -8,6 +9,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface NullableRule> extends ValidationRulesData { + @CheckReturnValue default V nullable(String property) { addRule( Rule.nullableAnnotated(property) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/PastRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/PastRule.java index a0c965d..a264cca 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/PastRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/PastRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -9,6 +10,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface PastRule> extends ValidationRulesData { + @CheckReturnValue default V past(String property) { addRule( new Rule(property, FutureValueSource.class) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/PositiveOrZeroRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/PositiveOrZeroRule.java index f590a7a..c81336d 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/PositiveOrZeroRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/PositiveOrZeroRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -9,6 +10,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface PositiveOrZeroRule> extends ValidationRulesData { + @CheckReturnValue default V positiveOrZero(String property) { addRule( new Rule(property, LessThanValueSource.class, 0L) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/PositiveRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/PositiveRule.java index abca7e6..383dfa1 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/PositiveRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/PositiveRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -10,6 +11,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface PositiveRule> extends ValidationRulesData { + @CheckReturnValue default V positive(String property) { addRule( new Rule(property, LessThanValueSource.class, 0L) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/RepeatedFieldRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/RepeatedFieldRule.java index a2a069b..6381bd1 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/RepeatedFieldRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/RepeatedFieldRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.CustomValidationFunction; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -11,6 +12,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface RepeatedFieldRule> extends ValidationRulesData { + @CheckReturnValue default V repeatedField(String originalField, String repeatedField) { addValidationFunction( (Object o) -> { diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/SizeRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/SizeRule.java index 4fc5a11..449865b 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/SizeRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/SizeRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -12,6 +13,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface SizeRule> extends ValidationRulesData { + @CheckReturnValue default Builder size(String property) { return new Builder<>((V) this, property); } @@ -21,6 +23,7 @@ final class Builder> { private final V parent; private final String property; + @CheckReturnValue public V min(long minSize) { parent.addRule( new Rule(property, SizeLessThanValueSource.class, minSize) @@ -28,6 +31,7 @@ public V min(long minSize) { return parent; } + @CheckReturnValue public V max(long maxSize) { parent.addRule( new Rule(property, SizeGreaterThanValueSource.class, maxSize) @@ -35,6 +39,7 @@ public V max(long maxSize) { return parent; } + @CheckReturnValue public V minMax(long minSize, long maxSize) { parent.addRule( new Rule(property, SizeLessThanValueSource.class, minSize) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidBeanRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidBeanRule.java index a832898..d67699b 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidBeanRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidBeanRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -8,6 +9,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface ValidBeanRule> extends ValidationRulesData { + @CheckReturnValue default V validBean(String property) { addRule( Rule.validAnnotated(property) diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidDateRangeRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidDateRangeRule.java index b26baf1..b0cdd20 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidDateRangeRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidDateRangeRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.CustomValidationFunction; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -11,6 +12,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface ValidDateRangeRule> extends ValidationRulesData { + @CheckReturnValue default V validDateRange(String fromDateField, String toDateField) { addValidationFunction( (Object o) -> { @@ -44,6 +46,7 @@ default V validDateRange(String fromDateField, String toDateField) { return (V) this; } + @CheckReturnValue default V validDateRange( String fromDateField, String toDateField, diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidNumericRangeRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidNumericRangeRule.java index 9ed5a52..1a198ad 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidNumericRangeRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidNumericRangeRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.CustomValidationFunction; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -11,6 +12,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface ValidNumericRangeRule> extends ValidationRulesData { + @CheckReturnValue default V validNumericRange(String lowerBoundField, String upperBoundField) { addValidationFunction( (Object o) -> { @@ -44,6 +46,7 @@ default V validNumericRange(String lowerBoundField, String upperBoundField) { return (V) this; } + @CheckReturnValue default V validNumericRange( String lowerBoundField, String upperBoundField, diff --git a/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidPasswordRule.java b/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidPasswordRule.java index aad78c7..69d539a 100644 --- a/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidPasswordRule.java +++ b/src/main/java/it/aboutbits/springboot/testing/validation/rule/ValidPasswordRule.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.validation.rule; +import com.google.errorprone.annotations.CheckReturnValue; import it.aboutbits.springboot.testing.validation.core.BaseRuleBuilder; import it.aboutbits.springboot.testing.validation.core.Rule; import it.aboutbits.springboot.testing.validation.core.ValidationRulesData; @@ -10,6 +11,7 @@ @SuppressWarnings("unchecked") @NullMarked public interface ValidPasswordRule> extends ValidationRulesData { + @CheckReturnValue default V validPassword(String property, long minLength, long maxLength) { addRule( new Rule(property, LongerThanValueSource.class, maxLength) diff --git a/src/main/java/it/aboutbits/springboot/testing/web/request/HttpTestClient.java b/src/main/java/it/aboutbits/springboot/testing/web/request/HttpTestClient.java index a005c96..fe858be 100644 --- a/src/main/java/it/aboutbits/springboot/testing/web/request/HttpTestClient.java +++ b/src/main/java/it/aboutbits/springboot/testing/web/request/HttpTestClient.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.web.request; +import com.google.errorprone.annotations.CheckReturnValue; import lombok.RequiredArgsConstructor; import org.jspecify.annotations.NullMarked; import org.springframework.test.web.servlet.MockMvc; @@ -12,34 +13,42 @@ public class HttpTestClient { private final MockMvc mockMvc; private final JsonMapper jsonMapper; + @CheckReturnValue public Request get(String url, Object... pathVariables) { return new Get(mockMvc, jsonMapper, url, pathVariables); } + @CheckReturnValue public Request put(String url, Object... pathVariables) { return new Put(mockMvc, jsonMapper, url, pathVariables); } + @CheckReturnValue public MultipartRequest putMultipart(String url, Object... pathVariables) { return new PutMultipart(mockMvc, jsonMapper, url, pathVariables); } + @CheckReturnValue public Request post(String url, Object... pathVariables) { return new Post(mockMvc, jsonMapper, url, pathVariables); } + @CheckReturnValue public MultipartRequest postMultipart(String url, Object... pathVariables) { return new PostMultipart(mockMvc, jsonMapper, url, pathVariables); } + @CheckReturnValue public Request patch(String url, Object... pathVariables) { return new Patch(mockMvc, jsonMapper, url, pathVariables); } + @CheckReturnValue public MultipartRequest patchMultipart(String url, Object... pathVariables) { return new PatchMultipart(mockMvc, jsonMapper, url, pathVariables); } + @CheckReturnValue public Request delete(String url, Object... pathVariables) { return new Delete(mockMvc, jsonMapper, url, pathVariables); } diff --git a/src/main/java/it/aboutbits/springboot/testing/web/request/MultipartRequest.java b/src/main/java/it/aboutbits/springboot/testing/web/request/MultipartRequest.java index 76ac6af..50d4155 100644 --- a/src/main/java/it/aboutbits/springboot/testing/web/request/MultipartRequest.java +++ b/src/main/java/it/aboutbits/springboot/testing/web/request/MultipartRequest.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.web.request; +import com.google.errorprone.annotations.CheckReturnValue; import org.jspecify.annotations.NullMarked; import org.springframework.mock.web.MockMultipartFile; import org.springframework.mock.web.MockPart; @@ -27,12 +28,14 @@ public abstract class MultipartRequest extends Request cookies(Cookie... cookies) { this.cookies = cookies; return this; } @SuppressWarnings("unused") + @CheckReturnValue public Request body(Object body) { if (body instanceof String stringBody) { this.body = stringBody; @@ -90,12 +93,14 @@ public Request body(Object body) { } @SuppressWarnings("unused") + @CheckReturnValue public Request param(String name, @Nullable Object value) { this.parameters.put(name, String.valueOf(value)); return this; } @SuppressWarnings("unused") + @CheckReturnValue public Request param(String name, Collection values) { this.parametersArray.put( name, @@ -107,12 +112,14 @@ public Request param(String name, Collection values) { } @SuppressWarnings("unused") + @CheckReturnValue public Request expectStatus(HttpStatus status) { this.status = status; return this; } @SuppressWarnings("unused") + @CheckReturnValue public Request basicAuth(String username, String password) { this.basicAuth = new UsernameAndPassword(username, password); return this; @@ -120,6 +127,7 @@ public Request basicAuth(String username, String password) { @SneakyThrows(UnsupportedEncodingException.class) @SuppressWarnings("unused") + @CheckReturnValue public ItemResponse returnItem(Class clazz) { var res = _execute(); @@ -138,6 +146,7 @@ public ItemResponse returnItem(Class clazz) { @SneakyThrows(UnsupportedEncodingException.class) @SuppressWarnings("unused") + @CheckReturnValue public ItemResponseWithMeta returnItem( Class clazz, Class metaClass @@ -159,6 +168,7 @@ public ItemResponseWithMeta returnItem( @SneakyThrows(UnsupportedEncodingException.class) @SuppressWarnings("unused") + @CheckReturnValue public ListResponse returnList(Class clazz) { var res = _execute(); @@ -177,6 +187,7 @@ public ListResponse returnList(Class clazz) { @SneakyThrows(UnsupportedEncodingException.class) @SuppressWarnings("unused") + @CheckReturnValue public PagedResponse returnPage(Class clazz) { var res = _execute(); @@ -195,6 +206,7 @@ public PagedResponse returnPage(Class clazz) { @SneakyThrows(UnsupportedEncodingException.class) @SuppressWarnings("unused") + @CheckReturnValue public T returnCustom(Class clazz) { var res = _execute(); @@ -210,6 +222,7 @@ public T returnCustom(Class clazz) { @SneakyThrows(UnsupportedEncodingException.class) @SuppressWarnings("unused") + @CheckReturnValue public ErrorResponse returnError() { var res = _execute(); @@ -224,6 +237,7 @@ public ErrorResponse returnError() { } @SuppressWarnings("unused") + @CheckReturnValue public ResultActions returnRaw() { return _execute(); } diff --git a/src/main/java/it/aboutbits/springboot/testing/web/request/RequestSecurityAssert.java b/src/main/java/it/aboutbits/springboot/testing/web/request/RequestSecurityAssert.java index 3b84012..052aedd 100644 --- a/src/main/java/it/aboutbits/springboot/testing/web/request/RequestSecurityAssert.java +++ b/src/main/java/it/aboutbits/springboot/testing/web/request/RequestSecurityAssert.java @@ -1,5 +1,6 @@ package it.aboutbits.springboot.testing.web.request; +import com.google.errorprone.annotations.CheckReturnValue; import org.assertj.core.api.AbstractAssert; import org.jspecify.annotations.NullMarked; import org.springframework.http.HttpStatus; @@ -13,6 +14,7 @@ public final class RequestSecurityAssert extends AbstractAssert