You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by al...@apache.org on 2013/12/22 21:12:56 UTC

svn commit: r1553019 [2/2] - in /juddi/branches/juddi-3.3.x: juddi-core-openjpa/src/test/resources/META-INF/ juddi-core/src/main/java/org/apache/juddi/model/ juddi-core/src/test/resources/META-INF/ juddi-examples/hello-world-embedded/src/main/resources...

Modified: juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java?rev=1553019&r1=1553018&r2=1553019&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java (original)
+++ juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java Sun Dec 22 20:12:56 2013
@@ -50,9 +50,10 @@ import org.uddi.api_v3.ServiceList;
 
 /**
  * Used during the Maven build process for testing against jUDDI
+ *
  * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
  * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
- * @see UDDI_090_SubscriptionListenerExternalTest       
+ * @see UDDI_090_SubscriptionListenerExternalTest
  */
 public class UDDI_090_SubscriptionListenerIntegrationTest {
 
@@ -192,6 +193,7 @@ public class UDDI_090_SubscriptionListen
                 logger.info("joePublisherUpdate_HTTP_FIND_SERVICE");
                 try {
                         TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
+                        String before = TckCommon.DumpAllServices(authInfoJoe, inquiryJoe);
                         UDDISubscriptionListenerImpl.notifcationMap.clear();
                         UDDISubscriptionListenerImpl.notificationCount = 0;
                         tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
@@ -209,21 +211,29 @@ public class UDDI_090_SubscriptionListen
                         tckBusinessServiceJoe.updateJoePublisherService(authInfoJoe, "foo");
 
                         //waiting up to 100 seconds for the listener to notice the change.
-                        for (int i = 0; i < 200; i++) {
-                                Thread.sleep(500);
+                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
+                                Thread.sleep(1000);
                                 System.out.print(".");
                                 if (UDDISubscriptionListenerImpl.notificationCount > 0) {
                                         logger.info("Received HTTP Notification");
                                         break;
                                 }
                         }
-                        if (UDDISubscriptionListenerImpl.notificationCount == 0) {
-                                Assert.fail("No HttpNotification was sent");
+                        Iterator<String> iterator = UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
+                        boolean found = false;
+                        while (iterator.hasNext()) {
+                                String test = iterator.next();
+                                if (test.toLowerCase().contains("service one")) {
+                                        found = true;
+                                }
                         }
-                        if (!UDDISubscriptionListenerImpl.notifcationMap.get(0).contains("<name xml:lang=\"en\">Service One</name>")) {
+                        if (!found) {
+                                logger.warn("Test failed, dumping service list");
+                                logger.warn("BEFORE " + before);
+                                logger.warn("After " + TckCommon.DumpAllServices(authInfoJoe, inquiryJoe));
+                                //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();
@@ -242,12 +252,11 @@ public class UDDI_090_SubscriptionListen
                 logger.info("joePublisherUpdate_SMTP_FIND_SERVICE");
                 try {
                         TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
+                        String before = TckCommon.DumpAllServices(authInfoJoe, inquiryJoe);
                         if (mailServer != null && !mailServer.isStopped()) {
                                 mailServer.stop();
                         }
                         mailServer = SimpleSmtpServer.start(smtpPort);
-
-
                         tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
                         tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
                         //Saving the binding template that will be called by the server for a subscription event
@@ -262,7 +271,7 @@ public class UDDI_090_SubscriptionListen
                         tckBusinessServiceJoe.updateJoePublisherService(authInfoJoe, "foo");
 
                         //waiting up to 30 seconds for the listener to notice the change.
-                        for (int i = 0; i < 60; i++) {
+                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
                                 Thread.sleep(1000);
                                 System.out.print(mailServer.getReceivedEmailSize() + ",");
                                 if (mailServer.getReceivedEmailSize() > 0) {
@@ -275,13 +284,22 @@ public class UDDI_090_SubscriptionListen
                         }
                         @SuppressWarnings("rawtypes")
                         Iterator emailIter = mailServer.getReceivedEmail();
-                        SmtpMessage email = (SmtpMessage) emailIter.next();
-                        if (TckCommon.isDebug()) {
-                                System.out.println("Subject:" + email.getHeaderValue("Subject"));
-                                System.out.println("Body:" + email.getBody());
+                        boolean found = false;
+                        while (emailIter.hasNext()) {
+                                SmtpMessage email = (SmtpMessage) emailIter.next();
+                                if (TckCommon.isDebug()) {
+                                        System.out.println("Subject:" + email.getHeaderValue("Subject"));
+                                        System.out.println("Body:" + email.getBody());
+                                }
+                                if (email.getBody().replace("=", "").contains("Service One")) {
+                                        found = true;
+                                }
                         }
-                        if (!email.getBody().replace("=", "").contains("Service One")) {
-                                Assert.fail("Notification does not contain the correct service");
+                        if (!found) {
+                                logger.warn("Test failed, dumping service list");
+                                logger.warn("BEFORE " + before);
+                                logger.warn("After " + TckCommon.DumpAllServices(authInfoJoe, inquiryJoe));
+                                Assert.fail("Notification NOT received. Emails received " + mailServer.getReceivedEmailSize());
                         }
 
                 } catch (Exception e) {
@@ -304,9 +322,7 @@ public class UDDI_090_SubscriptionListen
                 try {
                         TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
                         TckCommon.DeleteBusiness(TckBusiness.MARY_BUSINESS_KEY, authInfoMary, publicationMary);
-                        if (TckCommon.isDebug()) {
-                                DumpAllBusinesses();
-                        }
+                        String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe);
                         Thread.sleep(5000);
                         UDDISubscriptionListenerImpl.notifcationMap.clear();
                         UDDISubscriptionListenerImpl.notificationCount = 0;
@@ -321,17 +337,17 @@ public class UDDI_090_SubscriptionListen
                         logger.info("Saving Joe's subscription********** ");
                         tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, "uddi_data/subscriptionnotifier/subscription2.xml");
                         //Changing the service we subscribed to "JoePublisherService"
-                        DumpAllBusinesses();
+
                         logger.info("Clearing the inbox********** ");
                         UDDISubscriptionListenerImpl.notifcationMap.clear();
                         UDDISubscriptionListenerImpl.notificationCount = 0;
                         Thread.sleep(2000);
                         logger.info("Saving Mary's Business ********** ");
                         tckBusinessMary.saveMaryPublisherBusiness(authInfoMary);
-                        DumpAllBusinesses();
+
                         //waiting up to 10 seconds for the listener to notice the change.
 
-                        for (int i = 0; i < 60; i++) {
+                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
                                 Thread.sleep(1000);
                                 System.out.print(".");
                                 //if (UDDISubscriptionListenerImpl.notificationCount > 0) {
@@ -351,14 +367,18 @@ public class UDDI_090_SubscriptionListen
                                 }
 
                         }
-                        DumpAllBusinesses();
                         if (UDDISubscriptionListenerImpl.notificationCount == 0) {
+                                logger.warn("Test failed, dumping business list");
+                                logger.warn("BEFORE " + before);
+                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
                                 Assert.fail("No Notification was sent");
                         }
                         if (!found) {
+                                logger.warn("Test failed, dumping business list");
+                                logger.warn("BEFORE " + before);
+                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
                                 Assert.fail("Notification does not contain the correct service");
                         }
-
                 } catch (Exception e) {
                         logger.error("No exceptions please.");
                         e.printStackTrace();
@@ -373,29 +393,6 @@ public class UDDI_090_SubscriptionListen
                 }
         }
 
-        private static void DumpAllBusinesses() {
-                logger.warn("Dumping the business/service list for debugging");
-                FindService fs = new FindService();
-                fs.setFindQualifiers(new FindQualifiers());
-                fs.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
-                fs.getName().add(new Name("%", null));
-                try {
-                        ServiceList findService = inquiryJoe.findService(fs);
-                        if (findService.getServiceInfos() == null) {
-                                logger.warn("NO SERVICES RETURNED!");
-                        } else {
-                                for (int i = 0; i < findService.getServiceInfos().getServiceInfo().size(); i++) {
-                                        logger.warn(findService.getServiceInfos().getServiceInfo().get(i).getName().get(0).getValue() + " lang="
-                                                + findService.getServiceInfos().getServiceInfo().get(i).getName().get(0).getLang() + " "
-                                                + findService.getServiceInfos().getServiceInfo().get(i).getServiceKey() + " "
-                                                + findService.getServiceInfos().getServiceInfo().get(i).getBusinessKey());
-                                }
-                        }
-                } catch (Exception ex) {
-                        ex.printStackTrace();
-                }
-        }
-
         @Test
         public void joePublisherUpdate_SMTP_FIND_BUSINESS() {
                 logger.info("joePublisherUpdate_SMTP_FIND_BUSINESS");
@@ -405,6 +402,7 @@ public class UDDI_090_SubscriptionListen
                         if (mailServer != null && !mailServer.isStopped()) {
                                 mailServer.stop();
                         }
+                        String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe);
                         mailServer = SimpleSmtpServer.start(smtpPort);
                         tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
                         tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
@@ -421,7 +419,7 @@ public class UDDI_090_SubscriptionListen
                         //"uddi:uddi.marypublisher.com:marybusinessone"
                         tckBusinessMary.saveBusiness(authInfoMary, TckBusiness.MARY_BUSINESS_XML, TckBusiness.MARY_BUSINESS_KEY);
 
-                        for (int i = 0; i < 60; i++) {
+                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
                                 Thread.sleep(1000);
                                 System.out.println(mailServer.getReceivedEmailSize() + " message received.");
                                 if (mailServer.getReceivedEmailSize() > 0) {
@@ -447,7 +445,9 @@ public class UDDI_090_SubscriptionListen
                                 }
                         }
                         if (!found) {
-                                DumpAllBusinesses();
+                                logger.warn("Test failed, dumping business list");
+                                logger.warn("BEFORE " + before);
+                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
                                 logger.fatal("Notification does not contain the correct service");
                                 Assert.fail("Notification does not contain the correct service");
                         }
@@ -477,6 +477,7 @@ public class UDDI_090_SubscriptionListen
                 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);
                         tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
@@ -492,18 +493,20 @@ public class UDDI_090_SubscriptionListen
                         tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY);
 
                         //waiting up to 100 seconds for the listener to notice the change.
-                        String test = "";
-                        for (int i = 0; i < 200; i++) {
-                                Thread.sleep(500);
+
+                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
+                                Thread.sleep(1000);
                                 System.out.print(".");
                                 if (UDDISubscriptionListenerImpl.notificationCount > 0) {
                                         logger.info("Received Notification");
                                         break;
-                                } else {
-                                        System.out.print(test);
                                 }
                         }
+                        
                         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");
                         }
                         if (!UDDISubscriptionListenerImpl.notifcationMap.get(0).contains("<name xml:lang=\"en\">tModel One</name>")) {
@@ -548,8 +551,8 @@ public class UDDI_090_SubscriptionListen
                         tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY);
 
 
-                        for (int i = 0; i < 200; i++) {
-                                Thread.sleep(500);
+                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
+                                Thread.sleep(1000);
                                 System.out.print(".");
                                 if (mailServer.getReceivedEmailSize() > 0) {
                                         logger.info("Received Email Notification");



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org