/*
* 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.util.Collection;
import org.teiid.core.util.SmartTestDesignerSuite;
import org.teiid.designer.webservice.AbstractWebServiceResource;
import org.teiid.designer.webservice.IWebServiceResource;
import junit.extensions.TestSetup;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* @since 4.2
*/
public class TestAbstractWebServiceResource extends TestCase {
private static final String RESOURCE1_NAMESPACE = "http://something"; //$NON-NLS-1$
private static final String RESOURCE1_FULLPATH = "E:/something/else.wsdl"; //$NON-NLS-1$
private static final String RESOURCE2_NAMESPACE = RESOURCE1_NAMESPACE;
private static final String RESOURCE2_FULLPATH = RESOURCE1_FULLPATH;
private static final String RESOURCE3_NAMESPACE = "http://acme"; //$NON-NLS-1$
private static final String RESOURCE3_FULLPATH = "D:/abcdef/else.xsd"; //$NON-NLS-1$
private static final String RESOURCE4_NAMESPACE = null;
private static final String RESOURCE4_FULLPATH = "D:/abcdef/else.txt"; //$NON-NLS-1$
private static final String RESOURCE5_NAMESPACE = RESOURCE3_NAMESPACE;
private static final String RESOURCE5_FULLPATH = null;
private AbstractWebServiceResource resource1;
private AbstractWebServiceResource resource2; // equivalent to reosurce1
private AbstractWebServiceResource resource3;
private AbstractWebServiceResource resource4; // null namespace
private AbstractWebServiceResource resource5; // null full path
/*
* @see TestCase#setUp()
*/
@Override
protected void setUp() throws Exception {
super.setUp();
this.resource1 = new FakeConcreteAbstractWebServiceResource(RESOURCE1_NAMESPACE, RESOURCE1_FULLPATH, true);
this.resource2 = new FakeConcreteAbstractWebServiceResource(RESOURCE2_NAMESPACE, RESOURCE2_FULLPATH, true);
this.resource3 = new FakeConcreteAbstractWebServiceResource(RESOURCE3_NAMESPACE, RESOURCE3_FULLPATH, true);
this.resource4 = new FakeConcreteAbstractWebServiceResource(RESOURCE4_NAMESPACE, RESOURCE4_FULLPATH, true);
this.resource5 = new FakeConcreteAbstractWebServiceResource(RESOURCE5_NAMESPACE, RESOURCE5_FULLPATH, false);
}
/*
* @see TestCase#tearDown()
*/
@Override
protected void tearDown() throws Exception {
super.tearDown();
}
/**
* Constructor for TestAbstractWebServiceResource.
*
* @param name
*/
public TestAbstractWebServiceResource( String name ) {
super(name);
}
/**
* Test suite, with one-time setup.
*/
public static Test suite() {
TestSuite suite = new SmartTestDesignerSuite("org.teiid.designer.webservice", "TestAbstractWebServiceResource"); //$NON-NLS-1$ //$NON-NLS-2$
suite.addTestSuite(TestAbstractWebServiceResource.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 helpCheckCollection( final int expectedSize,
final Collection actual ) {
assertNotNull(actual);
assertEquals(expectedSize, actual.size());
}
// =========================================================================
// T E S T C A S E S
// =========================================================================
public void testSetup() {
assertNotNull(this.resource1);
assertNotNull(this.resource2);
assertNotNull(this.resource3);
assertNotNull(this.resource4);
assertNotNull(this.resource5);
}
public void testHashCode() {
assertEquals(this.resource1.hashCode(), this.resource2.hashCode());
this.resource3.hashCode();
// test hashcode with a null namespace ...
this.resource4.hashCode();
// test hashcode with a null full path ...
this.resource5.hashCode();
}
public void testGetFullPath() {
assertSame(RESOURCE1_FULLPATH, this.resource1.getFullPath());
assertSame(RESOURCE2_FULLPATH, this.resource2.getFullPath());
assertSame(RESOURCE3_FULLPATH, this.resource3.getFullPath());
assertSame(RESOURCE4_FULLPATH, this.resource4.getFullPath());
assertSame(RESOURCE5_FULLPATH, this.resource5.getFullPath());
}
public void testGetNamespace() {
assertSame(RESOURCE1_NAMESPACE, this.resource1.getNamespace());
assertSame(RESOURCE2_NAMESPACE, this.resource2.getNamespace());
assertSame(RESOURCE3_NAMESPACE, this.resource3.getNamespace());
assertSame(RESOURCE4_NAMESPACE, this.resource4.getNamespace());
assertSame(RESOURCE5_NAMESPACE, this.resource5.getNamespace());
}
public void testGetFile() {
// should return null, since these are all fake ...
assertNull(this.resource1.getFile());
assertNull(this.resource2.getFile());
assertNull(this.resource3.getFile());
assertNull(this.resource4.getFile());
assertNull(this.resource5.getFile());
}
public void testGetInputStream() {
// should return null, since these are all fake ...
assertNull(this.resource1.getFile());
assertNull(this.resource2.getFile());
assertNull(this.resource3.getFile());
assertNull(this.resource4.getFile());
assertNull(this.resource5.getFile());
}
public void testIsWsdl() {
assertEquals(true, this.resource1.isWsdl());
assertEquals(true, this.resource2.isWsdl());
assertEquals(false, this.resource3.isWsdl());
assertEquals(false, this.resource4.isWsdl());
assertEquals(false, this.resource5.isWsdl());
}
public void testIsXsd() {
assertEquals(false, this.resource1.isXsd());
assertEquals(false, this.resource2.isXsd());
assertEquals(true, this.resource3.isXsd());
assertEquals(false, this.resource4.isXsd());
assertEquals(false, this.resource5.isXsd());
}
public void testGetReferencingResources() {
helpCheckCollection(0, this.resource1.getReferencingResources());
helpCheckCollection(0, this.resource2.getReferencingResources());
helpCheckCollection(0, this.resource3.getReferencingResources());
helpCheckCollection(0, this.resource4.getReferencingResources());
helpCheckCollection(0, this.resource5.getReferencingResources());
}
public void testGetReferencedResources() {
helpCheckCollection(0, this.resource1.getReferencedResources());
helpCheckCollection(0, this.resource2.getReferencedResources());
helpCheckCollection(0, this.resource3.getReferencedResources());
helpCheckCollection(0, this.resource4.getReferencedResources());
helpCheckCollection(0, this.resource5.getReferencedResources());
}
public void testRemoveFromAllReferencers() {
this.resource1.removeFromAllReferencers();
this.resource2.removeFromAllReferencers();
this.resource3.removeFromAllReferencers();
this.resource4.removeFromAllReferencers();
this.resource5.removeFromAllReferencers();
helpCheckCollection(0, this.resource1.getReferencingResources());
helpCheckCollection(0, this.resource2.getReferencingResources());
helpCheckCollection(0, this.resource3.getReferencingResources());
helpCheckCollection(0, this.resource4.getReferencingResources());
helpCheckCollection(0, this.resource5.getReferencingResources());
helpCheckCollection(0, this.resource1.getReferencedResources());
helpCheckCollection(0, this.resource2.getReferencedResources());
helpCheckCollection(0, this.resource3.getReferencedResources());
helpCheckCollection(0, this.resource4.getReferencedResources());
helpCheckCollection(0, this.resource5.getReferencedResources());
}
public void testRemoveReferencedResource() {
this.resource1.removeReferencedResource(this.resource2);
this.resource2.removeReferencedResource(this.resource1);
this.resource1.removeReferencedResource(this.resource3);
this.resource1.removeReferencedResource(this.resource4);
this.resource1.removeReferencedResource(this.resource5);
}
public void testAddReferencedResource() {
assertEquals(true, this.resource5.addReferencedResource(this.resource1));
helpCheckCollection(0, this.resource5.getReferencingResources());
helpCheckCollection(1, this.resource1.getReferencingResources());
helpCheckCollection(1, this.resource5.getReferencedResources());
helpCheckCollection(0, this.resource1.getReferencedResources());
}
public void testIsReferencedDirectlyOrIndirectly() {
assertEquals(true, this.resource5.addReferencedResource(this.resource3));
assertEquals(true, this.resource3.addReferencedResource(this.resource1));
helpCheckCollection(0, this.resource5.getReferencingResources());
helpCheckCollection(1, this.resource3.getReferencingResources());
helpCheckCollection(1, this.resource1.getReferencingResources());
helpCheckCollection(1, this.resource5.getReferencedResources());
helpCheckCollection(1, this.resource3.getReferencedResources());
helpCheckCollection(0, this.resource1.getReferencedResources());
}
public void testGetStatus() {
}
public void testIsResolved() {
assertEquals(true, this.resource1.isResolved());
assertEquals(true, this.resource2.isResolved());
assertEquals(true, this.resource3.isResolved());
assertEquals(true, this.resource4.isResolved());
assertEquals(false, this.resource5.isResolved());
}
public void testIsResolvedToSelf() {
assertEquals(true, this.resource1.isResolvedToSelf());
assertEquals(true, this.resource2.isResolvedToSelf());
assertEquals(true, this.resource3.isResolvedToSelf());
assertEquals(true, this.resource4.isResolvedToSelf());
assertEquals(false, this.resource5.isResolvedToSelf());
}
public void testGetResolvedResource() {
assertSame(this.resource1, this.resource1.getResolvedResource());
assertSame(this.resource2, this.resource2.getResolvedResource());
assertSame(this.resource3, this.resource3.getResolvedResource());
assertSame(this.resource4, this.resource4.getResolvedResource());
assertSame(null, this.resource5.getResolvedResource());
}
public void testGetResourcesResolved() {
}
public void testGetLastResolvedResource() {
assertSame(this.resource1, this.resource1.getLastResolvedResource());
assertSame(this.resource2, this.resource2.getLastResolvedResource());
assertSame(this.resource3, this.resource3.getLastResolvedResource());
assertSame(this.resource4, this.resource4.getLastResolvedResource());
assertSame(null, this.resource5.getLastResolvedResource());
assertEquals(true, this.resource5.setResolvedResource(this.resource3));
assertEquals(true, this.resource3.setResolvedResource(this.resource1));
assertSame(this.resource3, this.resource5.getResolvedResource());
assertSame(this.resource1, this.resource3.getResolvedResource());
assertSame(this.resource1, this.resource5.getLastResolvedResource());
assertSame(this.resource1, this.resource3.getLastResolvedResource());
}
public void testSetResolvedResource() {
}
/*
* Class under test for boolean equals(Object)
*/
public void testEqualsObject() {
assertEquals(true, this.resource1.equals(this.resource2));
assertEquals(true, this.resource2.equals(this.resource1));
assertEquals(false, this.resource1.equals(this.resource3));
assertEquals(false, this.resource3.equals(this.resource1));
IWebServiceResource resource5Dup = new FakeConcreteAbstractWebServiceResource(RESOURCE5_NAMESPACE, RESOURCE5_FULLPATH,
false);
assertEquals(true, this.resource5.equals(resource5Dup));
assertEquals(true, resource5Dup.equals(this.resource5));
}
/*
* Class under test for String toString()
*/
public void testToString() {
}
}