Repository: juddi Updated Branches: refs/heads/master 8eff90e46 -> ba7c83576
JUDDI-242 adding getServiceDetails Project: http://git-wip-us.apache.org/repos/asf/juddi/repo Commit: http://git-wip-us.apache.org/repos/asf/juddi/commit/ba7c8357 Tree: http://git-wip-us.apache.org/repos/asf/juddi/tree/ba7c8357 Diff: http://git-wip-us.apache.org/repos/asf/juddi/diff/ba7c8357 Branch: refs/heads/master Commit: ba7c8357641404235bc37825880c03e722993b24 Parents: 8eff90e Author: alexoree <[email protected]> Authored: Fri Feb 28 18:14:27 2014 -0500 Committer: alexoree <[email protected]> Committed: Fri Feb 28 18:14:27 2014 -0500 ---------------------------------------------------------------------- .../java/org/apache/juddi/v3/tck/TckTModel.java | 1 + ...090_SubscriptionListenerIntegrationBase.java | 118 +++++++++++++++++-- 2 files changed, 112 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/juddi/blob/ba7c8357/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java ---------------------------------------------------------------------- diff --git a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java index 821a74b..812953d 100644 --- a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java +++ b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java @@ -53,6 +53,7 @@ public class TckTModel { final static String JOE_PUBLISHER_TMODEL_KEY = "uddi:uddi.joepublisher.com:keygenerator"; final static String MARY_PUBLISHER_TMODEL_XML = "uddi_data/marypublisher/tModelKeyGen.xml"; final static String MARY_PUBLISHER_TMODEL_KEY = "uddi:uddi.marypublisher.com:keygenerator"; + public final static String MARY_KEY_PREFIX="uddi:uddi.marypublisher.com:"; final static String SAM_SYNDICATOR_TMODEL_XML = "uddi_data/samsyndicator/tModelKeyGen.xml"; final static String SAM_SYNDICATOR_TMODEL_KEY = "uddi:www.samco.com:keygenerator"; final static String TMODEL_PUBLISHER_TMODEL_XML = "uddi_data/tmodels/tModelKeyGen.xml"; http://git-wip-us.apache.org/repos/asf/juddi/blob/ba7c8357/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java ---------------------------------------------------------------------- diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java index ba7d0bc..95cbcbe 100644 --- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java +++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java @@ -17,6 +17,7 @@ package org.apache.juddi.v3.tck; import java.util.ArrayList; import java.util.List; +import java.util.UUID; import javax.xml.datatype.DatatypeFactory; import javax.xml.ws.BindingProvider; import javax.xml.ws.Holder; @@ -25,18 +26,20 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.juddi.v3.client.config.UDDIClient; import org.apache.juddi.v3.client.transport.Transport; -import org.junit.AfterClass; import org.junit.Assert; import org.junit.Assume; -import org.junit.BeforeClass; import org.junit.Test; import org.uddi.api_v3.BusinessEntity; +import org.uddi.api_v3.BusinessService; import org.uddi.api_v3.Description; import org.uddi.api_v3.GetBusinessDetail; +import org.uddi.api_v3.GetServiceDetail; import org.uddi.api_v3.GetTModelDetail; import org.uddi.api_v3.Name; import org.uddi.api_v3.SaveBusiness; +import org.uddi.api_v3.SaveService; import org.uddi.api_v3.SaveTModel; +import org.uddi.api_v3.ServiceDetail; import org.uddi.api_v3.TModel; import org.uddi.sub_v3.DeleteSubscription; import org.uddi.sub_v3.Subscription; @@ -491,11 +494,7 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { } } - //get service detail - //get binding detail - //get pub assertion - //find publisher assertions - //find binding + //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. @@ -522,4 +521,109 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { pub.saveBusiness(sb); } + + /** + * getService tests joe want's updates on mary's service + * + * @throws Exception + */ + @Test + public void joePublisherUpdate_GET_SERVICE_DETAIL() throws Exception { + Assume.assumeTrue(TckPublisher.isEnabled()); + Assume.assumeNotNull(getHostame()); + logger.info("joePublisherUpdate_" + getTransport() + "_GET_SERVICE_DETAIL"); + TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe); + Holder<List<Subscription>> holder = null; + try { + reset(); + + String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe); + + tckTModelJoe.saveJoePublisherTmodel(authInfoJoe); + tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3); + + tckTModelMary.saveMaryPublisherTmodel(authInfoMary); + BusinessEntity saveMaryPublisherBusiness = tckBusinessMary.saveMaryPublisherBusiness(authInfoMary); + + BusinessService bs = new BusinessService(); + bs.setBusinessKey(saveMaryPublisherBusiness.getBusinessKey()); + bs.setServiceKey(TckTModel.MARY_KEY_PREFIX + UUID.randomUUID().toString()); + bs.getName().add(new Name("Mary's service for " + getTransport(),null)); + SaveService ss = new SaveService(); + ss.getBusinessService().add(bs); + ss.setAuthInfo(authInfoMary); + bs= publicationMary.saveService(ss).getBusinessService().get(0); + + + tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe); + tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe); + //Saving the Listener Service + String bindingkey = tckSubscriptionListenerJoe.saveService(authInfoJoe, getXMLLocationOfServiceForDelivery(), getPort(), getHostame()); + + //Saving the Subscription + holder = new Holder<List<Subscription>>(); + holder.value = new ArrayList<Subscription>(); + Subscription sub = new Subscription(); + sub.setBindingKey(bindingkey); + sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000)); + sub.setSubscriptionFilter(new SubscriptionFilter()); + sub.getSubscriptionFilter().setGetServiceDetail(new GetServiceDetail()); + sub.getSubscriptionFilter().getGetServiceDetail().getServiceKey().add(bs.getServiceKey()); + + holder.value.add(sub); + subscriptionJoe.saveSubscription(authInfoJoe, holder); + logger.info("subscription saved for " + holder.value.get(0).getSubscriptionKey()); + //tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML); + //Changing the service we subscribed to "JoePublisherService" + Thread.sleep(1000); + logger.info("updating Mary's business ********** "); + updatePublisherService(authInfoMary, bs, publicationMary); + + boolean found = verifyDelivery("Updated Name"); + + 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(); + + 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); + + } + } + + //get binding detail + //get pub assertion + //get publisher assertion status + //find publisher assertions + //find binding + + private void updatePublisherService(String authInfo, BusinessService bs, UDDIPublicationPortType pub) throws Exception{ + bs.getName().add(new Name("Updated name", null)); + SaveService ss = new SaveService(); + ss.getBusinessService().add(bs); + ss.setAuthInfo(authInfo); + pub.saveService(ss); + } + + + } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
