1 package org.onap.msb.apiroute.wrapper.util;
5 import java.lang.reflect.Field;
7 import org.junit.Assert;
9 import org.junit.runner.RunWith;
10 import org.onap.msb.apiroute.ApiRouteAppConfig;
11 import org.onap.msb.apiroute.api.DiscoverInfo;
12 import org.onap.msb.apiroute.wrapper.util.ConfigUtil;
13 import org.powermock.api.mockito.PowerMockito;
14 import org.powermock.core.classloader.annotations.PrepareForTest;
15 import org.powermock.modules.junit4.PowerMockRunner;
17 @RunWith(PowerMockRunner.class)
18 @PrepareForTest({ConfigUtil.class})
19 public class ConfigUtilTest {
22 public void test_initRootPath() {
24 ConfigUtil.getInstance().initRootPath();
25 String iuiRootPath = ConfigUtil.getInstance().getIUI_ROOT_PATH();
26 String apiRootPath = ConfigUtil.getInstance().getAPI_ROOT_PATH();
27 Assert.assertEquals("iui", iuiRootPath);
28 Assert.assertEquals("api", apiRootPath);
29 } catch (Exception e) {
30 Assert.fail("throw exception means error occured!" + e.getMessage());
37 public void test_initApiGatewayPort() {
39 PowerMockito.mockStatic(System.class);
40 PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn(null);
41 ConfigUtil.getInstance().initApiGatewayPort();
42 Assert.assertEquals("80", ConfigUtil.getInstance().getServerPort());
45 PowerMockito.mockStatic(System.class);
46 PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn("81");
48 ConfigUtil.getInstance().initApiGatewayPort();
49 Assert.assertEquals("81", ConfigUtil.getInstance().getServerPort());
53 public void test_initRouteNameSpaceMatches() {
55 PowerMockito.mockStatic(System.class);
56 PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn(null);
57 ConfigUtil.getInstance().initRouteNameSpaceMatches();
58 Assert.assertEquals("all", ConfigUtil.getInstance().getNamespaceMatches());
61 PowerMockito.when(System.getenv("NAMESPACE")).thenReturn("net");
63 ConfigUtil.getInstance().initRouteNameSpaceMatches();
64 Assert.assertEquals("net", ConfigUtil.getInstance().getNamespaceMatches());
68 public void test_initRouteLabelsMatches() {
70 PowerMockito.mockStatic(System.class);
71 PowerMockito.when(System.getenv("ROUTE_LABELS")).thenReturn(null);
72 ConfigUtil.getInstance().initRouteLabelsMatches();
73 Assert.assertEquals("0", ConfigUtil.getInstance().getVisualRangeMatches());
74 Assert.assertEquals("net", ConfigUtil.getInstance().getNetwork_plane_typeMatches());
75 Assert.assertTrue(ConfigUtil.getInstance().getLabelMapMatches().containsKey("custom-key"));
80 PowerMockito.when(System.getenv("ROUTE_LABELS")).thenReturn("visualRange:1,network_plane_type:net,custom:test");
82 ConfigUtil.getInstance().initRouteLabelsMatches();
83 Assert.assertEquals("1", ConfigUtil.getInstance().getVisualRangeMatches());
84 Assert.assertEquals("net", ConfigUtil.getInstance().getNetwork_plane_typeMatches());
85 Assert.assertTrue(ConfigUtil.getInstance().getLabelMapMatches().containsKey("custom"));
90 public void test_initRouteWay() {
91 PowerMockito.mockStatic(System.class);
93 PowerMockito.when(System.getenv("ROUTE_WAY")).thenReturn(null);
94 ConfigUtil.getInstance().initRouteWay();
95 String[] ip_routeWay={"ip"};
96 Assert.assertArrayEquals(ip_routeWay, ConfigUtil.getInstance().getRouteWay());
98 PowerMockito.when(System.getenv("ROUTE_WAY")).thenReturn("ip|domain");
100 ConfigUtil.getInstance().initRouteWay();
101 String[] routeWay={"ip","domain"};
102 Assert.assertArrayEquals(routeWay, ConfigUtil.getInstance().getRouteWay());
106 public void test_initDiscoverInfo() {
107 PowerMockito.mockStatic(System.class);
110 ApiRouteAppConfig configuration=new ApiRouteAppConfig();
112 DiscoverInfo discoverInfo=new DiscoverInfo();
113 discoverInfo.setEnabled(true);
114 discoverInfo.setIp("127.0.0.1");
115 discoverInfo.setPort(10081);
117 configuration.setDiscoverInfo(discoverInfo);
118 PowerMockito.when(System.getenv("SDCLIENT_IP")).thenReturn(null);
119 ConfigUtil.getInstance().initDiscoverInfo(configuration);
120 Assert.assertEquals("127.0.0.1:10081", ConfigUtil.getInstance().getDiscoverInfo().toString());
122 PowerMockito.when(System.getenv("SDCLIENT_IP")).thenReturn("10.74.44.86");
123 ConfigUtil.getInstance().initDiscoverInfo(configuration);
124 Assert.assertEquals("10.74.44.86:10081", ConfigUtil.getInstance().getDiscoverInfo().toString());
128 public void test_initNodeMeta() {
130 //CONSUL_REGISTER_MODE not catalog
131 ConfigUtil util=ConfigUtil.getInstance();
132 util.initNodeMetaQueryParam();
133 System.out.println(util.getNodeMetaQueryParam());
134 Assert.assertEquals(util.getNodeMetaQueryParam(),"");
136 //CONSUL_REGISTER_MODE catalog
137 PowerMockito.mockStatic(System.class);
138 PowerMockito.when(System.getenv("CONSUL_REGISTER_MODE")).thenReturn("agnet");
139 util.initNodeMetaQueryParam();
140 System.out.println(util.getNodeMetaQueryParam());
141 Assert.assertEquals(util.getNodeMetaQueryParam(),"");
144 //CONSUL_REGISTER_MODE catalog
145 PowerMockito.mockStatic(System.class);
146 PowerMockito.when(System.getenv("CONSUL_REGISTER_MODE")).thenReturn("catalog");
148 Field visualRangeField=util.getClass().getDeclaredField("visualRangeMatches");
149 visualRangeField.setAccessible(true);
151 Field namespaceField = util.getClass().getDeclaredField("namespaceMatches");
152 namespaceField.setAccessible(true);
155 visualRangeField.set(util, "0");
156 namespaceField.set(util, "default");
158 util.initNodeMetaQueryParam();
159 System.out.println(util.getNodeMetaQueryParam());
160 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=external:true&node-meta=ns:default");
163 visualRangeField.set(util, "1");
164 util.initNodeMetaQueryParam();
165 System.out.println(util.getNodeMetaQueryParam());
166 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=internal:true&node-meta=ns:default");
169 visualRangeField.set(util, "0|1");
170 util.initNodeMetaQueryParam();
171 System.out.println(util.getNodeMetaQueryParam());
172 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=ns:default");
175 namespaceField.set(util, "all");
176 util.initNodeMetaQueryParam();
177 System.out.println(util.getNodeMetaQueryParam());
178 Assert.assertEquals(util.getNodeMetaQueryParam(),"");
180 ///////////////////////////////////////////////////////////////////////////
182 visualRangeField.set(util, "1");
183 namespaceField.set(util, "all");
184 util.initNodeMetaQueryParam();
185 System.out.println(util.getNodeMetaQueryParam());
186 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=internal:true");
189 namespaceField.set(util, "!default");
190 util.initNodeMetaQueryParam();
191 System.out.println(util.getNodeMetaQueryParam());
192 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=internal:true");
195 namespaceField.set(util, "tenant1&tenant2");
196 util.initNodeMetaQueryParam();
197 System.out.println(util.getNodeMetaQueryParam());
198 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=internal:true");
201 namespaceField.set(util, "tenant1|tenant2");
202 util.initNodeMetaQueryParam();
203 System.out.println(util.getNodeMetaQueryParam());
204 Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=internal:true");
206 } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
207 // TODO Auto-generated catch block