1 package org.objectweb.celtix.js.rhino; 2 3 import junit.framework.TestCase; 4 5 import org.easymock.classextension.EasyMock; 6 7 import org.mozilla.javascript.Scriptable; 8 9 10 public class AbstractDOMProviderTest extends TestCase { 11 12 private String epAddr = "http://celtix.objectweb.org/"; 13 14 private Scriptable scriptMock; 15 16 protected void setUp() throws Exception { 17 super.setUp(); 18 scriptMock = EasyMock.createMock(Scriptable.class); 19 } 20 21 public void testNoWsdlLocation() throws Exception { 22 EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock)) 23 .andReturn(Scriptable.NOT_FOUND); 24 EasyMock.replay(scriptMock); 25 AbstractDOMProvider adp = new DOMMessageProvider(scriptMock, scriptMock, 26 null, false, false); 27 try { 28 adp.publish(); 29 fail("expected exception did not occur"); 30 } catch (AbstractDOMProvider.JSDOMProviderException ex) { 31 assertEquals("wrong exception message", 32 AbstractDOMProvider.NO_WSDL_LOCATION, ex.getMessage()); 33 } 34 EasyMock.verify(scriptMock); 35 } 36 37 public void testNoSvcName() throws Exception { 38 EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock)) 39 .andReturn("found"); 40 EasyMock.expect(scriptMock.get("serviceName", scriptMock)) 41 .andReturn(Scriptable.NOT_FOUND); 42 EasyMock.replay(scriptMock); 43 AbstractDOMProvider adp = new DOMPayloadProvider(scriptMock, scriptMock, 44 null, false, false); 45 try { 46 adp.publish(); 47 fail("expected exception did not occur"); 48 } catch (AbstractDOMProvider.JSDOMProviderException ex) { 49 assertEquals("wrong exception message", 50 AbstractDOMProvider.NO_SERVICE_NAME, ex.getMessage()); 51 } 52 EasyMock.verify(scriptMock); 53 } 54 55 public void testNoPortName() throws Exception { 56 EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock)) 57 .andReturn("found"); 58 EasyMock.expect(scriptMock.get("serviceName", scriptMock)) 59 .andReturn("found"); 60 EasyMock.expect(scriptMock.get("portName", scriptMock)) 61 .andReturn(Scriptable.NOT_FOUND); 62 EasyMock.replay(scriptMock); 63 AbstractDOMProvider adp = new DOMMessageProvider(scriptMock, scriptMock, 64 null, false, false); 65 try { 66 adp.publish(); 67 fail("expected exception did not occur"); 68 } catch (AbstractDOMProvider.JSDOMProviderException ex) { 69 assertEquals("wrong exception message", 70 AbstractDOMProvider.NO_PORT_NAME, ex.getMessage()); 71 } 72 EasyMock.verify(scriptMock); 73 } 74 75 public void testNoTgtNamespace() throws Exception { 76 EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock)) 77 .andReturn("found"); 78 EasyMock.expect(scriptMock.get("serviceName", scriptMock)) 79 .andReturn("found"); 80 EasyMock.expect(scriptMock.get("portName", scriptMock)) 81 .andReturn("found"); 82 EasyMock.expect(scriptMock.get("targetNamespace", scriptMock)) 83 .andReturn(Scriptable.NOT_FOUND); 84 EasyMock.replay(scriptMock); 85 AbstractDOMProvider adp = new DOMMessageProvider(scriptMock, scriptMock, 86 null, false, false); 87 try { 88 adp.publish(); 89 fail("expected exception did not occur"); 90 } catch (AbstractDOMProvider.JSDOMProviderException ex) { 91 assertEquals("wrong exception message", 92 AbstractDOMProvider.NO_TGT_NAMESPACE, ex.getMessage()); 93 } 94 EasyMock.verify(scriptMock); 95 } 96 97 public void testNoAddr() throws Exception { 98 EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock)) 99 .andReturn("found"); 100 EasyMock.expect(scriptMock.get("serviceName", scriptMock)) 101 .andReturn("found"); 102 EasyMock.expect(scriptMock.get("portName", scriptMock)) 103 .andReturn("found"); 104 EasyMock.expect(scriptMock.get("targetNamespace", scriptMock)) 105 .andReturn("found"); 106 EasyMock.expect(scriptMock.get("EndpointAddress", scriptMock)) 107 .andReturn(Scriptable.NOT_FOUND); 108 EasyMock.replay(scriptMock); 109 AbstractDOMProvider adp = new DOMPayloadProvider(scriptMock, scriptMock, 110 null, false, false); 111 try { 112 adp.publish(); 113 fail("expected exception did not occur"); 114 } catch (AbstractDOMProvider.JSDOMProviderException ex) { 115 assertEquals("wrong exception message", 116 AbstractDOMProvider.NO_EP_ADDR, ex.getMessage()); 117 } 118 EasyMock.verify(scriptMock); 119 } 120 121 public void testNoInvoke() throws Exception { 122 EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock)) 123 .andReturn("found"); 124 EasyMock.expect(scriptMock.get("serviceName", scriptMock)) 125 .andReturn("found"); 126 EasyMock.expect(scriptMock.get("portName", scriptMock)) 127 .andReturn("found"); 128 EasyMock.expect(scriptMock.get("targetNamespace", scriptMock)) 129 .andReturn("found"); 130 EasyMock.expect(scriptMock.get("EndpointAddress", scriptMock)) 131 .andReturn(epAddr); 132 EasyMock.expect(scriptMock.get("BindingType", scriptMock)) 133 .andReturn(Scriptable.NOT_FOUND); 134 EasyMock.expect(scriptMock.get("invoke", scriptMock)) 135 .andReturn(Scriptable.NOT_FOUND); 136 EasyMock.replay(scriptMock); 137 AbstractDOMProvider adp = new DOMPayloadProvider(scriptMock, scriptMock, 138 null, false, false); 139 try { 140 adp.publish(); 141 fail("expected exception did not occur"); 142 } catch (AbstractDOMProvider.JSDOMProviderException ex) { 143 assertEquals("wrong exception message", 144 AbstractDOMProvider.NO_INVOKE, ex.getMessage()); 145 } 146 EasyMock.verify(scriptMock); 147 } 148 149 public void testIllegalInvoke() throws Exception { 150 EasyMock.expect(scriptMock.get("wsdlLocation", scriptMock)) 151 .andReturn("found"); 152 EasyMock.expect(scriptMock.get("serviceName", scriptMock)) 153 .andReturn("found"); 154 EasyMock.expect(scriptMock.get("portName", scriptMock)) 155 .andReturn("found"); 156 EasyMock.expect(scriptMock.get("targetNamespace", scriptMock)) 157 .andReturn("found"); 158 EasyMock.expect(scriptMock.get("BindingType", scriptMock)) 159 .andReturn(Scriptable.NOT_FOUND); 160 EasyMock.expect(scriptMock.get("invoke", scriptMock)) 161 .andReturn("string"); 162 EasyMock.replay(scriptMock); 163 AbstractDOMProvider adp = new DOMMessageProvider(scriptMock, scriptMock, 164 epAddr, true, true); 165 try { 166 adp.publish(); 167 fail("expected exception did not occur"); 168 } catch (AbstractDOMProvider.JSDOMProviderException ex) { 169 assertEquals("wrong exception message", 170 AbstractDOMProvider.ILLEGAL_INVOKE_TYPE, ex.getMessage()); 171 } 172 EasyMock.verify(scriptMock); 173 } 174 } 175 | Popular Tags |