Skip to content

Commit

Permalink
Default static mock to callsRealMethod and only stub specific method
Browse files Browse the repository at this point in the history
  • Loading branch information
bbottema committed Feb 26, 2023
1 parent acf9dea commit 619a910
Showing 1 changed file with 3 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.BDDMockito;
import org.mockito.internal.stubbing.answers.CallsRealMethods;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest;
Expand Down Expand Up @@ -43,19 +44,13 @@ public void testSignMessageWithDKIM_ShouldFailSpecificallyBecauseDKIMLibraryIsMi
.build())
.buildEmail();

PowerMockito.mockStatic(MiscUtil.class);
BDDMockito.given(MiscUtil.classAvailable("org.simplejavamail.internal.smimesupport.SMIMESupport")).willCallRealMethod();
PowerMockito.mockStatic(MiscUtil.class, new CallsRealMethods());
BDDMockito.given(MiscUtil.classAvailable("org.simplejavamail.internal.dkimsupport.DKIMSigner")).willReturn(false);
BDDMockito.given(MiscUtil.valueNullOrEmpty(null)).willCallRealMethod();
BDDMockito.given(MiscUtil.encodeText(anyString())).willCallRealMethod();

assertThatThrownBy(() -> EmailConverter.emailToMimeMessage(email))
.hasMessage("DKIM module not found, make sure it is on the classpath (https://github.com/bbottema/simple-java-mail/tree/develop/modules/dkim-module)");

PowerMockito.mockStatic(MiscUtil.class);
BDDMockito.given(MiscUtil.classAvailable("org.simplejavamail.internal.dkimsupport.DKIMSigner")).willCallRealMethod();
BDDMockito.given(MiscUtil.valueNullOrEmpty(null)).willCallRealMethod();
BDDMockito.given(MiscUtil.encodeText(anyString())).willCallRealMethod();
PowerMockito.mockStatic(MiscUtil.class, new CallsRealMethods());

assertThatThrownBy(() -> EmailConverter.emailToMimeMessage(email))
.isInstanceOf(Class.forName("org.simplejavamail.internal.dkimsupport.DKIMSigningException"))
Expand Down

0 comments on commit 619a910

Please sign in to comment.