Revision: 3226
http://archive-access.svn.sourceforge.net/archive-access/?rev=3226&view=rev
Author: bradtofel
Date: 2010-08-10 23:15:22 +0000 (Tue, 10 Aug 2010)
Log Message:
-----------
sanity tests
Added Paths:
-----------
trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/archivalurl/ArchivalUrlTest.java
Added: trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/archivalurl/ArchivalUrlTest.java
===================================================================
--- trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/archivalurl/ArchivalUrlTest.java (rev 0)
+++ trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/archivalurl/ArchivalUrlTest.java 2010-08-10 23:15:22 UTC (rev 3226)
@@ -0,0 +1,154 @@
+/* ArchivalUrlTest
+ *
+ * $Id$:
+ *
+ * Created on Jun 4, 2010.
+ *
+ * Copyright (C) 2006 Internet Archive.
+ *
+ * This file is part of Wayback.
+ *
+ * Wayback is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * any later version.
+ *
+ * Wayback is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser Public License
+ * along with Wayback; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+package org.archive.wayback.archivalurl;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.archive.wayback.archivalurl.requestparser.PathDatePrefixQueryRequestParser;
+import org.archive.wayback.archivalurl.requestparser.PathDateRangeQueryRequestParser;
+import org.archive.wayback.archivalurl.requestparser.PathPrefixDatePrefixQueryRequestParser;
+import org.archive.wayback.archivalurl.requestparser.PathPrefixDateRangeQueryRequestParser;
+import org.archive.wayback.archivalurl.requestparser.ReplayRequestParser;
+import org.archive.wayback.core.WaybackRequest;
+import org.archive.wayback.exception.BadQueryException;
+import org.archive.wayback.exception.BetterRequestException;
+import org.archive.wayback.requestparser.BaseRequestParser;
+import org.archive.wayback.requestparser.PathRequestParser;
+import org.archive.wayback.webapp.AccessPoint;
+
+import junit.framework.TestCase;
+
+/**
+ * @author brad
+ *
+ */
+public class ArchivalUrlTest extends TestCase {
+ ArchivalUrlRequestParser parser = new ArchivalUrlRequestParser();
+ WaybackRequest wbr;
+ ArchivalUrl au;
+ BaseRequestParser brp = new BaseRequestParser() {
+ public int getMaxRecords() { return 10; }
+ @Override
+ public WaybackRequest parse(HttpServletRequest httpRequest,
+ AccessPoint wbContext) throws BadQueryException,
+ BetterRequestException {
+ return null;
+ }
+ };
+ PathRequestParser parsers[] = new PathRequestParser[] {
+ new ReplayRequestParser(brp),
+ new PathDatePrefixQueryRequestParser(brp),
+ new PathDateRangeQueryRequestParser(brp),
+ new PathPrefixDatePrefixQueryRequestParser(brp),
+ new PathPrefixDateRangeQueryRequestParser(brp),
+ };
+
+ private WaybackRequest parse(String path)
+ throws BetterRequestException, BadQueryException {
+
+ WaybackRequest wbRequest = null;
+
+ for(int i = 0; i < parsers.length; i++) {
+ wbRequest = parsers[i].parse(path, null);
+ if(wbRequest != null) {
+ break;
+ }
+ }
+ return wbRequest;
+ }
+ private ArchivalUrl parseAU(String path)
+ throws BetterRequestException, BadQueryException {
+ return new ArchivalUrl(parse(path));
+ }
+
+ public void trt(String want, String src) throws BetterRequestException, BadQueryException {
+ assertEquals(want,parseAU(src).toString());
+ }
+
+ /**
+ * Test method for {@link org.archive.wayback.archivalurl.ArchivalUrl#toString()}.
+ * @throws BadQueryException
+ * @throws BetterRequestException
+ */
+ public void testToString() throws BetterRequestException, BadQueryException {
+ trt(
+ "20010101000000/http://yahoo.com/",
+ "20010101000000/http://yahoo.com/");
+
+ trt(
+ "20010101000000/http://yahoo.com/",
+ "20010101000000/http://yahoo.com:80/");
+
+ trt(
+ "20010101000000/http://www.yahoo.com/",
+ "20010101000000/http://www.yahoo.com:80/");
+ trt(
+ "20010101000000/http://www.yahoo.com/",
+ "20010101000000/www.yahoo.com/");
+ trt(
+ "20010101000000/http://www.yahoo.com/",
+ "20010101000000/www.yahoo.com:80/");
+
+ trt(
+ "20010101000000im_/http://www.yahoo.com/",
+ "20010101000000im_/www.yahoo.com:80/");
+ }
+
+ /**
+ * Test method for {@link org.archive.wayback.archivalurl.ArchivalUrl#toPrefixQueryString(java.lang.String)}.
+ */
+ public void testToPrefixQueryString() {
+ WaybackRequest wbr = new WaybackRequest();
+ wbr.setUrlQueryRequest();
+ wbr.setRequestUrl("http://www.yahoo.com/");
+ ArchivalUrl au = new ArchivalUrl(wbr);
+
+ assertEquals("*/http://www.yahoo.com/*",au.toString());
+ }
+
+ /**
+ * Test method for {@link org.archive.wayback.archivalurl.ArchivalUrl#toQueryString(java.lang.String)}.
+ */
+ public void testToQueryString() {
+ WaybackRequest wbr = new WaybackRequest();
+ wbr.setCaptureQueryRequest();
+ wbr.setRequestUrl("http://www.yahoo.com/");
+ ArchivalUrl au = new ArchivalUrl(wbr);
+ assertEquals("*/http://www.yahoo.com/",au.toString());
+ }
+
+ /**
+ * Test method for {@link org.archive.wayback.archivalurl.ArchivalUrl#toReplayString(java.lang.String)}.
+ */
+ public void testToReplayString() {
+ WaybackRequest wbr = new WaybackRequest();
+ wbr.setReplayRequest();
+ wbr.setReplayTimestamp("20010101000000");
+ wbr.setRequestUrl("http://www.yahoo.com/");
+ ArchivalUrl au = new ArchivalUrl(wbr);
+ assertEquals("20010101000000/http://www.yahoo.com/",au.toString());
+ }
+}
Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/archivalurl/ArchivalUrlTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Revision Id
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|