/**
* Copyright (c) 2009--2012 Red Hat, Inc.
*
* This software is licensed to you under the GNU General Public License,
* version 2 (GPLv2). There is NO WARRANTY for this software, express or
* implied, including the implied warranties of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
* along with this software; if not, see
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
*
* Red Hat trademarks are not licensed under GPLv2. No permission is
* granted to use or replicate Red Hat trademarks that are incorporated
* in this software or its documentation.
*/
package com.redhat.rhn.common.finder.test;
import com.redhat.rhn.common.finder.Finder;
import com.redhat.rhn.common.finder.FinderFactory;
import com.redhat.rhn.testing.RhnBaseTestCase;
import java.util.List;
public class JarFinderTest extends RhnBaseTestCase {
// NOTE: Test is dependent on knowing things like "How many classes are in jarfile X"
// When "X" changes, the test FAILS.
// Sigh.
// At least make it clear what we're looking for...
// As of this writing, java/rhnwebapp/WEB-INF/lib/redstone-xmlrpc-1.1_20071120.jar
private static final String TESTJAR = "redstone.xmlrpc";
private static final int NUM_CLASSES_IN_TESTJAR = 46;
private static final int NUM_SUBDIRS_IN_TESTJAR = 47;
public void testGetFinder() throws Exception {
Finder f = FinderFactory.getFinder(TESTJAR);
assertNotNull(f);
}
public void testFindFiles() throws Exception {
Finder f = FinderFactory.getFinder(TESTJAR);
assertNotNull(f);
List<String> result = f.find(".class");
assertEquals(NUM_CLASSES_IN_TESTJAR, result.size());
}
public void testFindFilesSubDir() throws Exception {
Finder f = FinderFactory.getFinder(TESTJAR);
assertNotNull(f);
List<String> result = f.find("");
assertEquals(NUM_SUBDIRS_IN_TESTJAR, result.size());
}
public void testFindFilesExcluding() throws Exception {
Finder f = FinderFactory.getFinder(TESTJAR);
assertNotNull(f);
String[] sarr = {"End"};
List<String> result = f.findExcluding(sarr, "class");
assertEquals(NUM_CLASSES_IN_TESTJAR, result.size());
}
}