Author: ips
Date: Wed Mar 30 15:18:33 2005
New Revision: 159540

URL: http://svn.apache.org/viewcvs?view=rev&rev=159540
Log:
work on event-related tests

Modified:
    
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java
    
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/SmallDeviceMgmtTestCase.java

Modified: 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java?view=diff&r1=159539&r2=159540
==============================================================================
--- 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java
 (original)
+++ 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java
 Wed Mar 30 15:18:33 2005
@@ -16,16 +16,25 @@
 package org.apache.ws.muws.interop.client;
 
 import org.apache.ws.addressing.EndpointReference;
+import org.apache.ws.addressing.XmlBeansEndpointReference;
+import org.apache.ws.notification.topics.v1_2.Topics1_2Constants;
 import org.apache.ws.util.XmlBeanUtils;
 import org.apache.ws.util.soap.SoapClient;
 import org.apache.xmlbeans.XmlObject;
+import 
org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.SubscribeDocument;
+import 
org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.SubscribeResponseDocument;
+import 
org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.TopicExpressionType;
 import 
org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.GetResourcePropertyDocument;
 import 
org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.GetResourcePropertyResponseDocument;
+import 
org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.SetResourcePropertiesDocument;
+import 
org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.SetResourcePropertiesResponseDocument;
+import 
org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.UpdateType;
 import org.xmlsoap.schemas.soap.envelope.Envelope;
 import org.xmlsoap.schemas.soap.envelope.EnvelopeDocument;
 import org.xmlsoap.schemas.soap.envelope.Header;
 import org.xmlsoap.schemas.ws.x2003.x03.addressing.ActionDocument;
 import org.xmlsoap.schemas.ws.x2003.x03.addressing.AttributedURI;
+import org.xmlsoap.schemas.ws.x2003.x03.addressing.EndpointReferenceType;
 import org.xmlsoap.schemas.ws.x2003.x03.addressing.ToDocument;
 
 import javax.xml.namespace.QName;
@@ -45,7 +54,7 @@
        m_epr = epr;
     }
 
-    XmlObject[] getResourceProperty( QName propName ) throws FaultException
+    public XmlObject[] getResourceProperty( QName propName ) throws 
FaultException
     {
         GetResourcePropertyDocument requestDoc = 
GetResourcePropertyDocument.Factory.newInstance();
         requestDoc.setGetResourceProperty( propName );
@@ -57,7 +66,42 @@
         return XmlBeanUtils.getChildElements( response );
     }
 
-    EnvelopeDocument createEnvelope()
+    public void updateResourceProperty( XmlObject[] propElems ) throws 
FaultException
+    {
+        SetResourcePropertiesDocument requestDoc = 
SetResourcePropertiesDocument.Factory.newInstance();
+        SetResourcePropertiesDocument.SetResourceProperties 
setResourceProperties = requestDoc.addNewSetResourceProperties();
+        UpdateType updateType = setResourceProperties.addNewUpdate();
+        for ( int i = 0; i < propElems.length; i++ )
+        {
+            XmlBeanUtils.addChildElement( updateType, propElems[i] );
+        }
+        XmlObject response = sendRequest( requestDoc, 
"http://xyz.com/action/SetResourceProperties"; );
+        if ( ! ( response instanceof 
SetResourcePropertiesResponseDocument.SetResourcePropertiesResponse ) )
+        {
+            throw new FaultException( response.toString() );
+        }
+    }
+
+    public EndpointReference subscribe( String consumerURL, QName topic ) 
throws FaultException
+    {
+        SubscribeDocument requestDoc = SubscribeDocument.Factory.newInstance();
+        SubscribeDocument.Subscribe subscribe = requestDoc.addNewSubscribe();
+        EndpointReferenceType consumerRef = 
subscribe.addNewConsumerReference();
+        AttributedURI address = consumerRef.addNewAddress();
+        address.setStringValue( consumerURL );
+        TopicExpressionType topicExpr = subscribe.addNewTopicExpression();
+        topicExpr.setDialect( Topics1_2Constants.TOPIC_EXPR_DIALECT_SIMPLE );
+        XmlBeanUtils.setValueAsQName( topicExpr, topic );
+        XmlObject response = sendRequest( requestDoc, 
"http://xyz.com/action/Subscribe"; );
+        if ( ! ( response instanceof 
SubscribeResponseDocument.SubscribeResponse ) )
+        {
+            throw new FaultException( response.toString() );
+        }
+        SubscribeResponseDocument.SubscribeResponse subscribeResponse = 
(SubscribeResponseDocument.SubscribeResponse) subscribe;
+        return new XmlBeansEndpointReference( 
subscribeResponse.getSubscriptionReference() );
+    }
+
+    private EnvelopeDocument createEnvelope()
     {
         EnvelopeDocument envelopeDoc = EnvelopeDocument.Factory.newInstance();
         Envelope envelope = envelopeDoc.addNewEnvelope();
@@ -66,7 +110,7 @@
         return envelopeDoc;
     }
 
-    XmlObject sendRequest( XmlObject requestDoc, String action )
+    private XmlObject sendRequest( XmlObject requestDoc, String action )
     {
         EnvelopeDocument envelopeDoc = createEnvelope();
         Envelope envelope = envelopeDoc.getEnvelope();

Modified: 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/SmallDeviceMgmtTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/SmallDeviceMgmtTestCase.java?view=diff&r1=159539&r2=159540
==============================================================================
--- 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/SmallDeviceMgmtTestCase.java
 (original)
+++ 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/SmallDeviceMgmtTestCase.java
 Wed Mar 30 15:18:33 2005
@@ -35,9 +35,12 @@
 import 
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManagementEventType;
 
 import java.net.URL;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
 
 import rim.pda.DateDocument;
 import rim.pda.TimeDocument;
+import rim.pda.TotalCodeModuleSizeDocument;
 
 import javax.xml.namespace.QName;
 
@@ -116,16 +119,19 @@
         performMuwsMetricChangeAct( m_resource );
     }
 
-    public void testBlackberryCodeModuleSizeChangeEvent() throws 
FaultException, XmlException
+    public void testBlackberryCodeModuleSizeChangeEvent() throws 
FaultException, XmlException, UnknownHostException
     {
         XmlObject[] capabilityElems = m_resource.getResourceProperty( 
ManageabilityCharacteristicsCapability.PROP_NAME_MANAGEABILITY_CAPABILITY );
         assertContainsURI( capabilityElems, MetricsCapability.URI );
-        // TODO: subscribe to bbry:CodeModuleSizeChange topic and receive a 
propChanged event
+        m_resource.subscribe( "http://"; + 
InetAddress.getLocalHost().getHostAddress() + ":" + NOTIFICATION_LISTENER_PORT, 
new QName( NSURI_BLACKBERRY, "CodeModuleSize_Change", NSPREFIX_BLACKBERRY ) );
 
         //test as a listener for events
         PortListen notificationListener = new PortListen( 
NOTIFICATION_LISTENER_PORT, LISTENER_TIMEOUT );
 
-        //invoke the change by calling set
+        TotalCodeModuleSizeDocument totalCodeModuleSizeDocument = 
TotalCodeModuleSizeDocument.Factory.newInstance();
+        totalCodeModuleSizeDocument.setTotalCodeModuleSize( 9999 );
+
+        m_resource.updateResourceProperty( new XmlObject[] { 
totalCodeModuleSizeDocument } );
 
         // wait for that termination notification
         String incomingMessage = notificationListener.waitForIncomingMessage();



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to