CookieTest.java
上传用户:qing5858
上传日期:2015-10-27
资源大小:6056k
文件大小:4k
源码类别:

搜索引擎

开发平台:

Java

  1. package net.javacoding.jspider.functional.specific.general;
  2. import junit.framework.TestCase;
  3. import net.javacoding.jspider.JSpider;
  4. import net.javacoding.jspider.functional.TestingConstants;
  5. import net.javacoding.jspider.api.event.EventSink;
  6. import net.javacoding.jspider.api.event.JSpiderEvent;
  7. import net.javacoding.jspider.api.event.resource.ResourceFetchedEvent;
  8. import net.javacoding.jspider.core.util.config.ConfigurationFactory;
  9. import net.javacoding.jspider.core.util.config.JSpiderConfiguration;
  10. import net.javacoding.jspider.mockobjects.OverridingJSpiderConfiguration;
  11. import net.javacoding.jspider.mockobjects.OverridingPropertySet;
  12. import net.javacoding.jspider.mockobjects.plugin.JUnitEventSink;
  13. import java.io.*;
  14. import java.net.URL;
  15. /**
  16.  * $Id: CookieTest.java,v 1.13 2003/04/10 16:19:22 vanrogu Exp $
  17.  */
  18. public class CookieTest extends TestCase implements EventSink {
  19.     public final String TEST_URL = "http://" + TestingConstants.HOST + "/testcases/specific/general/testCookies1.php";
  20.     public final String TEST_URL2 = "http://" + TestingConstants.HOST + "/testcases/specific/general/testCookies2.php";
  21.     public final String TEST_URL_MULTIPLE = "http://" + TestingConstants.HOST + "/testcases/specific/general/testMultipleCookies1.php";
  22.     public final String TEST_URL_MULTIPLE2 = "http://" + TestingConstants.HOST + "/testcases/specific/general/testMultipleCookies2.php";
  23.     protected JUnitEventSink sink;
  24.     protected JSpiderConfiguration config;
  25.     protected JSpiderConfiguration config2;
  26.     protected String cookieString;
  27.     /**
  28.      * Public constructor giving a name to the test.
  29.      */
  30.     public CookieTest() {
  31.         super("CookieTest");
  32.     }
  33.     /**
  34.      * JUnit's overridden setUp method
  35.      * @throws java.lang.Exception in case something fails during setup
  36.      */
  37.     protected void setUp() throws Exception {
  38.         System.err.println("setUp");
  39.         cookieString = null;
  40.         config = ConfigurationFactory.getConfiguration(ConfigurationFactory.CONFIG_UNITTEST);
  41.         config2 = new OverridingJSpiderConfiguration(config);
  42.         ((OverridingPropertySet) config2.getBaseSiteConfiguration()).setValue("site.cookies.use", new Boolean(false));
  43.         ConfigurationFactory.setConfiguration(config);
  44.         sink = JUnitEventSink.getInstance();
  45.         sink.setOtherSink(this);
  46.     }
  47.     /**
  48.      * JUnit's overridden tearDown method
  49.      * @throws java.lang.Exception in case something fails during tearDown
  50.      */
  51.     protected void tearDown() throws Exception {
  52.         System.err.println("tearDown");
  53.         ConfigurationFactory.cleanConfiguration();
  54.         sink.reset();
  55.     }
  56.     public void testWithCookies() throws Exception {
  57.         URL url = new URL(TEST_URL);
  58.         ConfigurationFactory.setConfiguration(config);
  59.         JSpider jspider = new JSpider(url);
  60.         jspider.start();
  61.         assertEquals("testValue", cookieString);
  62.     }
  63.     public void testWithoutCookies() throws Exception {
  64.         URL url = new URL(TEST_URL);
  65.         ConfigurationFactory.setConfiguration(config2);
  66.         JSpider jspider = new JSpider(url);
  67.         jspider.start();
  68.         assertEquals("noValueGiven", cookieString);
  69.     }
  70.     public void testMultipleCookies() throws Exception {
  71.         URL url = new URL(TEST_URL_MULTIPLE);
  72.         ConfigurationFactory.setConfiguration(config);
  73.         JSpider jspider = new JSpider(url);
  74.         jspider.start();
  75.         assertEquals("testValue1testValue2testValue3testValue4testValue5", cookieString);
  76.     }
  77.     public void notify(JSpiderEvent event) {
  78.         if (event instanceof ResourceFetchedEvent) {
  79.             ResourceFetchedEvent e = (ResourceFetchedEvent) event;
  80.             if (e.getResource().getURL().toString().equalsIgnoreCase(TEST_URL2) ||
  81.                 e.getResource().getURL().toString().equalsIgnoreCase(TEST_URL_MULTIPLE2)    ) {
  82.                 System.out.println("URL = " + e.getResource().getURL() + ", saving cookie!");
  83.                 cookieString = "noValueGiven";
  84.                 InputStream is = e.getResource().getInputStream();
  85.                 BufferedReader br = new BufferedReader(new InputStreamReader(is));
  86.                 try {
  87.                     String line = br.readLine();
  88.                     while (line != null) {
  89.                         cookieString = line;
  90.                         line = br.readLine();
  91.                     }
  92.                 } catch (IOException e1) {
  93.                     e1.printStackTrace();
  94.                 }
  95.             }
  96.         }
  97.     }
  98.     public void initialize() {
  99.     }
  100.     public void shutdown() {
  101.     }
  102. }