1 /*******************************************************************************
2 * Copyright 2016-2017 ZTE, Inc. and others.
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5 * in compliance with the License. You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software distributed under the License
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11 * or implied. See the License for the specific language governing permissions and limitations under
13 ******************************************************************************/
14 package org.onap.msb.apiroute.wrapper.util;
18 import java.lang.reflect.Field;
20 import org.junit.Assert;
21 import org.junit.Test;
22 import org.junit.runner.RunWith;
23 import org.onap.msb.apiroute.ApiRouteAppConfig;
24 import org.onap.msb.apiroute.api.DiscoverInfo;
25 import org.powermock.api.mockito.PowerMockito;
26 import org.powermock.core.classloader.annotations.PrepareForTest;
27 import org.powermock.modules.junit4.PowerMockRunner;
28 import org.powermock.core.classloader.annotations.PowerMockIgnore;
30 @RunWith(PowerMockRunner.class)
31 @PrepareForTest({ConfigUtil.class})
32 @PowerMockIgnore("jdk.internal.reflect.*")
33 public class ConfigUtilTest {
36 public void test_initRootPath() {
38 ConfigUtil.getInstance().initRootPath();
39 String iuiRootPath = ConfigUtil.getInstance().getIUI_ROOT_PATH();
40 String apiRootPath = ConfigUtil.getInstance().getAPI_ROOT_PATH();
41 Assert.assertEquals("iui", iuiRootPath);
42 Assert.assertEquals("api", apiRootPath);
43 } catch (Exception e) {
44 Assert.fail("throw exception means error occured!" + e.getMessage());
51 public void test_initApiGatewayPort() {
53 PowerMockito.mockStatic(System.class);
54 PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn(null);
55 ConfigUtil.getInstance().initApiGatewayPort();
56 Assert.assertEquals("80", ConfigUtil.getInstance().getServerPort());
59 PowerMockito.mockStatic(System.class);
60 PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn("81");
62 ConfigUtil.getInstance().initApiGatewayPort();
63 Assert.assertEquals("81", ConfigUtil.getInstance().getServerPort());
67 public void test_initRouteNameSpaceMatches() {
69 PowerMockito.mockStatic(System.class);
70 PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn(null);
71 ConfigUtil.getInstance().initRouteNameSpaceMatches();
72 Assert.assertEquals("all", ConfigUtil.getInstance().getNamespaceMatches());
75 PowerMockito.when(System.getenv("NAMESPACE")).thenReturn("net");
77 ConfigUtil.getInstance().initRouteNameSpaceMatches();
78 Assert.assertEquals("net", ConfigUtil.getInstance().getNamespaceMatches());
82 public void test_initRouteLabelsMatches() {
84 PowerMockito.mockStatic(System.class);
85 PowerMockito.when(System.getenv("ROUTE_LABELS")).thenReturn(null);
86 ConfigUtil.getInstance().initRouteLabelsMatches();
87 Assert.assertEquals("0", ConfigUtil.getInstance().getVisualRangeMatches());
88 Assert.assertEquals("net", ConfigUtil.getInstance().getNetwork_plane_typeMatches());
89 Assert.assertTrue(ConfigUtil.getInstance().getLabelMapMatches().containsKey("custom-key"));
93 PowerMockito.when(System.getenv("ROUTE_LABELS")).thenReturn("visualRange:1,network_plane_type:net,custom:test");
95 ConfigUtil.getInstance().initRouteLabelsMatches();
96 Assert.assertEquals("1", ConfigUtil.getInstance().getVisualRangeMatches());
97 Assert.assertEquals("net", ConfigUtil.getInstance().getNetwork_plane_typeMatches());
98 Assert.assertTrue(ConfigUtil.getInstance().getLabelMapMatches().containsKey("custom"));
103 public void test_initRouteWay() {
104 PowerMockito.mockStatic(System.class);
106 PowerMockito.when(System.getenv("ROUTE_WAY")).thenReturn(null);
107 ConfigUtil.getInstance().initRouteWay();
108 String[] ip_routeWay = {"ip"};
109 Assert.assertArrayEquals(ip_routeWay, ConfigUtil.getInstance().getRouteWay());
111 PowerMockito.when(System.getenv("ROUTE_WAY")).thenReturn("ip|domain");
113 ConfigUtil.getInstance().initRouteWay();
114 String[] routeWay = {"ip", "domain"};
115 Assert.assertArrayEquals(routeWay, ConfigUtil.getInstance().getRouteWay());
119 public void test_initDiscoverInfo() {
120 PowerMockito.mockStatic(System.class);
123 ApiRouteAppConfig configuration = new ApiRouteAppConfig();
125 DiscoverInfo discoverInfo = new DiscoverInfo();
126 discoverInfo.setEnabled(true);
127 discoverInfo.setIp("127.0.0.1");
128 discoverInfo.setPort(10081);
130 configuration.setDiscoverInfo(discoverInfo);
131 PowerMockito.when(System.getenv("SDCLIENT_IP")).thenReturn(null);
132 ConfigUtil.getInstance().initDiscoverInfo(configuration);
133 Assert.assertEquals("127.0.0.1:10081", ConfigUtil.getInstance().getDiscoverInfo().toString());
135 PowerMockito.when(System.getenv("SDCLIENT_IP")).thenReturn("10.74.44.86");
136 ConfigUtil.getInstance().initDiscoverInfo(configuration);
137 Assert.assertEquals("10.74.44.86:10081", ConfigUtil.getInstance().getDiscoverInfo().toString());
141 public void test_initNodeMeta() {
143 // CONSUL_REGISTER_MODE not catalog
144 ConfigUtil util = ConfigUtil.getInstance();
145 util.initNodeMetaQueryParam();
146 System.out.println(util.getNodeMetaQueryParam());
147 Assert.assertEquals(util.getNodeMetaQueryParam(), "");
149 // CONSUL_REGISTER_MODE catalog
150 PowerMockito.mockStatic(System.class);
151 PowerMockito.when(System.getenv("CONSUL_REGISTER_MODE")).thenReturn("agnet");
152 util.initNodeMetaQueryParam();
153 System.out.println(util.getNodeMetaQueryParam());
154 Assert.assertEquals(util.getNodeMetaQueryParam(), "");
157 // CONSUL_REGISTER_MODE catalog
158 PowerMockito.mockStatic(System.class);
159 PowerMockito.when(System.getenv("CONSUL_REGISTER_MODE")).thenReturn("catalog");
161 Field visualRangeField = util.getClass().getDeclaredField("visualRangeMatches");
162 visualRangeField.setAccessible(true);
164 Field namespaceField = util.getClass().getDeclaredField("namespaceMatches");
165 namespaceField.setAccessible(true);
168 visualRangeField.set(util, "0");
169 namespaceField.set(util, "default");
171 util.initNodeMetaQueryParam();
172 System.out.println(util.getNodeMetaQueryParam());
173 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=external:true&node-meta=ns:default");
176 visualRangeField.set(util, "1");
177 util.initNodeMetaQueryParam();
178 System.out.println(util.getNodeMetaQueryParam());
179 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true&node-meta=ns:default");
182 visualRangeField.set(util, "0|1");
183 util.initNodeMetaQueryParam();
184 System.out.println(util.getNodeMetaQueryParam());
185 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=ns:default");
188 namespaceField.set(util, "all");
189 util.initNodeMetaQueryParam();
190 System.out.println(util.getNodeMetaQueryParam());
191 Assert.assertEquals(util.getNodeMetaQueryParam(), "");
193 ///////////////////////////////////////////////////////////////////////////
195 visualRangeField.set(util, "1");
196 namespaceField.set(util, "all");
197 util.initNodeMetaQueryParam();
198 System.out.println(util.getNodeMetaQueryParam());
199 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true");
202 namespaceField.set(util, "!default");
203 util.initNodeMetaQueryParam();
204 System.out.println(util.getNodeMetaQueryParam());
205 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true");
208 namespaceField.set(util, "tenant1&tenant2");
209 util.initNodeMetaQueryParam();
210 System.out.println(util.getNodeMetaQueryParam());
211 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true");
214 namespaceField.set(util, "tenant1|tenant2");
215 util.initNodeMetaQueryParam();
216 System.out.println(util.getNodeMetaQueryParam());
217 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true");
219 } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
220 // TODO Auto-generated catch block