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:[email protected]";>Tom Cunningham</a>
  * @author <a href="mailto:[email protected]";>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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to