This project has retired. For details please refer to its Attic page.
UDDI_070_FindEntityIntegrationTest xref
View Javadoc
1   /*
2    * Copyright 2001-2009 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *      http://www.apache.org/licenses/LICENSE-2.0
8    * 
9    * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  package org.apache.juddi.v2.tck;
16  
17  import java.util.Arrays;
18  import java.util.UUID;
19  
20  import javax.xml.ws.BindingProvider;
21  
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.juddi.v3.client.UDDIConstants;
26  import org.apache.juddi.v3.client.config.UDDIClient;
27  import org.apache.juddi.v3.client.transport.JAXWSv2TranslationTransport;
28  import org.apache.juddi.v3.client.transport.Transport;
29  import org.junit.AfterClass;
30  import org.junit.Assert;
31  import org.junit.Assume;
32  import org.junit.BeforeClass;
33  import org.junit.Ignore;
34  import org.junit.Test;
35  import org.uddi.api_v2.*;
36  import org.uddi.v2_service.*;
37  
38  /**
39   * This test case exercises a number of the FindXXX API's in the UDDI Inquiry
40   * spec. It also checks for the service catching invalid or incorrect
41   * combinations of find qualifiers.<br><br>
42   *
43   * Most of the tests in this class reference's valid and invalid combinations of
44   * Find Qualifiers. See <a
45   * href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Ref535479804">UDDI spec
46   * on valid find qualifiers</a>
47   *
48   * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
49   * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
50   * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
51   */
52  public class UDDI_070_FindEntityIntegrationTest {
53  
54          private static final Log logger = LogFactory.getLog(UDDI_070_FindEntityIntegrationTest.class);
55          private static TckTModel tckTModel = null;
56          private static TckBusiness tckBusiness = null;
57          private static TckBusinessService tckBusinessService = null;
58          private static TckBindingTemplate tckBindingTemplate = null;
59          private static TckFindEntity tckFindEntity = null;
60          private static String authInfoJoe = null;
61          private static UDDIClient manager;
62          private static Inquire inquiry = null;
63  
64          @AfterClass
65          public static void stopManager() throws ConfigurationException {
66               if (!TckPublisher.isEnabled()) return;
67                  tckTModel.deleteCreatedTModels(authInfoJoe);
68                  manager.stop();
69          }
70  
71          @BeforeClass
72          public static void startManager() throws ConfigurationException {
73               if (!TckPublisher.isEnabled()) return;
74                  manager = new UDDIClient();
75                  manager.start();
76  
77                  logger.debug("Getting auth tokens..");
78                  try {
79                          JAXWSv2TranslationTransport transport = (JAXWSv2TranslationTransport) manager.getTransport("uddiv2");
80                          Publish security = transport.getUDDIv2PublishService();
81                          authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
82                          //Assert.assertNotNull(authInfoJoe);
83  
84                          Publish publication = transport.getUDDIv2PublishService();
85                          inquiry = transport.getUDDIv2InquiryService();
86  
87                          if (!TckPublisher.isUDDIAuthMode()) {
88                                  TckSecurity.setCredentials((BindingProvider) publication, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
89                                  TckSecurity.setCredentials((BindingProvider) inquiry, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
90                          }
91  
92                          tckTModel = new TckTModel(publication, inquiry);
93                          tckBusiness = new TckBusiness(publication, inquiry);
94                          tckBusinessService = new TckBusinessService(publication, inquiry);
95                          tckBindingTemplate = new TckBindingTemplate(publication, inquiry);
96                          tckFindEntity = new TckFindEntity(inquiry);
97  
98                  } catch (Exception e) {
99                          logger.error(e.getMessage(), e);
100                         Assert.fail("Could not obtain authInfo token.");
101                 }
102         }
103 
104         @Test
105         public void findEntities() {
106              Assume.assumeTrue(TckPublisher.isEnabled());
107                 try {
108                         tckTModel.saveJoePublisherTmodel(authInfoJoe, true);
109                         tckBusiness.saveJoePublisherBusiness(authInfoJoe);
110                         tckBusinessService.saveJoePublisherService(authInfoJoe);
111                         tckBindingTemplate.saveJoePublisherBinding(authInfoJoe);
112                         tckFindEntity.findBusiness();
113                         tckFindEntity.findService(null);
114                         tckFindEntity.findBinding(null);
115                         tckFindEntity.findTModel(null);
116                         tckFindEntity.getNonExitingBusiness();
117                 } catch (Exception e) {
118                         e.printStackTrace();
119                         Assert.fail(e.getMessage() + e.getClass().getCanonicalName());
120                 } catch (Throwable t) {
121                         t.printStackTrace();
122                         Assert.fail(t.getMessage() + t.getClass().getCanonicalName());
123                 } finally {
124                         tckBindingTemplate.deleteJoePublisherBinding(authInfoJoe);
125                         tckBusinessService.deleteJoePublisherService(authInfoJoe);
126                         tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
127                         tckTModel.deleteJoePublisherTmodel(authInfoJoe);
128                 }
129         }
130 
131         
132 
133         private void before() {
134                 tckTModel.saveJoePublisherTmodel(authInfoJoe, true);
135                 tckBusiness.saveJoePublisherBusiness(authInfoJoe);
136 
137         }
138 
139         private void after() {
140                 tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
141                 tckTModel.deleteJoePublisherTmodel(authInfoJoe);
142         }
143 
144         private void findbuinsess(String fq) throws Exception {
145                 FindBusiness fb = new FindBusiness();
146                 //fb.setAuthInfo(authInfoJoe);
147                 fb.setGeneric("2.0");
148                 fb.setFindQualifiers(new FindQualifiers());
149                 fb.getFindQualifiers().getFindQualifier().add(fq);
150                 fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
151                 fb.getName().add(new Name(UDDIConstants.WILDCARD, null));
152                 inquiry.findBusiness(fb);
153         }
154 
155         private void findservice(String fq) throws Exception {
156                 FindService fb = new FindService();
157                 //fb.setAuthInfo(authInfoJoe);
158                 fb.setFindQualifiers(new FindQualifiers());
159                 fb.setGeneric("2.0");
160                 fb.getFindQualifiers().getFindQualifier().add(fq);
161                 fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
162                 fb.getName().add(new Name(UDDIConstants.WILDCARD, null));
163                 inquiry.findService(fb);
164         }
165 
166         private void findtmodel(String fq) throws Exception {
167                 FindTModel fb = new FindTModel();
168                 //fb.setAuthInfo(authInfoJoe);
169                 fb.setFindQualifiers(new FindQualifiers());
170                 fb.setGeneric("2.0");
171                 fb.getFindQualifiers().getFindQualifier().add(fq);
172                 fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
173                 fb.setName(new Name(UDDIConstants.WILDCARD, null));
174                 inquiry.findTModel(fb);
175         }
176 
177         private void findbinding(String fq) throws Exception {
178                 FindBinding fb = new FindBinding();
179                 //fb.setAuthInfo(authInfoJoe);
180                 fb.setFindQualifiers(new FindQualifiers());
181                 fb.getFindQualifiers().getFindQualifier().add(fq);
182                 fb.setGeneric("2.0");
183                 //fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
184                 //fb.setName(new Name(UDDIConstants.WILDCARD, null));
185                 inquiry.findBinding(fb);
186         }
187 
188         private void findrelated(String fq) throws Exception {
189                 before();
190                 FindRelatedBusinesses fb = new FindRelatedBusinesses();
191                 fb.setBusinessKey(TckBusiness.JOE_BUSINESS_KEY);
192                 //fb.setAuthInfo(authInfoJoe);
193                 fb.setGeneric("2.0");
194                 fb.setFindQualifiers(new FindQualifiers());
195                 fb.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
196                 fb.getFindQualifiers().getFindQualifier().add(fq);
197                 inquiry.findRelatedBusinesses(fb);
198                 after();
199         }
200 
201         private void findbuinsess(String[] fq) throws Exception {
202                 FindBusiness fb = new FindBusiness();
203                 //fb.setAuthInfo(authInfoJoe);
204                 fb.setGeneric("2.0");
205                 fb.setFindQualifiers(new FindQualifiers());
206                 fb.getFindQualifiers().getFindQualifier().addAll(Arrays.asList(fq));
207 
208                 fb.getName().add(new Name(UDDIConstants.WILDCARD, null));
209                 inquiry.findBusiness(fb);
210         }
211 
212         private void findservice(String[] fq) throws Exception {
213                 FindService fb = new FindService();
214                 //fb.setAuthInfo(authInfoJoe);
215                 fb.setGeneric("2.0");
216                 fb.setFindQualifiers(new FindQualifiers());
217                 fb.getFindQualifiers().getFindQualifier().addAll(Arrays.asList(fq));
218                 fb.getName().add(new Name(UDDIConstants.WILDCARD, null));
219                 inquiry.findService(fb);
220         }
221 
222         private void findtmodel(String[] fq) throws Exception {
223                 FindTModel fb = new FindTModel();
224                 //fb.setAuthInfo(authInfoJoe);
225                 fb.setGeneric("2.0");
226                 fb.setFindQualifiers(new FindQualifiers());
227                 fb.getFindQualifiers().getFindQualifier().addAll(Arrays.asList(fq));
228                 fb.setName(new Name(UDDIConstants.WILDCARD, null));
229                 inquiry.findTModel(fb);
230         }
231 
232         private void findbinding(String[] fq) throws Exception {
233                 FindBinding fb = new FindBinding();
234                 //fb.setAuthInfo(authInfoJoe);
235                 fb.setGeneric("2.0");
236                 fb.setFindQualifiers(new FindQualifiers());
237                 fb.getFindQualifiers().getFindQualifier().addAll(Arrays.asList(fq));
238                 //fb.setName(new Name(UDDIConstants.WILDCARD, null));
239                 inquiry.findBinding(fb);
240         }
241 
242         private void findbinding(String[] fq, KeyedReference[] cats) throws Exception {
243                 FindBinding fb = new FindBinding();
244                 //fb.setAuthInfo(authInfoJoe);
245                 fb.setFindQualifiers(new FindQualifiers());
246                 fb.getFindQualifiers().getFindQualifier().addAll(Arrays.asList(fq));
247                 fb.setGeneric("2.0");
248                 //fb.setName(new Name(UDDIConstants.WILDCARD, null));
249                 inquiry.findBinding(fb);
250         }
251 
252         private void findrelated(String[] fq) throws Exception {
253                 before();
254                 FindRelatedBusinesses fb = new FindRelatedBusinesses();
255                 fb.setBusinessKey(TckBusiness.JOE_BUSINESS_KEY);
256                 fb.setGeneric("2.0");
257                 //fb.setAuthInfo(authInfoJoe);
258                 fb.setFindQualifiers(new FindQualifiers());
259                 fb.getFindQualifiers().getFindQualifier().addAll(Arrays.asList(fq));
260                 inquiry.findRelatedBusinesses(fb);
261                 after();
262         }
263 
264 
265 }