This project has retired. For details please refer to its Attic page.
UDDI_060_PublisherAssertionIntegrationTest 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  /**
18   * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
19   */
20  import javax.xml.ws.BindingProvider;
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.junit.AfterClass;
27  import org.junit.Assert;
28  import org.junit.Assume;
29  import org.junit.BeforeClass;
30  import org.junit.Test;
31  
32  public class UDDI_060_PublisherAssertionIntegrationTest {
33  
34          private static Log logger = LogFactory.getLog(UDDI_060_PublisherAssertionIntegrationTest.class);
35          private static TckTModel tckTModelJoe = null;
36          private static TckBusiness tckBusinessJoe = null;
37          private static TckPublisherAssertion tckAssertionJoe = null;
38          private static TckFindEntity tckFindEntityJoe = null;
39          private static TckTModel tckTModelSam = null;
40          private static TckBusiness tckBusinessSam = null;
41          private static TckPublisherAssertion tckAssertionSam = null;
42          private static TckFindEntity tckFindEntitySam = null;
43          private static TckTModel tckTModelMary = null;
44          private static TckBusiness tckBusinessMary = null;
45          private static TckPublisherAssertion tckAssertionMary = null;
46          private static TckFindEntity tckFindEntityMary = null;
47          private static String authInfoJoe = null;
48          private static String authInfoSam = null;
49          private static String authInfoMary = null;
50          private static UDDIClient manager;
51  
52          @AfterClass
53          public static void stopManager() throws ConfigurationException {
54               if (!TckPublisher.isEnabled()) return;
55                  tckTModelJoe.deleteCreatedTModels(authInfoJoe);
56                  tckTModelSam.deleteCreatedTModels(authInfoSam);
57                  tckTModelMary.deleteCreatedTModels(authInfoMary);
58                  manager.stop();
59          }
60  
61          @BeforeClass
62          public static void startManager() throws ConfigurationException {
63               if (!TckPublisher.isEnabled()) return;
64                  manager = new UDDIClient();
65                  manager.start();
66  
67                  logger.debug("Getting auth tokens..");
68                  try {
69                          JAXWSv2TranslationTransport transport = (JAXWSv2TranslationTransport) manager.getTransport("uddiv2");
70                          org.uddi.v2_service.Publish security = transport.getUDDIv2PublishService();
71                          authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
72                          authInfoSam = TckSecurity.getAuthToken(security, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
73                          authInfoMary = TckSecurity.getAuthToken(security, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
74                          
75                          org.uddi.v2_service.Publish publication = transport.getUDDIv2PublishService();
76                          org.uddi.v2_service.Inquire inquiry = transport.getUDDIv2InquiryService();
77                          if (!TckPublisher.isUDDIAuthMode()) {
78                                  TckSecurity.setCredentials((BindingProvider) publication, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
79                                  TckSecurity.setCredentials((BindingProvider) inquiry, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
80                          }
81                          tckTModelJoe = new TckTModel(publication, inquiry);
82                          tckBusinessJoe = new TckBusiness(publication, inquiry);
83                          tckAssertionJoe = new TckPublisherAssertion(publication);
84                          tckFindEntityJoe = new TckFindEntity(inquiry);
85  
86                          transport = (JAXWSv2TranslationTransport) manager.getTransport("uddiv2");
87                          publication = transport.getUDDIv2PublishService();
88                          inquiry = transport.getUDDIv2InquiryService();
89                          if (!TckPublisher.isUDDIAuthMode()) {
90                                  TckSecurity.setCredentials((BindingProvider) publication, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
91                                  TckSecurity.setCredentials((BindingProvider) inquiry, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
92                          }
93                          tckTModelSam = new TckTModel(publication, inquiry);
94                          tckBusinessSam = new TckBusiness(publication, inquiry);
95                          tckAssertionSam = new TckPublisherAssertion(publication);
96                          tckFindEntitySam = new TckFindEntity(inquiry);
97                          
98                          
99                          transport = (JAXWSv2TranslationTransport) manager.getTransport("uddiv2");
100                         publication = transport.getUDDIv2PublishService();
101                         inquiry = transport.getUDDIv2InquiryService();
102                         if (!TckPublisher.isUDDIAuthMode()) {
103                                 TckSecurity.setCredentials((BindingProvider) publication, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
104                                 TckSecurity.setCredentials((BindingProvider) inquiry, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
105                         }
106                         tckTModelMary = new TckTModel(publication, inquiry);
107                         tckBusinessMary = new TckBusiness(publication, inquiry);
108                         tckAssertionMary = new TckPublisherAssertion(publication);
109                         tckFindEntityMary = new TckFindEntity(inquiry);
110                         tckTModelJoe.saveTmodels(authInfoJoe);
111 
112                 } catch (Exception e) {
113                         logger.error(e.getMessage(), e);
114                         Assert.fail("Could not obtain authInfo token.");
115                 }
116         }
117 
118         @Test
119         public void testJoepublisherToSamSyndicator() {
120              Assume.assumeTrue(TckPublisher.isEnabled());
121                 try {
122                         tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
123                         tckTModelSam.saveSamSyndicatorTmodel(authInfoSam);
124                         tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
125                         tckBusinessSam.saveSamSyndicatorBusiness(authInfoSam);
126                         tckAssertionJoe.saveJoePublisherPublisherAssertion(authInfoJoe);
127                         tckAssertionJoe.deleteJoePublisherPublisherAssertion(authInfoJoe);
128                 } finally {
129                         tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
130                         tckBusinessSam.deleteSamSyndicatorBusiness(authInfoSam);
131                         tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
132                         tckTModelSam.deleteSamSyndicatorTmodel(authInfoSam);
133                 }
134         }
135 
136         /**
137          * This test should find no publisher assertions because we only save
138          * them from the joe publisher side.
139          */
140         @Test
141         public void testFindNoAssertions() {
142              Assume.assumeTrue(TckPublisher.isEnabled());
143                 try {
144                         tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
145                         tckTModelSam.saveSamSyndicatorTmodel(authInfoSam);
146                         tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
147                         tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
148                         tckBusinessSam.saveSamSyndicatorBusiness(authInfoSam);
149                         tckBusinessMary.saveMaryPublisherBusiness(authInfoMary);
150                         tckAssertionJoe.saveJoePublisherPublisherAssertion(authInfoJoe);
151                         tckAssertionJoe.saveJoePublisherPublisherAssertion2(authInfoJoe);
152 
153                         tckFindEntityJoe.findRelatedBusiness_sortByName(true);
154                         //NOT APPLICABLE TO UDDIv2 tckFindEntityJoe.findRelatedBusinessToKey(true);
155                         //NOT APPLICABLE TO UDDIv2 tckFindEntityJoe.findRelatedBusinessFromKey(true);
156 
157                         tckAssertionJoe.deleteJoePublisherPublisherAssertion(authInfoJoe);
158                         tckAssertionJoe.deleteJoePublisherPublisherAssertion2(authInfoJoe);
159                 } finally {
160                         tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
161                         tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
162                         tckBusinessSam.deleteSamSyndicatorBusiness(authInfoSam);
163                         tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
164                         tckTModelSam.deleteSamSyndicatorTmodel(authInfoSam);
165                         tckTModelMary.deleteMaryPublisherTmodel(authInfoMary);
166                 }
167         }
168 
169         /**
170          * This test should find 2 publisher assertions.
171          */
172         @Test
173         public void testFindAssertions() {
174              Assume.assumeTrue(TckPublisher.isEnabled());
175                 try {
176                         tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
177                         tckTModelSam.saveSamSyndicatorTmodel(authInfoSam);
178                         tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
179                         
180                         tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
181                         tckBusinessSam.saveSamSyndicatorBusiness(authInfoSam);
182                         tckBusinessMary.saveMaryPublisherBusiness(authInfoMary);
183                         tckAssertionJoe.saveJoePublisherPublisherAssertion(authInfoJoe);
184                         tckAssertionSam.saveJoePublisherPublisherAssertion2(authInfoJoe);
185                         tckAssertionSam.saveSamPublisherPublisherAssertion(authInfoSam);
186                         tckAssertionMary.saveMaryPublisherPublisherAssertion(authInfoMary);
187 
188                         tckFindEntityJoe.findRelatedBusiness_sortByName(false);
189                         //these tests are for uddiv3 only, not supportable using v2
190                         //tckFindEntityJoe.findRelatedBusinessToKey(false);
191                         //tckFindEntityJoe.findRelatedBusinessFromKey(false);
192 
193                         tckAssertionJoe.deleteJoePublisherPublisherAssertion(authInfoJoe);
194                         tckAssertionJoe.deleteJoePublisherPublisherAssertion2(authInfoJoe);
195 
196                 } finally {
197                         tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
198                         tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
199                         tckBusinessSam.deleteSamSyndicatorBusiness(authInfoSam);
200                         tckTModelJoe.deleteCreatedTModels(authInfoJoe);
201                         tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
202                         tckTModelSam.deleteSamSyndicatorTmodel(authInfoSam);
203                         tckTModelMary.deleteMaryPublisherTmodel(authInfoMary);
204                 }
205         }
206 }