Remove test needing java 7
This commit is contained in:
parent
96fd7dc562
commit
64ed66db8b
|
@ -1,201 +0,0 @@
|
|||
//
|
||||
// ========================================================================
|
||||
// Copyright (c) 1995-2012 Mort Bay Consulting Pty. Ltd.
|
||||
// ------------------------------------------------------------------------
|
||||
// All rights reserved. This program and the accompanying materials
|
||||
// are made available under the terms of the Eclipse Public License v1.0
|
||||
// and Apache License v2.0 which accompanies this distribution.
|
||||
//
|
||||
// The Eclipse Public License is available at
|
||||
// http://www.eclipse.org/legal/epl-v10.html
|
||||
//
|
||||
// The Apache License v2.0 is available at
|
||||
// http://www.opensource.org/licenses/apache2.0.php
|
||||
//
|
||||
// You may elect to redistribute this code under either of these licenses.
|
||||
// ========================================================================
|
||||
//
|
||||
|
||||
package org.eclipse.jetty.server.handler;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FilePermission;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.attribute.FileAttribute;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import junit.framework.Assert;
|
||||
import org.eclipse.jetty.server.Connector;
|
||||
import org.eclipse.jetty.server.LocalConnector;
|
||||
import org.eclipse.jetty.server.Request;
|
||||
import org.eclipse.jetty.server.Server;
|
||||
import org.eclipse.jetty.util.IO;
|
||||
import org.eclipse.jetty.util.resource.FileResource;
|
||||
import org.eclipse.jetty.util.resource.Resource;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
* @version $Revision$
|
||||
*/
|
||||
public class ContextHandlerAliasTest
|
||||
{
|
||||
private Server _server;
|
||||
private ContextHandler _ctx;
|
||||
private File _tmp;
|
||||
private File _dir;
|
||||
|
||||
|
||||
@Before
|
||||
public void before() throws Exception
|
||||
{
|
||||
_server=new Server();
|
||||
_ctx = new ContextHandler();
|
||||
_server.setHandler(_ctx);
|
||||
|
||||
|
||||
_tmp = new File( System.getProperty( "basedir", "." ) + "/target/tmp/aliastests" ).getCanonicalFile();
|
||||
if (_tmp.exists())
|
||||
IO.delete(_tmp);
|
||||
assertTrue(_tmp.mkdirs());
|
||||
|
||||
File root = new File(_tmp,getClass().getName());
|
||||
assertTrue(root.mkdir());
|
||||
|
||||
File webInf = new File(root,"WEB-INF");
|
||||
assertTrue(webInf.mkdir());
|
||||
|
||||
assertTrue(new File(webInf,"jsp").mkdir());
|
||||
assertTrue(new File(webInf,"web.xml").createNewFile());
|
||||
assertTrue(new File(root,"index.html").createNewFile());
|
||||
|
||||
_dir=root;
|
||||
_ctx.setBaseResource(Resource.newResource(_dir));
|
||||
_server.start();
|
||||
}
|
||||
|
||||
@After
|
||||
public void after() throws Exception
|
||||
{
|
||||
_server.stop();
|
||||
if (_tmp!=null && _tmp.exists())
|
||||
IO.delete(_tmp);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetResources() throws Exception
|
||||
{
|
||||
Resource r =_ctx.getResource("/index.html");
|
||||
Assert.assertTrue(r.exists());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testJvmNullBugAlias() throws Exception
|
||||
{
|
||||
// JVM Files ignores null characters at end of name
|
||||
String normal="/index.html";
|
||||
String withnull="/index.html\u0000";
|
||||
|
||||
_ctx.setAliases(true);
|
||||
Assert.assertTrue(_ctx.getResource(normal).exists());
|
||||
Assert.assertTrue(_ctx.getResource(withnull).exists());
|
||||
_ctx.setAliases(false);
|
||||
Assert.assertTrue(_ctx.getResource(normal).exists());
|
||||
Assert.assertNull(_ctx.getResource(withnull));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSymLinkToContext() throws Exception
|
||||
{
|
||||
File symlink = new File(_tmp,"symlink");
|
||||
try
|
||||
{
|
||||
Files.createSymbolicLink(symlink.toPath(),_dir.toPath());
|
||||
|
||||
_server.stop();
|
||||
_ctx.setBaseResource(FileResource.newResource(symlink));
|
||||
_ctx.setAliases(false);
|
||||
_server.start();
|
||||
|
||||
Resource r =_ctx.getResource("/index.html");
|
||||
Assert.assertTrue(r.exists());
|
||||
}
|
||||
finally
|
||||
{
|
||||
symlink.delete();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSymLinkToContent() throws Exception
|
||||
{
|
||||
File symlink = new File(_dir,"link.html");
|
||||
try
|
||||
{
|
||||
Files.createSymbolicLink(symlink.toPath(),new File(_dir,"index.html").toPath());
|
||||
|
||||
_ctx.setAliases(true);
|
||||
Assert.assertTrue(_ctx.getResource("/index.html").exists());
|
||||
Assert.assertTrue(_ctx.getResource("/link.html").exists());
|
||||
|
||||
_ctx.setAliases(false);
|
||||
Assert.assertTrue(_ctx.getResource("/index.html").exists());
|
||||
Assert.assertNull(_ctx.getResource("/link.html"));
|
||||
|
||||
}
|
||||
finally
|
||||
{
|
||||
symlink.delete();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSymLinkToContentWithSuffixCheck() throws Exception
|
||||
{
|
||||
File symlink = new File(_dir,"link.html");
|
||||
try
|
||||
{
|
||||
Files.createSymbolicLink(symlink.toPath(),new File(_dir,"index.html").toPath());
|
||||
|
||||
_ctx.setAliases(false);
|
||||
_ctx.addAliasCheck(new ContextHandler.ApproveSameSuffixAliases());
|
||||
Assert.assertTrue(_ctx.getResource("/index.html").exists());
|
||||
Assert.assertTrue(_ctx.getResource("/link.html").exists());
|
||||
}
|
||||
finally
|
||||
{
|
||||
symlink.delete();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSymLinkToContentWithPathPrefixCheck() throws Exception
|
||||
{
|
||||
File symlink = new File(_dir,"dirlink");
|
||||
try
|
||||
{
|
||||
Files.createSymbolicLink(symlink.toPath(),new File(_dir,".").toPath());
|
||||
|
||||
_ctx.setAliases(false);
|
||||
_ctx.addAliasCheck(new ContextHandler.ApprovePathPrefixAliases());
|
||||
Assert.assertTrue(_ctx.getResource("/index.html").exists());
|
||||
Assert.assertTrue(_ctx.getResource("/dirlink/index.html").exists());
|
||||
}
|
||||
finally
|
||||
{
|
||||
symlink.delete();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue