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]