This project has retired. For details please refer to its Attic page.
TckPublisherAssertion 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.v3.tck;
16  
17  import static junit.framework.Assert.assertEquals;
18  
19  import java.util.List;
20  
21  import org.apache.commons.logging.Log;
22  import org.apache.commons.logging.LogFactory;
23  import org.apache.juddi.jaxb.EntityCreator;
24  import org.junit.Assert;
25  import org.uddi.api_v3.AddPublisherAssertions;
26  import org.uddi.api_v3.DeletePublisherAssertions;
27  import org.uddi.api_v3.KeyedReference;
28  import org.uddi.api_v3.PublisherAssertion;
29  import org.uddi.v3_service.UDDIPublicationPortType;
30  /**
31   * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
32   * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
33   */
34  public class TckPublisherAssertion 
35  {
36  	public final static String JOE_ASSERT_XML    = "uddi_data/joepublisher/publisherAssertion.xml";
37  	public final static String MARY_ASSERT_XML    = "uddi_data/marypublisher/publisherAssertion.xml";
38  	public final static String JOE_ASSERT2_XML    = "uddi_data/joepublisher/publisherAssertion2.xml";
39  	public final static String SAM_ASSERT_XML    = "uddi_data/samsyndicator/publisherAssertion.xml";
40  	
41  	private Log logger = LogFactory.getLog(this.getClass());
42  	private UDDIPublicationPortType publication = null;
43   
44  	public TckPublisherAssertion(UDDIPublicationPortType publication) {
45  		super();
46  		this.publication = publication;
47  	}
48  	
49  	public List<PublisherAssertion> saveJoePublisherPublisherAssertion(String authInfoJoe) {
50  		return addPublisherAssertion(authInfoJoe, JOE_ASSERT_XML);
51  	}
52  	
53  	public List<PublisherAssertion> saveSamPublisherPublisherAssertion(String authInfoSam) {
54  		return addPublisherAssertion(authInfoSam, SAM_ASSERT_XML);
55  	}
56  	
57  	public List<PublisherAssertion> saveMaryPublisherPublisherAssertion(String authInfoMary) {
58  		return addPublisherAssertion(authInfoMary, MARY_ASSERT_XML);
59  	}
60  	
61  	public List<PublisherAssertion> saveJoePublisherPublisherAssertion2(String authInfoJoe) {
62  		return addPublisherAssertion(authInfoJoe, JOE_ASSERT2_XML);
63  	}
64  	
65  	public void deleteJoePublisherPublisherAssertion(String authInfoJoe) {
66  		deletePublisherAssertion(authInfoJoe, JOE_ASSERT_XML);
67  	}
68  	
69  	public void deleteMaryPublisherPublisherAssertion(String authInfoMary) {
70  		deletePublisherAssertion(authInfoMary, MARY_ASSERT_XML);
71  	}
72  	
73  	public void deleteSamPublisherPublisherAssertion(String authInfoSam) {
74  		deletePublisherAssertion(authInfoSam, SAM_ASSERT_XML);
75  	}
76  	
77  	public void deleteJoePublisherPublisherAssertion2(String authInfoJoe) {
78  		deletePublisherAssertion(authInfoJoe, JOE_ASSERT2_XML);
79  	}
80  
81  	
82  	public List<PublisherAssertion> addPublisherAssertion(String authInfo, String pubassertXML) {
83  		try {
84  			AddPublisherAssertions ap = new AddPublisherAssertions();
85  			ap.setAuthInfo(authInfo);
86  
87  			PublisherAssertion paIn = (PublisherAssertion)EntityCreator.buildFromDoc(pubassertXML, "org.uddi.api_v3");
88  			ap.getPublisherAssertion().add(paIn);
89  			publication.addPublisherAssertions(ap);
90  	
91  			// Now get the entity and check the values
92  			List<PublisherAssertion> paOutList = publication.getPublisherAssertions(authInfo);
93  			if (paOutList.size()==1) {
94  				PublisherAssertion paOut = paOutList.get(0);
95  	
96  				assertEquals(paIn.getFromKey(), paOut.getFromKey());
97  				assertEquals(paIn.getToKey(), paOut.getToKey());
98  				
99  				KeyedReference keyRefIn = paIn.getKeyedReference();
100 				KeyedReference keyRefOut = paOut.getKeyedReference();
101 				
102 				assertEquals(keyRefIn.getTModelKey(), keyRefOut.getTModelKey());
103 				assertEquals(keyRefIn.getKeyName(), keyRefOut.getKeyName());
104 				assertEquals(keyRefIn.getKeyValue(), keyRefOut.getKeyValue());
105 			}
106                         return paOutList;
107 			
108 		}
109 		catch(Exception e) {
110 			logger.error(e.getMessage(), e);
111 			Assert.fail("No exception should be thrown");
112 		}
113                 return null;
114 	}
115 
116 	public void deletePublisherAssertion(String authInfo, String pubassertXML) {
117 		try {
118 			// Delete the entity and make sure it is removed
119 			DeletePublisherAssertions dp = new DeletePublisherAssertions();
120 			dp.setAuthInfo(authInfo);
121 			
122 			PublisherAssertion paIn = (PublisherAssertion)EntityCreator.buildFromDoc(pubassertXML, "org.uddi.api_v3");
123 			dp.getPublisherAssertion().add(paIn);
124 			
125 			publication.deletePublisherAssertions(dp);
126 		}
127 		catch(Exception e) {
128 			logger.error(e.getMessage(), e);
129 			Assert.fail("No exception should be thrown");
130 		}
131 		
132 	}
133 }