001: /*
002: * SharkWebServiceTestCase.java
003: *
004: * This file was auto-generated from WSDL by the Apache Axis WSDL2Java emitter.
005: */
006:
007: package org.enhydra.shark.asap.test;
008:
009: import java.net.InetAddress;
010: import java.net.URL;
011:
012: import javax.xml.rpc.holders.StringHolder;
013:
014: import org.apache.axis.message.MessageElement;
015: import org.apache.axis.types.URI;
016: import org.enhydra.shark.asap.AsapFactoryBindingStub;
017: import org.enhydra.shark.asap.AsapInstanceBindingStub;
018: import org.enhydra.shark.asap.AsapObserverBindingStub;
019: import org.enhydra.shark.asap.SharkWebServiceLocator;
020: import org.enhydra.shark.asap.types.ChangeStateRq;
021: import org.enhydra.shark.asap.types.CompletedRq;
022: import org.enhydra.shark.asap.types.CompletedRqResultData;
023: import org.enhydra.shark.asap.types.CreateInstanceRq;
024: import org.enhydra.shark.asap.types.CreateInstanceRqContextData;
025: import org.enhydra.shark.asap.types.Event;
026: import org.enhydra.shark.asap.types.FilterType;
027: import org.enhydra.shark.asap.types.GetPropertiesRs;
028: import org.enhydra.shark.asap.types.Instance;
029: import org.enhydra.shark.asap.types.ListInstancesRq;
030: import org.enhydra.shark.asap.types.Request;
031: import org.enhydra.shark.asap.types.SetPropertiesRq;
032: import org.enhydra.shark.asap.types.SetPropertiesRqData;
033: import org.enhydra.shark.asap.types.StateChangedRq;
034: import org.enhydra.shark.asap.types.StateType;
035: import org.enhydra.shark.asap.types.SubscribeRq;
036: import org.enhydra.shark.asap.types.UnsubscribeRq;
037: import org.enhydra.shark.asap.types.YesNoIfError;
038: import org.enhydra.shark.asap.types.holders.ChangeStateRsHolder;
039: import org.enhydra.shark.asap.types.holders.CreateInstanceRsHolder;
040: import org.enhydra.shark.asap.types.holders.GetPropertiesRsHolder;
041: import org.enhydra.shark.asap.types.holders.ListInstancesRsHolder;
042: import org.enhydra.shark.asap.types.holders.ResponseHolder;
043: import org.enhydra.shark.asap.types.holders.SetPropertiesRsHolder;
044:
045: /**
046: * JUnit test case for shark web service wrapper.
047: *
048: * @author V.Puskas
049: */
050: public class SharkWebServiceTestCase extends junit.framework.TestCase {
051: static private URI ik;
052:
053: public static final String TARGET_SERVICE_OBSERVER = "http://localhost:8080/axis/services/asapObserverBinding";
054:
055: public static final String TARGET_SERVICE_FACTORY = "http://localhost:8080/axis/services/asapFactoryBinding";
056:
057: public static final String TARGET_SERVICE_INSTANCE = "http://localhost:8080/axis/services/asapInstanceBinding";
058:
059: public SharkWebServiceTestCase(java.lang.String name) {
060: super (name);
061: }
062:
063: public void test6asapObserverBindingGetProperties()
064: throws Exception {
065: AsapObserverBindingStub binding;
066: try {
067: binding = (AsapObserverBindingStub) new SharkWebServiceLocator()
068: .getasapObserverBinding(new URL(
069: TARGET_SERVICE_OBSERVER));
070: } catch (javax.xml.rpc.ServiceException jre) {
071: if (jre.getLinkedCause() != null)
072: jre.getLinkedCause().printStackTrace();
073: throw new junit.framework.AssertionFailedError(
074: "JAX-RPC ServiceException caught: " + jre);
075: }
076: assertNotNull("binding is null", binding);
077:
078: // Time out after a minute
079: binding.setTimeout(60000);
080:
081: Request rqh = new Request();
082: String rqb = ""; // new java.lang.String();
083: ResponseHolder rsh = new ResponseHolder();
084: GetPropertiesRsHolder rsb = new GetPropertiesRsHolder();
085: rqh.setReceiverKey(new URI(TARGET_SERVICE_OBSERVER));
086: rqh.setSenderKey(new URI("http://localhost:8080"));
087: rqh.setRequestID("ObserverProperties");
088: rqh.setResponseRequired(YesNoIfError.Yes);
089:
090: // Test operation
091: binding.getProperties(rqh, rqb, rsh, rsb);
092: // TBD - validate results
093: }
094:
095: public void test7asapObserverBindingCompleted() throws Exception {
096: AsapObserverBindingStub binding;
097: try {
098: binding = (AsapObserverBindingStub) new SharkWebServiceLocator()
099: .getasapObserverBinding(new URL(
100: TARGET_SERVICE_OBSERVER));
101: } catch (javax.xml.rpc.ServiceException jre) {
102: if (jre.getLinkedCause() != null)
103: jre.getLinkedCause().printStackTrace();
104: throw new junit.framework.AssertionFailedError(
105: "JAX-RPC ServiceException caught: " + jre);
106: }
107: assertNotNull("binding is null", binding);
108:
109: // Time out after a minute
110: binding.setTimeout(60000);
111:
112: Request rqh = new Request();
113: CompletedRq rqb = new CompletedRq();
114: ResponseHolder rsh = new ResponseHolder();
115: StringHolder rsb = new StringHolder();
116: rqh.setReceiverKey(new URI(TARGET_SERVICE_OBSERVER));
117: rqh.setRequestID("ObserverCompleted");
118: rqb.setInstanceKey(new URI("http://vidiinstancu"));
119: rqb.setResultData(new CompletedRqResultData());
120: // Test operation
121: binding.completed(rqh, rqb, rsh, rsb);
122: // TBD - validate results
123: }
124:
125: public void test8asapObserverBindingStateChanged() throws Exception {
126: AsapObserverBindingStub binding;
127: try {
128: binding = (AsapObserverBindingStub) new SharkWebServiceLocator()
129: .getasapObserverBinding(new URL(
130: TARGET_SERVICE_OBSERVER));
131: } catch (javax.xml.rpc.ServiceException jre) {
132: if (jre.getLinkedCause() != null)
133: jre.getLinkedCause().printStackTrace();
134: throw new junit.framework.AssertionFailedError(
135: "JAX-RPC ServiceException caught: " + jre);
136: }
137: assertNotNull("binding is null", binding);
138:
139: // Time out after a minute
140: binding.setTimeout(60000);
141:
142: Request rqh = new Request();
143: StateChangedRq rqb = new StateChangedRq();
144: ResponseHolder rsh = new ResponseHolder();
145: StringHolder rsb = new StringHolder();
146:
147: rqh.setReceiverKey(new URI(TARGET_SERVICE_OBSERVER));
148: rqh.setRequestID("ObserverStatusChanged");
149: rqh.setSenderKey(new URI("http://testproc"));
150:
151: rqb.setPreviousState(StateType.value1);
152: rqb.setState(StateType.value3);
153:
154: // Test operation
155: binding.stateChanged(rqh, rqb, rsh, rsb);
156: // TBD - validate results
157: }
158:
159: public void test9asapFactoryBindingGetProperties() throws Exception {
160: AsapFactoryBindingStub binding;
161:
162: try {
163: binding = (AsapFactoryBindingStub) new SharkWebServiceLocator()
164: .getasapFactoryBinding(new URL(
165: TARGET_SERVICE_FACTORY));
166: } catch (javax.xml.rpc.ServiceException jre) {
167: if (jre.getLinkedCause() != null)
168: jre.getLinkedCause().printStackTrace();
169: throw new junit.framework.AssertionFailedError(
170: "JAX-RPC ServiceException caught: " + jre);
171: }
172: assertNotNull("binding is null", binding);
173:
174: // Time out after a minute
175: binding.setTimeout(60000);
176: Request rqHead = new Request();
177: String rqBody = ""; // new java.lang.String()
178: ResponseHolder rsHead = new ResponseHolder();
179: GetPropertiesRsHolder rsBody = new GetPropertiesRsHolder();
180: rqHead.setReceiverKey(new URI(TARGET_SERVICE_FACTORY));
181: // rqHead.getReceiverKey().setQueryString("procMgr=test_js+1+basic");
182: // rqHead.getReceiverKey().setQueryString("procDef=manufacturing&packageId=test_js");
183: rqHead.getReceiverKey().setQueryString(
184: "procDef=Game&packageId=test_bs");
185: rqHead.setRequestID("FactoryProperties");
186:
187: // Test operation
188: binding.getProperties(rqHead, rqBody, rsHead, rsBody);
189: // TBD - validate results
190: GetPropertiesRs fpg = rsBody.value;
191: System.err.println("Key=" + fpg.getKey());
192: System.err.println("Name=" + fpg.getName());
193: System.err.println("Subj=" + fpg.getSubject());
194: System.err.println("desc=" + fpg.getDescription());
195: System.err.println("cds="
196: + fpg.getContextDataSchema().get_any()[0].toString());
197: System.err.println("rds="
198: + fpg.getResultDataSchema().get_any()[0].toString());
199: }
200:
201: public void test10asapFactoryBindingCreateInstance()
202: throws Exception {
203: AsapFactoryBindingStub binding;
204: try {
205: binding = (AsapFactoryBindingStub) new SharkWebServiceLocator()
206: .getasapFactoryBinding(new URL(
207: TARGET_SERVICE_FACTORY));
208: } catch (javax.xml.rpc.ServiceException jre) {
209: if (jre.getLinkedCause() != null)
210: jre.getLinkedCause().printStackTrace();
211: throw new junit.framework.AssertionFailedError(
212: "JAX-RPC ServiceException caught: " + jre);
213: }
214: assertNotNull("binding is null", binding);
215:
216: // Time out after a minute
217: binding.setTimeout(60000);
218:
219: Request rqHead = new Request();
220: CreateInstanceRq rqBody = new CreateInstanceRq();
221: ResponseHolder rsHead = new ResponseHolder();
222: CreateInstanceRsHolder rsBody = new CreateInstanceRsHolder();
223:
224: rqHead.setReceiverKey(new URI(TARGET_SERVICE_FACTORY));
225: // rqHead.getReceiverKey().setQueryString("procMgr=test_js+1+basic");
226: // rqHead.getReceiverKey().setQueryString("procDef=manufacturing&packageId=test_js");
227: rqHead.getReceiverKey().setQueryString(
228: "procDef=Game&packageId=test_bs");
229: rqHead.setRequestID("FactoryCreateInstance");
230: rqBody.setObserverKey(new URI(TARGET_SERVICE_OBSERVER));
231: rqBody.getObserverKey().setHost(
232: InetAddress.getLocalHost().getHostName());
233: rqBody.setName("some fine name");
234: MessageElement[] b = new MessageElement[1];
235: b[0] = new MessageElement("", "game_cycles");
236: b[0].setValue("3");
237: rqBody.setContextData(new CreateInstanceRqContextData(b));
238: rqBody.setStartImmediately(true);
239: // Test operation
240: binding.createInstance(rqHead, rqBody, rsHead, rsBody);
241: // TBD - validate results
242: ik = rsBody.value.getInstanceKey();
243: System.err.println("##instance created:" + ik);
244: }
245:
246: public void test11asapFactoryBindingListInstances()
247: throws Exception {
248: AsapFactoryBindingStub binding;
249: try {
250: binding = (AsapFactoryBindingStub) new SharkWebServiceLocator()
251: .getasapFactoryBinding(new URL(
252: TARGET_SERVICE_FACTORY));
253: } catch (javax.xml.rpc.ServiceException jre) {
254: if (jre.getLinkedCause() != null)
255: jre.getLinkedCause().printStackTrace();
256: throw new junit.framework.AssertionFailedError(
257: "JAX-RPC ServiceException caught: " + jre);
258: }
259: assertNotNull("binding is null", binding);
260:
261: // Time out after a minute
262: binding.setTimeout(60000);
263:
264: Request rqh = new Request();
265: rqh.setReceiverKey(new URI(TARGET_SERVICE_FACTORY));
266: rqh.getReceiverKey().setQueryString(
267: "procDef=Game&packageId=test_bs");
268: rqh.setRequestID("FactoryListInstances");
269: ListInstancesRq rqb = new ListInstancesRq();
270: rqb.setFilter(new FilterType());
271: ResponseHolder rsh = new ResponseHolder();
272: ListInstancesRsHolder rsb = new ListInstancesRsHolder();
273: // Test operation
274: binding.listInstances(rqh, rqb, rsh, rsb);
275: Instance[] a = rsb.value;
276: if (null != a) {
277: for (int n = 0; n < a.length; ++n) {
278: // System.err.println(a[n]);
279: System.err.println("[" + a[n].getInstanceKey() + ", "
280: + a[n].getName() + ", " + a[n].getSubject()
281: + ", " + a[n].getPriority() + "]");
282: }
283: } else {
284: System.err.println("getInstance value is null");
285: }
286: // TBD - validate results
287: }
288:
289: public void test2asapInstanceBindingSetProperties()
290: throws Exception {
291: Thread.sleep(1000);
292: AsapInstanceBindingStub binding;
293: try {
294: binding = (AsapInstanceBindingStub) new SharkWebServiceLocator()
295: .getasapInstanceBinding(new URL(
296: TARGET_SERVICE_INSTANCE));
297: } catch (javax.xml.rpc.ServiceException jre) {
298: if (jre.getLinkedCause() != null)
299: jre.getLinkedCause().printStackTrace();
300: throw new junit.framework.AssertionFailedError(
301: "JAX-RPC ServiceException caught: " + jre);
302: }
303: assertNotNull("binding is null", binding);
304:
305: // Time out after a minute
306: binding.setTimeout(60000);
307:
308: Request rqh = new Request();
309: SetPropertiesRq rqb = new SetPropertiesRq();
310: ResponseHolder rsh = new ResponseHolder();
311: SetPropertiesRsHolder rsb = new SetPropertiesRsHolder();
312: rqh.setReceiverKey(ik);
313: rqh.setRequestID("InstanceSetProperties");
314: rqh.setSenderKey(new URI("http://test"));
315: rqh.setResponseRequired(YesNoIfError.Yes);
316: rqb.setDescription("procDesc");
317: rqb.setSubject("New subject");
318: rqb.setPriority(3);
319: MessageElement[] b = new MessageElement[2];
320: b[0] = new MessageElement("", "player1_no");
321: b[0].setValue("33");
322: b[1] = new MessageElement("", "player2_no");
323: b[1].setValue("55");
324: rqb.setData(new SetPropertiesRqData(b));
325: // Test operation
326: binding.setProperties(rqh, rqb, rsh, rsb);
327: // TBD - validate results
328: }
329:
330: public void test3asapInstanceBindingSubscribe() throws Exception {
331: AsapInstanceBindingStub binding;
332: try {
333: binding = (AsapInstanceBindingStub) new SharkWebServiceLocator()
334: .getasapInstanceBinding(new URL(
335: TARGET_SERVICE_INSTANCE));
336: } catch (javax.xml.rpc.ServiceException jre) {
337: if (jre.getLinkedCause() != null)
338: jre.getLinkedCause().printStackTrace();
339: throw new junit.framework.AssertionFailedError(
340: "JAX-RPC ServiceException caught: " + jre);
341: }
342: assertNotNull("binding is null", binding);
343:
344: // Time out after a minute
345: binding.setTimeout(60000);
346:
347: Request rqh = new Request();
348: SubscribeRq rqb = new SubscribeRq();
349: ResponseHolder rsh = new ResponseHolder();
350: StringHolder rsb = new StringHolder();
351: rqh.setReceiverKey(ik);
352: rqh.setRequestID("InstanceSubscribe");
353: rqh.setSenderKey(new URI("http://test"));
354: rqh.setResponseRequired(YesNoIfError.Yes);
355: rqb.setObserverKey(new URI(TARGET_SERVICE_OBSERVER));
356: // Test operation
357: binding.subscribe(rqh, rqb, rsh, rsb);
358: // TBD - validate results
359: }
360:
361: public void test5asapInstanceBindingChangeState() throws Exception {
362: Thread.sleep(1000);
363: System.err.println("##ibcss");
364: AsapInstanceBindingStub binding;
365: try {
366: binding = (AsapInstanceBindingStub) new SharkWebServiceLocator()
367: .getasapInstanceBinding(new URL(
368: TARGET_SERVICE_INSTANCE));
369: } catch (javax.xml.rpc.ServiceException jre) {
370: if (jre.getLinkedCause() != null)
371: jre.getLinkedCause().printStackTrace();
372: throw new junit.framework.AssertionFailedError(
373: "JAX-RPC ServiceException caught: " + jre);
374: }
375: assertNotNull("binding is null", binding);
376:
377: // Time out after a minute
378: binding.setTimeout(60000);
379:
380: Request rqh = new Request();
381: ChangeStateRq rqb = new ChangeStateRq();
382: ResponseHolder rsh = new ResponseHolder();
383: ChangeStateRsHolder rsb = new ChangeStateRsHolder();
384: rqh.setReceiverKey(ik);
385: rqh.setRequestID("InstanceChangeStateSuspended");
386: rqh.setSenderKey(new URI("http://test"));
387: rqh.setResponseRequired(YesNoIfError.Yes);
388: rqb.setState(StateType.value2);
389:
390: // Test operation
391: binding.changeState(rqh, rqb, rsh, rsb);
392: // TBD - validate results
393: System.err.println("##ibcse");
394:
395: }
396:
397: public void test1asapInstanceBindingGetProperties()
398: throws Exception {
399: Thread.sleep(1000);
400: // ik=new
401: // URI("http://localhost:8080/axis/services/asapInstanceBinding?procInst=901_test_bs_Game");
402: AsapInstanceBindingStub binding;
403: try {
404: binding = (AsapInstanceBindingStub) new SharkWebServiceLocator()
405: .getasapInstanceBinding(new URL(
406: TARGET_SERVICE_INSTANCE));
407: } catch (javax.xml.rpc.ServiceException jre) {
408: if (jre.getLinkedCause() != null)
409: jre.getLinkedCause().printStackTrace();
410: throw new junit.framework.AssertionFailedError(
411: "JAX-RPC ServiceException caught: " + jre);
412: }
413: assertNotNull("binding is null", binding);
414:
415: // Time out after a minute
416: binding.setTimeout(60000);
417:
418: Request rqh = new Request();
419: String rqb = "";
420: ResponseHolder rsh = new ResponseHolder();
421: GetPropertiesRsHolder rsb = new GetPropertiesRsHolder();
422: rqh.setReceiverKey(ik);
423: rqh.setSenderKey(new URI("http://test"));
424: rqh.setRequestID("InstanceGetProperties");
425: System.out.println("IJ=" + ik);
426: System.err.println("##tt");
427: // Test operation
428: binding.getProperties(rqh, rqb, rsh, rsb);
429: GetPropertiesRs ipg = rsb.value;
430: System.err.println("#ipg:" + ipg.getKey());
431: System.err.println("#ipg:" + ipg.getFactoryKey());
432: URI[] _obs_ = ipg.getObservers();
433: for (int n = 0; n < _obs_.length; ++n) {
434: System.err.println("#ipg" + n + ":" + _obs_[n]);
435: }
436: MessageElement[] ctx = ipg.getContextData().get_any();
437: for (int n = 0; n < ctx.length; ++n) {
438: System.err.println("#ipg" + n + "ctx:" + ctx[n].toString());
439: }
440: Event[] _ev_ = ipg.getHistory();
441: if (_ev_ != null) {
442: for (int n = 0; n < _ev_.length; ++n) {
443: System.err.println("#ipg" + n + "event:"
444: + _ev_[n].getEventType());
445: System.err.println("#ipg" + n + "event:"
446: + _ev_[n].getTime());
447: }
448: }
449: }
450:
451: public void test4asapInstanceBindingUnsubscribe() throws Exception {
452: AsapInstanceBindingStub binding;
453: try {
454: binding = (AsapInstanceBindingStub) new SharkWebServiceLocator()
455: .getasapInstanceBinding(new URL(
456: TARGET_SERVICE_INSTANCE));
457: } catch (javax.xml.rpc.ServiceException jre) {
458: if (jre.getLinkedCause() != null)
459: jre.getLinkedCause().printStackTrace();
460: throw new junit.framework.AssertionFailedError(
461: "JAX-RPC ServiceException caught: " + jre);
462: }
463: assertNotNull("binding is null", binding);
464:
465: // Time out after a minute
466: binding.setTimeout(60000);
467:
468: Request rqh = new Request();
469: UnsubscribeRq rqb = new UnsubscribeRq();
470: ResponseHolder rsh = new ResponseHolder();
471: StringHolder rsb = new StringHolder();
472: rqh.setReceiverKey(ik);
473: rqh.setRequestID("InstanceUnsubscribe");
474: rqh.setSenderKey(new URI("http://test"));
475: rqh.setResponseRequired(YesNoIfError.Yes);
476: rqb.setObserverKey(new URI(TARGET_SERVICE_OBSERVER));
477:
478: // Test operation
479: binding.unsubscribe(rqh, rqb, rsh, rsb);
480: // TBD - validate results
481: }
482:
483: public void test5_1asapInstanceBindingChangeState()
484: throws Exception {
485: System.err.println("##ibcss");
486: AsapInstanceBindingStub binding;
487: try {
488: binding = (AsapInstanceBindingStub) new SharkWebServiceLocator()
489: .getasapInstanceBinding(new URL(
490: TARGET_SERVICE_INSTANCE));
491: } catch (javax.xml.rpc.ServiceException jre) {
492: if (jre.getLinkedCause() != null)
493: jre.getLinkedCause().printStackTrace();
494: throw new junit.framework.AssertionFailedError(
495: "JAX-RPC ServiceException caught: " + jre);
496: }
497: assertNotNull("binding is null", binding);
498:
499: // Time out after a minute
500: binding.setTimeout(60000);
501:
502: Request rqh = new Request();
503: ChangeStateRq rqb = new ChangeStateRq();
504: ResponseHolder rsh = new ResponseHolder();
505: ChangeStateRsHolder rsb = new ChangeStateRsHolder();
506: rqh.setReceiverKey(ik);
507: rqh.setRequestID("InstanceChangeStateTerminated");
508: rqh.setSenderKey(new URI("http://test"));
509: rqh.setResponseRequired(YesNoIfError.Yes);
510: rqb.setState(StateType.value6);
511:
512: // Test operation
513: binding.changeState(rqh, rqb, rsh, rsb);
514: // TBD - validate results
515: System.err.println("##ibcse");
516:
517: }
518: }
|