Divide the MSB source codes into two repos
[msb/apigateway.git] / apiroute / apiroute-service / src / test / java / org / onap / msb / apiroute / wrapper / util / ConfigUtilTest.java
1 package org.onap.msb.apiroute.wrapper.util;
2
3
4
5 import java.lang.reflect.Field;
6
7 import org.junit.Assert;
8 import org.junit.Test;
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;
16
17 @RunWith(PowerMockRunner.class)
18 @PrepareForTest({ConfigUtil.class})
19 public class ConfigUtilTest {
20
21   @Test
22   public void test_initRootPath() {
23     try {
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());
31
32     }
33
34   }
35   
36   @Test
37   public void test_initApiGatewayPort() {
38     
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());
43     
44     
45     PowerMockito.mockStatic(System.class);
46     PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn("81");
47
48     ConfigUtil.getInstance().initApiGatewayPort();
49     Assert.assertEquals("81", ConfigUtil.getInstance().getServerPort());
50   }
51   
52   @Test
53   public void test_initRouteNameSpaceMatches() {
54     
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());
59     
60     
61     PowerMockito.when(System.getenv("NAMESPACE")).thenReturn("net");
62
63     ConfigUtil.getInstance().initRouteNameSpaceMatches();
64     Assert.assertEquals("net", ConfigUtil.getInstance().getNamespaceMatches());
65   }
66   
67   @Test
68   public void test_initRouteLabelsMatches() {
69     
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"));
76
77     
78     
79     
80     PowerMockito.when(System.getenv("ROUTE_LABELS")).thenReturn("visualRange:1,network_plane_type:net,custom:test");
81
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"));
86   
87   }
88   
89   @Test
90   public void test_initRouteWay() {
91     PowerMockito.mockStatic(System.class);
92     
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());
97
98     PowerMockito.when(System.getenv("ROUTE_WAY")).thenReturn("ip|domain");
99
100     ConfigUtil.getInstance().initRouteWay();
101     String[] routeWay={"ip","domain"};
102     Assert.assertArrayEquals(routeWay, ConfigUtil.getInstance().getRouteWay());
103   }
104   
105   @Test
106   public void test_initDiscoverInfo() {
107     PowerMockito.mockStatic(System.class);
108    
109
110     ApiRouteAppConfig configuration=new ApiRouteAppConfig();
111     
112     DiscoverInfo discoverInfo=new DiscoverInfo();
113     discoverInfo.setEnabled(true);
114     discoverInfo.setIp("127.0.0.1");
115     discoverInfo.setPort(10081);
116     
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());
121     
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());
125   }
126   
127         @Test
128         public void test_initNodeMeta() {
129                 
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(),"");
135                 
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(),"");
142             
143                 
144                 //CONSUL_REGISTER_MODE catalog
145             PowerMockito.mockStatic(System.class);
146             PowerMockito.when(System.getenv("CONSUL_REGISTER_MODE")).thenReturn("catalog");             
147                 try {
148                         Field visualRangeField=util.getClass().getDeclaredField("visualRangeMatches");
149                         visualRangeField.setAccessible(true);
150                         
151                         Field namespaceField = util.getClass().getDeclaredField("namespaceMatches");
152                         namespaceField.setAccessible(true);
153                         
154                         //0:default;
155                         visualRangeField.set(util, "0");
156                         namespaceField.set(util, "default");
157                         
158                         util.initNodeMetaQueryParam();
159                         System.out.println(util.getNodeMetaQueryParam());
160                         Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=external:true&node-meta=ns:default");
161                         
162                         //1: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");
167                         
168                         //0|1: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");
173                         
174                         //0|1:all
175                         namespaceField.set(util, "all");
176                         util.initNodeMetaQueryParam();
177                         System.out.println(util.getNodeMetaQueryParam());
178                         Assert.assertEquals(util.getNodeMetaQueryParam(),"");
179                         
180                         ///////////////////////////////////////////////////////////////////////////
181                         //1:all
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");
187                         
188                         //1:!
189                         namespaceField.set(util, "!default");
190                         util.initNodeMetaQueryParam();
191                         System.out.println(util.getNodeMetaQueryParam());
192                         Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=internal:true");
193                         
194                         //1:&
195                         namespaceField.set(util, "tenant1&tenant2");
196                         util.initNodeMetaQueryParam();
197                         System.out.println(util.getNodeMetaQueryParam());
198                         Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=internal:true");
199                         
200                         //1:|
201                         namespaceField.set(util, "tenant1|tenant2");
202                         util.initNodeMetaQueryParam();
203                         System.out.println(util.getNodeMetaQueryParam());
204                         Assert.assertEquals(util.getNodeMetaQueryParam(),"node-meta=internal:true");
205                         
206                 } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
207                         // TODO Auto-generated catch block
208                         e.printStackTrace();
209                 }
210                 
211         }
212   
213
214 }