You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by bw...@apache.org on 2003/05/24 02:09:52 UTC
cvs commit: maven-new/fetch/src/test/java/org/apache/maven/fetch/servlets FlawlessRepoServlet.java
bwalding 2003/05/23 17:09:52
Added: fetch/src/test/java/org/apache/maven/fetch
IOUtilityTest.java DownloadTest.java
fetch/src/test/java/org/apache/maven/fetch/servlets/data
test-data-1.txt
fetch/src/test/java/org/apache/maven/fetch/jetty
JettyTestEngine.java
fetch/src/test/java/org/apache/maven/fetch/servlets
FlawlessRepoServlet.java
Log:
Revision Changes Path
1.1 maven-new/fetch/src/test/java/org/apache/maven/fetch/IOUtilityTest.java
Index: IOUtilityTest.java
===================================================================
package org.apache.maven.fetch;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.Random;
import junit.framework.TestCase;
/**
* @author Ben Walding
* @version $Id: IOUtilityTest.java,v 1.1 2003/05/24 00:09:51 bwalding Exp $
*/
public class IOUtilityTest extends TestCase {
public void testTransferStream() throws Exception {
testTransfer(0);
testTransfer(1);
testTransfer(500);
testTransfer(1024);
testTransfer(16385);
testTransfer(1000000); //1 MILLLLIION BYTES!
}
public void testTransfer(int length) throws Exception {
byte[] bufIn = new byte[length];
//Want repeatability, but different datasets depending on length
Random r = new Random();
r.setSeed(length);
r.nextBytes(bufIn);
ByteArrayInputStream bais = new ByteArrayInputStream(bufIn);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
IOUtility.transferStream(bais, baos);
byte[] bufOut = baos.toByteArray();
assertEquals("input.length == output.length", bufIn.length, bufOut.length);
for (int i = 0; i < bufIn.length; i++) {
if (bufIn[i] != bufOut[i]) {
fail("The input and output streams failed to match at position " + i + " (0 based)");
}
}
}
}
1.1 maven-new/fetch/src/test/java/org/apache/maven/fetch/DownloadTest.java
Index: DownloadTest.java
===================================================================
package org.apache.maven.fetch;
import junit.framework.TestCase;
import org.apache.maven.fetch.jetty.JettyTestEngine;
import org.mortbay.util.MultiException;
/**
* @author Ben Walding
* @version $Id: DownloadTest.java,v 1.1 2003/05/24 00:09:51 bwalding Exp $
*/
public class DownloadTest extends TestCase {
JettyTestEngine testEngine;
public void setUp() throws MultiException {
testEngine= new JettyTestEngine();
testEngine.startJetty();
}
public void tearDown() throws InterruptedException {
testEngine.stopServer();
testEngine = null;
}
public void testSimple() throws InterruptedException {
DownloadTool bean = new DownloadTool();
//XXX this should create a jetty install and check files
DownloadRequest dreq = new DownloadRequest("http://era.health.qld.gov.au/index.html");
DownloadResponse dresp = bean.performDownload(dreq);
assertNotNull(dresp);
Thread.sleep(100000);
assertNotNull(dresp.getOutputFile());
}
}
1.1 maven-new/fetch/src/test/java/org/apache/maven/fetch/servlets/data/test-data-1.txt
Index: test-data-1.txt
===================================================================
THIS IS TEST-DATA-1.TXT
1.1 maven-new/fetch/src/test/java/org/apache/maven/fetch/jetty/JettyTestEngine.java
Index: JettyTestEngine.java
===================================================================
package org.apache.maven.fetch.jetty;
import org.apache.maven.fetch.servlets.FlawlessRepoServlet;
import org.mortbay.http.HttpContext;
import org.mortbay.http.HttpServer;
import org.mortbay.http.SocketListener;
import org.mortbay.jetty.servlet.ServletHandler;
import org.mortbay.util.MultiException;
/**
* @author Ben Walding
* @version $Id: JettyTestEngine.java,v 1.1 2003/05/24 00:09:52 bwalding Exp $
*/
public class JettyTestEngine {
private HttpServer server;
private static final int PORT = 8000;
public void startJetty() throws MultiException {
// Create the server
server = new HttpServer();
// Create a port listener
SocketListener listener = new SocketListener();
listener.setPort(PORT);
server.addListener(listener);
// Create a context
HttpContext context = new HttpContext();
context.setContextPath("/repositories/*");
server.addContext(context);
// Create a servlet container
ServletHandler servlets = new ServletHandler();
context.addHandler(servlets);
// Map a servlet onto the container
servlets.addServlet("/flawless-repo/*", FlawlessRepoServlet.class.getName());
// Serve static content from the context
//String home = System.getProperty("jetty.home", ".");
//context.setResourceBase(home + "/demo/webapps/jetty/tut/");
//context.addHandler(new ResourceHandler());
// Start the http server
server.start();
}
public void stopServer() throws InterruptedException {
server.stop();
}
public int getPort() {
return PORT;
}
public void getServerBase() {
}
}
1.1 maven-new/fetch/src/test/java/org/apache/maven/fetch/servlets/FlawlessRepoServlet.java
Index: FlawlessRepoServlet.java
===================================================================
package org.apache.maven.fetch.servlets;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.maven.fetch.IOUtility;
/**
* @author Ben Walding
* @version $Id: FlawlessRepoServlet.java,v 1.1 2003/05/24 00:09:52 bwalding Exp $
*/
public class FlawlessRepoServlet extends HttpServlet {
/** log4j logger */
private static final org.apache.log4j.Logger LOGGER = org.apache.log4j.Logger.getLogger(FlawlessRepoServlet.class);
public void doGet(HttpServletRequest request, HttpServletResponse arg1) throws ServletException, IOException {
LOGGER.info("request.getPathInfo() = " + request.getPathInfo());
String resource = "data" + request.getPathInfo();
InputStream is = getClass().getResourceAsStream(resource);
if (is == null) {
arg1.sendError(HttpServletResponse.SC_NOT_FOUND);
} else {
OutputStream os = arg1.getOutputStream();
IOUtility.transferStream(is, os);
}
}
// public void doHead(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
// LOGGER.info("doHead called");
// }
// public long getLastModified(HttpServletRequest arg0) {
// return 0;
// //return super.getLastModified(arg0);
// }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org