}
@Test(groups = { CONTEXTS })
@SpecAssertion(section = "6.7.4", id = "p")
public void testConversationsDontCrossSessionBoundary1() throws Exception {
WebClient client = new WebClient();
client.setThrowExceptionOnFailingStatusCode(false);
// Load the page
HtmlPage rain = client.getPage(getPath("rain.jsf"));
// begin a conversation
HtmlSubmitInput beginConversationButton = getFirstMatchingElement(rain, HtmlSubmitInput.class,
"beginConversationButton");
rain = beginConversationButton.click();
String cid = getCid(rain);
// Cause rain
HtmlSubmitInput rainButton = getFirstMatchingElement(rain, HtmlSubmitInput.class, "rain");
rain = rainButton.click();
// Re-request the page, inside the conversation and check it has rained
rain = client.getPage(getPath("rain.jsf", cid));
assert hasRained(rain);
// Invalidate the session, invalidate the conversation-scoped cloud
invalidateSession(client);
// Re-request the page, check it hasn't rained
rain = client.getPage(getPath("rain.jsf", cid));
assert !hasRained(rain);
}