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;
29 @RunWith(PowerMockRunner.class)
30 @PrepareForTest({ConfigUtil.class})
31 public class ConfigUtilTest {
34 public void test_initRootPath() {
36 ConfigUtil.getInstance().initRootPath();
37 String iuiRootPath = ConfigUtil.getInstance().getIUI_ROOT_PATH();
38 String apiRootPath = ConfigUtil.getInstance().getAPI_ROOT_PATH();
39 Assert.assertEquals("iui", iuiRootPath);
40 Assert.assertEquals("api", apiRootPath);
41 } catch (Exception e) {
42 Assert.fail("throw exception means error occured!" + e.getMessage());
49 public void test_initApiGatewayPort() {
51 PowerMockito.mockStatic(System.class);
52 PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn(null);
53 ConfigUtil.getInstance().initApiGatewayPort();
54 Assert.assertEquals("80", ConfigUtil.getInstance().getServerPort());
57 PowerMockito.mockStatic(System.class);
58 PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn("81");
60 ConfigUtil.getInstance().initApiGatewayPort();
61 Assert.assertEquals("81", ConfigUtil.getInstance().getServerPort());
65 public void test_initRouteNameSpaceMatches() {
67 PowerMockito.mockStatic(System.class);
68 PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn(null);
69 ConfigUtil.getInstance().initRouteNameSpaceMatches();
70 Assert.assertEquals("all", ConfigUtil.getInstance().getNamespaceMatches());
73 PowerMockito.when(System.getenv("NAMESPACE")).thenReturn("net");
75 ConfigUtil.getInstance().initRouteNameSpaceMatches();
76 Assert.assertEquals("net", ConfigUtil.getInstance().getNamespaceMatches());
80 public void test_initRouteLabelsMatches() {
82 PowerMockito.mockStatic(System.class);
83 PowerMockito.when(System.getenv("ROUTE_LABELS")).thenReturn(null);
84 ConfigUtil.getInstance().initRouteLabelsMatches();
85 Assert.assertEquals("0", ConfigUtil.getInstance().getVisualRangeMatches());
86 Assert.assertEquals("net", ConfigUtil.getInstance().getNetwork_plane_typeMatches());
87 Assert.assertTrue(ConfigUtil.getInstance().getLabelMapMatches().containsKey("custom-key"));
91 PowerMockito.when(System.getenv("ROUTE_LABELS")).thenReturn("visualRange:1,network_plane_type:net,custom:test");
93 ConfigUtil.getInstance().initRouteLabelsMatches();
94 Assert.assertEquals("1", ConfigUtil.getInstance().getVisualRangeMatches());
95 Assert.assertEquals("net", ConfigUtil.getInstance().getNetwork_plane_typeMatches());
96 Assert.assertTrue(ConfigUtil.getInstance().getLabelMapMatches().containsKey("custom"));
101 public void test_initRouteWay() {
102 PowerMockito.mockStatic(System.class);
104 PowerMockito.when(System.getenv("ROUTE_WAY")).thenReturn(null);
105 ConfigUtil.getInstance().initRouteWay();
106 String[] ip_routeWay = {"ip"};
107 Assert.assertArrayEquals(ip_routeWay, ConfigUtil.getInstance().getRouteWay());
109 PowerMockito.when(System.getenv("ROUTE_WAY")).thenReturn("ip|domain");
111 ConfigUtil.getInstance().initRouteWay();
112 String[] routeWay = {"ip", "domain"};
113 Assert.assertArrayEquals(routeWay, ConfigUtil.getInstance().getRouteWay());
117 public void test_initDiscoverInfo() {
118 PowerMockito.mockStatic(System.class);
121 ApiRouteAppConfig configuration = new ApiRouteAppConfig();
123 DiscoverInfo discoverInfo = new DiscoverInfo();
124 discoverInfo.setEnabled(true);
125 discoverInfo.setIp("127.0.0.1");
126 discoverInfo.setPort(10081);
128 configuration.setDiscoverInfo(discoverInfo);
129 PowerMockito.when(System.getenv("SDCLIENT_IP")).thenReturn(null);
130 ConfigUtil.getInstance().initDiscoverInfo(configuration);
131 Assert.assertEquals("127.0.0.1:10081", ConfigUtil.getInstance().getDiscoverInfo().toString());
133 PowerMockito.when(System.getenv("SDCLIENT_IP")).thenReturn("10.74.44.86");
134 ConfigUtil.getInstance().initDiscoverInfo(configuration);
135 Assert.assertEquals("10.74.44.86:10081", ConfigUtil.getInstance().getDiscoverInfo().toString());
139 public void test_initNodeMeta() {
141 // CONSUL_REGISTER_MODE not catalog
142 ConfigUtil util = ConfigUtil.getInstance();
143 util.initNodeMetaQueryParam();
144 System.out.println(util.getNodeMetaQueryParam());
145 Assert.assertEquals(util.getNodeMetaQueryParam(), "");
147 // CONSUL_REGISTER_MODE catalog
148 PowerMockito.mockStatic(System.class);
149 PowerMockito.when(System.getenv("CONSUL_REGISTER_MODE")).thenReturn("agnet");
150 util.initNodeMetaQueryParam();
151 System.out.println(util.getNodeMetaQueryParam());
152 Assert.assertEquals(util.getNodeMetaQueryParam(), "");
155 // CONSUL_REGISTER_MODE catalog
156 PowerMockito.mockStatic(System.class);
157 PowerMockito.when(System.getenv("CONSUL_REGISTER_MODE")).thenReturn("catalog");
159 Field visualRangeField = util.getClass().getDeclaredField("visualRangeMatches");
160 visualRangeField.setAccessible(true);
162 Field namespaceField = util.getClass().getDeclaredField("namespaceMatches");
163 namespaceField.setAccessible(true);
166 visualRangeField.set(util, "0");
167 namespaceField.set(util, "default");
169 util.initNodeMetaQueryParam();
170 System.out.println(util.getNodeMetaQueryParam());
171 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=external:true&node-meta=ns:default");
174 visualRangeField.set(util, "1");
175 util.initNodeMetaQueryParam();
176 System.out.println(util.getNodeMetaQueryParam());
177 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true&node-meta=ns:default");
180 visualRangeField.set(util, "0|1");
181 util.initNodeMetaQueryParam();
182 System.out.println(util.getNodeMetaQueryParam());
183 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=ns:default");
186 namespaceField.set(util, "all");
187 util.initNodeMetaQueryParam();
188 System.out.println(util.getNodeMetaQueryParam());
189 Assert.assertEquals(util.getNodeMetaQueryParam(), "");
191 ///////////////////////////////////////////////////////////////////////////
193 visualRangeField.set(util, "1");
194 namespaceField.set(util, "all");
195 util.initNodeMetaQueryParam();
196 System.out.println(util.getNodeMetaQueryParam());
197 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true");
200 namespaceField.set(util, "!default");
201 util.initNodeMetaQueryParam();
202 System.out.println(util.getNodeMetaQueryParam());
203 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true");
206 namespaceField.set(util, "tenant1&tenant2");
207 util.initNodeMetaQueryParam();
208 System.out.println(util.getNodeMetaQueryParam());
209 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true");
212 namespaceField.set(util, "tenant1|tenant2");
213 util.initNodeMetaQueryParam();
214 System.out.println(util.getNodeMetaQueryParam());
215 Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true");
217 } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
218 // TODO Auto-generated catch block