001: package org.objectweb.celtix.js.rhino;
002:
003: import junit.framework.TestCase;
004:
005: import org.easymock.classextension.EasyMock;
006:
007: import org.mozilla.javascript.Scriptable;
008:
009: public class AbstractDOMProviderTest extends TestCase {
010:
011: private String epAddr = "http://celtix.objectweb.org/";
012:
013: private Scriptable scriptMock;
014:
015: protected void setUp() throws Exception {
016: super .setUp();
017: scriptMock = EasyMock.createMock(Scriptable.class);
018: }
019:
020: public void testNoWsdlLocation() throws Exception {
021: EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
022: .andReturn(Scriptable.NOT_FOUND);
023: EasyMock.replay(scriptMock);
024: AbstractDOMProvider adp = new DOMMessageProvider(scriptMock,
025: scriptMock, null, false, false);
026: try {
027: adp.publish();
028: fail("expected exception did not occur");
029: } catch (AbstractDOMProvider.JSDOMProviderException ex) {
030: assertEquals("wrong exception message",
031: AbstractDOMProvider.NO_WSDL_LOCATION, ex
032: .getMessage());
033: }
034: EasyMock.verify(scriptMock);
035: }
036:
037: public void testNoSvcName() throws Exception {
038: EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
039: .andReturn("found");
040: EasyMock.expect(scriptMock.get("serviceName", scriptMock))
041: .andReturn(Scriptable.NOT_FOUND);
042: EasyMock.replay(scriptMock);
043: AbstractDOMProvider adp = new DOMPayloadProvider(scriptMock,
044: scriptMock, null, false, false);
045: try {
046: adp.publish();
047: fail("expected exception did not occur");
048: } catch (AbstractDOMProvider.JSDOMProviderException ex) {
049: assertEquals("wrong exception message",
050: AbstractDOMProvider.NO_SERVICE_NAME, ex
051: .getMessage());
052: }
053: EasyMock.verify(scriptMock);
054: }
055:
056: public void testNoPortName() throws Exception {
057: EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
058: .andReturn("found");
059: EasyMock.expect(scriptMock.get("serviceName", scriptMock))
060: .andReturn("found");
061: EasyMock.expect(scriptMock.get("portName", scriptMock))
062: .andReturn(Scriptable.NOT_FOUND);
063: EasyMock.replay(scriptMock);
064: AbstractDOMProvider adp = new DOMMessageProvider(scriptMock,
065: scriptMock, null, false, false);
066: try {
067: adp.publish();
068: fail("expected exception did not occur");
069: } catch (AbstractDOMProvider.JSDOMProviderException ex) {
070: assertEquals("wrong exception message",
071: AbstractDOMProvider.NO_PORT_NAME, ex.getMessage());
072: }
073: EasyMock.verify(scriptMock);
074: }
075:
076: public void testNoTgtNamespace() throws Exception {
077: EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
078: .andReturn("found");
079: EasyMock.expect(scriptMock.get("serviceName", scriptMock))
080: .andReturn("found");
081: EasyMock.expect(scriptMock.get("portName", scriptMock))
082: .andReturn("found");
083: EasyMock.expect(scriptMock.get("targetNamespace", scriptMock))
084: .andReturn(Scriptable.NOT_FOUND);
085: EasyMock.replay(scriptMock);
086: AbstractDOMProvider adp = new DOMMessageProvider(scriptMock,
087: scriptMock, null, false, false);
088: try {
089: adp.publish();
090: fail("expected exception did not occur");
091: } catch (AbstractDOMProvider.JSDOMProviderException ex) {
092: assertEquals("wrong exception message",
093: AbstractDOMProvider.NO_TGT_NAMESPACE, ex
094: .getMessage());
095: }
096: EasyMock.verify(scriptMock);
097: }
098:
099: public void testNoAddr() throws Exception {
100: EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
101: .andReturn("found");
102: EasyMock.expect(scriptMock.get("serviceName", scriptMock))
103: .andReturn("found");
104: EasyMock.expect(scriptMock.get("portName", scriptMock))
105: .andReturn("found");
106: EasyMock.expect(scriptMock.get("targetNamespace", scriptMock))
107: .andReturn("found");
108: EasyMock.expect(scriptMock.get("EndpointAddress", scriptMock))
109: .andReturn(Scriptable.NOT_FOUND);
110: EasyMock.replay(scriptMock);
111: AbstractDOMProvider adp = new DOMPayloadProvider(scriptMock,
112: scriptMock, null, false, false);
113: try {
114: adp.publish();
115: fail("expected exception did not occur");
116: } catch (AbstractDOMProvider.JSDOMProviderException ex) {
117: assertEquals("wrong exception message",
118: AbstractDOMProvider.NO_EP_ADDR, ex.getMessage());
119: }
120: EasyMock.verify(scriptMock);
121: }
122:
123: public void testNoInvoke() throws Exception {
124: EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
125: .andReturn("found");
126: EasyMock.expect(scriptMock.get("serviceName", scriptMock))
127: .andReturn("found");
128: EasyMock.expect(scriptMock.get("portName", scriptMock))
129: .andReturn("found");
130: EasyMock.expect(scriptMock.get("targetNamespace", scriptMock))
131: .andReturn("found");
132: EasyMock.expect(scriptMock.get("EndpointAddress", scriptMock))
133: .andReturn(epAddr);
134: EasyMock.expect(scriptMock.get("BindingType", scriptMock))
135: .andReturn(Scriptable.NOT_FOUND);
136: EasyMock.expect(scriptMock.get("invoke", scriptMock))
137: .andReturn(Scriptable.NOT_FOUND);
138: EasyMock.replay(scriptMock);
139: AbstractDOMProvider adp = new DOMPayloadProvider(scriptMock,
140: scriptMock, null, false, false);
141: try {
142: adp.publish();
143: fail("expected exception did not occur");
144: } catch (AbstractDOMProvider.JSDOMProviderException ex) {
145: assertEquals("wrong exception message",
146: AbstractDOMProvider.NO_INVOKE, ex.getMessage());
147: }
148: EasyMock.verify(scriptMock);
149: }
150:
151: public void testIllegalInvoke() throws Exception {
152: EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock))
153: .andReturn("found");
154: EasyMock.expect(scriptMock.get("serviceName", scriptMock))
155: .andReturn("found");
156: EasyMock.expect(scriptMock.get("portName", scriptMock))
157: .andReturn("found");
158: EasyMock.expect(scriptMock.get("targetNamespace", scriptMock))
159: .andReturn("found");
160: EasyMock.expect(scriptMock.get("BindingType", scriptMock))
161: .andReturn(Scriptable.NOT_FOUND);
162: EasyMock.expect(scriptMock.get("invoke", scriptMock))
163: .andReturn("string");
164: EasyMock.replay(scriptMock);
165: AbstractDOMProvider adp = new DOMMessageProvider(scriptMock,
166: scriptMock, epAddr, true, true);
167: try {
168: adp.publish();
169: fail("expected exception did not occur");
170: } catch (AbstractDOMProvider.JSDOMProviderException ex) {
171: assertEquals("wrong exception message",
172: AbstractDOMProvider.ILLEGAL_INVOKE_TYPE, ex
173: .getMessage());
174: }
175: EasyMock.verify(scriptMock);
176: }
177: }
|