Skip to content

Commit 6291ed5

Browse files
committed
Suppress log messages when testing "strict" mode. (#192)
Requires "inline mock making"; see https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#mockito-inline.
1 parent 1c164e8 commit 6291ed5

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

metafix/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ dependencies {
3131
implementation "org.metafacture:metamorph:${versions.metafacture}"
3232

3333
testImplementation "nl.jqno.equalsverifier:equalsverifier:${versions.equalsverifier}"
34-
testImplementation "org.mockito:mockito-core:${versions.mockito}"
34+
testImplementation "org.mockito:mockito-inline:${versions.mockito}"
3535
testImplementation "org.mockito:mockito-junit-jupiter:${versions.mockito}"
3636
}
3737

metafix/src/test/java/org/metafacture/metafix/MetafixScriptTest.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.junit.jupiter.api.Test;
2525
import org.junit.jupiter.api.extension.ExtendWith;
2626
import org.mockito.Mock;
27+
import org.mockito.Mockito;
2728
import org.mockito.junit.jupiter.MockitoExtension;
2829

2930
import java.io.FileNotFoundException;
@@ -390,14 +391,19 @@ public void shouldIncludeLocationAndTextInExecutionException() {
390391
);
391392
}
392393

393-
private void assertStrictness(final Metafix.Strictness strictness, final String fixDef, final Consumer<Supplier<StreamReceiver>> out) {
394+
private void assertStrictness(final Metafix.Strictness strictness, final String fixDef, final boolean stubLogging, final Consumer<Supplier<StreamReceiver>> out) {
394395
MetafixTestHelpers.assertFix(streamReceiver, Arrays.asList(
395396
"add_field('before', '')",
396397
fixDef,
397398
"add_field('after', '')"
398399
),
399400
i -> {
400-
i.setStrictness(strictness);
401+
final Metafix.Strictness strictnessSpy = Mockito.spy(strictness);
402+
i.setStrictness(strictnessSpy);
403+
404+
if (stubLogging) {
405+
Mockito.doNothing().when(strictnessSpy).log(Mockito.any(), Mockito.any());
406+
}
401407

402408
i.startRecord("1");
403409
i.literal("data", "foo");
@@ -418,13 +424,13 @@ private void assertStrictness(final Metafix.Strictness strictness, final String
418424
// TODO: Test logging statements
419425
}
420426

421-
private void assertStrictness(final Metafix.Strictness strictness, final Consumer<Supplier<StreamReceiver>> out) {
422-
assertStrictness(strictness, "upcase('data')", out);
427+
private void assertStrictness(final Metafix.Strictness strictness, final boolean stubLogging, final Consumer<Supplier<StreamReceiver>> out) {
428+
assertStrictness(strictness, "upcase('data')", stubLogging, out);
423429
}
424430

425431
@Test
426432
public void shouldSkipExpressionOnExecutionException() {
427-
assertStrictness(Metafix.Strictness.EXPRESSION, o -> {
433+
assertStrictness(Metafix.Strictness.EXPRESSION, true, o -> {
428434
o.get().startRecord("1");
429435
o.get().literal("before", "");
430436
o.get().literal("data", "FOO");
@@ -446,7 +452,7 @@ public void shouldSkipExpressionOnExecutionException() {
446452

447453
@Test
448454
public void shouldSkipRecordOnExecutionException() {
449-
assertStrictness(Metafix.Strictness.RECORD, o -> {
455+
assertStrictness(Metafix.Strictness.RECORD, true, o -> {
450456
o.get().startRecord("1");
451457
o.get().literal("before", "");
452458
o.get().literal("data", "FOO");
@@ -464,15 +470,15 @@ public void shouldSkipRecordOnExecutionException() {
464470
@Test
465471
public void shouldAbortProcessOnExecutionException() {
466472
MetafixTestHelpers.assertExecutionException(IllegalStateException.class, "Expected String, got Array", () ->
467-
assertStrictness(Metafix.Strictness.PROCESS, o -> {
473+
assertStrictness(Metafix.Strictness.PROCESS, false, o -> {
468474
})
469475
);
470476
}
471477

472478
@Test
473479
public void shouldAbortProcessOnProcessException() {
474480
MetafixTestHelpers.assertProcessException(IllegalArgumentException.class, "No enum constant org.metafacture.metafix.FixMethod.foo", () ->
475-
assertStrictness(Metafix.Strictness.EXPRESSION, "foo()", o -> {
481+
assertStrictness(Metafix.Strictness.EXPRESSION, "foo()", false, o -> {
476482
})
477483
);
478484
}

0 commit comments

Comments
 (0)