add corresponding correct file removal check
This commit is contained in:
parent
111bd19634
commit
b3043276bc
|
@ -22,14 +22,37 @@ import java.io.File;
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
|
import org.eclipse.jetty.server.SessionManager;
|
||||||
import org.eclipse.jetty.toolchain.test.MavenTestingUtils;
|
import org.eclipse.jetty.toolchain.test.MavenTestingUtils;
|
||||||
|
import org.eclipse.jetty.util.log.Log;
|
||||||
|
import org.eclipse.jetty.util.log.StdErrLog;
|
||||||
|
import org.junit.After;
|
||||||
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class HashSessionManagerTest
|
public class HashSessionManagerTest
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@After
|
||||||
|
public void enableStacks()
|
||||||
|
{
|
||||||
|
enableStacks(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void quietStacks()
|
||||||
|
{
|
||||||
|
enableStacks(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void enableStacks(boolean enabled)
|
||||||
|
{
|
||||||
|
StdErrLog log = (StdErrLog)Log.getLogger("org.eclipse.jetty.server.session");
|
||||||
|
log.setHideStacks(!enabled);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDangerousSessionId() throws Exception
|
public void testDangerousSessionIdRemoval() throws Exception
|
||||||
{
|
{
|
||||||
final HashSessionManager manager = new HashSessionManager();
|
final HashSessionManager manager = new HashSessionManager();
|
||||||
manager.setDeleteUnrestorableSessions(true);
|
manager.setDeleteUnrestorableSessions(true);
|
||||||
|
@ -41,10 +64,30 @@ public class HashSessionManagerTest
|
||||||
MavenTestingUtils.getTargetFile("dangerFile.session").createNewFile();
|
MavenTestingUtils.getTargetFile("dangerFile.session").createNewFile();
|
||||||
|
|
||||||
Assert.assertTrue("File should exist!", MavenTestingUtils.getTargetFile("dangerFile.session").exists());
|
Assert.assertTrue("File should exist!", MavenTestingUtils.getTargetFile("dangerFile.session").exists());
|
||||||
|
|
||||||
manager.getSession("../../dangerFile.session");
|
manager.getSession("../../dangerFile.session");
|
||||||
|
|
||||||
Assert.assertTrue("File should exist!", MavenTestingUtils.getTargetFile("dangerFile.session").exists());
|
Assert.assertTrue("File should exist!", MavenTestingUtils.getTargetFile("dangerFile.session").exists());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testValidSessionIdRemoval() throws Exception
|
||||||
|
{
|
||||||
|
final HashSessionManager manager = new HashSessionManager();
|
||||||
|
manager.setDeleteUnrestorableSessions(true);
|
||||||
|
manager.setLazyLoad(true);
|
||||||
|
File testDir = MavenTestingUtils.getTargetTestingDir("hashes");
|
||||||
|
testDir.mkdirs();
|
||||||
|
manager.setStoreDirectory(testDir);
|
||||||
|
|
||||||
|
new File(testDir, "validFile.session").createNewFile();
|
||||||
|
|
||||||
|
Assert.assertTrue("File should exist!", new File(testDir, "validFile.session").exists());
|
||||||
|
|
||||||
|
manager.getSession("validFile.session");
|
||||||
|
|
||||||
|
Assert.assertTrue("File shouldn't exist!", !new File(testDir,"validFile.session").exists());
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue