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