This project has retired. For details please refer to its
Attic page.
UDDI_120_CombineCategoryBagsFindServiceIntegrationTest xref
1 package org.apache.juddi.v3.tck;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 import java.util.List;
18 import javax.xml.ws.BindingProvider;
19
20 import org.apache.commons.configuration.ConfigurationException;
21 import org.apache.commons.logging.Log;
22 import org.apache.commons.logging.LogFactory;
23 import org.apache.juddi.v3.client.UDDIConstants;
24 import org.apache.juddi.v3.client.config.UDDIClient;
25 import org.apache.juddi.v3.client.transport.Transport;
26 import org.junit.AfterClass;
27 import org.junit.Assert;
28 import org.junit.Assume;
29 import org.junit.BeforeClass;
30 import org.junit.Test;
31 import org.uddi.api_v3.CategoryBag;
32 import org.uddi.api_v3.FindQualifiers;
33 import org.uddi.api_v3.FindService;
34 import org.uddi.api_v3.KeyedReference;
35 import org.uddi.api_v3.ServiceInfo;
36 import org.uddi.api_v3.ServiceList;
37 import org.uddi.v3_service.UDDIInquiryPortType;
38 import org.uddi.v3_service.UDDIPublicationPortType;
39 import org.uddi.v3_service.UDDISecurityPortType;
40
41
42
43
44
45
46
47
48
49
50
51 public class UDDI_120_CombineCategoryBagsFindServiceIntegrationTest {
52
53 final static String TOM_PUBLISHER_TMODEL_XML = "uddi_data/tompublisher/tModelKeyGen.xml";
54 final static String TOM_PUBLISHER_TMODEL01_XML = "uddi_data/tompublisher/tModel01.xml";
55 final static String TOM_PUBLISHER_TMODEL02_XML = "uddi_data/tompublisher/tModel02.xml";
56 final static String TOM_PUBLISHER_TMODEL_KEY = "uddi:uddi.tompublisher.com:keygenerator";
57 final static String TOM_PUBLISHER_TMODEL01_KEY = "uddi:uddi.tompublisher.com:tmodeltest01";
58 final static String TOM_PUBLISHER_TMODEL01_NAME = "tmodeltest01";
59 final static String TOM_PUBLISHER_TMODEL02_KEY = "uddi:uddi.tompublisher.com:tmodeltest02";
60 final static String TOM_BUSINESS1_XML = "uddi_data/tompublisher/juddi456-business1.xml";
61 final static String TOM_BUSINESS2_XML = "uddi_data/tompublisher/juddi456-business2.xml";
62 final static String TOM_BUSINESS5_XML = "uddi_data/tompublisher/juddi456-business5.xml";
63 final static String TOM_BUSINESS1_KEY = "uddi:uddi.tompublisher.com:businesstest01";
64 final static String TOM_BUSINESS2_KEY = "uddi:uddi.tompublisher.com:businesstest02";
65 final static String TOM_BUSINESS5_KEY = "uddi:uddi.tompublisher.com:businesstest05";
66 final static String SERVICE_KEY1 = "uddi:uddi.tompublisher.com:servicetest01";
67 final static String SERVICE_KEY5 = "uddi:uddi.tompublisher.com:servicetest05";
68 final static String TOM_PUBLISHER_SERVICEINFO_NAME = "servicetest01";
69 private static Log logger = LogFactory.getLog(UDDI_120_CombineCategoryBagsFindServiceIntegrationTest.class);
70 protected static TckTModel tckTModel = null;
71 protected static TckBusiness tckBusiness = null;
72 protected static String authInfoJoe = null;
73 private static UDDIInquiryPortType inquiry = null;
74 private static UDDIClient manager;
75
76 @AfterClass
77 public static void stopManager() throws ConfigurationException {
78 if (!TckPublisher.isEnabled()) return;
79 tckTModel.deleteCreatedTModels(authInfoJoe);
80 manager.stop();
81 }
82
83 @BeforeClass
84 public static void startManager() throws ConfigurationException {
85 if (!TckPublisher.isEnabled()) return;
86 manager = new UDDIClient();
87 manager.start();
88
89 logger.debug("Getting auth tokens..");
90 try {
91 Transport transport = manager.getTransport("uddiv3");
92 UDDISecurityPortType security = transport.getUDDISecurityService();
93 authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
94
95 UDDIPublicationPortType publication = transport.getUDDIPublishService();
96 inquiry = transport.getUDDIInquiryService();
97
98 if (!TckPublisher.isUDDIAuthMode()){
99 TckSecurity.setCredentials((BindingProvider) publication, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
100 TckSecurity.setCredentials((BindingProvider) inquiry, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
101 }
102 tckTModel = new TckTModel(publication, inquiry);
103 tckBusiness = new TckBusiness(publication, inquiry);
104 } catch (Exception e) {
105 logger.error(e.getMessage(), e);
106 Assert.fail("Could not obtain authInfo token.");
107 }
108 JUDDI_300_MultiNodeIntegrationTest.testSetupReplicationConfig();
109 }
110
111 @Test
112 public void findServiceByCategoryBag() {
113 Assume.assumeTrue(TckPublisher.isEnabled());
114 try {
115 tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL_XML, TOM_PUBLISHER_TMODEL_KEY);
116 tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL01_XML, TOM_PUBLISHER_TMODEL01_KEY);
117 tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL02_XML, TOM_PUBLISHER_TMODEL02_KEY);
118
119 tckBusiness.saveBusinesses(authInfoJoe, TOM_BUSINESS1_XML, TOM_BUSINESS1_KEY, 1);
120 tckBusiness.saveBusinesses(authInfoJoe, TOM_BUSINESS2_XML, TOM_BUSINESS2_KEY, 1);
121 tckBusiness.saveBusinesses(authInfoJoe, TOM_BUSINESS5_XML, TOM_BUSINESS5_KEY, 1);
122 try {
123 int size = 0;
124 ServiceList sl = null;
125
126 FindService fs = new FindService();
127
128
129 KeyedReference keyRef1 = new KeyedReference();
130 keyRef1.setTModelKey(TOM_PUBLISHER_TMODEL01_KEY);
131 keyRef1.setKeyValue("value-z");
132
133 KeyedReference keyRef2 = new KeyedReference();
134 keyRef2.setTModelKey(TOM_PUBLISHER_TMODEL02_KEY);
135 keyRef2.setKeyValue("value-x");
136
137 CategoryBag cb = new CategoryBag();
138 cb.getKeyedReference().add(keyRef1);
139 cb.getKeyedReference().add(keyRef2);
140 fs.setCategoryBag(cb);
141
142 sl = inquiry.findService(fs);
143 if (sl.getServiceInfos() == null) {
144 Assert.fail("Should have found one entry on FindService with TModelBag, "
145 + "found " + size);
146 }
147 size = sl.getServiceInfos().getServiceInfo().size();
148 if (size != 1) {
149 Assert.fail("Should have found one entry on FindService with TModelBag, "
150 + "found " + size);
151 } else {
152 List<ServiceInfo> siList = sl.getServiceInfos().getServiceInfo();
153 String serviceKey = siList.get(0).getServiceKey();
154 if (!SERVICE_KEY5.equals(serviceKey)) {
155 Assert.fail("Should have found service key " + SERVICE_KEY5
156 + " but found [" + serviceKey + "]");
157 }
158 }
159 } catch (Exception e) {
160 e.printStackTrace();
161 Assert.fail(e.getMessage());
162 }
163 } finally {
164 tckBusiness.deleteBusinesses(authInfoJoe, TOM_BUSINESS1_XML, TOM_BUSINESS1_KEY, 1);
165 tckBusiness.deleteBusinesses(authInfoJoe, TOM_BUSINESS2_XML, TOM_BUSINESS2_KEY, 1);
166 tckBusiness.deleteBusinesses(authInfoJoe, TOM_BUSINESS5_XML, TOM_BUSINESS5_KEY, 1);
167
168 tckTModel.deleteTModel(authInfoJoe, TOM_PUBLISHER_TMODEL_XML, TOM_PUBLISHER_TMODEL_KEY);
169 tckTModel.deleteTModel(authInfoJoe, TOM_PUBLISHER_TMODEL01_XML, TOM_PUBLISHER_TMODEL01_KEY);
170 tckTModel.deleteTModel(authInfoJoe, TOM_PUBLISHER_TMODEL02_XML, TOM_PUBLISHER_TMODEL02_KEY);
171 }
172 }
173
174 @Test
175 public void findNoServiceByCategoryBag() {
176 Assume.assumeTrue(TckPublisher.isEnabled());
177 try {
178 tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL_XML, TOM_PUBLISHER_TMODEL_KEY);
179 tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL01_XML, TOM_PUBLISHER_TMODEL01_KEY);
180 tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL02_XML, TOM_PUBLISHER_TMODEL02_KEY);
181
182 tckBusiness.saveBusinesses(authInfoJoe, TOM_BUSINESS1_XML, TOM_BUSINESS1_KEY, 1);
183 tckBusiness.saveBusinesses(authInfoJoe, TOM_BUSINESS2_XML, TOM_BUSINESS2_KEY, 1);
184 tckBusiness.saveBusinesses(authInfoJoe, TOM_BUSINESS5_XML, TOM_BUSINESS5_KEY, 1);
185 try {
186 int size = 0;
187 ServiceList sl = null;
188
189 FindService fs = new FindService();
190
191
192 KeyedReference keyRef1 = new KeyedReference();
193 keyRef1.setTModelKey(TOM_PUBLISHER_TMODEL01_KEY);
194 keyRef1.setKeyValue("value-y");
195
196 CategoryBag cb = new CategoryBag();
197 cb.getKeyedReference().add(keyRef1);
198 fs.setCategoryBag(cb);
199
200 sl = inquiry.findService(fs);
201 if (sl.getServiceInfos() != null) {
202 Assert.fail("Should have found no entries on FindService, "
203 + " found " + size);
204 }
205 } catch (Exception e) {
206 e.printStackTrace();
207 Assert.fail(e.getMessage());
208 }
209 } finally {
210 tckBusiness.deleteBusinesses(authInfoJoe, TOM_BUSINESS1_XML, TOM_BUSINESS1_KEY, 1);
211 tckBusiness.deleteBusinesses(authInfoJoe, TOM_BUSINESS2_XML, TOM_BUSINESS2_KEY, 1);
212 tckBusiness.deleteBusinesses(authInfoJoe, TOM_BUSINESS5_XML, TOM_BUSINESS5_KEY, 1);
213
214 tckTModel.deleteTModel(authInfoJoe, TOM_PUBLISHER_TMODEL_XML, TOM_PUBLISHER_TMODEL_KEY);
215 tckTModel.deleteTModel(authInfoJoe, TOM_PUBLISHER_TMODEL01_XML, TOM_PUBLISHER_TMODEL01_KEY);
216 tckTModel.deleteTModel(authInfoJoe, TOM_PUBLISHER_TMODEL02_XML, TOM_PUBLISHER_TMODEL02_KEY);
217 }
218 }
219
220
221
222
223
224 @Test
225 public void findServiceByCombinedCategoryBag() {
226 Assume.assumeTrue(TckPublisher.isEnabled());
227 try {
228 tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL_XML, TOM_PUBLISHER_TMODEL_KEY);
229 tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL01_XML, TOM_PUBLISHER_TMODEL01_KEY);
230 tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL02_XML, TOM_PUBLISHER_TMODEL02_KEY);
231
232 tckBusiness.saveBusinesses(authInfoJoe, TOM_BUSINESS1_XML, TOM_BUSINESS1_KEY, 1);
233 tckBusiness.saveBusinesses(authInfoJoe, TOM_BUSINESS2_XML, TOM_BUSINESS2_KEY, 1);
234 try {
235 int size = 0;
236 ServiceList sl = null;
237
238 FindService fs = new FindService();
239 FindQualifiers fqs = new FindQualifiers();
240 fqs.getFindQualifier().add(UDDIConstants.COMBINE_CATEGORY_BAGS);
241 fs.setFindQualifiers(fqs);
242
243 KeyedReference keyRef1 = new KeyedReference();
244 keyRef1.setTModelKey(TOM_PUBLISHER_TMODEL01_KEY);
245 keyRef1.setKeyValue("value-y");
246
247 CategoryBag cb = new CategoryBag();
248 cb.getKeyedReference().add(keyRef1);
249 fs.setCategoryBag(cb);
250
251 sl = inquiry.findService(fs);
252 if (sl.getServiceInfos() == null) {
253 Assert.fail("Should have found one entry on FindService with TModelBag, "
254 + "found " + size);
255 }
256 size = sl.getServiceInfos().getServiceInfo().size();
257 if (size != 1) {
258 Assert.fail("Should have found one entry on FindService with TModelBag, "
259 + "found " + size);
260 } else {
261 List<ServiceInfo> siList = sl.getServiceInfos().getServiceInfo();
262 String serviceKey = siList.get(0).getServiceKey();
263 if (!SERVICE_KEY1.equals(serviceKey)) {
264 Assert.fail("Should have found service key " + SERVICE_KEY1
265 + " but found [" + serviceKey + "]");
266 }
267 }
268 } catch (Exception e) {
269 e.printStackTrace();
270 Assert.fail(e.getMessage());
271 }
272 } finally {
273 tckBusiness.deleteBusinesses(authInfoJoe, TOM_BUSINESS1_XML, TOM_BUSINESS1_KEY, 1);
274 tckBusiness.deleteBusinesses(authInfoJoe, TOM_BUSINESS2_XML, TOM_BUSINESS2_KEY, 1);
275
276 tckTModel.deleteTModel(authInfoJoe, TOM_PUBLISHER_TMODEL_XML, TOM_PUBLISHER_TMODEL_KEY);
277 tckTModel.deleteTModel(authInfoJoe, TOM_PUBLISHER_TMODEL01_XML, TOM_PUBLISHER_TMODEL01_KEY);
278 tckTModel.deleteTModel(authInfoJoe, TOM_PUBLISHER_TMODEL02_XML, TOM_PUBLISHER_TMODEL02_KEY);
279 }
280 }
281 }