1 /*******************************************************************************
2 * Copyright 2016-2017 ZTE, Inc. and others.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.onap.msb.apiroute.wrapper.util;
20 import java.lang.reflect.Field;
22 import org.junit.Assert;
23 import org.junit.Test;
24 import org.junit.runner.RunWith;
25 import org.onap.msb.apiroute.ApiRouteAppConfig;
26 import org.onap.msb.apiroute.api.DiscoverInfo;
27 import org.onap.msb.apiroute.wrapper.util.ConfigUtil;
28 import org.powermock.api.mockito.PowerMockito;
29 import org.powermock.core.classloader.annotations.PrepareForTest;
30 import org.powermock.modules.junit4.PowerMockRunner;
32 @RunWith(PowerMockRunner.class)
33 @PrepareForTest({ConfigUtil.class})
34 public class ConfigUtilTest {
37 public void test_initRootPath() {
39 ConfigUtil.getInstance().initRootPath();
40 String iuiRootPath = ConfigUtil.getInstance().getIUI_ROOT_PATH();
41 String apiRootPath = ConfigUtil.getInstance().getAPI_ROOT_PATH();
42 Assert.assertEquals("iui", iuiRootPath);
43 Assert.assertEquals("api", apiRootPath);
44 } catch (Exception e) {
45 Assert.fail("throw exception means error occured!" + e.getMessage());
52 public void test_initApiGatewayPort() {
54 PowerMockito.mockStatic(System.class);
55 PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn(null);
56 ConfigUtil.getInstance().initApiGatewayPort();
57 Assert.assertEquals("80", ConfigUtil.getInstance().getServerPort());
60 PowerMockito.mockStatic(System.class);
61 PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn("81");
63 ConfigUtil.getInstance().initApiGatewayPort();
64 Assert.assertEquals("81", ConfigUtil.getInstance().getServerPort());
68 public void test_initRouteNameSpaceMatches() {
70 PowerMockito.mockStatic(System.class);
71 PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn(null);
72 ConfigUtil.getInstance().initRouteNameSpaceMatches();
73 Assert.assertEquals("all", ConfigUtil.getInstance().getNamespaceMatches());
76 PowerMockito.when(System.getenv("NAMESPACE")).thenReturn("net");
78 ConfigUtil.getInstance().initRouteNameSpaceMatches();
79 Assert.assertEquals("net", ConfigUtil.getInstance().getNamespaceMatches());
83 public void test_initRouteLabelsMatches() {
85 PowerMockito.mockStatic(System.class);
86 PowerMockito.when(System.getenv("ROUTE_LABELS")).thenReturn(null);
87 ConfigUtil.getInstance().initRouteLabelsMatches();
88 Assert.assertEquals("0", ConfigUtil.getInstance().getVisualRangeMatches());
89 Assert.assertEquals("net", ConfigUtil.getInstance().getNetwork_plane_typeMatches());
90 Assert.assertTrue(ConfigUtil.getInstance().getLabelMapMatches().containsKey("custom-key"));
95 PowerMockito.when(System.getenv("ROUTE_LABELS")).thenReturn("visualRange:1,network_plane_type:net,custom:test");
97 ConfigUtil.getInstance().initRouteLabelsMatches();
98 Assert.assertEquals("1", ConfigUtil.getInstance().getVisualRangeMatches());
99 Assert.assertEquals("net", ConfigUtil.getInstance().getNetwork_plane_typeMatches());
100 Assert.assertTrue(ConfigUtil.getInstance().getLabelMapMatches().containsKey("custom"));
105 public void test_initRouteWay() {
106 PowerMockito.mockStatic(System.class);
108 PowerMockito.when(System.getenv("ROUTE_WAY")).thenReturn(null);
109 ConfigUtil.getInstance().initRouteWay();
110 String[] ip_routeWay={"ip"};
111 Assert.assertArrayEquals(ip_routeWay, ConfigUtil.getInstance().getRouteWay());
113 PowerMockito.when(System.getenv("ROUTE_WAY")).thenReturn("ip|domain");
115 ConfigUtil.getInstance().initRouteWay();
116 String[] routeWay={"ip","domain"};
117 Assert.assertArrayEquals(routeWay, ConfigUtil.getInstance().getRouteWay());
121 public void test_initDiscoverInfo() {
122 PowerMockito.mockStatic(System.class);
125 ApiRouteAppConfig configuration=new ApiRouteAppConfig();
127 DiscoverInfo discoverInfo=new DiscoverInfo();
128 discoverInfo.setEnabled(true);
129 discoverInfo.setIp("127.0.0.1");
130 discoverInfo.setPort(10081);
132 configuration.setDiscoverInfo(discoverInfo);
133 PowerMockito.when(System.getenv("SDCLIENT_IP")).thenReturn(null);
134 ConfigUtil.getInstance().initDiscoverInfo(configuration);
135 Assert.assertEquals("127.0.0.1:10081", ConfigUtil.getInstance().getDiscoverInfo().toString());
137 PowerMockito.when(System.getenv("SDCLIENT_IP")).thenReturn("10.74.44.86");
138 ConfigUtil.getInstance().initDiscoverInfo(configuration);
139 Assert.assertEquals("10.74.44.86:10081", ConfigUtil.getInstance().getDiscoverInfo().toString());
143 public void test_initNodeMeta() {
145 //CONSUL_REGISTER_MODE not catalog
146 ConfigUtil util=ConfigUtil.getInstance();
147 util.initNodeMetaQueryParam();
148 System.out.println(util.getNodeMetaQueryParam());
149 Assert.assertEquals(util.getNodeMetaQueryParam(),"");
151 //CONSUL_REGISTER_MODE catalog
152 PowerMockito.mockStatic(System.class);
153 PowerMockito.when(System.getenv("CONSUL_REGISTER_MODE")).thenReturn("agnet");
154 util.initNodeMetaQueryParam();
155 System.out.println(util.getNodeMetaQueryParam());
156 Assert.assertEquals(util.getNodeMetaQueryParam(),"");
159 //CONSUL_REGISTER_MODE catalog
160 PowerMockito.mockStatic(System.class);
161 PowerMockito.when(System.getenv("CONSUL_REGISTER_MODE")).thenReturn("catalog");
163 Field visualRangeField=util.getClass().getDeclaredField("visualRangeMatches");
164 visualRangeField.setAccessible(true);
166 Field namespaceField = util.getClass().getDeclaredField("namespaceMatches");
167 namespaceField.setAccessible(true);
170 visualRangeField.set(util, "0");
171 namespaceField.set(util, "default");
173 util.initNodeMetaQueryParam();
174 System.out.println(util.getNodeMetaQueryParam());
175 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=external:true&node-meta=ns:default");
178 visualRangeField.set(util, "1");
179 util.initNodeMetaQueryParam();
180 System.out.println(util.getNodeMetaQueryParam());
181 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=internal:true&node-meta=ns:default");
184 visualRangeField.set(util, "0|1");
185 util.initNodeMetaQueryParam();
186 System.out.println(util.getNodeMetaQueryParam());
187 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=ns:default");
190 namespaceField.set(util, "all");
191 util.initNodeMetaQueryParam();
192 System.out.println(util.getNodeMetaQueryParam());
193 Assert.assertEquals(util.getNodeMetaQueryParam(),"");
195 ///////////////////////////////////////////////////////////////////////////
197 visualRangeField.set(util, "1");
198 namespaceField.set(util, "all");
199 util.initNodeMetaQueryParam();
200 System.out.println(util.getNodeMetaQueryParam());
201 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=internal:true");
204 namespaceField.set(util, "!default");
205 util.initNodeMetaQueryParam();
206 System.out.println(util.getNodeMetaQueryParam());
207 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=internal:true");
210 namespaceField.set(util, "tenant1&tenant2");
211 util.initNodeMetaQueryParam();
212 System.out.println(util.getNodeMetaQueryParam());
213 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=internal:true");
216 namespaceField.set(util, "tenant1|tenant2");
217 util.initNodeMetaQueryParam();
218 System.out.println(util.getNodeMetaQueryParam());
219 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=internal:true");
221 } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
222 // TODO Auto-generated catch block