This project has retired. For details please refer to its Attic page.
UDDI_110_FindBusinessIntegrationTest xref
View Javadoc
1   package org.apache.juddi.v2.tck;
2   
3   /*
4    * Copyright 2001-2009 The Apache Software Foundation.
5    * 
6    * Licensed under the Apache License, Version 2.0 (the "License");
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  
18  import java.util.List;
19  import javax.xml.ws.BindingProvider;
20  
21  import org.apache.commons.configuration.ConfigurationException;
22  import org.apache.commons.logging.Log;
23  import org.apache.commons.logging.LogFactory;
24  import org.apache.juddi.v3.client.config.UDDIClient;
25  import org.apache.juddi.v3.client.transport.JAXWSv2TranslationTransport;
26  import org.apache.juddi.v3.client.transport.Transport;
27  import org.junit.AfterClass;
28  import org.junit.Assert;
29  import org.junit.Assume;
30  import org.junit.BeforeClass;
31  import org.junit.Test;
32  import org.uddi.api_v2.*;
33  
34  import org.uddi.v2_service.*;
35  
36  /**
37   * Test to verify JUDDI-398
38   *
39   * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
40   * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
41   */
42  public class UDDI_110_FindBusinessIntegrationTest {
43  
44          final static String TOM_PUBLISHER_TMODEL_XML = "uddi_data_v2/tompublisher/tModelKeyGen.xml";
45          final static String TOM_PUBLISHER_TMODEL01_XML = "uddi_data_v2/tompublisher/tModel01.xml";
46          final static String TOM_PUBLISHER_TMODEL02_XML = "uddi_data_v2/tompublisher/tModel02.xml";
47          final static String TOM_PUBLISHER_TMODEL_KEY = "uuid:b6a1c995-3dc2-4411-a6c6-f5f6739e46fd";
48          
49          final static String TOM_PUBLISHER_TMODEL01_KEY = "uuid:165a69c5-996a-49cc-8d7c-6600a30c2ad9";
50          final static String TOM_PUBLISHER_TMODEL01_NAME = "tmodeltest01";
51          final static String TOM_PUBLISHER_TMODEL02_KEY = "uuid:9b79f267-1536-4a9e-85a1-d333f54b5038";
52          final static String TOM_BUSINESS_XML = "uddi_data_v2/tompublisher/businessEntity.xml";
53          
54          final static String TOM_BUSINESS_KEY = "a0dbe2d4-3eea-4321-969f-827a4cc1d175";
55          final static String TOM_PUBLISHER_SERVICEINFO_NAME = "servicetest01";
56          private static Log logger = LogFactory.getLog(UDDI_040_BusinessServiceIntegrationTest.class);
57          protected static TckTModel tckTModel = null;
58          protected static TckTModel tckTModel01 = null;
59          protected static TckTModel tckTModel02 = null;
60          protected static TckBusiness tckBusiness = null;
61          protected static String authInfoJoe = null;
62          private static Inquire inquiry = null;
63          private static UDDIClient manager;
64  
65          @AfterClass
66          public static void stopManager() throws ConfigurationException {
67                  if (!TckPublisher.isEnabled()) return;
68                  tckTModel.deleteCreatedTModels(authInfoJoe);
69                  tckTModel01.deleteCreatedTModels(authInfoJoe);
70                  tckTModel02.deleteCreatedTModels(authInfoJoe);
71                  manager.stop();
72          }
73  
74          @BeforeClass
75          public static void startManager() throws ConfigurationException {
76                  if (!TckPublisher.isEnabled()) return;
77                  manager = new UDDIClient();
78                  manager.start();
79  
80                  logger.debug("Getting auth tokens..");
81                  try {
82                          JAXWSv2TranslationTransport transport = (JAXWSv2TranslationTransport) manager.getTransport("uddiv2");
83                          Publish security = transport.getUDDIv2PublishService();
84                          authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
85                          //Assert.assertNotNull(authInfoJoe);
86                          
87                          Publish publication = transport.getUDDIv2PublishService();
88                          inquiry = transport.getUDDIv2InquiryService();
89                          if (!TckPublisher.isUDDIAuthMode()){
90                                  TckSecurity.setCredentials((BindingProvider) publication, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
91                                  TckSecurity.setCredentials((BindingProvider) inquiry, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
92                          }
93  
94                          tckTModel = new TckTModel(publication, inquiry);
95                          tckTModel01 = new TckTModel(publication, inquiry);
96                          tckTModel02 = new TckTModel(publication, inquiry);
97                          tckBusiness = new TckBusiness(publication, inquiry);
98  
99                  } catch (Exception e) {
100                         logger.error(e.getMessage(), e);
101                         Assert.fail("Could not obtain authInfo token.");
102                 }
103         }
104 
105         /**
106          * JUDDI-398
107          * JUDDI-881
108          * "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.
109          */
110         @Test
111         public void findBusinessByTModelBag() {
112                 Assume.assumeTrue(TckPublisher.isEnabled());
113                 try {
114                         tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL_XML, TOM_PUBLISHER_TMODEL_KEY);
115                         tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL01_XML, TOM_PUBLISHER_TMODEL01_KEY);
116                         tckTModel.saveTModel(authInfoJoe, TOM_PUBLISHER_TMODEL02_XML, TOM_PUBLISHER_TMODEL02_KEY);
117 
118                         tckBusiness.saveBusinesses(authInfoJoe, TOM_BUSINESS_XML, TOM_BUSINESS_KEY, 1);
119 
120                         try {
121                                 int size = 0;
122                                 BusinessList bl = null;
123 
124                                 FindBusiness fbb = new FindBusiness();
125                                 TModelBag tmb = new TModelBag();
126                                 tmb.getTModelKey().add(TOM_PUBLISHER_TMODEL01_KEY);
127                                 fbb.setTModelBag(tmb);
128                                 bl = inquiry.findBusiness(fbb);
129                                 size = bl.getBusinessInfos().getBusinessInfo().size();
130                                 if (size != 1) {
131                                         Assert.fail("Should have found one entry on FindBusiness with TModelBag, "
132                                                 + "found " + size);
133                                 } else {
134                                         List<BusinessInfo> biList = bl.getBusinessInfos().getBusinessInfo();
135                                         if (biList.get(0).getServiceInfos().getServiceInfo().size() != 1) {
136                                                 Assert.fail("Should have found one ServiceInfos");
137                                         } else {
138                                                 List<ServiceInfo> siList = biList.get(0).getServiceInfos().getServiceInfo();
139                                                 ServiceInfo si = siList.get(0);
140                                                 if (!TOM_PUBLISHER_SERVICEINFO_NAME.equals(si.getName().get(0).getValue())) {
141                                                         Assert.fail("Should have found " + TOM_PUBLISHER_TMODEL01_NAME + " as the "
142                                                                 + "ServiceInfo name, found " + si.getName().get(0).getValue());
143                                                 }
144                                         }
145                                 }
146                         } catch (Exception e) {
147                                 e.printStackTrace();
148                                 Assert.fail(e.getMessage());
149                         }
150                 } finally {
151                         tckBusiness.deleteBusinesses(authInfoJoe, TOM_BUSINESS_XML, TOM_BUSINESS_KEY, 1);
152 
153                         tckTModel.deleteTModel(authInfoJoe, TOM_PUBLISHER_TMODEL_XML, TOM_PUBLISHER_TMODEL_KEY);
154                         tckTModel.deleteTModel(authInfoJoe, TOM_PUBLISHER_TMODEL01_XML, TOM_PUBLISHER_TMODEL01_KEY);
155                         tckTModel.deleteTModel(authInfoJoe, TOM_PUBLISHER_TMODEL02_XML, TOM_PUBLISHER_TMODEL02_KEY);
156 
157                 }
158         }
159 }