Seam Conversations and JSFUnit.
djn Mar 26, 2009 11:22 AMHi.
It would seem I'm doing something very wrong, althoug I'm not sure what it is.
In my test case I reference a seam conversation scoped variable called routeAnalysis. I want to ensure some state after an ajax call.
However this fails:
Object o = server.getManagedBeanValue("#{seamconversation.routeAnalysis}"); assertNotNull(o);
But if i iterate through the session like this:
HttpSession s = (HttpSession) server.getFacesContext().getExternalContext().getSession(false); final Enumeration attributeNames = s.getAttributeNames(); while (attributeNames.hasMoreElements()) { final Object o = attributeNames.nextElement(); log.debug("element: " + o ); }
I get:
16:09:11,541 DEBUG [ReportEditTest] element: org.ajax4jsf.application.AjaxStateManager.view_sequence 16:09:11,541 DEBUG [ReportEditTest] element: org.jboss.seam.CONVERSATION#808$blipZonesConfigEntityManager 16:09:11,541 DEBUG [ReportEditTest] element: org.jboss.seam.CONVERSATION#808$routeAnalysisHome 16:09:11,541 DEBUG [ReportEditTest] element: org.jboss.seam.international.timeZoneSelector 16:09:11,541 DEBUG [ReportEditTest] element: org.jboss.seam.CONVERSATION#808$reportHome 16:09:11,541 DEBUG [ReportEditTest] element: org.jboss.jsfunit.framework.WebClientSpecsessionkey 16:09:11,542 DEBUG [ReportEditTest] element: org.jboss.seam.security.ruleBasedPermissionResolver 16:09:11,542 DEBUG [ReportEditTest] element: org.jboss.seam.security.rememberMe 16:09:11,542 DEBUG [ReportEditTest] element: org.jboss.seam.CONVERSATION#808$org.jboss.seam.ui.EntityConverter 16:09:11,542 DEBUG [ReportEditTest] element: org.jboss.jsfunit.seam.JSFUnitLifecycle.SEAM_CONVERSATION_CACHE 16:09:11,542 DEBUG [ReportEditTest] element: org.ajax4jsf.application.AjaxStateHolder 16:09:11,542 DEBUG [ReportEditTest] element: org.jboss.seam.security.identity 16:09:11,543 DEBUG [ReportEditTest] element: componentNavigator 16:09:11,543 DEBUG [ReportEditTest] element: org.jboss.seam.core.conversationEntries 16:09:11,543 DEBUG [ReportEditTest] element: org.jboss.seam.CONVERSATION#808$userGroupFiltering 16:09:11,543 DEBUG [ReportEditTest] element: org.jboss.seam.security.credentials 16:09:11,543 DEBUG [ReportEditTest] element: org.jboss.seam.CONVERSATION#808$report 16:09:11,543 DEBUG [ReportEditTest] element: org.jboss.seam.international.localeSelector 16:09:11,543 DEBUG [ReportEditTest] element: authenticatedUser 16:09:11,543 DEBUG [ReportEditTest] element: org.jboss.seam.CONVERSATION#808$routeAnalysis 16:09:11,543 DEBUG [ReportEditTest] element: org.jboss.seam.CONVERSATION#808$org.jboss.seam.persistence.persistenceContexts 16:09:11,543 DEBUG [ReportEditTest] element: org.jboss.seam.CONVERSATION#808$org.jboss.seam.international.statusMessages 16:09:11,543 DEBUG [ReportEditTest] element: org.jboss.seam.web.session 16:09:11,543 DEBUG [ReportEditTest] element: javax.faces.request.charset 16:09:11,543 DEBUG [ReportEditTest] element: org.jboss.jsfunit.context.JSFUnitFacesContext.sessionkey 16:09:11,544 DEBUG [ReportEditTest] element: org.jboss.seam.CONVERSATION#808$org.jboss.seam.core.conversation
Notice the line with 16:09:11,543 DEBUG [ReportEditTest] element: org.jboss.seam.CONVERSATION#808$routeAnalysis.
So I dont get why I cannot retrieve the variable from the seamconvesation. Any ideas?