| 1 package net.javacoding.jspider.mod.rule; 2 3 import junit.framework.TestCase; 4 import net.javacoding.jspider.api.model.Decision; 5 import net.javacoding.jspider.api.model.Site; 6 import net.javacoding.jspider.core.SpiderContext; 7 import net.javacoding.jspider.core.model.SiteInternal; 8 import net.javacoding.jspider.spi.Rule; 9 import net.javacoding.jspider.mockobjects.SimpleSpiderContext; 10 import net.javacoding.jspider.mod.rule.OnlyDeeperInSiteRule; 11 12 import java.net.URL ; 13 14 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 ("http://j-spider.sourceforge.net/folder/subfolder/index.html"); 30 URL siteURL = new URL ("http://j-spider.sourceforge.net"); 31 site = new SiteInternal(0, null, siteURL); 32 context = new SimpleSpiderContext(baseURL); 33 } 34 35 public void testEqualURL ( ) throws Exception { 36 URL url = new URL ("http://j-spider.sourceforge.net/folder/subfolder/index.html"); 37 Decision decision = rule.apply(context, site, url ); 38 39 boolean accepted = decision.getDecision() == Decision.RULE_ACCEPT; 40 41 assertTrue("url that should be accepted not accepterd", accepted); 42 } 43 44 public void testDeeperURL ( ) throws Exception { 45 URL url = new URL ("http://j-spider.sourceforge.net/folder/subfolder/anothersubfolder/index.html"); 46 Decision decision = rule.apply(context, site, url ); 47 48 boolean accepted = decision.getDecision() == Decision.RULE_ACCEPT; 49 50 assertTrue("url that should be accepted not accepterd", accepted); 51 } 52 53 public void testHigherURL ( ) throws Exception { 54 URL url = new URL ("http://j-spider.sourceforge.net/folder/index.html"); 55 Decision decision = rule.apply(context, site, url ); 56 57 boolean forbidden = decision.getDecision() == Decision.RULE_FORBIDDEN; 58 59 assertTrue("url that should be forbidden not forbidden", forbidden); 60 } 61 62 public void testSameLevelURL ( ) throws Exception { 63 URL url = new URL ("http://j-spider.sourceforge.net/folder/subfolder/anotherresource.html"); 64 Decision decision = rule.apply(context, site, url ); 65 66 boolean accepted = decision.getDecision() == Decision.RULE_ACCEPT; 67 68 assertTrue("url that should be accepted not accepted", accepted); 69 } 70 71 } 72 | Popular Tags |