1 package org.objectweb.celtix.systest.soapheader; 2 3 import java.lang.reflect.UndeclaredThrowableException ; 4 import java.net.URL ; 5 6 import javax.xml.namespace.QName ; 7 import javax.xml.ws.Holder; 8 9 import junit.framework.Test; 10 import junit.framework.TestSuite; 11 12 import org.objectweb.celtix.systest.common.ClientServerSetupBase; 13 import org.objectweb.celtix.systest.common.ClientServerTestBase; 14 import org.objectweb.header_test.SOAPHeaderService; 15 import org.objectweb.header_test.TestHeader; 16 import org.objectweb.header_test.types.TestHeader1; 17 import org.objectweb.header_test.types.TestHeader1Response; 18 import org.objectweb.header_test.types.TestHeader2; 19 import org.objectweb.header_test.types.TestHeader2Response; 20 import org.objectweb.header_test.types.TestHeader3; 21 import org.objectweb.header_test.types.TestHeader3Response; 22 import org.objectweb.header_test.types.TestHeader5; 23 24 public class HeaderClientServerTest extends ClientServerTestBase { 25 26 private final QName serviceName = new QName ("http://objectweb.org/header_test", 27 "SOAPHeaderService"); 28 private final QName portName = new QName ("http://objectweb.org/header_test", 29 "SOAPHeaderPort"); 30 31 private TestHeader proxy; 32 33 public static Test suite() throws Exception { 34 TestSuite suite = new TestSuite(HeaderClientServerTest.class); 35 return new ClientServerSetupBase(suite) { 36 public void startServers() throws Exception { 37 assertTrue("server did not launch correctly", launchServer(Server.class)); 38 } 39 }; 40 } 41 42 public void setUp() throws Exception { 43 super.setUp(); 44 45 URL wsdl = getClass().getResource("/wsdl/soapheader_test.wsdl"); 46 assertNotNull(wsdl); 47 48 SOAPHeaderService service = new SOAPHeaderService(wsdl, serviceName); 49 assertNotNull(service); 50 proxy = service.getPort(portName, TestHeader.class); 51 } 52 public void tearDown() { 53 proxy = null; 54 } 55 56 public void testInHeader() throws Exception { 57 try { 58 TestHeader1 val = new TestHeader1(); 59 for (int idx = 0; idx < 2; idx++) { 60 TestHeader1Response returnVal = proxy.testHeader1(val, val); 61 assertNotNull(returnVal); 62 assertEquals(TestHeader1.class.getSimpleName(), returnVal.getResponseType()); 63 } 64 } catch (UndeclaredThrowableException ex) { 65 throw (Exception )ex.getCause(); 66 } 67 } 68 69 public void testOutHeader() throws Exception { 70 try { 71 TestHeader2 in = new TestHeader2(); 72 String val = new String (TestHeader2Response.class.getSimpleName()); 73 Holder<TestHeader2Response> out = new Holder<TestHeader2Response>(); 74 Holder<TestHeader2Response> outHeader = new Holder<TestHeader2Response>(); 75 for (int idx = 0; idx < 2; idx++) { 76 val += idx; 77 in.setRequestType(val); 78 proxy.testHeader2(in, out, outHeader); 79 80 assertEquals(val, out.value.getResponseType()); 81 assertEquals(val, outHeader.value.getResponseType()); 82 } 83 } catch (UndeclaredThrowableException ex) { 84 throw (Exception )ex.getCause(); 85 } 86 } 87 88 public void testInOutHeader() throws Exception { 89 90 try { 91 TestHeader3 in = new TestHeader3(); 92 String val = new String (TestHeader3.class.getSimpleName()); 93 Holder<TestHeader3> inoutHeader = new Holder<TestHeader3>(); 94 for (int idx = 0; idx < 2; idx++) { 95 val += idx; 96 in.setRequestType(val); 97 inoutHeader.value = new TestHeader3(); 98 TestHeader3Response returnVal = proxy.testHeader3(in, inoutHeader); 99 assertNotNull(returnVal); 102 assertNull(returnVal.getResponseType()); 103 assertEquals(val, inoutHeader.value.getRequestType()); 104 105 in.setRequestType(null); 106 inoutHeader.value.setRequestType(val); 107 returnVal = proxy.testHeader3(in, inoutHeader); 108 assertNotNull(returnVal); 109 assertEquals(val, returnVal.getResponseType()); 110 assertNull(inoutHeader.value.getRequestType()); 111 } 112 } catch (UndeclaredThrowableException ex) { 113 throw (Exception )ex.getCause(); 114 } 115 } 116 117 public void testReturnHeader() throws Exception { 118 119 try { 120 TestHeader5 in = new TestHeader5(); 121 String val = new String (TestHeader5.class.getSimpleName()); 122 for (int idx = 0; idx < 2; idx++) { 123 val += idx; 124 in.setRequestType(val); 125 TestHeader5 returnVal = proxy.testHeader5(in); 126 127 assertNotNull(returnVal); 129 assertEquals(val, returnVal.getRequestType()); 130 } 131 } catch (UndeclaredThrowableException ex) { 132 throw (Exception )ex.getCause(); 133 } 134 } 135 136 public static void main(String [] args) { 137 junit.textui.TestRunner.run(HeaderClientServerTest.class); 138 } 139 } 140 | Popular Tags |