This project has retired. For details please refer to its Attic page.
SaveConfigurationTest xref
View Javadoc
1   /*
2    * Copyright 2014 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    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.apache.juddi.v3.client.config;
17  
18  import java.util.HashMap;
19  import java.util.List;
20  import java.util.Map;
21  import java.util.Set;
22  import java.util.UUID;
23  import org.apache.juddi.api_v3.Node;
24  import org.junit.After;
25  import org.junit.AfterClass;
26  import org.junit.Assert;
27  import org.junit.Before;
28  import org.junit.BeforeClass;
29  import org.junit.Test;
30  
31  /**
32   * Test cases for JUDDI-890 when saving a config with node/properties defined,
33   * the output is concat'd
34   *
35   * @author Alex O'Ree
36   */
37  public class SaveConfigurationTest {
38  
39          @BeforeClass
40          public static void setUpClass() {
41          }
42  
43          @AfterClass
44          public static void tearDownClass() {
45          }
46  
47          @Before
48          public void setUp() {
49          }
50  
51          @After
52          public void tearDown() {
53          }
54  
55          static Node getCloudInstance() {
56                  Node n = new Node();
57                  n.setName(UUID.randomUUID().toString() + "juddicloud");
58                  n.setCustodyTransferUrl("http://uddi-jbossoverlord.rhcloud.com/services/custody-transfer");
59                  n.setDescription("juddicloud");
60                  n.setProxyTransport("org.apache.juddi.v3.client.transport.JAXWSTransport");
61                  n.setInquiryUrl("http://uddi-jbossoverlord.rhcloud.com/services/inquiry");
62                  n.setJuddiApiUrl("http://uddi-jbossoverlord.rhcloud.com/services/juddi-api");
63                  n.setPublishUrl("http://uddi-jbossoverlord.rhcloud.com/services/publish");
64                  n.setSecurityUrl("http://uddi-jbossoverlord.rhcloud.com/services/security");
65                  n.setSubscriptionListenerUrl("http://uddi-jbossoverlord.rhcloud.com/services/subscription-listener");
66                  n.setSubscriptionUrl("http://uddi-jbossoverlord.rhcloud.com/services/subscription");
67                  n.setReplicationUrl("uddi-jbossoverlord.rhcloud.com/services/replication");
68                  return n;
69          }
70  
71          @Test
72          public void openAndSave() throws Exception {
73                  System.out.println("openAndSave");
74                  try {
75                          UDDIClient client = new UDDIClient("META-INF/uddi.xml");
76                          List<Node> before = client.getClientConfig().getUDDINodeList();
77                          client.getClientConfig().saveConfig();
78                          client = null;
79  
80                          client = new UDDIClient("META-INF/uddi.xml");
81                          List<Node> after = client.getClientConfig().getUDDINodeList();
82  
83                          compareNodes(before, after);
84                  } catch (Exception ex) {
85                          ex.printStackTrace();
86                          Assert.fail(ex.getMessage());
87                  }
88          }
89  
90          @Test
91          public void openAddNodeAndSave() throws Exception {
92                  System.out.println("openAddNodeAndSave");
93                  UDDIClient client = new UDDIClient("META-INF/uddi.xml");
94                  List<Node> before = client.getClientConfig().getUDDINodeList();
95                  client.getClientConfig().addUDDINode(new UDDINode(getCloudInstance()));
96                  client.getClientConfig().saveConfig();
97                  List<Node> afterAdding = client.getClientConfig().getUDDINodeList();
98                  client = null;
99  
100                 Assert.assertTrue(before.size() != afterAdding.size());
101 
102                 client = new UDDIClient("META-INF/uddi.xml");
103                 List<Node> after = client.getClientConfig().getUDDINodeList();
104 
105                 compareNodes(afterAdding, after);
106         }
107 
108         private void compareNodes(List<Node> before, List<Node> after) {
109 
110                 if (before == null && after == null) {
111                         return;
112                 }
113                 if (before != null && after == null) {
114                         Assert.fail("after is null, read error?");
115                 }
116                 if (before == null && after != null) {
117                         Assert.fail("unexpected before is null and after isn't, read error?");
118                 }
119 
120                 Assert.assertTrue(before.size() == after.size());
121 
122                 //this is because saving/opening the config file does not preserve order
123                 Map<String, Node> aftermap = new HashMap<String, Node>();
124 
125                 for (int i = 0; i < after.size(); i++) {
126                         aftermap.put(after.get(i).getName(), after.get(i));
127                 }
128  
129                 for (int i = 0; i < before.size(); i++) {
130                         compare(before.get(i), aftermap.get(before.get(i).getName()));
131                 }
132         }
133 
134         private void compare(Node get, Node get0) {
135                 Assert.assertNotNull(get);
136                 Assert.assertNotNull(get0);
137 
138                 Assert.assertNotNull(get0.getClientName());
139                 Assert.assertNotNull(get.getClientName());
140 
141                 Assert.assertNotNull(get0.getName());
142                 Assert.assertNotNull(get.getName());
143 
144                 if (!get.getName().equals(get0.getName())) {
145                         Assert.fail("getName: " + get.getName() + " <> " + get0.getName());
146                 }
147 
148                 if (!get.getClientName().equals(get0.getClientName())) {
149                         Assert.fail("getClientName");
150                 }
151 
152                 if (get.getCustodyTransferUrl() == null && get0.getCustodyTransferUrl() != null) {
153                         Assert.fail("getCustodyTransferUrl");
154                 }
155 
156                 if (get.getCustodyTransferUrl() != null && !get.getCustodyTransferUrl().equals(get0.getCustodyTransferUrl())) {
157                         Assert.fail("getCustodyTransferUrl");
158                 }
159 
160                 if (get.getDescription() == null && get0.getDescription() != null) {
161                         Assert.fail("getDescription");
162                 }
163 
164                 if (get.getDescription() != null && !get.getDescription().equals(get0.getDescription())) {
165                         Assert.fail("getDescription");
166                 }
167 
168                 if (get.getFactoryInitial() == null && get0.getFactoryInitial() != null) {
169                         Assert.fail("getFactoryInitial");
170                 }
171                 if (get.getFactoryInitial() != null && !get.getFactoryInitial().equals(get0.getFactoryInitial())) {
172                         Assert.fail("getFactoryInitial");
173                 }
174                 if (get.getFactoryNamingProvider() == null && get0.getFactoryNamingProvider() != null) {
175                         Assert.fail("getFactoryNamingProvider");
176                 }
177                 if (get.getFactoryNamingProvider() != null && !get.getFactoryNamingProvider().equals(get0.getFactoryNamingProvider())) {
178                         Assert.fail("getFactoryNamingProvider");
179                 }
180                 if (get.getFactoryURLPkgs() == null && get0.getFactoryURLPkgs() != null) {
181                         Assert.fail("getFactoryURLPkgs");
182                 }
183                 if (get.getFactoryURLPkgs() != null && !get.getFactoryURLPkgs().equals(get0.getFactoryURLPkgs())) {
184                         Assert.fail("getFactoryURLPkgs");
185                 }
186 
187                 if (get.getInquiryUrl() != null && !get.getInquiryUrl().equals(get0.getInquiryUrl())) {
188                         Assert.fail("getInquiryUrl");
189                 }
190 
191                 if (get.getJuddiApiUrl() == null && get0.getJuddiApiUrl() != null) {
192                         Assert.fail("getJuddiApiUrl");
193                 }
194 
195                 if (get.getJuddiApiUrl() != null && !get.getJuddiApiUrl().equals(get0.getJuddiApiUrl())) {
196                         Assert.fail("getJuddiApiUrl");
197                 }
198 
199                 if (get.getProxyTransport() != null && !get.getProxyTransport().equals(get0.getProxyTransport())) {
200                         Assert.fail("getProxyTransport");
201                 }
202 
203                 if (get.getPublishUrl() == null && get0.getPublishUrl() != null) {
204                         Assert.fail("getPublishUrl");
205                 }
206 
207                 if (get.getPublishUrl() != null && !get.getPublishUrl().equals(get0.getPublishUrl())) {
208                         Assert.fail("getPublishUrl");
209                 }
210 
211                 if (get.getReplicationUrl() == null && get0.getReplicationUrl() != null) {
212                         Assert.fail("getReplicationUrl");
213                 }
214 
215                 if (get.getReplicationUrl() != null && !get.getReplicationUrl().equals(get0.getReplicationUrl())) {
216                         Assert.fail("getReplicationUrl");
217                 }
218 
219                 if (get.getSecurityUrl() == null && get0.getSecurityUrl() != null) {
220                         Assert.fail("getSecurityUrl");
221                 }
222 
223                 if (get.getSecurityUrl() != null && !get.getSecurityUrl().equals(get0.getSecurityUrl())) {
224                         Assert.fail("getSecurityUrl");
225                 }
226 
227                 if (get.getSubscriptionListenerUrl() == null && get0.getSubscriptionListenerUrl() != null) {
228                         Assert.fail("getSubscriptionListenerUrl");
229                 }
230 
231                 if (get.getSubscriptionListenerUrl() != null && !get.getSubscriptionListenerUrl().equals(get0.getSubscriptionListenerUrl())) {
232                         Assert.fail("getSubscriptionListenerUrl");
233                 }
234 
235                 if (get.getSubscriptionUrl() == null && get0.getSubscriptionUrl() != null) {
236                         Assert.fail("getSubscriptionUrl");
237                 }
238 
239                 if (get.getSubscriptionUrl() != null && !get.getSubscriptionUrl().equals(get0.getSubscriptionUrl())) {
240                         Assert.fail("getSubscriptionUrl");
241                 }
242 
243         }
244 }