ребята.Калитки: макет атрибута HttpSession
Я следующий код для моей HTTP сессии в Калитка на основе применения:
public static HttpServletRequest getHttpServletRequest() {
Request request = RequestCycle.get().getRequest();
if (request != null && request instanceof WebRequest) return
HttpServletRequest) request.getContainerRequest();
return null;
}
public static SessionObject getSessionObject() {
HttpServletRequest request = getHttpServletRequest();
HttpSession session = request == null ? null : request.getSession();
SessionObject so = session == null ? null : (SessionObject) session.getAttribute("so");
if (so == null) {
logger.warn("SessionObject is not found in HttpSession!");
}
return so;
}
Объект сеанса инициализируется в JSP, как следующее:
jsp:useBean id="so" class="package.SessionObject" scope="session"
Я хотел бы издеваться этот атрибут так в тестах Wicket.
Пытался сделать следующее:
bind(SessionObject.class).toInstance(EasyMock.createMock(SessionObject.class));
также
tester = new WicketTester(new MockApplication() {
@Override
public Session newSession(Request request, Response response) {
final Session session = super.newSession(request, response);
session.setAttribute("so", EasyMock.createMock(SessionObject.class));
return session;
}
});
Но когда я пытаюсь вызвать метод, как:
init(){
a = getSessionObject().getA();
}
getSessionObject() возвращает нуль, поскольку не существует атрибут с именем "так".
Не могли бы вы помочь мне высмеять этот атрибут в сеансе?