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"; int hostPort = 80; // open queue HostQueue testhq = new HostQueue(stackDirFile, hostDir, hostPort, true, true); // add a url String urlstr = "http://" + hostDir + "/test.html"; DigestURL url = new DigestURL(urlstr); 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); } }