Author: alexoree
Date: Mon Feb  3 02:10:31 2014
New Revision: 1563757

URL: http://svn.apache.org/r1563757
Log:
JUDDI-242 adding http delivery test for getTModelDetails (ci integration only)

Modified:
    
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java
    
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java

Modified: 
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java?rev=1563757&r1=1563756&r2=1563757&view=diff
==============================================================================
--- 
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java 
(original)
+++ 
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java 
Mon Feb  3 02:10:31 2014
@@ -74,7 +74,7 @@ public class TckTModel {
         private Set<String> keyscreated = new HashSet<String>();
 
         public TckTModel(UDDIPublicationPortType publication,
-                UDDIInquiryPortType inquiry) {
+             UDDIInquiryPortType inquiry) {
                 super();
                 this.publication = publication;
                 this.inquiry = inquiry;
@@ -93,7 +93,7 @@ public class TckTModel {
                         SaveTModel st = (org.uddi.api_v3.SaveTModel) 
EntityCreator.buildFromDoc(tModelXml, "org.uddi.api_v3");
 
                         for (int i = 0; i < st.getTModel().size(); i++) {
-                                saveTModel(authInfo, st.getTModel().get(i), 
false);
+                                 saveTModel(authInfo, st.getTModel().get(i), 
false);
                         }
                         //st.setAuthInfo(authInfo);
                         //publication.saveTModel(st);
@@ -104,7 +104,7 @@ public class TckTModel {
                 }
         }
 
-        private void saveTModel(String authInfo, TModel tmIn, boolean force) {
+        private TModel saveTModel(String authInfo, TModel tmIn, boolean force) 
{
                 boolean exists = false;
                 GetTModelDetail gt1 = new GetTModelDetail();
                 gt1.getTModelKey().add(tmIn.getTModelKey());
@@ -113,9 +113,7 @@ public class TckTModel {
                         if (td1 != null && !td1.getTModel().isEmpty()) {
                                 if (!td1.getTModel().get(0).isDeleted()) {
                                         exists = true;
-                                }
-                                else
-                                {
+                                } else {
                                         logger.info("The tModel with key " + 
tmIn.getTModelKey() + " exists already, but is flagged as deleted. 
Overwritting");
                                 }
                         }
@@ -152,6 +150,7 @@ public class TckTModel {
                                 if (TckCommon.isDebug()) {
                                         JAXB.marshal(tmOut, System.out);
                                 }
+                                return tmOut;
 
                         } catch (Exception e) {
                                 logger.error(e.getMessage(), e);
@@ -161,13 +160,14 @@ public class TckTModel {
                 } else {
                         logger.info("The TModel " + tmIn.getTModelKey() + " 
exists already, skipping");
                 }
+                return tmIn;
         }
 
-        public void saveTModel(String authInfo, String tModelXml, String 
tModelKey) {
-                saveTModel(authInfo, tModelXml, tModelKey, false);
+        public TModel saveTModel(String authInfo, String tModelXml, String 
tModelKey) {
+                return saveTModel(authInfo, tModelXml, tModelKey, false);
         }
 
-        public void saveTModel(String authInfo, String tModelXml, String 
tModelKey, boolean force) {
+        public TModel saveTModel(String authInfo, String tModelXml, String 
tModelKey, boolean force) {
                 logger.info("Loading tModel from " + tModelXml);
                 org.uddi.api_v3.TModel tmIn = null;
                 try {
@@ -178,7 +178,7 @@ public class TckTModel {
                 if (tmIn == null) {
                         Assert.fail("unable to load tmodel from file!");
                 }
-                saveTModel(authInfo, tmIn, force);
+                return saveTModel(authInfo, tmIn, force);
         }
 
         public synchronized void deleteTModel(String authInfo, String 
tModelXml, String tModelKey, boolean force) {
@@ -257,12 +257,12 @@ public class TckTModel {
                 return null;
         }
 
-        public void saveJoePublisherTmodel(String authInfoJoe) {
-                saveTModel(authInfoJoe, JOE_PUBLISHER_TMODEL_XML, 
JOE_PUBLISHER_TMODEL_KEY, false);
+        public TModel saveJoePublisherTmodel(String authInfoJoe) {
+                return saveTModel(authInfoJoe, JOE_PUBLISHER_TMODEL_XML, 
JOE_PUBLISHER_TMODEL_KEY, false);
         }
 
-        public void saveJoePublisherTmodel(String authInfoJoe, boolean force) {
-                saveTModel(authInfoJoe, JOE_PUBLISHER_TMODEL_XML, 
JOE_PUBLISHER_TMODEL_KEY, force);
+        public TModel saveJoePublisherTmodel(String authInfoJoe, boolean 
force) {
+                return saveTModel(authInfoJoe, JOE_PUBLISHER_TMODEL_XML, 
JOE_PUBLISHER_TMODEL_KEY, force);
         }
 
         public void saveUDDIPublisherTmodel(String authInfoTM) {
@@ -285,16 +285,16 @@ public class TckTModel {
                 return findJoeTModelDetail();
         }
 
-        public void saveMaryPublisherTmodel(String authInfoMary) {
-                saveTModel(authInfoMary, MARY_PUBLISHER_TMODEL_XML, 
MARY_PUBLISHER_TMODEL_KEY, false);
+        public TModel saveMaryPublisherTmodel(String authInfoMary) {
+                return saveTModel(authInfoMary, MARY_PUBLISHER_TMODEL_XML, 
MARY_PUBLISHER_TMODEL_KEY, false);
         }
 
         public void deleteMaryPublisherTmodel(String authInfoMary) {
                 deleteTModel(authInfoMary, MARY_PUBLISHER_TMODEL_XML, 
MARY_PUBLISHER_TMODEL_KEY);
         }
 
-        public void saveSamSyndicatorTmodel(String authInfoSam) {
-                saveTModel(authInfoSam, SAM_SYNDICATOR_TMODEL_XML, 
SAM_SYNDICATOR_TMODEL_KEY, false);
+        public TModel saveSamSyndicatorTmodel(String authInfoSam) {
+                return saveTModel(authInfoSam, SAM_SYNDICATOR_TMODEL_XML, 
SAM_SYNDICATOR_TMODEL_KEY, false);
         }
 
         public void deleteSamSyndicatorTmodel(String authInfoSam) {
@@ -328,3 +328,4 @@ public class TckTModel {
 
         }
 }
+       
\ No newline at end of file

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=1563757&r1=1563756&r2=1563757&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
 Mon Feb  3 02:10:31 2014
@@ -34,6 +34,7 @@ import org.uddi.v3_service.UDDISecurityP
 import org.uddi.v3_service.UDDISubscriptionPortType;
 
 import java.net.InetAddress;
+import java.rmi.RemoteException;
 import java.util.ArrayList;
 import java.util.List;
 import javax.xml.datatype.DatatypeFactory;
@@ -47,7 +48,11 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 import org.uddi.api_v3.BusinessEntity;
+import org.uddi.api_v3.Description;
 import org.uddi.api_v3.GetBusinessDetail;
+import org.uddi.api_v3.GetTModelDetail;
+import org.uddi.api_v3.SaveTModel;
+import org.uddi.api_v3.TModel;
 import org.uddi.sub_v3.DeleteSubscription;
 import org.uddi.sub_v3.Subscription;
 import org.uddi.sub_v3.SubscriptionFilter;
@@ -488,10 +493,120 @@ public class UDDI_090_SubscriptionListen
                 }
         }
 
-       
+
+        
+        
+                /**
+         * getBusiness tests
+         * joe want's updates on mary's business
+         * @throws Exception 
+         */
+        @Test
+        public void joePublisherUpdate_HTTP_GET_TMODEL_DETAIL() throws 
Exception{
+                logger.info("joePublisherUpdate_HTTP_GET_TMODEL_DETAIL");
+                TckCommon.removeAllExistingSubscriptions(authInfoJoe, 
subscriptionJoe);
+                Holder<List<Subscription>> holder=null;
+                try {
+                        UDDISubscriptionListenerImpl.notifcationMap.clear();
+                        UDDISubscriptionListenerImpl.notificationCount = 0;
+                        String before = TckCommon.DumpAllTModels(authInfoJoe, 
inquiryJoe);
+
+                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
+                        tckTModelJoe.saveTModels(authInfoJoe, 
TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
+                        TModel saveMaryPublisherTmodel = 
tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
+                        
+                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
+                        
tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
+                        //Saving the Listener Service
+                        tckSubscriptionListenerJoe.saveService(authInfoJoe, 
TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, httpPort, hostname);
+                        
+                        //Saving the Subscription
+                        holder = new Holder<List<Subscription>>();
+                        holder.value = new ArrayList<Subscription>();
+                        Subscription sub = new Subscription();
+                        
sub.setBindingKey("uddi:uddi.joepublisher.com:bindinglistener");
+                        
sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000));
+                        sub.setSubscriptionFilter(new SubscriptionFilter());
+                        sub.getSubscriptionFilter().setGetTModelDetail(new 
GetTModelDetail());
+                        
sub.getSubscriptionFilter().getGetTModelDetail().getTModelKey().add(TckTModel.MARY_PUBLISHER_TMODEL_KEY);
+                        
+                        holder.value.add(sub);
+                        subscriptionJoe.saveSubscription(authInfoJoe, holder);
+                        
//tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, 
TckSubscriptionListener.SUBSCRIPTION3_XML);
+                        //Changing the service we subscribed to 
"JoePublisherService"
+                        Thread.sleep(1000);
+                        logger.info("updating Mary's tModel ********** ");
+                        updateTModel(authInfoMary,saveMaryPublisherTmodel, 
publicationMary);
+                        
+                        logger.info("Waiting " + 
TckPublisher.getSubscriptionTimeout() + " seconds for delivery");
+                        //waiting up to 100 seconds for the listener to notice 
the change.
+                        for (int i = 0; i < 
TckPublisher.getSubscriptionTimeout(); i++) {
+                                Thread.sleep(1000);
+                                System.out.print(".");
+                                if 
(UDDISubscriptionListenerImpl.notificationCount > 0) {
+                                    //    logger.info("Received Notification");
+//                                        break;
+                                }
+                        }
+                        
+                        if (UDDISubscriptionListenerImpl.notificationCount == 
0) {
+                                logger.warn("Test failed, dumping business 
list");
+                                logger.warn("BEFORE " + before);
+                                logger.warn("After " + 
TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe));
+                                Assert.fail("No Notification was sent");
+                        }
+                        Iterator<String> it = 
UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
+                         StringBuilder sb = new StringBuilder();
+                        boolean found = false;
+                        while (it.hasNext()) {
+                                String test = it.next();
+                                sb.append("Message: " + test + 
System.getProperty("line.separator"));
+                                if (test.contains("a new description")) {
+                                        found = true;
+                                        break;
+                                }
+                        }
+                        if (!found) {
+                                logger.warn("Test failed, dumping business 
list");
+                                logger.warn("BEFORE " + before);
+                                logger.warn("After " + 
TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
+                                logger.warn("Messages RX " + sb.toString());
+                                Assert.fail("Notification does not contain the 
correct service. Messages received: " + sb.toString());
+                        }
+
+                } catch (Exception e) {
+                        logger.error("No exceptions please.");
+                        e.printStackTrace();
+
+                        Assert.fail();
+                } finally {
+                        
//tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, 
TckSubscriptionListener.SUBSCRIPTION_KEY);
+                        DeleteSubscription ds = new DeleteSubscription();
+                        ds.setAuthInfo(authInfoJoe);
+                        
ds.getSubscriptionKey().add(holder.value.get(0).getSubscriptionKey());
+                        subscriptionJoe.deleteSubscription(ds);
+                        
//tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
+                        tckTModelMary.deleteMaryPublisherTmodel(authInfoMary);
+                        
+                        
tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
+                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
+                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
+                        tckTModelJoe.deleteTModel(authInfoJoe, 
TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, 
TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
+                        
+                }
+        }
+
         
         //TODO If a subscriber specifies a maximum number of entries to be 
returned with a subscription and the amount of data to be returned exceeds 
 //this limit, or if the node determines based on its policy that there are too 
many entries to be returned in a single group, 
         //then the node SHOULD provide a chunkToken with results.  
         //TODO  If no more results are pending, the value of the chunkToken 
MUST be "0".
+
+        public static void updateTModel(String authInfoMary, TModel 
saveMaryPublisherTmodel, UDDIPublicationPortType publicationMary) throws 
Exception {
+                saveMaryPublisherTmodel.getDescription().add(new 
Description("a new description",null));
+                SaveTModel stm = new SaveTModel();
+                stm.setAuthInfo(authInfoMary);
+                stm.getTModel().add(saveMaryPublisherTmodel);
+                publicationMary.saveTModel(stm);
+        }
 }



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

Reply via email to