mirror of
https://github.com/jlengrand/error-prone-support.git
synced 2026-03-10 00:01:20 +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,
|
||||
ReactorRules.class,
|
||||
RxJava2AdapterRules.class,
|
||||
SpringTestRules.class,
|
||||
StreamRules.class,
|
||||
StringRules.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