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 2014/12/24 21:52:35 UTC
juddi git commit: JUDDI-881 filtering is now reenabled,
load tests are now performed during junit test executing and are
still skipped during the tck tests. Performance doesn't appeared to be too
affected
Repository: juddi
Updated Branches:
refs/heads/master 15ed423ba -> 8f7c669da
JUDDI-881 filtering is now reenabled, load tests are now performed during junit test executing and are still skipped during the tck tests. Performance doesn't appeared to be too affected
Project: http://git-wip-us.apache.org/repos/asf/juddi/repo
Commit: http://git-wip-us.apache.org/repos/asf/juddi/commit/8f7c669d
Tree: http://git-wip-us.apache.org/repos/asf/juddi/tree/8f7c669d
Diff: http://git-wip-us.apache.org/repos/asf/juddi/diff/8f7c669d
Branch: refs/heads/master
Commit: 8f7c669da1bfb76c63be3cb03a45832c45787fa9
Parents: 15ed423
Author: Alex <al...@apache.org>
Authored: Wed Dec 24 15:52:28 2014 -0500
Committer: Alex <al...@apache.org>
Committed: Wed Dec 24 15:52:28 2014 -0500
----------------------------------------------------------------------
.../apache/juddi/api/impl/InquiryHelper.java | 26 +++-
.../impl/API_040_BusinessServiceLoadTest.java | 135 +++++++++++++++++++
.../API_040_BusinessServiceTestPerformance.java | 135 -------------------
.../apache/juddi/api/impl/API_099_LoadTest.java | 109 +++++++++++++++
.../juddi/api/impl/API_099_LoadTests.java | 104 --------------
.../api/impl/API_110_FindBusinessTest.java | 8 +-
.../juddi/api/impl/API_160_ReplicationTest.java | 4 -
.../org/apache/juddi/v3/tck/TckBusiness.java | 10 ++
.../apache/juddi/v3/tck/TckBusinessService.java | 2 +-
.../UDDI_110_FindBusinessIntegrationTest.java | 9 +-
.../UDDI_110_FindBusinessIntegrationTest.java | 40 +++++-
11 files changed, 328 insertions(+), 254 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/juddi/blob/8f7c669d/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java b/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
index b9c91e0..af5e6ee 100644
--- a/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
+++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
@@ -225,9 +225,31 @@ public class InquiryHelper {
result.setListDescription(listDesc);
// Sort and retrieve the final results taking paging into account
- List<?> queryResults = FetchBusinessEntitiesQuery.select(
- em, findQualifiers, keysFound, body.getMaxRows(), body.getListHead(), listDesc);
+ List<?> queryResults = FetchBusinessEntitiesQuery.select(em, findQualifiers, keysFound, body.getMaxRows(), body.getListHead(), listDesc);
+ List<?> serviceResults = null;
+ for (int i = 0; i<queryResults.size(); i++) {
+ org.apache.juddi.model.BusinessEntity be = (org.apache.juddi.model.BusinessEntity) queryResults.get(i);
+ List<Object> keysIn = new ArrayList<Object>();
+ List<org.apache.juddi.model.BusinessService> services = be.getBusinessServices();
+ for (int j = 0; j<services.size(); j++) {
+ keysIn.add(services.get(j).getEntityKey());
+ }
+
+ serviceResults = FindServiceByTModelKeyQuery.select(em, findQualifiers, body.getTModelBag(), null, keysIn);
+ if (serviceResults == null) {
+ be.setBusinessServices(null);
+ } else {
+ ListDescription ldesc = new ListDescription();
+ result.setListDescription(listDesc);
+ List<?> srvcs = FetchBusinessServicesQuery.select(em, findQualifiers, serviceResults, body.getMaxRows(),
+ body.getListHead(), ldesc);
+ be.setBusinessServices((List<org.apache.juddi.model.BusinessService>)srvcs);
+ }
+ }
+
+
+
if (queryResults != null && queryResults.size() > 0)
result.setBusinessInfos(new org.uddi.api_v3.BusinessInfos());
http://git-wip-us.apache.org/repos/asf/juddi/blob/8f7c669d/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceLoadTest.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceLoadTest.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceLoadTest.java
new file mode 100644
index 0000000..20f1e94
--- /dev/null
+++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceLoadTest.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright 2001-2009 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.juddi.api.impl;
+
+import java.rmi.RemoteException;
+
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.Registry;
+import org.apache.juddi.query.util.FindQualifiers;
+import org.apache.juddi.v3.tck.TckBusiness;
+import org.apache.juddi.v3.tck.TckBusinessService;
+import org.apache.juddi.v3.tck.TckPublisher;
+import org.apache.juddi.v3.tck.TckSecurity;
+import org.apache.juddi.v3.tck.TckTModel;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.uddi.api_v3.BusinessList;
+import org.uddi.api_v3.FindBusiness;
+import org.uddi.api_v3.FindService;
+import org.uddi.api_v3.Name;
+import org.uddi.api_v3.ServiceList;
+import org.uddi.v3_service.DispositionReportFaultMessage;
+import org.uddi.v3_service.UDDISecurityPortType;
+
+/**
+ * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
+ */
+public class API_040_BusinessServiceLoadTest
+{
+ private static Log logger = LogFactory.getLog(API_040_BusinessServiceTest.class);
+
+ private static API_010_PublisherTest api010 = new API_010_PublisherTest();
+ protected static TckTModel tckTModel = new TckTModel(new UDDIPublicationImpl(), new UDDIInquiryImpl());
+ protected static TckBusiness tckBusiness = new TckBusiness(new UDDIPublicationImpl(), new UDDIInquiryImpl());
+ protected static TckBusinessService tckBusinessService = new TckBusinessService(new UDDIPublicationImpl(), new UDDIInquiryImpl());
+ private static UDDIInquiryImpl inquiry = new UDDIInquiryImpl();
+
+ int numberOfBusinesses=100;
+ int numberOfServices=100;
+
+ protected static String authInfoJoe = null;
+ protected static String authInfoSam = null;
+
+ @BeforeClass
+ public static void setup() throws ConfigurationException {
+ Registry.start();
+ logger.info("API_040_BusinessServiceTestPerformance");
+ logger.debug("Getting auth tokens..");
+ try {
+ api010.saveJoePublisher();
+ UDDISecurityPortType security = new UDDISecurityImpl();
+ authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+ String authInfoUDDI = TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword());
+ tckTModel.saveUDDIPublisherTmodel(authInfoUDDI);
+ tckTModel.saveTModels(authInfoUDDI, TckTModel.TMODELS_XML);
+ } catch (RemoteException e) {
+ logger.error(e.getMessage(), e);
+ Assert.fail("Could not obtain authInfo token.");
+ }
+ }
+
+ @AfterClass
+ public static void shutdown() throws ConfigurationException{
+ tckTModel.deleteCreatedTModels(authInfoJoe);
+ Registry.stop();
+ }
+
+ @Test
+ public void find20Businesses() throws DispositionReportFaultMessage {
+ tckTModel.saveJoePublisherTmodel(authInfoJoe);
+ long startSave = System.currentTimeMillis();
+ //loading up 100 businesses, with a 100 services each
+ tckBusiness.saveJoePublisherBusinesses(authInfoJoe, numberOfBusinesses);
+ for (int i=0; i<numberOfBusinesses; i++) {
+ tckBusinessService.saveJoePublisherServices(authInfoJoe, i, numberOfServices);
+ }
+ long saveDuration = System.currentTimeMillis() - startSave;
+ System.out.println("Saved " + numberOfBusinesses + " businesses with each " + numberOfServices + " services in " + saveDuration + "ms");
+
+ //find 20 businesses by name
+ FindBusiness fb = new FindBusiness();
+ org.uddi.api_v3.FindQualifiers apiFq = new org.uddi.api_v3.FindQualifiers();
+ apiFq.getFindQualifier().add(FindQualifiers.APPROXIMATE_MATCH);
+ apiFq.getFindQualifier().add(FindQualifiers.CASE_INSENSITIVE_MATCH);
+ fb.setFindQualifiers(apiFq);
+ Name name = new Name();
+ name.setValue("John%");
+ fb.getName().add(name);
+ fb.setMaxRows(20);
+ long startFind = System.currentTimeMillis();
+ BusinessList result = inquiry.findBusiness(fb);
+ long findDuration = System.currentTimeMillis() - startFind;
+ System.out.println("Find 20 businesses took " + findDuration + "ms. Size=" + result.getBusinessInfos().getBusinessInfo().size());
+ // it takes less then 1 second, make sure it stays faster then 5 seconds
+ //Assert.assertTrue(findDuration < 5000);
+
+ FindService fs = new FindService();
+ fs.setFindQualifiers(apiFq);
+ name.setValue("Service One%");
+ fs.getName().add(name);
+ startFind = System.currentTimeMillis();
+ //this will match ALL services (100 * 100 =) 10,000 services
+ int all = numberOfBusinesses * numberOfServices;
+ System.out.println("Matching " + all+ " services");
+ ServiceList serviceList = inquiry.findService(fs);
+ findDuration = System.currentTimeMillis() - startFind;
+ System.out.println("Find " + all + " services took " + findDuration + "ms. Size=" + serviceList.getServiceInfos().getServiceInfo().size());
+
+ long startDelete = System.currentTimeMillis();
+ for (int i=0; i<numberOfBusinesses; i++) {
+ tckBusinessService.deleteJoePublisherServices(authInfoJoe, i, numberOfServices);
+ }
+ long deleteDuration = System.currentTimeMillis() - startDelete;
+ System.out.println("Delete all business and services in " + deleteDuration + "ms");
+ tckBusiness.deleteJoePublisherBusinesses(authInfoJoe, numberOfBusinesses);
+ tckTModel.deleteJoePublisherTmodel(authInfoJoe);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/juddi/blob/8f7c669d/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java
deleted file mode 100644
index 16d719c..0000000
--- a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright 2001-2009 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.juddi.api.impl;
-
-import java.rmi.RemoteException;
-
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.juddi.Registry;
-import org.apache.juddi.query.util.FindQualifiers;
-import org.apache.juddi.v3.tck.TckBusiness;
-import org.apache.juddi.v3.tck.TckBusinessService;
-import org.apache.juddi.v3.tck.TckPublisher;
-import org.apache.juddi.v3.tck.TckSecurity;
-import org.apache.juddi.v3.tck.TckTModel;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.uddi.api_v3.BusinessList;
-import org.uddi.api_v3.FindBusiness;
-import org.uddi.api_v3.FindService;
-import org.uddi.api_v3.Name;
-import org.uddi.api_v3.ServiceList;
-import org.uddi.v3_service.DispositionReportFaultMessage;
-import org.uddi.v3_service.UDDISecurityPortType;
-
-/**
- * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
- */
-public class API_040_BusinessServiceTestPerformance
-{
- private static Log logger = LogFactory.getLog(API_040_BusinessServiceTest.class);
-
- private static API_010_PublisherTest api010 = new API_010_PublisherTest();
- protected static TckTModel tckTModel = new TckTModel(new UDDIPublicationImpl(), new UDDIInquiryImpl());
- protected static TckBusiness tckBusiness = new TckBusiness(new UDDIPublicationImpl(), new UDDIInquiryImpl());
- protected static TckBusinessService tckBusinessService = new TckBusinessService(new UDDIPublicationImpl(), new UDDIInquiryImpl());
- private static UDDIInquiryImpl inquiry = new UDDIInquiryImpl();
-
- int numberOfBusinesses=100;
- int numberOfServices=100;
-
- protected static String authInfoJoe = null;
- protected static String authInfoSam = null;
-
- @BeforeClass
- public static void setup() throws ConfigurationException {
- Registry.start();
- logger.info("API_040_BusinessServiceTestPerformance");
- logger.debug("Getting auth tokens..");
- try {
- api010.saveJoePublisher();
- UDDISecurityPortType security = new UDDISecurityImpl();
- authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
- String authInfoUDDI = TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword());
- tckTModel.saveUDDIPublisherTmodel(authInfoUDDI);
- tckTModel.saveTModels(authInfoUDDI, TckTModel.TMODELS_XML);
- } catch (RemoteException e) {
- logger.error(e.getMessage(), e);
- Assert.fail("Could not obtain authInfo token.");
- }
- }
-
- @AfterClass
- public static void shutdown() throws ConfigurationException{
- tckTModel.deleteCreatedTModels(authInfoJoe);
- Registry.stop();
- }
-
- @Test
- public void find20Businesses() throws DispositionReportFaultMessage {
- tckTModel.saveJoePublisherTmodel(authInfoJoe);
- long startSave = System.currentTimeMillis();
- //loading up 100 businesses, with a 100 services each
- tckBusiness.saveJoePublisherBusinesses(authInfoJoe, numberOfBusinesses);
- for (int i=0; i<numberOfBusinesses; i++) {
- tckBusinessService.saveJoePublisherServices(authInfoJoe, i, numberOfServices);
- }
- long saveDuration = System.currentTimeMillis() - startSave;
- System.out.println("Saved " + numberOfBusinesses + " businesses with each " + numberOfServices + " services in " + saveDuration + "ms");
-
- //find 20 businesses by name
- FindBusiness fb = new FindBusiness();
- org.uddi.api_v3.FindQualifiers apiFq = new org.uddi.api_v3.FindQualifiers();
- apiFq.getFindQualifier().add(FindQualifiers.APPROXIMATE_MATCH);
- apiFq.getFindQualifier().add(FindQualifiers.CASE_INSENSITIVE_MATCH);
- fb.setFindQualifiers(apiFq);
- Name name = new Name();
- name.setValue("John%");
- fb.getName().add(name);
- fb.setMaxRows(20);
- long startFind = System.currentTimeMillis();
- BusinessList result = inquiry.findBusiness(fb);
- long findDuration = System.currentTimeMillis() - startFind;
- System.out.println("Find 20 businesses took " + findDuration + "ms. Size=" + result.getBusinessInfos().getBusinessInfo().size());
- // it takes less then 1 second, make sure it stays faster then 5 seconds
- //Assert.assertTrue(findDuration < 5000);
-
- FindService fs = new FindService();
- fs.setFindQualifiers(apiFq);
- name.setValue("Service One%");
- fs.getName().add(name);
- startFind = System.currentTimeMillis();
- //this will match ALL services (100 * 100 =) 10,000 services
- int all = numberOfBusinesses * numberOfServices;
- System.out.println("Matching " + all+ " services");
- ServiceList serviceList = inquiry.findService(fs);
- findDuration = System.currentTimeMillis() - startFind;
- System.out.println("Find " + all + " services took " + findDuration + "ms. Size=" + serviceList.getServiceInfos().getServiceInfo().size());
-
- long startDelete = System.currentTimeMillis();
- for (int i=0; i<numberOfBusinesses; i++) {
- tckBusinessService.deleteJoePublisherServices(authInfoJoe, i, numberOfServices);
- }
- long deleteDuration = System.currentTimeMillis() - startDelete;
- System.out.println("Delete all business and services in " + deleteDuration + "ms");
- tckBusiness.deleteJoePublisherBusinesses(authInfoJoe, numberOfBusinesses);
- tckTModel.deleteJoePublisherTmodel(authInfoJoe);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/juddi/blob/8f7c669d/juddi-core/src/test/java/org/apache/juddi/api/impl/API_099_LoadTest.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_099_LoadTest.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_099_LoadTest.java
new file mode 100644
index 0000000..ccd388f
--- /dev/null
+++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_099_LoadTest.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2014 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.juddi.api.impl;
+
+import java.rmi.RemoteException;
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.ws.Holder;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.Registry;
+import org.apache.juddi.v3.client.UDDIConstants;
+import org.apache.juddi.v3.tck.TckBindingTemplate;
+import org.apache.juddi.v3.tck.TckBusiness;
+import org.apache.juddi.v3.tck.TckBusinessService;
+import org.apache.juddi.v3.tck.TckPublisher;
+import org.apache.juddi.v3.tck.TckSecurity;
+import org.apache.juddi.v3.tck.TckTModel;
+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.FindBusiness;
+import org.uddi.api_v3.FindQualifiers;
+import org.uddi.api_v3.Name;
+import org.uddi.sub_v3.DeleteSubscription;
+import org.uddi.sub_v3.Subscription;
+import org.uddi.sub_v3.SubscriptionFilter;
+
+/**
+ * Load tests for subscriptions
+ * @author Alex O'Ree
+ */
+public class API_099_LoadTest {
+
+ private static Log logger = LogFactory.getLog(API_080_SubscriptionTest.class);
+
+ private static API_010_PublisherTest api010 = new API_010_PublisherTest();
+ private static TckTModel tckTModel = new TckTModel(new UDDIPublicationImpl(), new UDDIInquiryImpl());
+ private static TckBusiness tckBusiness = new TckBusiness(new UDDIPublicationImpl(), new UDDIInquiryImpl());
+ private static TckBusinessService tckBusinessService = new TckBusinessService(new UDDIPublicationImpl(), new UDDIInquiryImpl());
+ private static TckBindingTemplate tckBindingTemplate = new TckBindingTemplate(new UDDIPublicationImpl(), new UDDIInquiryImpl());
+ UDDISubscriptionImpl sub = new UDDISubscriptionImpl();
+
+ private static String authInfoJoe = null;
+ private static String authInfoSam = null;
+
+ @BeforeClass
+ public static void setup() throws ConfigurationException {
+ Registry.start();
+ logger.info("API_080_SubscriptionTest");
+ logger.debug("Getting auth token..");
+ try {
+ api010.saveJoePublisher();
+ authInfoJoe = TckSecurity.getAuthToken(new UDDISecurityImpl(), TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+ } catch (RemoteException e) {
+ logger.error(e.getMessage(), e);
+ Assert.fail("Could not obtain authInfo token.");
+ }
+
+ }
+
+ @AfterClass
+ public static void stopRegistry() throws ConfigurationException {
+ tckTModel.deleteCreatedTModels(authInfoJoe);
+ Registry.stop();
+ }
+
+ @Test
+ public void joePublisher() throws Exception {
+ //Assume.assumeTrue(TckPublisher.isLoadTest());
+ List<String> keys = new ArrayList<String>();
+ for (int i = 0; i < 1000; i++) {
+ Holder<List<Subscription>> items = new Holder<List<Subscription>>();
+ items.value = new ArrayList<Subscription>();
+ Subscription s = new Subscription();
+ s.setSubscriptionFilter(new SubscriptionFilter());
+ s.getSubscriptionFilter().setFindBusiness(new FindBusiness());
+ s.getSubscriptionFilter().getFindBusiness().setFindQualifiers(new FindQualifiers());
+ s.getSubscriptionFilter().getFindBusiness().getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
+ s.getSubscriptionFilter().getFindBusiness().getName().add(new Name(UDDIConstants.WILDCARD, null));
+ items.value.add(s);
+ sub.saveSubscription(authInfoJoe, items);
+ keys.add(items.value.get(0).getSubscriptionKey());
+ }
+ List<Subscription> subscriptions = sub.getSubscriptions(authInfoJoe);
+ DeleteSubscription ds = new DeleteSubscription();
+ ds.setAuthInfo(authInfoJoe);
+ ds.getSubscriptionKey().addAll(keys);
+ sub.deleteSubscription(ds);
+ Assert.assertEquals(subscriptions.size(), keys.size());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/juddi/blob/8f7c669d/juddi-core/src/test/java/org/apache/juddi/api/impl/API_099_LoadTests.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_099_LoadTests.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_099_LoadTests.java
deleted file mode 100644
index 3d44b09..0000000
--- a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_099_LoadTests.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright 2014 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.juddi.api.impl;
-
-import java.rmi.RemoteException;
-import java.util.ArrayList;
-import java.util.List;
-import javax.xml.ws.Holder;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.juddi.Registry;
-import org.apache.juddi.v3.client.UDDIConstants;
-import org.apache.juddi.v3.tck.TckBindingTemplate;
-import org.apache.juddi.v3.tck.TckBusiness;
-import org.apache.juddi.v3.tck.TckBusinessService;
-import org.apache.juddi.v3.tck.TckPublisher;
-import org.apache.juddi.v3.tck.TckSecurity;
-import org.apache.juddi.v3.tck.TckTModel;
-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.FindBusiness;
-import org.uddi.api_v3.FindQualifiers;
-import org.uddi.api_v3.Name;
-import org.uddi.sub_v3.Subscription;
-import org.uddi.sub_v3.SubscriptionFilter;
-
-/**
- *
- * @author Alex O'Ree
- */
-public class API_099_LoadTests {
-
- private static Log logger = LogFactory.getLog(API_080_SubscriptionTest.class);
-
- private static API_010_PublisherTest api010 = new API_010_PublisherTest();
- private static TckTModel tckTModel = new TckTModel(new UDDIPublicationImpl(), new UDDIInquiryImpl());
- private static TckBusiness tckBusiness = new TckBusiness(new UDDIPublicationImpl(), new UDDIInquiryImpl());
- private static TckBusinessService tckBusinessService = new TckBusinessService(new UDDIPublicationImpl(), new UDDIInquiryImpl());
- private static TckBindingTemplate tckBindingTemplate = new TckBindingTemplate(new UDDIPublicationImpl(), new UDDIInquiryImpl());
- UDDISubscriptionImpl sub = new UDDISubscriptionImpl();
-
- private static String authInfoJoe = null;
- private static String authInfoSam = null;
-
- @BeforeClass
- public static void setup() throws ConfigurationException {
- Registry.start();
- logger.info("API_080_SubscriptionTest");
- logger.debug("Getting auth token..");
- try {
- api010.saveJoePublisher();
- authInfoJoe = TckSecurity.getAuthToken(new UDDISecurityImpl(), TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
- } catch (RemoteException e) {
- logger.error(e.getMessage(), e);
- Assert.fail("Could not obtain authInfo token.");
- }
-
- }
-
- @AfterClass
- public static void stopRegistry() throws ConfigurationException {
- tckTModel.deleteCreatedTModels(authInfoJoe);
- Registry.stop();
- }
-
- @Test
- public void joePublisher() throws Exception {
- Assume.assumeTrue(TckPublisher.isLoadTest());
- List<String> keys = new ArrayList<String>();
- for (int i = 0; i < 1000; i++) {
- Holder<List<Subscription>> items = new Holder<List<Subscription>>();
- items.value = new ArrayList<Subscription>();
- Subscription s = new Subscription();
- s.setSubscriptionFilter(new SubscriptionFilter());
- s.getSubscriptionFilter().setFindBusiness(new FindBusiness());
- s.getSubscriptionFilter().getFindBusiness().setFindQualifiers(new FindQualifiers());
- s.getSubscriptionFilter().getFindBusiness().getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
- s.getSubscriptionFilter().getFindBusiness().getName().add(new Name(UDDIConstants.WILDCARD, null));
- items.value.add(s);
- sub.saveSubscription(authInfoJoe, items);
- keys.add(items.value.get(0).getSubscriptionKey());
- }
- List<Subscription> subscriptions = sub.getSubscriptions(authInfoJoe);
- Assert.assertEquals(subscriptions.size(), keys.size());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/juddi/blob/8f7c669d/juddi-core/src/test/java/org/apache/juddi/api/impl/API_110_FindBusinessTest.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_110_FindBusinessTest.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_110_FindBusinessTest.java
index e2a5497..f03dd60 100644
--- a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_110_FindBusinessTest.java
+++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_110_FindBusinessTest.java
@@ -87,9 +87,11 @@ public class API_110_FindBusinessTest
Assert.fail("Could not obtain authInfo token.");
}
}
- /**
+
+ /**
* JUDDI-398
* JUDDI-881
+ * "If a tModelBag or find_tModel was used in the search, the resulting serviceInfos structure reflects data only for the businessServices that actually contained a matching bindingTemplate.
*/
@Test
public void findBusinessByTModelBag() {
@@ -115,8 +117,8 @@ public class API_110_FindBusinessTest
+ "found " + size);
} else {
List<BusinessInfo> biList = bl.getBusinessInfos().getBusinessInfo();
- if (biList.get(0).getServiceInfos().getServiceInfo().size() != 2) {
- Assert.fail("Should have found two ServiceInfos");
+ if (biList.get(0).getServiceInfos().getServiceInfo().size() != 1) {
+ Assert.fail("Should have found one ServiceInfos");
} else {
List<ServiceInfo> siList = biList.get(0).getServiceInfos().getServiceInfo();
ServiceInfo si = siList.get(0);
http://git-wip-us.apache.org/repos/asf/juddi/blob/8f7c669d/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java
index 2227973..298cf5d 100644
--- a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java
+++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java
@@ -15,7 +15,6 @@
*/
package org.apache.juddi.api.impl;
-import java.math.BigInteger;
import java.rmi.RemoteException;
import java.util.List;
import java.util.UUID;
@@ -33,10 +32,8 @@ import org.apache.juddi.api_v3.NodeList;
import org.apache.juddi.api_v3.SaveClerk;
import org.apache.juddi.api_v3.SaveNode;
import org.apache.juddi.replication.ReplicationNotifier;
-import org.apache.juddi.v3.error.FatalErrorException;
import org.apache.juddi.v3.tck.TckPublisher;
import org.apache.juddi.v3.tck.TckSecurity;
-import org.apache.juddi.v3.tck.TckTModel;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
@@ -44,7 +41,6 @@ import org.junit.Test;
import org.uddi.api_v3.Contact;
import org.uddi.api_v3.DispositionReport;
import org.uddi.api_v3.PersonName;
-import org.uddi.repl_v3.ChangeRecord;
import org.uddi.repl_v3.ChangeRecordIDType;
import org.uddi.repl_v3.ChangeRecords;
import org.uddi.repl_v3.CommunicationGraph;
http://git-wip-us.apache.org/repos/asf/juddi/blob/8f7c669d/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusiness.java
----------------------------------------------------------------------
diff --git a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusiness.java b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusiness.java
index f632973..87e02a3 100644
--- a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusiness.java
+++ b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusiness.java
@@ -168,6 +168,16 @@ public class TckBusiness {
beIn.getName().get(0).setValue(businessName + "-" + i);
beIn.setBusinessKey(businessKey + "-" + i);
sb.getBusinessEntity().add(beIn);
+ /* if (beIn.getBusinessServices()!=null){
+ for (int x=0; x < beIn.getBusinessServices().getBusinessService().size(); x++){
+ beIn.getBusinessServices().getBusinessService().get(x).setBusinessKey(businessKey + "-" + i);
+ if (beIn.getBusinessServices().getBusinessService().get(x).getBindingTemplates()!=null){
+ for (int y=0; y < beIn.getBusinessServices().getBusinessService().get(x).getBindingTemplates().getBindingTemplate().size(); y++){
+ beIn.getBusinessServices().getBusinessService().get(x).getBindingTemplates().getBindingTemplate().get(y).
+ }
+ }
+ }
+ }*/
publication.saveBusiness(sb);
logger.info("Saved business with key " + businessName + "-" + i);
}
http://git-wip-us.apache.org/repos/asf/juddi/blob/8f7c669d/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusinessService.java
----------------------------------------------------------------------
diff --git a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusinessService.java b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusinessService.java
index fa4a19d..ab012b4 100644
--- a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusinessService.java
+++ b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusinessService.java
@@ -123,7 +123,7 @@ public class TckBusinessService
ss = new SaveService();
ss.setAuthInfo(authInfo);
bsIn.getName().get(0).setValue(serviceName + "-" + i);
- bsIn.setBusinessKey(parentBusinessKey);
+ bsIn.setBusinessKey(parentBusinessKey +"-" + businessInt);
bsIn.setServiceKey(serviceKey + "-" + businessInt + "-" + i);
bsIn.getBindingTemplates().getBindingTemplate().get(0).setBindingKey(bindingKey + "-" + businessInt + "-" + i);
bsIn.getBindingTemplates().getBindingTemplate().get(0).setServiceKey(serviceKey + "-" + businessInt + "-" + i);
http://git-wip-us.apache.org/repos/asf/juddi/blob/8f7c669d/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_110_FindBusinessIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_110_FindBusinessIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_110_FindBusinessIntegrationTest.java
index 21e5cd6..5484c02 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_110_FindBusinessIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_110_FindBusinessIntegrationTest.java
@@ -102,6 +102,11 @@ public class UDDI_110_FindBusinessIntegrationTest {
}
}
+ /**
+ * JUDDI-398
+ * JUDDI-881
+ * "If a tModelBag or find_tModel was used in the search, the resulting serviceInfos structure reflects data only for the businessServices that actually contained a matching bindingTemplate.
+ */
@Test
public void findBusinessByTModelBag() {
Assume.assumeTrue(TckPublisher.isEnabled());
@@ -127,8 +132,8 @@ public class UDDI_110_FindBusinessIntegrationTest {
+ "found " + size);
} else {
List<BusinessInfo> biList = bl.getBusinessInfos().getBusinessInfo();
- if (biList.get(0).getServiceInfos().getServiceInfo().size() != 2) {
- Assert.fail("Should have found two ServiceInfos");
+ if (biList.get(0).getServiceInfos().getServiceInfo().size() != 1) {
+ Assert.fail("Should have found one ServiceInfos");
} else {
List<ServiceInfo> siList = biList.get(0).getServiceInfos().getServiceInfo();
ServiceInfo si = siList.get(0);
http://git-wip-us.apache.org/repos/asf/juddi/blob/8f7c669d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindBusinessIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindBusinessIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindBusinessIntegrationTest.java
index 53215b6..fadcc99 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindBusinessIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindBusinessIntegrationTest.java
@@ -29,6 +29,7 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.uddi.api_v3.BusinessInfo;
import org.uddi.api_v3.BusinessList;
+import org.uddi.api_v3.DeleteBusiness;
import org.uddi.api_v3.FindBusiness;
import org.uddi.api_v3.ServiceInfo;
import org.uddi.api_v3.TModelBag;
@@ -61,6 +62,7 @@ public class UDDI_110_FindBusinessIntegrationTest {
protected static TckBusiness tckBusiness = null;
protected static String authInfoJoe = null;
private static UDDIInquiryPortType inquiry = null;
+ private static UDDIPublicationPortType publication=null;
private static UDDIClient manager;
@AfterClass
@@ -85,12 +87,13 @@ public class UDDI_110_FindBusinessIntegrationTest {
authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
//Assert.assertNotNull(authInfoJoe);
- UDDIPublicationPortType publication = transport.getUDDIPublishService();
+ publication = transport.getUDDIPublishService();
inquiry = transport.getUDDIInquiryService();
if (!TckPublisher.isUDDIAuthMode()){
TckSecurity.setCredentials((BindingProvider) publication, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
TckSecurity.setCredentials((BindingProvider) inquiry, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
}
+
tckTModel = new TckTModel(publication, inquiry);
tckTModel01 = new TckTModel(publication, inquiry);
@@ -103,16 +106,42 @@ public class UDDI_110_FindBusinessIntegrationTest {
}
}
+ /**
+ * JUDDI-881
+ * "If a tModelBag or find_tModel was used in the search, the resulting serviceInfos structure reflects data only for the businessServices that actually contained a matching bindingTemplate.
+ */
@Test
public void findBusinessByTModelBag() {
Assume.assumeTrue(TckPublisher.isEnabled());
+ System.out.println("##########################################################");
+ System.out.println("##########################################################");
+ System.out.println("##########################################################");
+ System.out.println("##########################################################");
+ System.out.println("##########################################################");
+ System.out.println("##########################################################");
+ System.out.println("##########################################################");
+ System.out.println("##########################################################");
+ System.out.println("##########################################################");
+ System.out.println("##########################################################");
+ System.out.println("##########################################################");
+ System.out.println("##########################################################");
+ System.out.println("##########################################################");
+ System.out.println("##########################################################");
try {
tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL_XML, TOM_PUBLISHER_TMODEL_KEY);
tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL01_XML, TOM_PUBLISHER_TMODEL01_KEY);
tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL02_XML, TOM_PUBLISHER_TMODEL02_KEY);
+ try{
+ // Delete the entity and make sure it is removed
+ DeleteBusiness db = new DeleteBusiness();
+ db.setAuthInfo(authInfoJoe);
+ db.getBusinessKey().add(TOM_BUSINESS_KEY);
+ publication.deleteBusiness(db);
+ } catch (Exception ex){}
tckBusiness.saveBusinesses(authInfoJoe, TOM_BUSINESS_XML, TOM_BUSINESS_KEY, 1);
+ String before =TckCommon.DumpAllBusinesses(authInfoJoe, inquiry);
try {
int size = 0;
BusinessList bl = null;
@@ -123,17 +152,22 @@ public class UDDI_110_FindBusinessIntegrationTest {
fbb.setTModelBag(tmb);
bl = inquiry.findBusiness(fbb);
size = bl.getBusinessInfos().getBusinessInfo().size();
+ //JUDDI-881
+
if (size != 1) {
+ logger.error("Test failed, dumping the business list " + before);
Assert.fail("Should have found one entry on FindBusiness with TModelBag, "
+ "found " + size);
} else {
List<BusinessInfo> biList = bl.getBusinessInfos().getBusinessInfo();
- if (biList.get(0).getServiceInfos().getServiceInfo().size() != 2) {
- Assert.fail("Should have found two ServiceInfos");
+ if (biList.get(0).getServiceInfos().getServiceInfo().size() != 1) {
+ logger.error("Test failed, dumping the business list " + before);
+ Assert.fail("Should have found one ServiceInfos");
} else {
List<ServiceInfo> siList = biList.get(0).getServiceInfos().getServiceInfo();
ServiceInfo si = siList.get(0);
if (!TOM_PUBLISHER_SERVICEINFO_NAME.equals(si.getName().get(0).getValue())) {
+ logger.error("Test failed, dumping the business list " + before);
Assert.fail("Should have found " + TOM_PUBLISHER_TMODEL01_NAME + " as the "
+ "ServiceInfo name, found " + si.getName().get(0).getValue());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org