Author: kstam
Date: Thu Apr 18 15:46:55 2013
New Revision: 1469381

URL: http://svn.apache.org/r1469381
Log:
picking a random port for the RMI subscription test

Modified:
    
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java
    
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java
    
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java
    
juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/listenerServiceRMI.xml
    
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_091_RMISubscriptionListenerIntegrationTest.java
    
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java

Modified: 
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java?rev=1469381&r1=1469380&r2=1469381&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java
 (original)
+++ 
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java
 Thu Apr 18 15:46:55 2013
@@ -82,18 +82,19 @@ public class API_090_SubscriptionListene
        }
        
        @Test
-       public void joePublisher() {
+       public void joePublisherUpdateService() {
                try {
                        tckTModel.saveJoePublisherTmodel(authInfoJoe);
                        tckBusiness.saveJoePublisherBusiness(authInfoJoe);
                        tckBusinessService.saveJoePublisherService(authInfoJoe);
                        //Saving the Listener Service
-                       tckSubscriptionListener.saveService(authInfoJoe);
+                       tckSubscriptionListener.saveService(authInfoJoe, 0);
                        //Saving the Subscription
                        
tckSubscriptionListener.saveNotifierSubscription(authInfoJoe);
-                       //Changing the service we subscribed to 
"JoePublisherService"
+            //Changing the service we subscribed to "JoePublisherService"
+                       Thread.sleep(1000);
+                       logger.info("Updating Service ********** ");
                        
tckBusinessService.updateJoePublisherService(authInfoJoe, "foo");
-                       
//tckSubscriptionListener.changeSubscribedObject(authInfoJoe);
                        
             //waiting up to 100 seconds for the listener to notice the change.
                        String test="";
@@ -101,6 +102,7 @@ public class API_090_SubscriptionListene
                                Thread.sleep(500);
                                System.out.print(".");
                                if 
(UDDISubscriptionListenerImpl.notificationCount > 0) {
+                                       logger.info("Received Notification");
                                        break;
                                } else {
                                        System.out.print(test);
@@ -114,15 +116,60 @@ public class API_090_SubscriptionListene
                        }
                        
                } catch (Exception e) {
+                       logger.error("No exceptions please.");
                        e.printStackTrace();
 
                        Assert.fail();
                } finally {
-                       
-                       
tckSubscriptionListener.deleteNotifierSubscription(authInfoJoe);
-                       
tckBusinessService.deleteJoePublisherService(authInfoJoe);
+                               
tckSubscriptionListener.deleteNotifierSubscription(authInfoJoe);
+                               
tckBusinessService.deleteJoePublisherService(authInfoJoe);
+                               
tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
+                               tckTModel.deleteJoePublisherTmodel(authInfoJoe);
+               }
+       }
+       
+       @Test
+       public void joePublisherUpdateBusiness() {
+               try {
+                       tckTModel.saveJoePublisherTmodel(authInfoJoe);
+                       tckBusiness.saveJoePublisherBusiness(authInfoJoe);
+                       tckBusinessService.saveJoePublisherService(authInfoJoe);
+                       //Saving the Listener Service
+                       tckSubscriptionListener.saveService(authInfoJoe, 0);
+                       //Saving the Subscription
+                       
tckSubscriptionListener.saveNotifierSubscription(authInfoJoe);
+            //Changing the service we subscribed to "JoePublisherService"
+                       Thread.sleep(1000);
+                       logger.info("Deleting Business ********** ");
                        tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
-                       tckTModel.deleteJoePublisherTmodel(authInfoJoe);
+                       
+            //waiting up to 100 seconds for the listener to notice the change.
+                       String test="";
+                       for (int i=0; i<200; i++) {
+                               Thread.sleep(500);
+                               System.out.print(".");
+                               if 
(UDDISubscriptionListenerImpl.notificationCount > 0) {
+                                       logger.info("Received Notification");
+                                       break;
+                               } else {
+                                       System.out.print(test);
+                               }
+                       }
+                       if (UDDISubscriptionListenerImpl.notificationCount == 
0) {
+                               Assert.fail("No Notification was sent");
+                       }
+                       if 
(!UDDISubscriptionListenerImpl.notifcationMap.get(0).contains("<name 
xml:lang=\"en\">Service One</name>")) {
+                               Assert.fail("Notification does not contain the 
correct service");
+                       }
+                       
+               } catch (Exception e) {
+                       logger.error("No exceptions please.");
+                       e.printStackTrace();
+
+                       Assert.fail();
+               } finally {
+                               
tckSubscriptionListener.deleteNotifierSubscription(authInfoJoe);
+                               tckTModel.deleteJoePublisherTmodel(authInfoJoe);
                }
        }       
     

Modified: 
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java?rev=1469381&r1=1469380&r2=1469381&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java
 (original)
+++ 
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java
 Thu Apr 18 15:46:55 2013
@@ -20,6 +20,7 @@ import java.rmi.NotBoundException;
 import java.rmi.RemoteException;
 import java.rmi.registry.LocateRegistry;
 import java.rmi.registry.Registry;
+import java.util.Random;
 
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
@@ -55,6 +56,7 @@ public class API_091_RMISubscriptionList
        private static UDDISubscriptionListenerImpl 
rmiSubscriptionListenerService = null;
        private static Registry registry;
        private static String path = null;
+       private static Integer randomPort = null;
 
        @AfterClass
        public static void stopManager() throws ConfigurationException, 
AccessException, RemoteException, NotBoundException {
@@ -68,8 +70,11 @@ public class API_091_RMISubscriptionList
        public static void startManager() throws ConfigurationException {
                org.apache.juddi.Registry.start();
                try {
+                       //random port
+                       randomPort = 19800 + new Random().nextInt(99);
+                       System.out.println("RMI Random port=" + randomPort);
                        //bring up the RMISubscriptionListener
-                       URI rmiEndPoint = new 
URI("rmi://localhost:9876/tck/rmisubscriptionlistener");
+                       URI rmiEndPoint = new URI("rmi://localhost:" + 
randomPort + "/tck/rmisubscriptionlistener");
                        registry = 
LocateRegistry.createRegistry(rmiEndPoint.getPort());
                        path = rmiEndPoint.getPath();
                        
@@ -113,7 +118,7 @@ public class API_091_RMISubscriptionList
                        tckBusiness.saveJoePublisherBusiness(authInfoJoe);
                        tckBusinessService.saveJoePublisherService(authInfoJoe);
                        //Saving the Listener Service
-                       tckSubscriptionListenerRMI.saveService(authInfoJoe);
+                       tckSubscriptionListenerRMI.saveService(authInfoJoe, 
randomPort);
                        //Saving the Subscription
                        
tckSubscriptionListenerRMI.saveNotifierSubscription(authInfoJoe);
                        //Changing the service we subscribed to 
"JoePublisherService"

Modified: 
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java?rev=1469381&r1=1469380&r2=1469381&view=diff
==============================================================================
--- 
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java
 (original)
+++ 
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java
 Thu Apr 18 15:46:55 2013
@@ -60,11 +60,13 @@ public class TckSubscriptionListener
                this.publication = publication;
        }
        
-       public void saveNotifierBinding(String authInfo, String bindingXML, 
String bindingKey) {
+       public void saveNotifierBinding(String authInfo, String bindingXML, 
String bindingKey, Integer port) {
                try {
                        SaveBinding sb = new SaveBinding();
                        sb.setAuthInfo(authInfo);
                        BindingTemplate btIn = 
(BindingTemplate)EntityCreator.buildFromDoc(bindingXML, "org.uddi.api_v3");
+                       String value = btIn.getAccessPoint().getValue();
+                       value = value.replace("{randomPort}", port.toString());
                        sb.getBindingTemplate().add(btIn);
                        publication.saveBinding(sb);            
                }
@@ -90,13 +92,20 @@ public class TckSubscriptionListener
                
        }
        
-       public void saveService(String authInfo) {
+       public void saveService(String authInfo, Integer port) {
                try {
                        // First save the entity
                        ss = new SaveService();
                        ss.setAuthInfo(authInfo);
                        
                        org.uddi.api_v3.BusinessService bsIn = 
(org.uddi.api_v3.BusinessService)EntityCreator.buildFromDoc(LISTENER_SERVICE_XML,
 "org.uddi.api_v3");
+                       if (port > 0) {
+                               for (BindingTemplate btIn: 
bsIn.getBindingTemplates().getBindingTemplate()) {
+                                       String value = 
btIn.getAccessPoint().getValue();
+                                       value = value.replace("{randomPort}", 
port.toString());
+                                       btIn.getAccessPoint().setValue(value);
+                               }
+                       }
                        ss.getBusinessService().add(bsIn);
                        publication.saveService(ss);
                        

Modified: 
juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/listenerServiceRMI.xml
URL: 
http://svn.apache.org/viewvc/juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/listenerServiceRMI.xml?rev=1469381&r1=1469380&r2=1469381&view=diff
==============================================================================
--- 
juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/listenerServiceRMI.xml
 (original)
+++ 
juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/listenerServiceRMI.xml
 Thu Apr 18 15:46:55 2013
@@ -24,7 +24,7 @@
   <bindingTemplates>
        <bindingTemplate xmlns="urn:uddi-org:api_v3" 
bindingKey="uddi:uddi.joepublisher.com:bindinglistenerrmi">
          <description xml:lang="en">This is the endpoint for the RMI 
subscription listener</description>
-         <accessPoint 
useType="endPoint">rmi://localhost:9876/tck/rmisubscriptionlistener</accessPoint>
+         <accessPoint 
useType="endPoint">rmi://localhost:{randomPort}/tck/rmisubscriptionlistener</accessPoint>
          <tModelInstanceDetails>
                <tModelInstanceInfo tModelKey="uddi:uddi.org:transport:rmi" />
          </tModelInstanceDetails>

Modified: 
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_091_RMISubscriptionListenerIntegrationTest.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_091_RMISubscriptionListenerIntegrationTest.java?rev=1469381&r1=1469380&r2=1469381&view=diff
==============================================================================
--- 
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_091_RMISubscriptionListenerIntegrationTest.java
 (original)
+++ 
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_091_RMISubscriptionListenerIntegrationTest.java
 Thu Apr 18 15:46:55 2013
@@ -17,6 +17,7 @@ package org.apache.juddi.v3.tck;
 
 import java.rmi.registry.LocateRegistry;
 import java.rmi.registry.Registry;
+import java.util.Random;
 
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
@@ -50,6 +51,7 @@ public class JUDDI_091_RMISubscriptionLi
        private static UDDIClerkManager manager;
        private static UDDISubscriptionListenerImpl 
rmiSubscriptionListenerService = null;
        private static Registry registry;
+       private static Integer randomPort = null;
 
        @AfterClass
        public static void stopManager() throws ConfigurationException {
@@ -63,7 +65,11 @@ public class JUDDI_091_RMISubscriptionLi
                        
                try {
                        //bring up the RMISubscriptionListener
-                       URI rmiEndPoint = new 
URI("rmi://localhost:9876/tck/rmisubscriptionlistener");
+                       //random port
+                       randomPort = 19800 + new Random().nextInt(99);
+                       System.out.println("RMI Random port=" + randomPort);
+                       //bring up the RMISubscriptionListener
+                       URI rmiEndPoint = new URI("rmi://localhost:" + 
randomPort + "/tck/rmisubscriptionlistener");
                        registry = 
LocateRegistry.createRegistry(rmiEndPoint.getPort());
                        String path = rmiEndPoint.getPath();
                        
@@ -114,7 +120,7 @@ public class JUDDI_091_RMISubscriptionLi
                        tckTModel.saveJoePublisherTmodel(authInfoJoe);
                        tckBusiness.saveJoePublisherBusiness(authInfoJoe);
                        tckBusinessService.saveJoePublisherService(authInfoJoe);
-                       rmiSubscriptionListener.saveService(authInfoJoe);
+                       rmiSubscriptionListener.saveService(authInfoJoe, 
randomPort);
                        
                        
rmiSubscriptionListener.saveNotifierSubscription(authInfoJoe);
 

Modified: 
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java?rev=1469381&r1=1469380&r2=1469381&view=diff
==============================================================================
--- 
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
 (original)
+++ 
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
 Thu Apr 18 15:46:55 2013
@@ -93,7 +93,7 @@ public class UDDI_090_SubscriptionListen
                        tckBusiness.saveJoePublisherBusiness(authInfoJoe);
                        tckBusinessService.saveJoePublisherService(authInfoJoe);
                        //Saving the Listener Service
-                       tckSubscriptionListener.saveService(authInfoJoe);
+                       tckSubscriptionListener.saveService(authInfoJoe, 0);
                        //Saving the Subscription
                        
tckSubscriptionListener.saveNotifierSubscription(authInfoJoe);
             //Changing the service we subscribed to "JoePublisherService"
@@ -140,7 +140,7 @@ public class UDDI_090_SubscriptionListen
                        tckBusiness.saveJoePublisherBusiness(authInfoJoe);
                        tckBusinessService.saveJoePublisherService(authInfoJoe);
                        //Saving the Listener Service
-                       tckSubscriptionListener.saveService(authInfoJoe);
+                       tckSubscriptionListener.saveService(authInfoJoe, 0);
                        //Saving the Subscription
                        
tckSubscriptionListener.saveNotifierSubscription(authInfoJoe);
             //Changing the service we subscribed to "JoePublisherService"



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to