diff options
author | Artur Signell <artur@vaadin.com> | 2012-08-30 17:24:36 +0300 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2012-08-30 17:24:36 +0300 |
commit | 7b25b3886ea95bc6495506fbe9472e45fcbde684 (patch) | |
tree | 0b93cb65dab437feb46720659a63b8f1ef48f7f4 /uitest/src/com/vaadin/tests/applicationcontext/ChangeSessionId.java | |
parent | 8941056349e302e687e40e94c13709e75f256d73 (diff) | |
download | vaadin-framework-7b25b3886ea95bc6495506fbe9472e45fcbde684.tar.gz vaadin-framework-7b25b3886ea95bc6495506fbe9472e45fcbde684.zip |
Renamed tests -> uitest and tests/testbench -> uitest/src (#9299)
Diffstat (limited to 'uitest/src/com/vaadin/tests/applicationcontext/ChangeSessionId.java')
-rw-r--r-- | uitest/src/com/vaadin/tests/applicationcontext/ChangeSessionId.java | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/applicationcontext/ChangeSessionId.java b/uitest/src/com/vaadin/tests/applicationcontext/ChangeSessionId.java new file mode 100644 index 0000000000..9146cf5dea --- /dev/null +++ b/uitest/src/com/vaadin/tests/applicationcontext/ChangeSessionId.java @@ -0,0 +1,71 @@ +package com.vaadin.tests.applicationcontext; + +import com.vaadin.server.WebApplicationContext; +import com.vaadin.tests.components.AbstractTestCase; +import com.vaadin.tests.util.Log; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Button.ClickListener; +import com.vaadin.ui.UI.LegacyWindow; + +public class ChangeSessionId extends AbstractTestCase { + + private Log log = new Log(5); + Button loginButton = new Button("Change session"); + boolean requestSessionSwitch = false; + + @Override + public void init() { + LegacyWindow mainWindow = new LegacyWindow("Sestest Application"); + mainWindow.addComponent(log); + mainWindow.addComponent(loginButton); + mainWindow.addComponent(new Button("Show session id", + new Button.ClickListener() { + + @Override + public void buttonClick(ClickEvent event) { + logSessionId(); + } + })); + setMainWindow(mainWindow); + + loginButton.addListener(new ClickListener() { + @Override + public void buttonClick(ClickEvent event) { + WebApplicationContext context = ((WebApplicationContext) getContext()); + + String oldSessionId = context.getHttpSession().getId(); + context.reinitializeSession(); + String newSessionId = context.getHttpSession().getId(); + if (oldSessionId.equals(newSessionId)) { + log.log("FAILED! Both old and new session id is " + + newSessionId); + } else { + log.log("Session id changed successfully from " + + oldSessionId + " to " + newSessionId); + } + + } + }); + logSessionId(); + } + + private void logSessionId() { + log.log("Session id: " + getSessionId()); + } + + protected String getSessionId() { + return ((WebApplicationContext) getContext()).getHttpSession().getId(); + } + + @Override + protected String getDescription() { + return "Tests that the session id can be changed to prevent session fixation attacks"; + } + + @Override + protected Integer getTicketNumber() { + return 6094; + } + +}
\ No newline at end of file |