/*
* JBoss, Home of Professional Open Source.
*
* See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing.
*
* See the AUTHORS.txt file distributed with this work for a full listing of individual contributors.
*/
package org.teiid.designer.webservice;
import java.io.File;
import junit.extensions.TestSetup;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.teiid.core.util.SmartTestDesignerSuite;
/**
* @since 4.2
*/
public class TestWebServiceResources extends TestCase {
public static final URI WSDL_BABEL_FISH = URI.createFileURI(SmartTestDesignerSuite.getTestDataFile(TestWebServiceResources.class, "/wsdl/BabelFishService.wsdl").getAbsolutePath()); //$NON-NLS-1$
public static final URI WSDL_DAY_OF_WEEK = URI.createFileURI(SmartTestDesignerSuite.getTestDataFile(TestWebServiceResources.class, "/wsdl/DayOfWeek.wsdl").getAbsolutePath()); //$NON-NLS-1$
public static final URI WSDL_HELLOSERVICE = URI.createFileURI(SmartTestDesignerSuite.getTestDataFile(TestWebServiceResources.class, "/wsdl/HelloService.wsdl").getAbsolutePath()); //$NON-NLS-1$
public static final URI WSDL_HELLOSERVICE_SIMPLE = URI.createFileURI(SmartTestDesignerSuite.getTestDataFile(TestWebServiceResources.class, "/wsdl/HelloServiceSimple.wsdl").getAbsolutePath()); //$NON-NLS-1$
public static final URI WSDL_HELLOSERVICE_WITHOUT_SOAP = URI.createFileURI(SmartTestDesignerSuite.getTestDataFile(TestWebServiceResources.class, "/wsdl/HelloServiceWithoutSoap.wsdl").getAbsolutePath()); //$NON-NLS-1$
public static final URI WSDL_MSDOTNET_GENERATED = URI.createFileURI(SmartTestDesignerSuite.getTestDataFile(TestWebServiceResources.class, "/wsdl/MsDotNetGenerated.wsdl").getAbsolutePath()); //$NON-NLS-1$
public static final URI WSDL_WEATHER_SUMMARY = URI.createFileURI(SmartTestDesignerSuite.getTestDataFile(TestWebServiceResources.class, "/wsdl/WeatherSummary.wsdl").getAbsolutePath()); //$NON-NLS-1$
public static final URI AUTHORS_AND_PUBLISHERS = URI.createFileURI(SmartTestDesignerSuite.getTestDataFile(TestWebServiceResources.class, "/xsd/AuthorsAndPublishers.xsd").getAbsolutePath()); //$NON-NLS-1$
public static final URI BOOK_DATATYPES = URI.createFileURI(SmartTestDesignerSuite.getTestDataFile(TestWebServiceResources.class, "/xsd/BookDatatypes.xsd").getAbsolutePath()); //$NON-NLS-1$
public static final URI BOOK_REQUESTS = URI.createFileURI(SmartTestDesignerSuite.getTestDataFile(TestWebServiceResources.class, "/xsd/BookRequests.xsd").getAbsolutePath()); //$NON-NLS-1$
public static final URI BOOKS = URI.createFileURI(SmartTestDesignerSuite.getTestDataFile(TestWebServiceResources.class, "/xsd/Books.xsd").getAbsolutePath()); //$NON-NLS-1$
public static final URI AUTHORS_AND_PUBLISHERS_WEB_SERVICES = URI.createFileURI(SmartTestDesignerSuite.getTestDataFile(TestWebServiceResources.class, "/xsd/AuthorsAndPublishers_WsdlDefaultNS.wsdl").getAbsolutePath()); //$NON-NLS-1$
public static final URI BOOKS_WEB_SERVICES = URI.createFileURI(SmartTestDesignerSuite.getTestDataFile(TestWebServiceResources.class, "/xsd/BooksWebServiceWithDefaultNS.wsdl").getAbsolutePath()); //$NON-NLS-1$
private WebServiceResources resources;
/*
* @see TestCase#setUp()
*/
@Override
protected void setUp() throws Exception {
super.setUp();
resources = new WebServiceResources();
}
/*
* @see TestCase#tearDown()
*/
@Override
protected void tearDown() throws Exception {
super.tearDown();
resources = null;
}
/**
* Constructor for TestWebServiceResources.
*
* @param name
*/
public TestWebServiceResources( String name ) {
super(name);
}
/**
* Test suite, with one-time setup.
*/
public static Test suite() {
TestSuite suite = new SmartTestDesignerSuite("org.teiid.designer.webservice", "TestWebServiceResources"); //$NON-NLS-1$ //$NON-NLS-2$
suite.addTestSuite(TestWebServiceResources.class);
// One-time setup and teardown
return new TestSetup(suite) {
@Override
public void setUp() {
}
@Override
public void tearDown() {
}
};
}
// =========================================================================
// H E L P E R M E T H O D S
// =========================================================================
public void helpTestUrl( final URI uri ) {
assertNotNull(uri);
// Convert to a file ...
final File f = new File(uri.toFileString());
assertEquals("The file " + f.getAbsolutePath() + " does not exist", true, f.exists()); //$NON-NLS-1$ //$NON-NLS-2$
}
public void helpTestAddingResource( final URI uri,
final int numRoots ) {
final Resource r = this.resources.add(uri);
assertNotNull(r);
assertEquals(numRoots, r.getContents().size());
assertEquals(uri.toString(), r.getURI().toString());
}
// =========================================================================
// T E S T C A S E S
// =========================================================================
public void testUrls() {
helpTestUrl(WSDL_BABEL_FISH);
helpTestUrl(WSDL_DAY_OF_WEEK);
helpTestUrl(WSDL_HELLOSERVICE);
helpTestUrl(WSDL_HELLOSERVICE_SIMPLE);
helpTestUrl(WSDL_HELLOSERVICE_WITHOUT_SOAP);
helpTestUrl(WSDL_MSDOTNET_GENERATED);
helpTestUrl(WSDL_WEATHER_SUMMARY);
helpTestUrl(AUTHORS_AND_PUBLISHERS);
helpTestUrl(BOOK_DATATYPES);
helpTestUrl(BOOK_REQUESTS);
helpTestUrl(BOOKS);
helpTestUrl(BOOKS_WEB_SERVICES);
helpTestUrl(AUTHORS_AND_PUBLISHERS_WEB_SERVICES);
}
public void testConstruction() {
assertNotNull(this.resources);
}
public void testAddingWsdlResources() {
helpTestAddingResource(WSDL_BABEL_FISH, 1);
helpTestAddingResource(WSDL_DAY_OF_WEEK, 1);
helpTestAddingResource(WSDL_HELLOSERVICE, 1);
helpTestAddingResource(WSDL_HELLOSERVICE_SIMPLE, 1);
helpTestAddingResource(WSDL_HELLOSERVICE_WITHOUT_SOAP, 1);
helpTestAddingResource(WSDL_MSDOTNET_GENERATED, 1);
helpTestAddingResource(WSDL_WEATHER_SUMMARY, 1);
helpTestAddingResource(AUTHORS_AND_PUBLISHERS_WEB_SERVICES, 1);
}
public void testAddingXsdResources() {
helpTestAddingResource(AUTHORS_AND_PUBLISHERS, 1);
helpTestAddingResource(BOOK_DATATYPES, 1);
helpTestAddingResource(BOOK_REQUESTS, 1);
helpTestAddingResource(BOOKS, 1);
}
public void testAddingWsdlAndXsdResources() {
helpTestAddingResource(WSDL_BABEL_FISH, 1);
helpTestAddingResource(WSDL_DAY_OF_WEEK, 1);
helpTestAddingResource(WSDL_HELLOSERVICE, 1);
helpTestAddingResource(WSDL_HELLOSERVICE_SIMPLE, 1);
helpTestAddingResource(WSDL_HELLOSERVICE_WITHOUT_SOAP, 1);
helpTestAddingResource(WSDL_MSDOTNET_GENERATED, 1);
helpTestAddingResource(WSDL_WEATHER_SUMMARY, 1);
helpTestAddingResource(AUTHORS_AND_PUBLISHERS, 1);
helpTestAddingResource(BOOK_DATATYPES, 1);
helpTestAddingResource(BOOK_REQUESTS, 1);
helpTestAddingResource(BOOKS, 1);
helpTestAddingResource(AUTHORS_AND_PUBLISHERS_WEB_SERVICES, 1);
}
}