01: package net.javacoding.jspider.mod.rule;
02:
03: import junit.framework.TestCase;
04: import net.javacoding.jspider.api.model.Decision;
05: import net.javacoding.jspider.api.model.Site;
06: import net.javacoding.jspider.core.SpiderContext;
07: import net.javacoding.jspider.core.model.SiteInternal;
08: import net.javacoding.jspider.spi.Rule;
09: import net.javacoding.jspider.mockobjects.SimpleSpiderContext;
10: import net.javacoding.jspider.mod.rule.OnlyDeeperInSiteRule;
11:
12: import java.net.URL;
13:
14: /**
15: * $Id: OnlyDeeperInSiteRuleTest.java,v 1.4 2003/04/11 16:37:10 vanrogu Exp $
16: */
17: public class OnlyDeeperInSiteRuleTest extends TestCase {
18:
19: protected Rule rule;
20: protected SpiderContext context;
21: protected Site site;
22:
23: public OnlyDeeperInSiteRuleTest() {
24: super ("OnlyDeeperInSiteRuleTest");
25: }
26:
27: protected void setUp() throws Exception {
28: rule = new OnlyDeeperInSiteRule();
29: URL baseURL = new URL(
30: "http://j-spider.sourceforge.net/folder/subfolder/index.html");
31: URL siteURL = new URL("http://j-spider.sourceforge.net");
32: site = new SiteInternal(0, null, siteURL);
33: context = new SimpleSpiderContext(baseURL);
34: }
35:
36: public void testEqualURL() throws Exception {
37: URL url = new URL(
38: "http://j-spider.sourceforge.net/folder/subfolder/index.html");
39: Decision decision = rule.apply(context, site, url);
40:
41: boolean accepted = decision.getDecision() == Decision.RULE_ACCEPT;
42:
43: assertTrue("url that should be accepted not accepterd",
44: accepted);
45: }
46:
47: public void testDeeperURL() throws Exception {
48: URL url = new URL(
49: "http://j-spider.sourceforge.net/folder/subfolder/anothersubfolder/index.html");
50: Decision decision = rule.apply(context, site, url);
51:
52: boolean accepted = decision.getDecision() == Decision.RULE_ACCEPT;
53:
54: assertTrue("url that should be accepted not accepterd",
55: accepted);
56: }
57:
58: public void testHigherURL() throws Exception {
59: URL url = new URL(
60: "http://j-spider.sourceforge.net/folder/index.html");
61: Decision decision = rule.apply(context, site, url);
62:
63: boolean forbidden = decision.getDecision() == Decision.RULE_FORBIDDEN;
64:
65: assertTrue("url that should be forbidden not forbidden",
66: forbidden);
67: }
68:
69: public void testSameLevelURL() throws Exception {
70: URL url = new URL(
71: "http://j-spider.sourceforge.net/folder/subfolder/anotherresource.html");
72: Decision decision = rule.apply(context, site, url);
73:
74: boolean accepted = decision.getDecision() == Decision.RULE_ACCEPT;
75:
76: assertTrue("url that should be accepted not accepted", accepted);
77: }
78:
79: }
|