This project has retired. For details please refer to its Attic page.
UDDI_050_BindingTemplateIntegrationTest 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 javax.xml.ws.BindingProvider;
18  import org.apache.commons.configuration.ConfigurationException;
19  import org.apache.commons.logging.Log;
20  import org.apache.commons.logging.LogFactory;
21  import org.apache.juddi.v3.client.config.UDDIClient;
22  import org.apache.juddi.v3.client.transport.JAXWSv2TranslationTransport;
23  import org.apache.juddi.v3.client.transport.Transport;
24  import org.junit.AfterClass;
25  import org.junit.Assert;
26  import org.junit.Assume;
27  import org.junit.BeforeClass;
28  import org.junit.Test;
29  import org.uddi.v2_service.*;
30  
31  /**
32   * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
33   * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
34   * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
35   */
36  public class UDDI_050_BindingTemplateIntegrationTest {
37  
38          private static Log logger = LogFactory.getLog(UDDI_050_BindingTemplateIntegrationTest.class);
39          private static TckTModel tckTModel = null;
40          private static TckBusiness tckBusiness = null;
41          private static TckBusinessService tckBusinessService = null;
42          private static TckBindingTemplate tckBindingTemplate = null;
43          private static TckFindEntity tckFindEntity = null;
44          private static String authInfoJoe = null;
45          private static UDDIClient manager;
46  
47          @AfterClass
48          public static void stopManager() throws ConfigurationException {
49               if (!TckPublisher.isEnabled()) return;
50                  tckTModel.deleteCreatedTModels(authInfoJoe);
51                  
52                  manager.stop();
53          }
54  
55          @BeforeClass
56          public static void startManager() throws ConfigurationException {
57               if (!TckPublisher.isEnabled()) return;
58                  manager = new UDDIClient();
59                  manager.start();
60  
61                  logger.debug("Getting auth tokens..");
62                  try {
63                          JAXWSv2TranslationTransport transport = (JAXWSv2TranslationTransport) manager.getTransport("uddiv2");
64                          Publish security = transport.getUDDIv2PublishService();
65                          Publish publication = transport.getUDDIv2PublishService();
66                          Inquire inquiry = transport.getUDDIv2InquiryService();
67                          authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
68                          //Assert.assertNotNull(authInfoJoe);
69                          if (!TckPublisher.isUDDIAuthMode()) {
70                                  TckSecurity.setCredentials((BindingProvider) publication, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
71                                  TckSecurity.setCredentials((BindingProvider) inquiry, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
72                          }
73  
74  
75                          tckTModel = new TckTModel(publication, inquiry);
76                          tckBusiness = new TckBusiness(publication, inquiry);
77                          tckBusinessService = new TckBusinessService(publication, inquiry);
78                          tckBindingTemplate = new TckBindingTemplate(publication, inquiry);
79                          tckFindEntity = new TckFindEntity(inquiry);
80  
81  
82                          transport = (JAXWSv2TranslationTransport) manager.getTransport("uddiv2");
83                          publication = transport.getUDDIv2PublishService();
84                          inquiry = transport.getUDDIv2InquiryService();
85                          
86                          String authInfoUDDI = TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword());
87                          //Assert.assertNotNull(authInfoJoe);
88                          if (!TckPublisher.isUDDIAuthMode()) {
89                                  TckSecurity.setCredentials((BindingProvider) publication, TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword());
90                                  TckSecurity.setCredentials((BindingProvider) inquiry, TckPublisher.getUDDIPublisherId(), TckPublisher.getUDDIPassword());
91                          }
92  
93  
94                          tckTModel.saveUDDIPublisherTmodel(authInfoUDDI);
95                          tckTModel.saveTModels(authInfoUDDI, TckTModel.TMODELS_XML);
96                  } catch (Exception e) {
97                          logger.error(e.getMessage(), e);
98                          Assert.fail("Could not obtain authInfo token.");
99                  }
100         }
101 
102         @Test
103         public void joepublisher() {
104              Assume.assumeTrue(TckPublisher.isEnabled());
105                 try {
106                         tckTModel.saveJoePublisherTmodel(authInfoJoe);
107                         tckBusiness.saveJoePublisherBusiness(authInfoJoe);
108                         tckBusinessService.saveJoePublisherService(authInfoJoe);
109                         tckBindingTemplate.saveJoePublisherBinding(authInfoJoe);
110                         tckBindingTemplate.deleteJoePublisherBinding(authInfoJoe);
111                 } finally {
112                         tckBusinessService.deleteJoePublisherService(authInfoJoe);
113                         tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
114                         tckTModel.deleteJoePublisherTmodel(authInfoJoe);
115                 }
116         }
117 
118         @Test
119         public void findService() {
120              Assume.assumeTrue(TckPublisher.isEnabled());
121                 try {
122                         tckTModel.saveJoePublisherTmodel(authInfoJoe);
123                         tckBusiness.saveJoePublisherBusiness(authInfoJoe);
124                         tckBusinessService.saveJoePublisherService(authInfoJoe);
125                         tckBindingTemplate.saveJoePublisherBinding(authInfoJoe);
126                         tckBindingTemplate.deleteBinding(authInfoJoe, TckBusinessService.JOE_BINDING_KEY_1);
127                         String serviceKey = tckFindEntity.findService(null);
128                         tckFindEntity.findServiceDetail(serviceKey);
129 
130                         tckBindingTemplate.saveJoePublisherBinding(authInfoJoe);
131 
132                         serviceKey = tckFindEntity.findService(null);
133                         tckFindEntity.findServiceDetail(serviceKey);
134 
135                         tckBindingTemplate.deleteJoePublisherBinding(authInfoJoe);
136 
137                         tckFindEntity.findService(null);
138                         tckFindEntity.findServiceDetail(serviceKey);
139                 } finally {
140                         tckBusinessService.deleteJoePublisherService(authInfoJoe);
141                         tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
142                         tckTModel.deleteJoePublisherTmodel(authInfoJoe);
143                 }
144         }
145 }