mirror of
https://github.com/jlengrand/error-prone-support.git
synced 2026-03-10 08:11:25 +00:00
Introduce SpringTestRules Refaster rule collection
This commit is contained in:
@@ -0,0 +1,47 @@
|
|||||||
|
package tech.picnic.errorprone.refasterrules;
|
||||||
|
|
||||||
|
import com.google.errorprone.refaster.Refaster;
|
||||||
|
import com.google.errorprone.refaster.annotation.AfterTemplate;
|
||||||
|
import com.google.errorprone.refaster.annotation.BeforeTemplate;
|
||||||
|
import org.springframework.test.json.JsonCompareMode;
|
||||||
|
import org.springframework.test.web.reactive.server.WebTestClient.BodyContentSpec;
|
||||||
|
import tech.picnic.errorprone.refaster.annotation.OnlineDocumentation;
|
||||||
|
|
||||||
|
/** Refaster rules related to Spring Test expressions and statements. */
|
||||||
|
@OnlineDocumentation
|
||||||
|
final class SpringTestRules {
|
||||||
|
private SpringTestRules() {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prefer {@link BodyContentSpec#json(String, JsonCompareMode)} over alternatives that implicitly
|
||||||
|
* perform a {@link JsonCompareMode#LENIENT lenient} comparison or are deprecated.
|
||||||
|
*/
|
||||||
|
static final class BodyContentSpecJsonLenient {
|
||||||
|
@BeforeTemplate
|
||||||
|
@SuppressWarnings("deprecation" /* This deprecated method invocation will be rewritten. */)
|
||||||
|
BodyContentSpec before(BodyContentSpec spec, String expectedJson) {
|
||||||
|
return Refaster.anyOf(spec.json(expectedJson), spec.json(expectedJson, /* strict= */ false));
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterTemplate
|
||||||
|
BodyContentSpec after(BodyContentSpec spec, String expectedJson) {
|
||||||
|
return spec.json(expectedJson, JsonCompareMode.LENIENT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prefer {@link BodyContentSpec#json(String, JsonCompareMode)} over the deprecated alternative.
|
||||||
|
*/
|
||||||
|
static final class BodyContentSpecJsonStrict {
|
||||||
|
@BeforeTemplate
|
||||||
|
@SuppressWarnings("deprecation" /* This deprecated method invocation will be rewritten. */)
|
||||||
|
BodyContentSpec before(BodyContentSpec spec, String expectedJson) {
|
||||||
|
return spec.json(expectedJson, /* strict= */ true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterTemplate
|
||||||
|
BodyContentSpec after(BodyContentSpec spec, String expectedJson) {
|
||||||
|
return spec.json(expectedJson, JsonCompareMode.STRICT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -73,6 +73,7 @@ final class RefasterRulesTest {
|
|||||||
PrimitiveRules.class,
|
PrimitiveRules.class,
|
||||||
ReactorRules.class,
|
ReactorRules.class,
|
||||||
RxJava2AdapterRules.class,
|
RxJava2AdapterRules.class,
|
||||||
|
SpringTestRules.class,
|
||||||
StreamRules.class,
|
StreamRules.class,
|
||||||
StringRules.class,
|
StringRules.class,
|
||||||
SuggestedFixRules.class,
|
SuggestedFixRules.class,
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package tech.picnic.errorprone.refasterrules;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
import org.springframework.test.web.reactive.server.WebTestClient.BodyContentSpec;
|
||||||
|
import tech.picnic.errorprone.refaster.test.RefasterRuleCollectionTestCase;
|
||||||
|
|
||||||
|
final class SpringTestRulesTest implements RefasterRuleCollectionTestCase {
|
||||||
|
@SuppressWarnings("deprecation" /* Rule rewrites deprecated method invocation. */)
|
||||||
|
ImmutableSet<BodyContentSpec> testBodyContentSpecJsonLenient() {
|
||||||
|
return ImmutableSet.of(
|
||||||
|
((BodyContentSpec) null).json("foo"), ((BodyContentSpec) null).json("bar", false));
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation" /* Rule rewrites deprecated method invocation. */)
|
||||||
|
BodyContentSpec testBodyContentSpecJsonStrict() {
|
||||||
|
return ((BodyContentSpec) null).json("foo", true);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package tech.picnic.errorprone.refasterrules;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
import org.springframework.test.json.JsonCompareMode;
|
||||||
|
import org.springframework.test.web.reactive.server.WebTestClient.BodyContentSpec;
|
||||||
|
import tech.picnic.errorprone.refaster.test.RefasterRuleCollectionTestCase;
|
||||||
|
|
||||||
|
final class SpringTestRulesTest implements RefasterRuleCollectionTestCase {
|
||||||
|
@SuppressWarnings("deprecation" /* Rule rewrites deprecated method invocation. */)
|
||||||
|
ImmutableSet<BodyContentSpec> testBodyContentSpecJsonLenient() {
|
||||||
|
return ImmutableSet.of(
|
||||||
|
((BodyContentSpec) null).json("foo", JsonCompareMode.LENIENT),
|
||||||
|
((BodyContentSpec) null).json("bar", JsonCompareMode.LENIENT));
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation" /* Rule rewrites deprecated method invocation. */)
|
||||||
|
BodyContentSpec testBodyContentSpecJsonStrict() {
|
||||||
|
return ((BodyContentSpec) null).json("foo", JsonCompareMode.STRICT);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user