+ @Test
+ public void test_initRootPath() {
+ try {
+ ConfigUtil.getInstance().initRootPath();
+ String iuiRootPath = ConfigUtil.getInstance().getIUI_ROOT_PATH();
+ String apiRootPath = ConfigUtil.getInstance().getAPI_ROOT_PATH();
+ Assert.assertEquals("iui", iuiRootPath);
+ Assert.assertEquals("api", apiRootPath);
+ } catch (Exception e) {
+ Assert.fail("throw exception means error occured!" + e.getMessage());
+
+ }
+
+ }
+
+ @Test
+ public void test_initApiGatewayPort() {
+
+ PowerMockito.mockStatic(System.class);
+ PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn(null);
+ ConfigUtil.getInstance().initApiGatewayPort();
+ Assert.assertEquals("80", ConfigUtil.getInstance().getServerPort());
+
+
+ PowerMockito.mockStatic(System.class);
+ PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn("81");
+
+ ConfigUtil.getInstance().initApiGatewayPort();
+ Assert.assertEquals("81", ConfigUtil.getInstance().getServerPort());
+ }
+
+ @Test
+ public void test_initRouteNameSpaceMatches() {
+
+ PowerMockito.mockStatic(System.class);
+ PowerMockito.when(System.getenv("APIGATEWAY_EXPOSE_PORT")).thenReturn(null);
+ ConfigUtil.getInstance().initRouteNameSpaceMatches();
+ Assert.assertEquals("all", ConfigUtil.getInstance().getNamespaceMatches());
+
+
+ PowerMockito.when(System.getenv("NAMESPACE")).thenReturn("net");
+
+ ConfigUtil.getInstance().initRouteNameSpaceMatches();
+ Assert.assertEquals("net", ConfigUtil.getInstance().getNamespaceMatches());
+ }
+
+ @Test
+ public void test_initRouteLabelsMatches() {
+
+ PowerMockito.mockStatic(System.class);
+ PowerMockito.when(System.getenv("ROUTE_LABELS")).thenReturn(null);
+ ConfigUtil.getInstance().initRouteLabelsMatches();
+ Assert.assertEquals("0", ConfigUtil.getInstance().getVisualRangeMatches());
+ Assert.assertEquals("net", ConfigUtil.getInstance().getNetwork_plane_typeMatches());
+ Assert.assertTrue(ConfigUtil.getInstance().getLabelMapMatches().containsKey("custom-key"));
+
+
+
+ PowerMockito.when(System.getenv("ROUTE_LABELS")).thenReturn("visualRange:1,network_plane_type:net,custom:test");
+
+ ConfigUtil.getInstance().initRouteLabelsMatches();
+ Assert.assertEquals("1", ConfigUtil.getInstance().getVisualRangeMatches());
+ Assert.assertEquals("net", ConfigUtil.getInstance().getNetwork_plane_typeMatches());
+ Assert.assertTrue(ConfigUtil.getInstance().getLabelMapMatches().containsKey("custom"));
+
+ }
+
+ @Test
+ public void test_initRouteWay() {
+ PowerMockito.mockStatic(System.class);
+
+ PowerMockito.when(System.getenv("ROUTE_WAY")).thenReturn(null);
+ ConfigUtil.getInstance().initRouteWay();
+ String[] ip_routeWay = {"ip"};
+ Assert.assertArrayEquals(ip_routeWay, ConfigUtil.getInstance().getRouteWay());
+
+ PowerMockito.when(System.getenv("ROUTE_WAY")).thenReturn("ip|domain");
+
+ ConfigUtil.getInstance().initRouteWay();
+ String[] routeWay = {"ip", "domain"};
+ Assert.assertArrayEquals(routeWay, ConfigUtil.getInstance().getRouteWay());
+ }
+
+ @Test
+ public void test_initDiscoverInfo() {
+ PowerMockito.mockStatic(System.class);
+
+
+ ApiRouteAppConfig configuration = new ApiRouteAppConfig();
+
+ DiscoverInfo discoverInfo = new DiscoverInfo();
+ discoverInfo.setEnabled(true);
+ discoverInfo.setIp("127.0.0.1");
+ discoverInfo.setPort(10081);
+
+ configuration.setDiscoverInfo(discoverInfo);
+ PowerMockito.when(System.getenv("SDCLIENT_IP")).thenReturn(null);
+ ConfigUtil.getInstance().initDiscoverInfo(configuration);
+ Assert.assertEquals("127.0.0.1:10081", ConfigUtil.getInstance().getDiscoverInfo().toString());
+
+ PowerMockito.when(System.getenv("SDCLIENT_IP")).thenReturn("10.74.44.86");
+ ConfigUtil.getInstance().initDiscoverInfo(configuration);
+ Assert.assertEquals("10.74.44.86:10081", ConfigUtil.getInstance().getDiscoverInfo().toString());
+ }
+
+ @Test
+ public void test_initNodeMeta() {
+
+ // CONSUL_REGISTER_MODE not catalog
+ ConfigUtil util = ConfigUtil.getInstance();
+ util.initNodeMetaQueryParam();
+ System.out.println(util.getNodeMetaQueryParam());
+ Assert.assertEquals(util.getNodeMetaQueryParam(), "");
+
+ // CONSUL_REGISTER_MODE catalog
+ PowerMockito.mockStatic(System.class);
+ PowerMockito.when(System.getenv("CONSUL_REGISTER_MODE")).thenReturn("agnet");
+ util.initNodeMetaQueryParam();
+ System.out.println(util.getNodeMetaQueryParam());
+ Assert.assertEquals(util.getNodeMetaQueryParam(), "");
+
+
+ // CONSUL_REGISTER_MODE catalog
+ PowerMockito.mockStatic(System.class);
+ PowerMockito.when(System.getenv("CONSUL_REGISTER_MODE")).thenReturn("catalog");
+ try {
+ Field visualRangeField = util.getClass().getDeclaredField("visualRangeMatches");
+ visualRangeField.setAccessible(true);
+
+ Field namespaceField = util.getClass().getDeclaredField("namespaceMatches");
+ namespaceField.setAccessible(true);
+
+ // 0:default;
+ visualRangeField.set(util, "0");
+ namespaceField.set(util, "default");
+
+ util.initNodeMetaQueryParam();
+ System.out.println(util.getNodeMetaQueryParam());
+ Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=external:true&node-meta=ns:default");
+
+ // 1:default;
+ visualRangeField.set(util, "1");
+ util.initNodeMetaQueryParam();
+ System.out.println(util.getNodeMetaQueryParam());
+ Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true&node-meta=ns:default");
+
+ // 0|1:default
+ visualRangeField.set(util, "0|1");
+ util.initNodeMetaQueryParam();
+ System.out.println(util.getNodeMetaQueryParam());
+ Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=ns:default");
+
+ // 0|1:all
+ namespaceField.set(util, "all");
+ util.initNodeMetaQueryParam();
+ System.out.println(util.getNodeMetaQueryParam());
+ Assert.assertEquals(util.getNodeMetaQueryParam(), "");
+
+ ///////////////////////////////////////////////////////////////////////////
+ // 1:all
+ visualRangeField.set(util, "1");
+ namespaceField.set(util, "all");
+ util.initNodeMetaQueryParam();
+ System.out.println(util.getNodeMetaQueryParam());
+ Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true");
+
+ // 1:!
+ namespaceField.set(util, "!default");
+ util.initNodeMetaQueryParam();
+ System.out.println(util.getNodeMetaQueryParam());
+ Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true");
+
+ // 1:&
+ namespaceField.set(util, "tenant1&tenant2");
+ util.initNodeMetaQueryParam();
+ System.out.println(util.getNodeMetaQueryParam());
+ Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true");
+
+ // 1:|
+ namespaceField.set(util, "tenant1|tenant2");
+ util.initNodeMetaQueryParam();
+ System.out.println(util.getNodeMetaQueryParam());
+ Assert.assertEquals(util.getNodeMetaQueryParam(), "node-meta=internal:true");
+
+ } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }