View Javadoc

1   /* ServerCacheTest
2   *
3   * Created on August 4, 2004
4   *
5   * Copyright (C) 2004 Internet Archive.
6   *
7   * This file is part of the Heritrix web crawler (crawler.archive.org).
8   *
9   * Heritrix is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU Lesser Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * any later version.
13  *
14  * Heritrix is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU Lesser Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser Public License
20  * along with Heritrix; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
22  */
23  package org.archive.crawler.datamodel;
24  
25  import junit.framework.TestCase;
26  
27  import org.apache.commons.httpclient.URIException;
28  import org.archive.crawler.settings.SettingsHandler;
29  import org.archive.net.UURI;
30  import org.archive.net.UURIFactory;
31  
32  /***
33   * Test the BigMapServerCache
34   * 
35   * @author gojomo
36   */
37  public class ServerCacheTest extends TestCase {
38      public void testHolds() throws Exception {
39          ServerCache servers = new ServerCache((SettingsHandler)null);
40          String serverKey = "www.example.com:9090";
41          String hostKey = "www.example.com";
42          servers.getServerFor(serverKey);
43          servers.getHostFor(hostKey);
44          assertTrue("cache lost server", servers.containsServer(serverKey));
45          assertTrue("cache lost host", servers.containsHost(hostKey));
46      }
47      
48      public void testCrawlURIKeys()
49      throws Exception {
50          ServerCache servers = new ServerCache((SettingsHandler)null);
51          testHostServer(servers, "http://www.example.com");
52          testHostServer(servers, "http://www.example.com:9090");
53          testHostServer(servers, "dns://www.example.com:9090");
54      }
55      
56      private void testHostServer(ServerCache servers, String uri)
57      throws URIException {
58          UURI uuri = UURIFactory.getInstance(uri);
59          CrawlURI curi = new CrawlURI(uuri);
60          servers.getServerFor(curi);
61          servers.getHostFor(curi);
62          assertTrue("cache lost server",
63              servers.containsServer(CrawlServer.getServerKey(curi)));
64          assertTrue("cache lost host",
65              servers.containsHost(curi.getUURI().getHost()));
66      }
67  }