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