KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > javacoding > jspider > functional > specific > general > CookieTest


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 JavaDoc;
17
18 /**
19  * $Id: CookieTest.java,v 1.13 2003/04/10 16:19:22 vanrogu Exp $
20  */

21 public class CookieTest extends TestCase implements EventSink {
22     public final String JavaDoc TEST_URL = "http://" + TestingConstants.HOST + "/testcases/specific/general/testCookies1.php";
23     public final String JavaDoc TEST_URL2 = "http://" + TestingConstants.HOST + "/testcases/specific/general/testCookies2.php";
24
25     public final String JavaDoc TEST_URL_MULTIPLE = "http://" + TestingConstants.HOST + "/testcases/specific/general/testMultipleCookies1.php";
26     public final String JavaDoc 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 JavaDoc cookieString;
33
34     /**
35      * Public constructor giving a name to the test.
36      */

37     public CookieTest() {
38         super("CookieTest");
39     }
40
41     /**
42      * JUnit's overridden setUp method
43      * @throws java.lang.Exception in case something fails during setup
44      */

45     protected void setUp() throws Exception JavaDoc {
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 JavaDoc(false));
51         ConfigurationFactory.setConfiguration(config);
52         sink = JUnitEventSink.getInstance();
53         sink.setOtherSink(this);
54     }
55
56     /**
57      * JUnit's overridden tearDown method
58      * @throws java.lang.Exception in case something fails during tearDown
59      */

60     protected void tearDown() throws Exception JavaDoc {
61         System.err.println("tearDown");
62         ConfigurationFactory.cleanConfiguration();
63         sink.reset();
64     }
65
66     public void testWithCookies() throws Exception JavaDoc {
67         URL JavaDoc url = new URL JavaDoc(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 JavaDoc {
76         URL JavaDoc url = new URL JavaDoc(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 JavaDoc {
85         URL JavaDoc url = new URL JavaDoc(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 JavaDoc 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