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 }