This project has retired. For details please refer to its
Attic page.
UDDI_160_RESTIntergrationTest xref
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.juddi.v3.tck;
17
18 import java.rmi.RemoteException;
19 import java.util.logging.Level;
20 import java.util.logging.Logger;
21 import javax.xml.bind.JAXB;
22 import org.apache.commons.configuration.ConfigurationException;
23 import org.apache.commons.logging.Log;
24 import org.apache.commons.logging.LogFactory;
25 import org.apache.http.HttpResponse;
26 import org.apache.http.client.HttpClient;
27 import org.apache.http.client.methods.HttpGet;
28 import org.apache.http.impl.client.DefaultHttpClient;
29 import org.apache.juddi.v3.client.UDDIConstants;
30 import org.apache.juddi.v3.client.config.UDDIClient;
31 import org.apache.juddi.v3.client.cryptor.XmlUtils;
32 import org.apache.juddi.v3.client.transport.Transport;
33 import org.junit.AfterClass;
34 import org.junit.Assert;
35 import org.junit.Assume;
36 import org.junit.BeforeClass;
37 import org.junit.Test;
38 import org.uddi.api_v3.BindingTemplate;
39 import org.uddi.api_v3.BusinessEntity;
40 import org.uddi.api_v3.BusinessList;
41 import org.uddi.api_v3.BusinessService;
42 import org.uddi.api_v3.FindBusiness;
43 import org.uddi.api_v3.FindQualifiers;
44 import org.uddi.api_v3.FindService;
45 import org.uddi.api_v3.FindTModel;
46 import org.uddi.api_v3.GetServiceDetail;
47 import org.uddi.api_v3.Name;
48 import org.uddi.api_v3.ServiceDetail;
49 import org.uddi.api_v3.ServiceList;
50 import org.uddi.api_v3.TModel;
51 import org.uddi.api_v3.TModelList;
52 import org.uddi.v3_service.DispositionReportFaultMessage;
53 import org.uddi.v3_service.UDDIInquiryPortType;
54
55
56
57
58
59
60 public class UDDI_160_RESTIntergrationTest {
61
62 private static UDDIInquiryPortType inquiry = null;
63 private static Log logger = LogFactory.getLog(UDDI_160_RESTIntergrationTest.class);
64 private static String authInfo = null;
65 private static UDDIClient manager;
66
67 @BeforeClass
68 public static void startRegistry() throws ConfigurationException {
69
70 if (!TckPublisher.isEnabled()) {
71 return;
72 }
73 manager = new UDDIClient();
74 manager.start();
75
76 try {
77 Transport transport = manager.getTransport("uddiv3");
78 inquiry = transport.getUDDIInquiryService();
79 } catch (Exception e) {
80 logger.error(e.getMessage(), e);
81 Assert.fail("Could not obtain authInfo token.");
82 }
83 JUDDI_300_MultiNodeIntegrationTest.testSetupReplicationConfig();
84 }
85
86 @AfterClass
87 public static void stopRegistry() throws ConfigurationException {
88 if (!TckPublisher.isEnabled()) {
89 return;
90 }
91 manager.stop();
92 }
93
94
95
96
97
98
99
100
101
102
103
104
105
106 @Test
107 public void InquiryREST_GET_Business() throws Exception {
108 Assume.assumeTrue(TckPublisher.isEnabled());
109 Assume.assumeTrue(TckPublisher.isInquiryRestEnabled());
110 FindBusiness fb = new FindBusiness();
111 fb.setMaxRows(1);
112 fb.getName().add(new Name(UDDIConstants.WILDCARD, null));
113 fb.setFindQualifiers(new FindQualifiers());
114 fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
115 BusinessList findBusiness = inquiry.findBusiness(fb);
116 Assume.assumeTrue(findBusiness != null);
117 Assume.assumeTrue(findBusiness.getBusinessInfos() != null);
118 Assume.assumeTrue(!findBusiness.getBusinessInfos().getBusinessInfo().isEmpty());
119
120 String url = manager.getClientConfig().getHomeNode().getInquiry_REST_Url();
121
122 Assume.assumeNotNull(url);
123 HttpClient client = new DefaultHttpClient();
124 HttpGet httpGet = new HttpGet(url + "?businessKey=" + findBusiness.getBusinessInfos().getBusinessInfo().get(0).getBusinessKey());
125 logger.info("Fetching " + httpGet.getURI());
126 HttpResponse response = client.execute(httpGet);
127
128 Assert.assertTrue(response.getStatusLine().getStatusCode() == 200);
129 logger.info("Response content: " + response.getEntity().getContent());
130 BusinessEntity unmarshal = (BusinessEntity) XmlUtils.unmarshal(response.getEntity().getContent(), BusinessEntity.class);
131 client.getConnectionManager().shutdown();
132 Assert.assertNotNull(unmarshal);
133 Assert.assertEquals(unmarshal.getBusinessKey(), findBusiness.getBusinessInfos().getBusinessInfo().get(0).getBusinessKey());
134
135 }
136
137 @Test
138 public void InquiryREST_GET_TModel() throws Exception {
139 Assume.assumeTrue(TckPublisher.isEnabled());
140 Assume.assumeTrue(TckPublisher.isInquiryRestEnabled());
141 FindTModel fb = new FindTModel();
142 fb.setMaxRows(1);
143 fb.setName(new Name(UDDIConstants.WILDCARD, null));
144 fb.setFindQualifiers(new FindQualifiers());
145 fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
146 TModelList findTModel = inquiry.findTModel(fb);
147 Assume.assumeTrue(findTModel != null);
148 Assume.assumeTrue(findTModel.getTModelInfos() != null);
149 Assume.assumeTrue(!findTModel.getTModelInfos().getTModelInfo().isEmpty());
150
151 String url = manager.getClientConfig().getHomeNode().getInquiry_REST_Url();
152
153 Assume.assumeNotNull(url);
154
155 HttpClient client = new DefaultHttpClient();
156
157 HttpGet httpGet = new HttpGet(url + "?tModelKey=" + findTModel.getTModelInfos().getTModelInfo().get(0).getTModelKey());
158 logger.info("Fetching " + httpGet.getURI());
159 HttpResponse response = client.execute(httpGet);
160
161 Assert.assertTrue(response.getStatusLine().getStatusCode() == 200);
162 logger.info("Response content: " + response.getEntity().getContent());
163 TModel unmarshal = (TModel) XmlUtils.unmarshal(response.getEntity().getContent(), TModel.class);
164 client.getConnectionManager().shutdown();
165 Assert.assertNotNull(unmarshal);
166 Assert.assertEquals(unmarshal.getTModelKey(), findTModel.getTModelInfos().getTModelInfo().get(0).getTModelKey());
167
168 }
169
170 @Test
171 public void InquiryREST_GET_Service() throws Exception {
172 Assume.assumeTrue(TckPublisher.isEnabled());
173 Assume.assumeTrue(TckPublisher.isInquiryRestEnabled());
174
175 FindService fb = new FindService();
176 fb.setMaxRows(1);
177 fb.getName().add(new Name(UDDIConstants.WILDCARD, null));
178 fb.setFindQualifiers(new FindQualifiers());
179 fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
180 ServiceList findService = inquiry.findService(fb);
181 Assume.assumeTrue(findService != null);
182 Assume.assumeTrue(findService.getServiceInfos() != null);
183 Assume.assumeTrue(!findService.getServiceInfos().getServiceInfo().isEmpty());
184
185 String url = manager.getClientConfig().getHomeNode().getInquiry_REST_Url();
186
187 Assume.assumeNotNull(url);
188
189
190 HttpClient client = new DefaultHttpClient();
191 HttpGet httpGet = new HttpGet(url + "?serviceKey=" + findService.getServiceInfos().getServiceInfo().get(0).getServiceKey());
192 logger.info("Fetching " + httpGet.getURI());
193 HttpResponse response = client.execute(httpGet);
194
195 Assert.assertTrue(response.getStatusLine().getStatusCode() == 200);
196 logger.info("Response content: " + response.getEntity().getContent());
197 BusinessService unmarshal = (BusinessService) XmlUtils.unmarshal(response.getEntity().getContent(), BusinessService.class);
198 client.getConnectionManager().shutdown();
199 Assert.assertNotNull(unmarshal);
200 Assert.assertEquals(unmarshal.getServiceKey(), findService.getServiceInfos().getServiceInfo().get(0).getServiceKey());
201
202 }
203
204 private BindingTemplate getFirstBindingTemplate() {
205 try {
206 int fetch = 10;
207 int offset = 0;
208 FindService fb = new FindService();
209 fb.setMaxRows(fetch);
210 fb.setListHead(offset);
211 fb.getName().add(new Name(UDDIConstants.WILDCARD, null));
212 fb.setFindQualifiers(new FindQualifiers());
213 fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
214 ServiceList findService = inquiry.findService(fb);
215 int returnedcount = findService.getServiceInfos().getServiceInfo().size();
216 do {
217 for (int i = 0; i < findService.getServiceInfos().getServiceInfo().size(); i++) {
218 GetServiceDetail gsd = new GetServiceDetail();
219 gsd.getServiceKey().add(findService.getServiceInfos().getServiceInfo().get(i).getServiceKey());
220 ServiceDetail serviceDetail = inquiry.getServiceDetail(gsd);
221 if (serviceDetail.getBusinessService().get(0).getBindingTemplates() != null
222 && !serviceDetail.getBusinessService().get(0).getBindingTemplates().getBindingTemplate().isEmpty()) {
223 return serviceDetail.getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(0);
224 }
225
226 }
227 offset = fetch;
228 fetch = fetch + 10;
229 fb = new FindService();
230 fb.setMaxRows(fetch);
231 fb.setListHead(offset);
232 fb.getName().add(new Name(UDDIConstants.WILDCARD, null));
233 fb.setFindQualifiers(new FindQualifiers());
234 fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
235 findService = inquiry.findService(fb);
236 returnedcount = findService.getServiceInfos().getServiceInfo().size();
237
238 } while (returnedcount > 0);
239 } catch (DispositionReportFaultMessage ex) {
240 Logger.getLogger(UDDI_160_RESTIntergrationTest.class.getName()).log(Level.SEVERE, null, ex);
241 } catch (RemoteException ex) {
242 Logger.getLogger(UDDI_160_RESTIntergrationTest.class.getName()).log(Level.SEVERE, null, ex);
243 }
244 return null;
245 }
246
247 @Test
248 public void InquiryREST_GET_Binding() throws Exception {
249 Assume.assumeTrue(TckPublisher.isEnabled());
250 Assume.assumeTrue(TckPublisher.isInquiryRestEnabled());
251
252 BindingTemplate bt = getFirstBindingTemplate();
253 Assume.assumeTrue(bt != null);
254
255 String url = manager.getClientConfig().getHomeNode().getInquiry_REST_Url();
256
257 Assume.assumeNotNull(url);
258 HttpClient client = new DefaultHttpClient();
259 HttpGet httpGet = new HttpGet(url + "?bindingKey=" + bt.getBindingKey());
260 logger.info("Fetching " + httpGet.getURI());
261 HttpResponse response = client.execute(httpGet);
262
263 Assert.assertTrue(response.getStatusLine().getStatusCode() == 200);
264 logger.info("Response content: " + response.getEntity().getContent());
265 BindingTemplate unmarshal = (BindingTemplate) XmlUtils.unmarshal(response.getEntity().getContent(), BindingTemplate.class);
266 client.getConnectionManager().shutdown();
267 Assert.assertNotNull(unmarshal);
268 Assert.assertEquals(unmarshal.getServiceKey(), bt.getServiceKey());
269 Assert.assertEquals(unmarshal.getBindingKey(), bt.getBindingKey());
270
271 }
272 }