java - When Powermock annotations is live the e-mail sending is fail with exception -
there interesting case, maybe should report bug:
when try send without annotations, works charm, when
i added these lines:
@runwith(powermockrunner.class) @preparefortest()
(is there experience it? anybody? ) (preparefortest()) empty content, e-mail sending run fail:
javax.mail.messagingexception: not connect smtp host: 192.168.51.1, port: 465; nested exception is: java.io.ioexception: can't create mailsslsocketfactory @ com.sun.mail.smtp.smtptransport.openserver(smtptransport.java:2055) @ com.sun.mail.smtp.smtptransport.protocolconnect(smtptransport.java:697) @ javax.mail.service.connect(service.java:364) @ javax.mail.service.connect(service.java:245) @ javax.mail.service.connect(service.java:194) @ reignsoft.email.emailsender.sendmail(emailsender.java:110) @ reignsoft.email.emailsender.sendmail(emailsender.java:59) @ reignsoft.email.emailsendertest.testsendmail(emailsendertest.java:225) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(unknown source) @ sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source) @ java.lang.reflect.method.invoke(unknown source) @ org.junit.internal.runners.testmethod.invoke(testmethod.java:68) @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl$powermockjunit44methodrunner.runtestmethod(powermockjunit44runnerdelegateimpl.java:310) @ org.junit.internal.runners.methodroadie$2.run(methodroadie.java:88) @ org.junit.internal.runners.methodroadie.runbeforesthentestthenafters(methodroadie.java:96) @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl$powermockjunit44methodrunner.executetest(powermockjunit44runnerdelegateimpl.java:294) @ org.powermock.modules.junit4.internal.impl.powermockjunit47runnerdelegateimpl$powermockjunit47methodrunner.executetestinsuper(powermockjunit47runnerdelegateimpl.java:127) @ org.powermock.modules.junit4.internal.impl.powermockjunit47runnerdelegateimpl$powermockjunit47methodrunner.executetest(powermockjunit47runnerdelegateimpl.java:82) @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl$powermockjunit44methodrunner.runbeforesthentestthenafters(powermockjunit44runnerdelegateimpl.java:282) @ org.junit.internal.runners.methodroadie.runtest(methodroadie.java:86) @ org.junit.internal.runners.methodroadie.run(methodroadie.java:49) @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl.invoketestmethod(powermockjunit44runnerdelegateimpl.java:207) @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl.runmethods(powermockjunit44runnerdelegateimpl.java:146) @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl$1.run(powermockjunit44runnerdelegateimpl.java:120) @ org.junit.internal.runners.classroadie.rununprotected(classroadie.java:33) @ org.junit.internal.runners.classroadie.runprotected(classroadie.java:45) @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl.run(powermockjunit44runnerdelegateimpl.java:118) @ org.powermock.modules.junit4.common.internal.impl.junit4testsuitechunkerimpl.run(junit4testsuitechunkerimpl.java:101) @ org.powermock.modules.junit4.common.internal.impl.abstractcommonpowermockrunner.run(abstractcommonpowermockrunner.java:53) @ org.powermock.modules.junit4.powermockrunner.run(powermockrunner.java:53) @ org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference.java:50) @ org.eclipse.jdt.internal.junit.runner.testexecution.run(testexecution.java:38) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:467) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:683) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner.java:390) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner.java:197) caused by: java.io.ioexception: can't create mailsslsocketfactory @ com.sun.mail.util.socketfetcher.createsocket(socketfetcher.java:333) @ com.sun.mail.util.socketfetcher.getsocket(socketfetcher.java:236) @ com.sun.mail.smtp.smtptransport.openserver(smtptransport.java:2019) ... 36 more caused by: java.security.nosuchalgorithmexception: class configured sslcontext: sun.security.ssl.sslcontextimpl$tls10context not sslcontext @ sun.security.jca.getinstance.checksuperclass(unknown source) @ sun.security.jca.getinstance.getinstance(unknown source) @ sun.security.jca.getinstance.getinstance(unknown source) @ javax.net.ssl.sslcontext.getinstance(unknown source) @ com.sun.mail.util.mailsslsocketfactory.<init>(mailsslsocketfactory.java:112) @ com.sun.mail.util.mailsslsocketfactory.<init>(mailsslsocketfactory.java:94) @ com.sun.mail.util.socketfetcher.createsocket(socketfetcher.java:326) ... 38 more
it known issue/problem.
powermock classloader try load these security classes, rather default classloader. solution @powermockignore() these classes, way java classloader job.
based on thread: https://groups.google.com/forum/#!topic/powermock/v4nrep2anoq
Comments
Post a Comment