|
|
|
|
|
|
|
package net.yacy.crawler;
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.net.MalformedURLException;
|
|
|
|
import net.yacy.cora.document.id.DigestURL;
|
|
|
|
import net.yacy.cora.util.SpaceExceededException;
|
|
|
|
import net.yacy.crawler.retrieval.Request;
|
|
|
|
import static org.junit.Assert.*;
|
|
|
|
import org.junit.Test;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* test HostQueue
|
|
|
|
* directorylayout is
|
|
|
|
*
|
|
|
|
* stackDir (dir)
|
|
|
|
* +-- hostDir (dir)
|
|
|
|
* +-- crawldepth.stack (file)
|
|
|
|
*/
|
|
|
|
public class HostQueueTest {
|
|
|
|
final String stackDir = "test/DATA/INDEX/QUEUE/CrawlerCoreStacks";
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Test of clear method, of class HostQueue.
|
|
|
|
*/
|
|
|
|
@Test
|
|
|
|
public void testClear() throws MalformedURLException, IOException, SpaceExceededException {
|
|
|
|
File stackDirFile = new File(stackDir);
|
|
|
|
String hostDir = "a.com";
|
|
|
|
String urlstr = "http://" + hostDir + "/test.html";
|
|
|
|
DigestURL url = new DigestURL(urlstr);
|
|
|
|
|
|
|
|
// open queue
|
|
|
|
HostQueue testhq = new HostQueue(stackDirFile, url, true, true);
|
|
|
|
|
|
|
|
// add a url
|
|
|
|
Request req = new Request(url, null);
|
|
|
|
testhq.push(req, null, null);
|
|
|
|
|
|
|
|
int sizeA = testhq.size();
|
|
|
|
assertTrue (sizeA > 0);
|
|
|
|
|
|
|
|
testhq.clear(); // clear the complete host queue (should delete all files in stackDir)
|
|
|
|
|
|
|
|
int sizeB = testhq.size();
|
|
|
|
assertEquals (0,sizeB);
|
|
|
|
|
|
|
|
// verify stackDir empty (double check)
|
|
|
|
String[] filelist = stackDirFile.list();
|
|
|
|
assertEquals ("host files in queue dir",0,filelist.length);
|
|
|
|
|
|
|
|
testhq.close();
|
|
|
|
|
|
|
|
// verify stackDir empty
|
|
|
|
filelist = stackDirFile.list();
|
|
|
|
assertEquals ("host files in queue dir",0,filelist.length);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|