add some test for github repo downloader
parent
800f66c4cc
commit
7586e3d75c
@ -0,0 +1,34 @@
|
||||
package us.codecraft.webmagic.downloader;
|
||||
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import us.codecraft.webmagic.Page;
|
||||
import us.codecraft.webmagic.Request;
|
||||
import us.codecraft.webmagic.Task;
|
||||
import us.codecraft.webmagic.selector.PlainText;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
/**
|
||||
* @author code4crafter@gmail.com
|
||||
*/
|
||||
public class MockGithubDownloader implements Downloader {
|
||||
|
||||
@Override
|
||||
public Page download(Request request, Task task) {
|
||||
Page page = new Page();
|
||||
InputStream resourceAsStream = this.getClass().getResourceAsStream("/html/mock-github.html");
|
||||
try {
|
||||
page.setRawText(IOUtils.toString(resourceAsStream));
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
page.setRequest(new Request("https://github.com/code4craft/webmagic"));
|
||||
page.setUrl(new PlainText("https://github.com/code4craft/webmagic"));
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setThread(int threadNum) {
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package us.codecraft.webmagic.example;
|
||||
|
||||
import org.junit.Test;
|
||||
import us.codecraft.webmagic.ResultItems;
|
||||
import us.codecraft.webmagic.Spider;
|
||||
import us.codecraft.webmagic.Task;
|
||||
import us.codecraft.webmagic.downloader.MockGithubDownloader;
|
||||
import us.codecraft.webmagic.pipeline.Pipeline;
|
||||
import us.codecraft.webmagic.processor.example.GithubRepoPageProcessor;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* @author code4crafter@gmail.com
|
||||
* Date: 16/1/19
|
||||
* Time: 上午7:27
|
||||
*/
|
||||
public class GithubRepoPageProcessorTest {
|
||||
|
||||
@Test
|
||||
public void test_github() throws Exception {
|
||||
Spider.create(new GithubRepoPageProcessor()).addPipeline(new Pipeline() {
|
||||
@Override
|
||||
public void process(ResultItems resultItems, Task task) {
|
||||
assertThat(((String) resultItems.get("name")).trim()).isEqualTo("webmagic");
|
||||
assertThat(((String) resultItems.get("author")).trim()).isEqualTo("code4craft");
|
||||
}
|
||||
}).setDownloader(new MockGithubDownloader()).test("https://github.com/code4craft/webmagic");
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue