From 3b77e41f1aa48b166bdef27de32b740c700dd54e Mon Sep 17 00:00:00 2001 From: reger Date: Sun, 6 Jul 2014 00:38:16 +0200 Subject: [PATCH] adding test for HostQueue crawl stack - simulating problem with zero length stack file (but not fixing it) - adding test data clean to maven pom --- pom.xml | 12 +++++ test/net/yacy/crawler/HostQueueTest.java | 62 ++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 test/net/yacy/crawler/HostQueueTest.java diff --git a/pom.xml b/pom.xml index 16f2327c2..ad6cd77d8 100644 --- a/pom.xml +++ b/pom.xml @@ -99,6 +99,18 @@ + + maven-clean-plugin + 2.5 + + + + test/DATA + + + + + maven-assembly-plugin 2.4 diff --git a/test/net/yacy/crawler/HostQueueTest.java b/test/net/yacy/crawler/HostQueueTest.java new file mode 100644 index 000000000..6f819b453 --- /dev/null +++ b/test/net/yacy/crawler/HostQueueTest.java @@ -0,0 +1,62 @@ + +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); + + } + +}