From: <bra...@us...> - 2009-11-06 02:03:14
|
Revision: 2891 http://archive-access.svn.sourceforge.net/archive-access/?rev=2891&view=rev Author: bradtofel Date: 2009-11-06 02:02:57 +0000 (Fri, 06 Nov 2009) Log Message: ----------- INITIAL REV: some basic tests for new code Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/archivalurl/requestparser/ trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/archivalurl/requestparser/ReplayRequestParserTest.java trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/resourceindex/cdx/ trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/resourceindex/cdx/format/ trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/resourceindex/cdx/format/CDXFormatTest.java trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/resourceindex/filters/ trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/resourceindex/filters/FileRegexFilterTest.java Added: trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/archivalurl/requestparser/ReplayRequestParserTest.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/archivalurl/requestparser/ReplayRequestParserTest.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/archivalurl/requestparser/ReplayRequestParserTest.java 2009-11-06 02:02:57 UTC (rev 2891) @@ -0,0 +1,131 @@ +/* ReplayRequestParserTest + * + * $Id$ + * + * Created on 12:03:48 PM Feb 12, 2009. + * + * Copyright (C) 2009 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.requestparser; + +import org.archive.wayback.archivalurl.ArchivalUrlRequestParser; +import org.archive.wayback.core.WaybackRequest; +import org.archive.wayback.requestparser.BaseRequestParser; + +import junit.framework.TestCase; + +/** + * + * + * @author brad + * @version $Date$, $Revision$ + */ + +public class ReplayRequestParserTest extends TestCase { + + /** + * Test method for {@link org.archive.wayback.archivalurl.requestparser.ReplayRequestParser#parse(java.lang.String)}. + */ + public void testParseString() { + BaseRequestParser wrapped = new ArchivalUrlRequestParser(); + ReplayRequestParser p = new ReplayRequestParser(wrapped); + WaybackRequest r; + r = p.parse(""); + assertNull("Should not parse empty string", r); + r = p.parse("20070101000000/foo.com"); + assertNotNull("Should parse legit request sans scheme", r); + assertEquals("parsed request Url",r.getRequestUrl(),"http://foo.com"); + assertEquals("Parsed timestamp","20070101000000",r.getReplayTimestamp()); + + r = p.parse("20070101000000/foo.com/"); + assertEquals("parsed request Url, maintaining trailing slash", + "http://foo.com/",r.getRequestUrl()); + + r = p.parse("200701010000/foo.com"); + assertEquals("parsed partial date", + "http://foo.com",r.getRequestUrl()); + assertEquals("Parsed partial timestamp to earliest", + "20070101000000",r.getReplayTimestamp()); + + r = p.parse("20070101000000/http://foo.com"); + assertEquals("parsed request Url with scheme", + "http://foo.com",r.getRequestUrl()); + + r = p.parse("20070101000000/http://foo.com/"); + assertEquals("parsed request Url with scheme and trailing slash", + "http://foo.com/",r.getRequestUrl()); + + r = p.parse("20070101000000/ftp://foo.com/"); + assertEquals("parsed request Url with ftp scheme", + "ftp://foo.com/",r.getRequestUrl()); + + r = p.parse("20070101000000/https://foo.com/"); + assertEquals("parsed request Url with https scheme", + "https://foo.com/",r.getRequestUrl()); + + r = p.parse("20070101000000js_/http://foo.com/"); + assertEquals("parsed request Url with js_ flag", + "http://foo.com/",r.getRequestUrl()); + assertTrue("parsed js_ flag",r.isJSContext()); + assertFalse("css not set",r.isCSSContext()); + + r = p.parse("20070101000000cs_/http://foo.com/"); + assertEquals("parsed request Url with cs_ flag", + "http://foo.com/",r.getRequestUrl()); + assertTrue("parsed cs_ flag",r.isCSSContext()); + assertFalse("js not set",r.isJSContext()); + + r = p.parse("20070101000000cs_js_/http://foo.com/"); + assertEquals("parsed request Url with cs_ and js_ flags", + "http://foo.com/",r.getRequestUrl()); + assertTrue("parsed cs_ flag",r.isCSSContext()); + assertTrue("parsed js_ flag",r.isJSContext()); + + r = p.parse("20070101000000js_cs_/http://foo.com/"); + assertEquals("parsed request Url with cs_ and js_ flags, backvards", + "http://foo.com/",r.getRequestUrl()); + assertTrue("parsed cs_ flag",r.isCSSContext()); + assertTrue("parsed js_ flag",r.isJSContext()); + + r = p.parse("20070101000000un_/http://foo.com/"); + assertEquals("parsed request Url with unknown flag", + "http://foo.com/",r.getRequestUrl()); + assertFalse("no cs_ flag",r.isCSSContext()); + assertFalse("no js_ flag",r.isJSContext()); + + r = p.parse("20070101000000un_js_cs_/http://foo.com/"); + assertEquals("parsed request Url with falgs and unknown flag", + "http://foo.com/",r.getRequestUrl()); + assertTrue("parsed cs_ flag",r.isCSSContext()); + assertTrue("parsed js_ flag",r.isJSContext()); + + r = p.parse("20070101000000js_cs_un_/http://foo.com/"); + assertEquals("parsed request Url with falgs and unknown flag at end", + "http://foo.com/",r.getRequestUrl()); + assertTrue("parsed cs_ flag",r.isCSSContext()); + assertTrue("parsed js_ flag",r.isJSContext()); + + r = p.parse("20070101000000un_js_cs_un_/http://foo.com/"); + assertEquals("parsed request Url with falgs and unknown flags", + "http://foo.com/",r.getRequestUrl()); + assertTrue("parsed cs_ flag",r.isCSSContext()); + assertTrue("parsed js_ flag",r.isJSContext()); + + } +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/archivalurl/requestparser/ReplayRequestParserTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id Added: trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/resourceindex/cdx/format/CDXFormatTest.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/resourceindex/cdx/format/CDXFormatTest.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/resourceindex/cdx/format/CDXFormatTest.java 2009-11-06 02:02:57 UTC (rev 2891) @@ -0,0 +1,69 @@ +package org.archive.wayback.resourceindex.cdx.format; + +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.resourceindex.cdx.format.CDXFormat; +import org.archive.wayback.resourceindex.cdx.format.CDXFormatException; + +import junit.framework.TestCase; + +public class CDXFormatTest extends TestCase { + public void testParseSpec() { + CaptureSearchResult c; + CDXFormat f = OKFormat(" CDX a V"); + c = OKParse(f,"http://foo.com 12"); + assertEquals("http://foo.com",c.getOriginalUrl()); + assertEquals(c.getOffset(), 12); + + + f = OKFormat(" CDX a V k"); + c = OKParse(f,"http://foo.com 12 10"); + assertEquals("http://foo.com",c.getOriginalUrl()); + assertEquals(12,c.getOffset()); + assertEquals("10",c.getDigest()); + + + exceptionFormat("CDX a k"); + exceptionFormat("\tCDX a k"); + exceptionFormat("\tCDX a k "); + exceptionFormat(" CDX\ta k"); + exceptionFormat(" CDX\ta k\t"); + exceptionFormat(" CDX\ta\tk\t"); + + f = OKFormat(" CDX\ta\tV\tk"); + c = OKParse(f,"http://foo.com\t12\t10"); + assertEquals("http://foo.com",c.getOriginalUrl()); + assertEquals(12,c.getOffset()); + assertEquals("10",c.getDigest()); + + c = OKParse(f,"http://foo .com\t12\t10"); + assertEquals("http://foo .com",c.getOriginalUrl()); + assertEquals(12,c.getOffset()); + assertEquals("10",c.getDigest()); + } + private CaptureSearchResult OKParse(CDXFormat f, String line) { + CaptureSearchResult r = null; + try { + r = f.parseResult(line); + } catch (CDXFormatException e) { + fail(e.getLocalizedMessage()); + } + return r; + } + private CDXFormat OKFormat(String format) { + CDXFormat f = null; + try { + f = new CDXFormat(format); + } catch (CDXFormatException e) { + fail("Format '" + format + "' should NOT have thrown exception"); + } + return f; + } + private void exceptionFormat(String format) { + try { + new CDXFormat(format); + fail("Format '" + format + "' should have thrown exception"); + } catch (CDXFormatException e) { + } + + } +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/resourceindex/cdx/format/CDXFormatTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id Added: trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/resourceindex/filters/FileRegexFilterTest.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/resourceindex/filters/FileRegexFilterTest.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/resourceindex/filters/FileRegexFilterTest.java 2009-11-06 02:02:57 UTC (rev 2891) @@ -0,0 +1,49 @@ +package org.archive.wayback.resourceindex.filters; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.util.ObjectFilter; + +import junit.framework.TestCase; + +public class FileRegexFilterTest extends TestCase { + String[] patterns = {"^one-", "^two-"}; + + public void testGetSetPatterns() { + FileRegexFilter f = new FileRegexFilter(); + List<String> in = Arrays.asList(patterns); + f.setPatterns(in); + List<String> out = f.getPatterns(); + assertTrue(listCmp(in,out)); + } + + public void testFilterObject() { + List<String> in = Arrays.asList(patterns); + FileRegexFilter f = new FileRegexFilter(); + f.setPatterns(in); + CaptureSearchResult c = new CaptureSearchResult(); + c.setFile("one-11"); + assertEquals(f.filterObject(c), ObjectFilter.FILTER_INCLUDE); + c.setFile("onedd-11"); + assertEquals(f.filterObject(c), ObjectFilter.FILTER_EXCLUDE); + c.setFile("two-11"); + assertEquals(f.filterObject(c), ObjectFilter.FILTER_INCLUDE); + f.setPatterns(new ArrayList<String>()); + assertEquals(f.filterObject(c), ObjectFilter.FILTER_EXCLUDE); + } + private boolean listCmp(List<String> one, List<String> two) { + if(one.size() != two.size()) { + return false; + } + int size = one.size(); + for(int i = 0; i < size; i++) { + if(!one.get(i).equals(two.get(i))) { + return false; + } + } + return true; + } +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/resourceindex/filters/FileRegexFilterTest.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. |
From: <bra...@us...> - 2011-02-06 14:35:08
|
Revision: 3392 http://archive-access.svn.sourceforge.net/archive-access/?rev=3392&view=rev Author: bradtofel Date: 2011-02-06 14:35:02 +0000 (Sun, 06 Feb 2011) Log Message: ----------- initial rev Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/liveweb/ trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/liveweb/URLtoARCCacherTest.java Added: trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/liveweb/URLtoARCCacherTest.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/liveweb/URLtoARCCacherTest.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/liveweb/URLtoARCCacherTest.java 2011-02-06 14:35:02 UTC (rev 3392) @@ -0,0 +1,45 @@ +package org.archive.wayback.liveweb; + + +import org.apache.commons.httpclient.HostConfiguration; +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.HttpMethod; +import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager; +import org.apache.commons.httpclient.methods.GetMethod; +import org.archive.wayback.exception.LiveDocumentNotAvailableException; +import org.archive.wayback.util.ByteOp; + +import junit.framework.TestCase; + +public class URLtoARCCacherTest extends TestCase { + public void testSocketTimeout() throws Exception { + MultiThreadedHttpConnectionManager connectionManager = null; + HostConfiguration hostConfiguration = null; + HttpClient http = null; + connectionManager = new MultiThreadedHttpConnectionManager(); + hostConfiguration = new HostConfiguration(); + http = new HttpClient(connectionManager); + http.setHostConfiguration(hostConfiguration); + HttpMethod method = null; +// String urlString = "http://wayback.archive-it.org:6100/one"; + String urlString = "http://hello.com/one"; + int socketTimeoutMS = 10; + int connectTimeoutMS = 100; + connectionManager.getParams().setSoTimeout(socketTimeoutMS); + connectionManager.getParams().setConnectionTimeout(connectTimeoutMS); + try { + method = new GetMethod(urlString); + } catch(IllegalArgumentException e) { + throw new LiveDocumentNotAvailableException("Url:" + urlString + + "does not look like an URL?"); + } + try { + int status = http.executeMethod(method); + System.out.println("Got response code: " + status); + ByteOp.copyStream(method.getResponseBodyAsStream(), System.out); + } catch (Exception e) { + e.printStackTrace(); + } + + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |