diff options
author | Jan Bartel | 2015-05-15 07:02:34 +0000 |
---|---|---|
committer | Jan Bartel | 2015-05-15 07:02:34 +0000 |
commit | 3c7d5502955f2baf5eb2dd6638ca279777faa355 (patch) | |
tree | f950885635c05980b0ff57b6786c8edaacc6954e /tests | |
parent | 8e2011d102d71841505b57adb4b0ea5db272a966 (diff) | |
download | org.eclipse.jetty.project-3c7d5502955f2baf5eb2dd6638ca279777faa355.tar.gz org.eclipse.jetty.project-3c7d5502955f2baf5eb2dd6638ca279777faa355.tar.xz org.eclipse.jetty.project-3c7d5502955f2baf5eb2dd6638ca279777faa355.zip |
Ensure PurgeValidSessionTest for mongo starts with no sessions.
Diffstat (limited to 'tests')
2 files changed, 33 insertions, 2 deletions
diff --git a/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/MongoTestServer.java b/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/MongoTestServer.java index ead992ca73..e3c78c2222 100644 --- a/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/MongoTestServer.java +++ b/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/MongoTestServer.java @@ -18,11 +18,19 @@ package org.eclipse.jetty.nosql.mongodb; +import java.net.UnknownHostException; + +import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.SessionIdManager; import org.eclipse.jetty.server.SessionManager; import org.eclipse.jetty.server.session.AbstractTestServer; import org.eclipse.jetty.server.session.SessionHandler; +import com.mongodb.BasicDBObject; +import com.mongodb.DBCursor; +import com.mongodb.DBObject; +import com.mongodb.MongoException; + /** * @version $Revision$ $Date$ @@ -32,6 +40,28 @@ public class MongoTestServer extends AbstractTestServer static int __workers=0; private boolean _saveAllAttributes = false; // false save dirty, true save all + + public static class TestMongoSessionIdManager extends MongoSessionIdManager + { + + public TestMongoSessionIdManager(Server server) throws UnknownHostException, MongoException + { + super(server); + } + + + public void deleteAll () + { + + DBCursor checkSessions = _sessions.find(); + + for (DBObject session : checkSessions) + { + _sessions.remove(session); + } + } + } + public MongoTestServer(int port) { super(port, 30, 10); @@ -55,7 +85,7 @@ public class MongoTestServer extends AbstractTestServer try { System.err.println("MongoTestServer:SessionIdManager scavenge: delay:"+ _scavengePeriod + " period:"+_scavengePeriod); - MongoSessionIdManager idManager = new MongoSessionIdManager(_server); + MongoSessionIdManager idManager = new TestMongoSessionIdManager(_server); idManager.setWorkerName("w"+(__workers++)); idManager.setScavengePeriod(_scavengePeriod); diff --git a/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/PurgeValidSessionTest.java b/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/PurgeValidSessionTest.java index 04c0a5dd78..b8b4700cd6 100644 --- a/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/PurgeValidSessionTest.java +++ b/tests/test-sessions/test-mongodb-sessions/src/test/java/org/eclipse/jetty/nosql/mongodb/PurgeValidSessionTest.java @@ -34,6 +34,7 @@ import javax.servlet.http.HttpSession; import org.eclipse.jetty.client.HttpClient; import org.eclipse.jetty.client.api.ContentResponse; import org.eclipse.jetty.client.api.Request; +import org.eclipse.jetty.nosql.mongodb.MongoTestServer.TestMongoSessionIdManager; import org.eclipse.jetty.servlet.ServletContextHandler; import org.junit.Test; @@ -151,7 +152,7 @@ public class PurgeValidSessionTest try { // start with no sessions - idManager.purgeFully(); + ((TestMongoSessionIdManager)idManager).deleteAll(); HttpClient client = new HttpClient(); client.start(); |