KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > archive > crawler > selftest > AllSelfTestCases


1 /* AllTests
2  *
3  * Created on Jan 29, 2004
4  *
5  * Copyright (C) 2004 Internet Archive.
6  *
7  * This file is part of the Heritrix web crawler (crawler.archive.org).
8  *
9  * Heritrix is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU Lesser Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * any later version.
13  *
14  * Heritrix is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU Lesser Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser Public License
20  * along with Heritrix; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22  */

23 package org.archive.crawler.selftest;
24
25 import java.io.File JavaDoc;
26 import java.util.Arrays JavaDoc;
27 import java.util.Collections JavaDoc;
28 import java.util.Iterator JavaDoc;
29 import java.util.List JavaDoc;
30
31 import junit.extensions.TestSetup;
32 import junit.framework.Test;
33 import junit.framework.TestSuite;
34
35 import org.archive.crawler.admin.CrawlJob;
36
37
38 /**
39  * All registered heritrix selftests.
40  *
41  * @author stack
42  * @version $Id: AllSelfTestCases.java,v 1.12.4.1 2007/01/13 01:31:26 stack-sf Exp $
43  */

44 public class AllSelfTestCases
45 {
46     /**
47      * All known selftests as a list.
48      *
49      * Gets initialized by the static block that immediately follows.
50      */

51     private static List JavaDoc allKnownSelftests;
52     static {
53         // List of all known selftests.
54
Class JavaDoc [] tmp = {
55                 BackgroundImageExtractionSelfTestCase.class,
56                 FramesSelfTestCase.class,
57                 MaxLinkHopsSelfTest.class,
58                 CharsetSelfTest.class,
59                 AuthSelfTest.class,
60                 BadURIsStopPageParsingSelfTest.class,
61                 // Works locally but not on builds.archive.org.
62
// FlashParseSelfTest.class
63
CheckpointSelfTest.class,
64             };
65         AllSelfTestCases.allKnownSelftests =
66             Collections.unmodifiableList(Arrays.asList(tmp));
67     }
68
69     /**
70      * Run all known tests in the selftest suite.
71      *
72      * Each unit test to run as part of selftest needs to be added here.
73      *
74      * @param selftestURL Base url to selftest webapp.
75      * @param job The completed selftest job.
76      * @param jobDir Job output directory. Has the seed file, the order file
77      * and logs.
78      * @param htdocs Expanded webapp directory location.
79      *
80      * @return Suite of all selftests.
81      */

82     public static Test suite(final String JavaDoc selftestURL, final CrawlJob job,
83             final File JavaDoc jobDir, final File JavaDoc htdocs)
84     {
85         return suite(selftestURL, job, jobDir, htdocs,
86              AllSelfTestCases.allKnownSelftests);
87     }
88
89     /**
90      * Run list of passed tests.
91      *
92      * This method is exposed so can run something less than all of the
93      * selftests.
94      *
95      * @param selftestURL Base url to selftest webapp.
96      * @param job The completed selftest job.
97      * @param jobDir Job output directory. Has the seed file, the order file
98      * and logs.
99      * @param htdocs Expanded webapp directory location.
100      * @param selftests List of selftests to run.
101      *
102      * @return Suite of all selftests.
103      */

104     public static Test suite(final String JavaDoc selftestURL, final CrawlJob job,
105             final File JavaDoc jobDir, final File JavaDoc htdocs, final List JavaDoc selftests) {
106         TestSuite suite =
107             new TestSuite("Test(s) for org.archive.crawler.selftest");
108         for (Iterator JavaDoc i = selftests.iterator(); i.hasNext();) {
109             suite.addTestSuite((Class JavaDoc)i.next());
110         }
111
112         return new TestSetup(suite) {
113                 protected void setUp() throws Exception JavaDoc {
114                     SelfTestCase.initialize(selftestURL, job, jobDir, htdocs);
115                 }
116         };
117     }
118 }
119
Popular Tags