1 package org.seasar.remoting.axis.deployer; 2 3 import javax.xml.namespace.QName; 4 5 import org.apache.axis.providers.java.JavaProvider; 6 import org.seasar.extension.unit.S2TestCase; 7 import org.seasar.framework.container.ComponentDef; 8 import org.seasar.framework.container.MetaDef; 9 import org.seasar.remoting.axis.DeployFailedException; 10 import org.seasar.remoting.axis.deployment.WSDDS2Service; 11 import org.w3c.dom.Element; 12 13 /*** 14 * @author koichik 15 */ 16 public class ServiceDeployerTest extends S2TestCase { 17 public ServiceDeployerTest(String name) { 18 super(name); 19 } 20 21 public void testCreateWSDDS2Service() { 22 include("ServiceDeployerTest.createWSDDS2Service.dicon"); 23 AxisDeployer deployer = new AxisDeployer(); 24 ServiceDeployer serviceDeployer = (ServiceDeployer) deployer.serviceDeployer; 25 26 ComponentDef def1 = getComponentDef("null"); 27 MetaDef meta1 = def1.getMetaDef("s2-axis:service"); 28 WSDDS2Service service1 = serviceDeployer.createWSDDS2Service(def1, meta1); 29 assertNotNull(service1); 30 assertEquals(new QName("null"), service1.getQName()); 31 32 ComponentDef def2 = getComponentDef("serviceDef"); 33 MetaDef meta2 = def2.getMetaDef("s2-axis:service"); 34 WSDDS2Service service2 = serviceDeployer.createWSDDS2Service(def2, meta2); 35 assertNotNull(service2); 36 assertEquals(new QName("serviceDef"), service2.getQName()); 37 assertEquals("java.lang.Boolean", service2.getParameter(JavaProvider.OPTION_CLASSNAME)); 38 39 ComponentDef def3 = getComponentDef("wsdd"); 40 MetaDef meta3 = def3.getMetaDef("s2-axis:service"); 41 WSDDS2Service service3 = serviceDeployer.createWSDDS2Service(def3, meta3); 42 assertNotNull(service3); 43 assertEquals(new QName("FromWSDD"), service3.getQName()); 44 assertEquals("java.lang.Double", service3.getParameter(JavaProvider.OPTION_CLASSNAME)); 45 46 try { 47 ComponentDef def4 = getComponentDef("int"); 48 MetaDef meta4 = def4.getMetaDef("s2-axis:service"); 49 serviceDeployer.createWSDDS2Service(def4, meta4); 50 fail(); 51 } 52 catch (DeployFailedException expected) { 53 } 54 } 55 56 public void testGetServiceElement() { 57 AxisDeployer deployer = new AxisDeployer(); 58 ServiceDeployer serviceDeployer = (ServiceDeployer) deployer.serviceDeployer; 59 60 Element e1 = serviceDeployer 61 .getServiceElement("org/seasar/remoting/axis/deployer/ServiceDeployerTest.getServiceElement1.wsdd"); 62 assertNotNull(e1); 63 assertEquals("service", e1.getNodeName()); 64 assertEquals("one", e1.getAttribute("name")); 65 66 try { 67 serviceDeployer 68 .getServiceElement("org/seasar/remoting/axis/deployer/ServiceDeployerTest.getServiceElement0.wsdd"); 69 fail(); 70 } 71 catch (DeployFailedException expected) { 72 } 73 74 try { 75 serviceDeployer 76 .getServiceElement("org/seasar/remoting/axis/deployer/ServiceDeployerTest.getServiceElement2.wsdd"); 77 fail(); 78 } 79 catch (DeployFailedException expected) { 80 } 81 } 82 }