Como obter um ActionContext do Struts 2 durante os testes de aceitação?

Estou escrevendo testes de aceitação (testando o comportamento) usando cucumber-jvm, em um aplicativo com Struts 2 e Tomcat como meu Container Servlet. Em algum momento no meu código, eu preciso buscar o usuário do Struts 2HttpSession, criado por umHttpServletRequest.

Como estou fazendo testes e não executando o Tomcat, não tenho uma sessão ativa e recebo umaNullPointerException.

Aqui está o código que eu preciso chamar:

public final static getActiveUser() {
    return (User) getSession().getAttribute("ACTIVE_USER");
}

E o método getSession:

public final static HttpSession getSession() {
    final HttpServletRequest request (HttpServletRequest)ActionContext.
                          getContext().get(StrutsStatics.HTTP_REQUEST);
    return request.getSession();
}

Com toda honestidade, não sei muito sobre o Struts 2, então preciso de uma pequena ajuda. Eu estive olhando para issopepino-jvm com tomcat incorporado exemplo, mas estou lutando para entender.

Eu também estive olhando para issoStruts 2 Junit Tutorial. Infelizmente, não cobre muito bem todo oStrutsTestCase características e é o mais simples dos casos de uso (todos considerados, um tutorial bastante inútil).

Então, como posso executar meu teste de aceitação como se o usuário estivesse usando o aplicativo?

ATUALIZAR:

Obrigado a Steven Benitez pela resposta!

Eu tive que fazer duas coisas:

Mock the HttpServletRequest, como sugerido,Mock the HttpSession para obter o atributo que eu queria.

aqui está o código que eu adicionei aos meus testes de pepino-jvm:

public class StepDefs {
    User user;
    HttpServletRequest request;
    HttpSession session;

    @Before
    public void prepareTests() {
        // create a user

        // mock the session using mockito
        session = Mockito.mock(HttpSession.class);
        Mockito.when(session.getAttribute("ACTIVE_USER").thenReturn(user);

        // mock the HttpServletRequest
        request = Mockito.mock(HttpServletRequest);
        Mockito.when(request.getSession()).thenReturn(session);

        // set the context
        Map<String, Object> contextMap = new HashMap<String, Object>();
        contextMap.put(StrutsStatics.HTTP_REQUEST, request);
        ActionContext.setContext(new ActionContext(contextMap));
    }

    @After
    public void destroyTests() {
        user = null;
        request = null;
        session = null;
        ActionContext.setContext(null);
    }

}

questionAnswers(1)

yourAnswerToTheQuestion