blob: fe44bb37f4157256baef0c03bc8b6e4e93bba702 [file] [log] [blame]
package test.badWSDL;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.apache.axis.wsdl.toJava.Emitter;
import java.io.File;
import java.io.FilenameFilter;
/**
* This test grabs each WSDL file in the directory and runs WSDL2Java against them.
* They should all fail. If one does not, this test fails.
*/
public class WSDL2JavaFailuresTestCase extends TestCase {
private static final String badWSDL = "test" + File.separatorChar +
"badWSDL";
private String wsdl;
public WSDL2JavaFailuresTestCase(String wsdl) {
super("testWSDLFailures");
this.wsdl = wsdl;
}
/**
* Create a test suite with a single test for each WSDL file in this
* directory.
*/
public static Test suite() {
TestSuite tests = new TestSuite();
String[] wsdls = getWSDLs();
for (int i = 0; i < wsdls.length; ++i) {
tests.addTest(new WSDL2JavaFailuresTestCase(badWSDL +
File.separatorChar + wsdls[i]));
}
return tests;
} // suite
/**
* Get a list of all WSDL files in this directory.
*/
private static String[] getWSDLs() {
String[] wsdls = null;
try {
File failuresDir = new File(badWSDL);
FilenameFilter fnf = new FilenameFilter()
{
public boolean accept(File dir, String name) {
return name.endsWith(".wsdl");
}
};
wsdls = failuresDir.list(fnf);
}
catch (Throwable t) {
wsdls = null;
}
if (wsdls == null) {
wsdls = new String[0];
}
return wsdls;
} // getWSDLs
/**
* Call WSDL2Java on this WSDL file, failing if WSDL2Java succeeds.
*/
public void testWSDLFailures() {
boolean failed = false;
Emitter emitter = new Emitter();
emitter.setTestCaseWanted(true);
emitter.setHelperWanted(true);
emitter.setImports(true);
emitter.setAllWanted(true);
emitter.setServerSide(true);
emitter.setSkeletonWanted(true);
try {
emitter.run(wsdl);
failed = true;
}
catch (Throwable e) {
}
if (failed) {
fail("WSDL2Java " + wsdl + " should have failed.");
}
} // testWSDLFailures
} // class WSDL2JavaFailuresTestCase