test for #484
parent
fc702fd3b6
commit
9b964c0a99
|
@ -32,7 +32,7 @@ public abstract class DuplicateRemovedScheduler implements Scheduler {
|
||||||
@Override
|
@Override
|
||||||
public void push(Request request, Task task) {
|
public void push(Request request, Task task) {
|
||||||
logger.trace("get a candidate url {}", request.getUrl());
|
logger.trace("get a candidate url {}", request.getUrl());
|
||||||
if (!duplicatedRemover.isDuplicate(request, task) || shouldReserved(request) || noNeedToRemoveDuplicate(request)) {
|
if (shouldReserved(request) || noNeedToRemoveDuplicate(request) || !duplicatedRemover.isDuplicate(request, task)) {
|
||||||
logger.debug("push to queue {}", request.getUrl());
|
logger.debug("push to queue {}", request.getUrl());
|
||||||
pushWhenNoDuplicate(request, task);
|
pushWhenNoDuplicate(request, task);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
package us.codecraft.webmagic.scheduler;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.mockito.runners.MockitoJUnitRunner;
|
||||||
|
import us.codecraft.webmagic.Request;
|
||||||
|
import us.codecraft.webmagic.Task;
|
||||||
|
import us.codecraft.webmagic.scheduler.component.DuplicateRemover;
|
||||||
|
import us.codecraft.webmagic.utils.HttpConstant;
|
||||||
|
|
||||||
|
import static org.mockito.Matchers.any;
|
||||||
|
import static org.mockito.Mockito.times;
|
||||||
|
import static org.mockito.Mockito.verify;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author code4crafter@gmail.com
|
||||||
|
* Date: 17/3/11
|
||||||
|
* Time: 上午11:26
|
||||||
|
*/
|
||||||
|
@RunWith(MockitoJUnitRunner.class)
|
||||||
|
public class DuplicateRemovedSchedulerTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_no_duplicate_removed_for_post_request() throws Exception {
|
||||||
|
DuplicateRemovedScheduler duplicateRemovedScheduler = new DuplicateRemovedScheduler() {
|
||||||
|
@Override
|
||||||
|
public Request poll(Task task) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
DuplicateRemover duplicateRemover = Mockito.mock(DuplicateRemover.class);
|
||||||
|
duplicateRemovedScheduler.setDuplicateRemover(duplicateRemover);
|
||||||
|
Request request = new Request("https://www.google.com/");
|
||||||
|
request.setMethod(HttpConstant.Method.POST);
|
||||||
|
duplicateRemovedScheduler.push(request, null);
|
||||||
|
verify(duplicateRemover,times(0)).isDuplicate(any(Request.class),any(Task.class));
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,17 +0,0 @@
|
||||||
package us.codecraft.webmagic.samples.scheduler;
|
|
||||||
|
|
||||||
import org.junit.Test;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author code4crafter@gmail.com
|
|
||||||
* Date: 17/3/11
|
|
||||||
* Time: 上午11:26
|
|
||||||
*/
|
|
||||||
public class DuplicateRemovedSchedulerTest {
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testDuplicateRemoved() throws Exception {
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue