001: /* AsapCookbookTestCase.java */
002:
003: package org.enhydra.shark.asap.test;
004:
005: /**
006: * JUnit test case for shark web service wrapper.
007: *
008: * @author V.Puskas
009: */
010: import org.enhydra.shark.asap.types.*;
011:
012: import java.net.InetAddress;
013: import java.net.MalformedURLException;
014: import java.net.URL;
015: import javax.xml.rpc.ServiceException;
016: import org.apache.axis.message.MessageElement;
017: import org.apache.axis.types.URI;
018: import org.enhydra.shark.asap.*;
019: import org.enhydra.shark.asap.AsapFactoryBindingStub;
020: import org.enhydra.shark.asap.SharkWebServiceLocator;
021: import org.enhydra.shark.asap.types.holders.CreateInstanceRsHolder;
022: import org.enhydra.shark.asap.types.holders.GetPropertiesRsHolder;
023: import org.enhydra.shark.asap.types.holders.ResponseHolder;
024:
025: public class CookbookTestCase extends junit.framework.TestCase {
026: private static SharkWebServiceLocator swsl = new SharkWebServiceLocator();
027:
028: private static URI ik;
029:
030: private static String targetService;
031:
032: public static final String TARGET_SERVICE = "asap.test.ts";
033:
034: public static final String DEFAULT_SERVICE = "http://localhost:8080/axis/services/wfxmlFactoryBinding";
035:
036: public CookbookTestCase(java.lang.String name) {
037: super (name);
038: targetService = System.getProperty(TARGET_SERVICE,
039: DEFAULT_SERVICE);
040: System.err.println(TARGET_SERVICE + ":" + targetService);
041: }
042:
043: public void testLevel1CreateProcess() throws Exception {
044: AsapFactoryBindingStub binding = getFactroyBinding();
045:
046: Request rqHead = new Request();
047: CreateInstanceRq rqBody = new CreateInstanceRq();
048: ResponseHolder rsHead = new ResponseHolder();
049: CreateInstanceRsHolder rsBody = new CreateInstanceRsHolder();
050:
051: rqHead.setReceiverKey(new URI(swsl
052: .getasapFactoryBindingAddress()));
053: //rqHead.getReceiverKey().setQueryString("procMgr=test_js%231%23basic");
054: //rqHead.getReceiverKey().setQueryString("procDef=manufacturing&packageId=test_js");
055: rqHead.getReceiverKey().setQueryString(
056: "procDef=Game&packageId=test_js");
057: //rqHead.getReceiverKey().setQueryString("procDef=manufacturer&packageId=shark_manufacturer");
058: rqBody.setObserverKey(new URI(swsl
059: .getasapObserverBindingAddress()));
060: rqBody.getObserverKey().setHost(
061: InetAddress.getLocalHost().getHostName());
062: rqBody.setStartImmediately(true);
063: MessageElement[] b = new MessageElement[2];
064: b[0] = new MessageElement("", "player1_no");
065: b[0].setValue("52");
066: b[1] = new MessageElement("", "player2_no");
067: b[1].setValue("69");
068: rqBody.setContextData(new CreateInstanceRqContextData(b));
069: // Test operation
070: binding.createInstance(rqHead, rqBody, rsHead, rsBody);
071: ik = rsBody.value.getInstanceKey();
072: System.out.println("InstanceKey is " + ik);
073: }
074:
075: public void testLevel1GetPropsOfProcess() throws Exception {
076: Thread.sleep(10000);
077: AsapInstanceBindingStub binding = getInstanceBinding(ik
078: .toString());
079:
080: Request rqHead = new Request(new URI("http://localhost:8080"),
081: ik, YesNoIfError.Yes, "");
082: // CreateInstanceRq rqBody = new CreateInstanceRq();
083: ResponseHolder rsHead = new ResponseHolder();
084: GetPropertiesRsHolder rsBody = new GetPropertiesRsHolder();
085: binding.getProperties(rqHead, "", rsHead, rsBody);
086: GetPropertiesRs props = rsBody.value;
087: System.err.println(props.getName());
088: for (int i = 0; i < props.getResultData().get_any().length; i++) {
089: System.err.println(props.getResultData().get_any()[i]
090: .getName()
091: + " = "
092: + props.getResultData().get_any()[i].getValue());
093: }
094: }
095:
096: /*
097: * public void testLevel3factoryGetProperties() throws Exception {
098: * AsapFactoryBindingStub binding = getFactroyBinding(); Request
099: * rqHead = new Request(); String rqBody = ""; // new
100: * java.lang.String() ResponseHolder rsHead = new ResponseHolder();
101: * GetPropertiesRsHolder rsBody = new GetPropertiesRsHolder();
102: * rqHead.setReceiverKey(new URI(targetService));
103: * //rqHead.getReceiverKey().setQueryString("procMgr=test_js%231%23basic");
104: * rqHead.setSenderKey(new
105: * URI("http://interop.i-flow.com/ASAPClient/ObserverService.asmx")); //
106: * Test operation binding.getProperties(rqHead, rqBody, rsHead,
107: * rsBody); // TBD - validate results FactoryPropertiesGroup
108: * fpg=rsBody.value.getFactoryPropertiesGroup();
109: * System.err.println("Key="+fpg.getKey());
110: * System.err.println("Name="+fpg.getName());
111: * System.err.println("Subj="+fpg.getSubject());
112: * System.err.println("desc="+fpg.getDescription());
113: * System.err.println("cds="+fpg.getContextDataSchema().get_any()[0].toString());
114: * System.err.println("rds="+fpg.getResultDataSchema().get_any()[0].toString()); } / *
115: * public void testLevel2Completed() throws Exception {
116: * AsapObserverBindingStub binding; try { binding =
117: * (AsapObserverBindingStub) swsl.getasapObserverBinding(); } catch
118: * (ServiceException jre) { if (jre.getLinkedCause() != null)
119: * jre.getLinkedCause().printStackTrace(); throw new
120: * junit.framework.AssertionFailedError( "JAX-RPC ServiceException
121: * caught: " + jre); } assertNotNull("binding is null", binding); //
122: * Time out after a minute binding.setTimeout(60000); Request rqh =
123: * new Request(); CompletedRq rqb = new CompletedRq();
124: * rqb.setInstanceKey(new URI(swsl.getasapInstanceBindingAddress()));
125: * rqb.setResultData(new CompletedRqResultData()); ResponseHolder rsh =
126: * new ResponseHolder(); ObjectHolder rsb = new ObjectHolder();
127: * rqh.setReceiverKey(new URI(swsl.getasapObserverBindingAddress())); //
128: * Test operation binding.completed(rqh, rqb, rsh, rsb); // TBD -
129: * validate results }
130: */
131: private AsapFactoryBindingStub getFactroyBinding()
132: throws MalformedURLException {
133: AsapFactoryBindingStub ret;
134: try {
135: ret = (AsapFactoryBindingStub) swsl
136: .getasapFactoryBinding(new URL(targetService));
137: } catch (ServiceException jre) {
138: if (jre.getLinkedCause() != null)
139: jre.getLinkedCause().printStackTrace();
140: throw new junit.framework.AssertionFailedError(
141: "JAX-RPC ServiceException caught: " + jre);
142: }
143: assertNotNull("binding is null", ret);
144:
145: // Time out after a minute
146: ret.setTimeout(60000);
147: return ret;
148: }
149:
150: private AsapInstanceBindingStub getInstanceBinding(String s)
151: throws MalformedURLException {
152: AsapInstanceBindingStub ret;
153: try {
154: ret = (AsapInstanceBindingStub) swsl
155: .getasapInstanceBinding(new URL(s));
156: } catch (ServiceException jre) {
157: if (jre.getLinkedCause() != null)
158: jre.getLinkedCause().printStackTrace();
159: throw new junit.framework.AssertionFailedError(
160: "JAX-RPC ServiceException caught: " + jre);
161: }
162: assertNotNull("binding is null", ret);
163:
164: // Time out after a minute
165: ret.setTimeout(60000);
166: return ret;
167: }
168: }
|