[ 
https://issues.apache.org/jira/browse/WW-4921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16371077#comment-16371077
 ] 

Michael Hintenaus commented on WW-4921:
---------------------------------------

with Struts 2.5.14.1 it works fine, with Struts 2.5.15 the test will fail

 
{code:java}
@Action(results = @Result(location="http://struts.apache.org";, type="redirect"))
public class MyAction extends ActionSupport {
}
{code}
 
{code:java}
public class MyTest extends StrutsJUnit4TestCase<MyAction> {

    @Test
    public void test() throws Exception {
        request.getSession(true);
        final ActionProxy proxy = getActionProxy("/my-action.action");
        final ActionInvocation invocation = proxy.getInvocation();
        invocation.invoke();
        assertTrue(invocation.isExecuted());
        assertEquals(MyAction.SUCCESS, invocation.getResultCode());
    }
}{code}
{code:java}
java.lang.NullPointerException
    at 
org.apache.struts2.interceptor.I18nInterceptor$SessionLocaleHandler.read(I18nInterceptor.java:308)
    at 
org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:107)
    at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    at 
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:167)
    at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    at com.silbergrau.cal6.MyTest.test(MyTest.java:20){code}
 

 

> NPE in I18nInterceptor$SessionLocaleHandler.read
> ------------------------------------------------
>
>                 Key: WW-4921
>                 URL: https://issues.apache.org/jira/browse/WW-4921
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Interceptors
>            Reporter: Michael Hintenaus
>            Priority: Major
>              Labels: test
>             Fix For: 2.5.16
>
>
> Calling
> {code:java}
> getActionProxy("/index.action").getInvocation().invoke(){code}
> in a TestCase which extends from StrutsJUnit4TestCase will lead to a 
> NullPointerException.
> Overriding getActionProxy like this will help:
> {code:java}
>  @Override
>     protected ActionProxy getActionProxy(final String uri) {
>         final ActionProxy proxy = super.getActionProxy(uri);
>         final ActionContext context = 
> proxy.getInvocation().getInvocationContext();
>         if (context.getSession() == null) {
>             context.setSession(new SessionMap<>(request));            
>         }
>         return proxy;
>     }{code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to