MaxResourcesPerSiteRuleTest.java
上传用户:qing5858
上传日期:2015-10-27
资源大小:6056k
文件大小:4k
源码类别:
搜索引擎
开发平台:
Java
- package net.javacoding.jspider.mod.rule;
- import junit.framework.TestCase;
- import net.javacoding.jspider.mockobjects.OverridingPropertySet;
- import net.javacoding.jspider.api.model.Decision;
- import net.javacoding.jspider.spi.Rule;
- import net.javacoding.jspider.core.util.config.ConfigurationFactory;
- import java.net.URL;
- /**
- * $Id: MaxResourcesPerSiteRuleTest.java,v 1.1 2003/04/07 15:51:06 vanrogu Exp $
- */
- public class MaxResourcesPerSiteRuleTest extends TestCase {
- protected OverridingPropertySet config;
- public MaxResourcesPerSiteRuleTest ( ) {
- super ( "MaxResourcesPerSiteRuleTest" );
- }
- protected void setUp() throws Exception {
- ConfigurationFactory.getConfiguration(ConfigurationFactory.CONFIG_UNITTEST);
- config = new OverridingPropertySet ( null );
- }
- public void testSimple ( ) throws Exception {
- int max = 1;
- int times = 1;
- String urlString = "http://j-spider.sourceforge.net/test.html";
- int expected = Decision.RULE_ACCEPT;
- applyTest(max, urlString, times, expected );
- }
- public void testSimpleViolation ( ) throws Exception {
- int max = 1;
- int times = 2;
- String urlString = "http://j-spider.sourceforge.net/test.html";
- int expected = Decision.RULE_IGNORE;
- applyTest(max, urlString, times, expected );
- }
- public void testZeroAllowed ( ) throws Exception {
- int max = 0;
- int times = 1;
- String urlString = "http://j-spider.sourceforge.net/test.html";
- int expected = Decision.RULE_IGNORE;
- applyTest(max, urlString, times, expected );
- }
- public void testTwoSites ( ) throws Exception {
- URL url1 = new URL("http://j-spider.sourceforge.net/index.html");
- URL url2 = new URL("http://www.somehost.com/index.html");
- URL url3 = new URL("http://j-spider.sourceforge.net/test.html");
- int max = 3;
- config.setValue(MaxResourcesPerSiteRule.MAX, new Integer(max));
- Rule rule = new MaxResourcesPerSiteRule(config) ;
- Decision decision = null;
- decision = rule.apply(null, null, url1); // site1:1 site2:0
- assertEquals("decision not as expected", Decision.RULE_ACCEPT, decision.getDecision());
- decision = rule.apply(null, null, url2); // site1:1 site2:1
- assertEquals("decision not as expected", Decision.RULE_ACCEPT, decision.getDecision());
- decision = rule.apply(null, null, url3); // site1:2 site2:1
- assertEquals("decision not as expected", Decision.RULE_ACCEPT, decision.getDecision());
- decision = rule.apply(null, null, url1); // site1:3 site2:1
- assertEquals("decision not as expected", Decision.RULE_ACCEPT, decision.getDecision());
- decision = rule.apply(null, null, url2); // site1:3 site2:2
- assertEquals("decision not as expected", Decision.RULE_ACCEPT, decision.getDecision());
- decision = rule.apply(null, null, url3); // site1 -- violation
- assertEquals("decision not as expected", Decision.RULE_IGNORE, decision.getDecision());
- }
- public void applyTest ( int max, String urlString, int times, int lastExpected ) throws Exception {
- config.setValue(MaxResourcesPerSiteRule.MAX, new Integer(max));
- URL url = new URL(urlString);
- Rule rule = new MaxResourcesPerSiteRule(config) ;
- Decision decision = null;
- for ( int i = 0; i < times; i++ ) {
- decision = rule.apply(null, null, url);
- }
- assertEquals("final decision not as expected", lastExpected, decision.getDecision());
- }
- }