| 1 package net.javacoding.jspider.functional.specific.general; 2 3 import junit.framework.TestCase; 4 import net.javacoding.jspider.JSpider; 5 import net.javacoding.jspider.functional.TestingConstants; 6 import net.javacoding.jspider.api.event.EventSink; 7 import net.javacoding.jspider.api.event.JSpiderEvent; 8 import net.javacoding.jspider.api.event.resource.ResourceFetchedEvent; 9 import net.javacoding.jspider.core.util.config.ConfigurationFactory; 10 import net.javacoding.jspider.core.util.config.JSpiderConfiguration; 11 import net.javacoding.jspider.mockobjects.OverridingJSpiderConfiguration; 12 import net.javacoding.jspider.mockobjects.OverridingPropertySet; 13 import net.javacoding.jspider.mockobjects.plugin.JUnitEventSink; 14 15 import java.io.*; 16 import java.net.URL ; 17 18 21 public class CookieTest extends TestCase implements EventSink { 22 public final String TEST_URL = "http://" + TestingConstants.HOST + "/testcases/specific/general/testCookies1.php"; 23 public final String TEST_URL2 = "http://" + TestingConstants.HOST + "/testcases/specific/general/testCookies2.php"; 24 25 public final String TEST_URL_MULTIPLE = "http://" + TestingConstants.HOST + "/testcases/specific/general/testMultipleCookies1.php"; 26 public final String TEST_URL_MULTIPLE2 = "http://" + TestingConstants.HOST + "/testcases/specific/general/testMultipleCookies2.php"; 27 28 protected JUnitEventSink sink; 29 protected JSpiderConfiguration config; 30 protected JSpiderConfiguration config2; 31 32 protected String cookieString; 33 34 37 public CookieTest() { 38 super("CookieTest"); 39 } 40 41 45 protected void setUp() throws Exception { 46 System.err.println("setUp"); 47 cookieString = null; 48 config = ConfigurationFactory.getConfiguration(ConfigurationFactory.CONFIG_UNITTEST); 49 config2 = new OverridingJSpiderConfiguration(config); 50 ((OverridingPropertySet) config2.getBaseSiteConfiguration()).setValue("site.cookies.use", new Boolean (false)); 51 ConfigurationFactory.setConfiguration(config); 52 sink = JUnitEventSink.getInstance(); 53 sink.setOtherSink(this); 54 } 55 56 60 protected void tearDown() throws Exception { 61 System.err.println("tearDown"); 62 ConfigurationFactory.cleanConfiguration(); 63 sink.reset(); 64 } 65 66 public void testWithCookies() throws Exception { 67 URL url = new URL (TEST_URL); 68 ConfigurationFactory.setConfiguration(config); 69 70 JSpider jspider = new JSpider(url); 71 jspider.start(); 72 assertEquals("testValue", cookieString); 73 } 74 75 public void testWithoutCookies() throws Exception { 76 URL url = new URL (TEST_URL); 77 ConfigurationFactory.setConfiguration(config2); 78 79 JSpider jspider = new JSpider(url); 80 jspider.start(); 81 assertEquals("noValueGiven", cookieString); 82 } 83 84 public void testMultipleCookies() throws Exception { 85 URL url = new URL (TEST_URL_MULTIPLE); 86 ConfigurationFactory.setConfiguration(config); 87 88 JSpider jspider = new JSpider(url); 89 jspider.start(); 90 assertEquals("testValue1testValue2testValue3testValue4testValue5", cookieString); 91 } 92 93 public void notify(JSpiderEvent event) { 94 if (event instanceof ResourceFetchedEvent) { 95 ResourceFetchedEvent e = (ResourceFetchedEvent) event; 96 97 if (e.getResource().getURL().toString().equalsIgnoreCase(TEST_URL2) || 98 e.getResource().getURL().toString().equalsIgnoreCase(TEST_URL_MULTIPLE2) ) { 99 System.out.println("URL = " + e.getResource().getURL() + ", saving cookie!"); 100 cookieString = "noValueGiven"; 101 InputStream is = e.getResource().getInputStream(); 102 BufferedReader br = new BufferedReader(new InputStreamReader(is)); 103 try { 104 String line = br.readLine(); 105 while (line != null) { 106 cookieString = line; 107 line = br.readLine(); 108 } 109 } catch (IOException e1) { 110 e1.printStackTrace(); 111 } 112 } 113 } 114 115 } 116 117 public void initialize() { 118 } 119 120 public void shutdown() { 121 } 122 } 123 | Popular Tags |