+/*******************************************************************************
+ * Copyright 2016-2017 ZTE, Inc. and others.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ ******************************************************************************/
package org.onap.msb.apiroute.wrapper.service;
-import com.fiftyonred.mock_jedis.MockJedisPool;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.onap.msb.apiroute.api.ApiRouteInfo;
import org.onap.msb.apiroute.api.RouteServer;
import org.onap.msb.apiroute.wrapper.dao.RedisAccessWrapper;
-import org.onap.msb.apiroute.wrapper.service.ApiRouteService;
import org.onap.msb.apiroute.wrapper.util.JedisUtil;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
-import redis.clients.jedis.JedisPool;
-import redis.clients.jedis.JedisPoolConfig;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
+import com.fiftyonred.mock_jedis.MockJedisPool;
-import static org.junit.Assert.*;
+import redis.clients.jedis.JedisPool;
+import redis.clients.jedis.JedisPoolConfig;
@RunWith(PowerMockRunner.class)
-@PrepareForTest({JedisUtil.class,RedisAccessWrapper.class})
-@PowerMockIgnore( {"javax.management.*"})
+@PrepareForTest({JedisUtil.class, RedisAccessWrapper.class})
+@PowerMockIgnore({"javax.management.*", "jdk.internal.reflect.*"})
public class ApiRouteServiceTest {
private static ApiRouteService apiRouteService = null;
private static Comparator<ApiRouteInfo> apiRouteComparator = null;
+
@BeforeClass
- public static void setUp() throws Exception{
+ public static void setUp() throws Exception {
apiRouteService = ApiRouteService.getInstance();
apiRouteComparator = new Comparator<ApiRouteInfo>() {
@Override
}
};
}
+
@Before
public void setUpBeforeTest() throws Exception {
final JedisPool mockJedisPool = new MockJedisPool(new JedisPoolConfig(), "localhost");
PowerMockito.mockStatic(JedisUtil.class);
- JedisUtil jedisUtil=PowerMockito.mock(JedisUtil.class);
+ JedisUtil jedisUtil = PowerMockito.mock(JedisUtil.class);
PowerMockito.when(jedisUtil.borrowJedisInstance()).thenReturn(mockJedisPool.getResource());
PowerMockito.replace(PowerMockito.method(RedisAccessWrapper.class, "filterKeys")).with(new InvocationHandler() {
}
});
}
+
@Test
- public void testGetApiRouteInstance_key_not_exist(){
+ public void testGetApiRouteInstance_key_not_exist() {
try {
assertNull(apiRouteService.getApiRouteInstance("msb:routing:api:notexistservice:v1"));
} catch (Exception e) {
- assert false:"throw exception means error occured!"+e.getMessage();
+ assert false : "throw exception means error occured!" + e.getMessage();
}
}
@Test
- public void testGetApiRouteInstance_key_exist(){
+ public void testGetApiRouteInstance_key_exist() {
ApiRouteInfo apirouteInfo = new ApiRouteInfo();
apirouteInfo.setServiceName("testapi");
apirouteInfo.setVersion("v1");
apirouteInfo.setUseOwnUpstream("0");
apirouteInfo.setVisualRange("0");
apirouteInfo.setEnable_ssl(false);
- RouteServer[] servers = new RouteServer[]{new RouteServer("10.74.148.88","8080")};
+ RouteServer[] servers = new RouteServer[] {new RouteServer("10.74.148.88", "8080")};
apirouteInfo.setServers(servers);
try {
- apiRouteService.saveApiRouteService2Redis(apirouteInfo,"msb:routing:api:testapi:v1");
+ apiRouteService.saveApiRouteService2Redis(apirouteInfo, "msb:routing:api:testapi:v1");
assertEquals(apirouteInfo, apiRouteService.getApiRouteInstance("msb:routing:api:testapi:v1"));
} catch (Exception e) {
- assert false:"throw exception means error occured!"+e.getMessage();
+ assert false : "throw exception means error occured!" + e.getMessage();
}
}
@Test
- public void testSaveApiRouteService2Redis(){
+ public void testSaveApiRouteService2Redis() {
ApiRouteInfo apirouteInfo = new ApiRouteInfo();
apirouteInfo.setServiceName("testapi");
apirouteInfo.setVersion("v1");
apirouteInfo.setUseOwnUpstream("0");
apirouteInfo.setVisualRange("0");
apirouteInfo.setEnable_ssl(true);
- RouteServer[] servers = new RouteServer[]{new RouteServer("10.74.148.88","8080")};
+ RouteServer[] servers = new RouteServer[] {new RouteServer("10.74.148.88", "8080")};
apirouteInfo.setServers(servers);
try {
- apiRouteService.saveApiRouteService2Redis(apirouteInfo,"msb:routing:api:testapi:v1");
+ apiRouteService.saveApiRouteService2Redis(apirouteInfo, "msb:routing:api:testapi:v1");
assertEquals(apirouteInfo, apiRouteService.getApiRouteInstance("msb:routing:api:testapi:v1"));
} catch (Exception e) {
- assert false:"throw exception means error occured!"+e.getMessage();
+ assert false : "throw exception means error occured!" + e.getMessage();
}
}
@Test
- public void testSaveApiRouteService2Redis2(){
+ public void testSaveApiRouteService2Redis2() {
ApiRouteInfo apirouteInfo = new ApiRouteInfo();
apirouteInfo.setServiceName("test26msb");
apirouteInfo.setVersion("v1");
apirouteInfo.setUseOwnUpstream("0");
apirouteInfo.setVisualRange("0");
apirouteInfo.setEnable_ssl(true);
- RouteServer[] servers = new RouteServer[]{new RouteServer("10.74.151.26","443")};
+ RouteServer[] servers = new RouteServer[] {new RouteServer("10.74.151.26", "443")};
apirouteInfo.setServers(servers);
try {
- apiRouteService.saveApiRouteService2Redis(apirouteInfo,"msb:routing:api:test26msb:v1");
+ apiRouteService.saveApiRouteService2Redis(apirouteInfo, "msb:routing:api:test26msb:v1");
assertEquals(apirouteInfo, apiRouteService.getApiRouteInstance("msb:routing:api:test26msb:v1"));
} catch (Exception e) {
- assert false:"throw exception means error occured!"+e.getMessage();
+ assert false : "throw exception means error occured!" + e.getMessage();
}
}
@Test
- public void testDeleteApiRouteService2Redis(){
+ public void testDeleteApiRouteService2Redis() {
ApiRouteInfo apirouteInfo = new ApiRouteInfo();
apirouteInfo.setServiceName("testapi");
apirouteInfo.setVersion("v1");
apirouteInfo.setUseOwnUpstream("0");
apirouteInfo.setVisualRange("0");
apirouteInfo.setEnable_ssl(false);
- RouteServer[] servers = new RouteServer[]{new RouteServer("10.74.148.88","8080")};
+ RouteServer[] servers = new RouteServer[] {new RouteServer("10.74.148.88", "8080")};
apirouteInfo.setServers(servers);
try {
- apiRouteService.saveApiRouteService2Redis(apirouteInfo,"msb:routing:api:testapi:v1");
+ apiRouteService.saveApiRouteService2Redis(apirouteInfo, "msb:routing:api:testapi:v1");
assertNotNull(apiRouteService.getApiRouteInstance("msb:routing:api:testapi:v1"));
apiRouteService.deleteApiRouteService2Redis("msb:routing:api:testapi:v1");
assertNull(apiRouteService.getApiRouteInstance("msb:routing:api:testapi:v1"));
} catch (Exception e) {
- assert false:"throw exception means error occured!"+e.getMessage();
+ assert false : "throw exception means error occured!" + e.getMessage();
}
}
@Test
- public void testUpdateApiRouteStatus2Redis(){
+ public void testUpdateApiRouteStatus2Redis() {
ApiRouteInfo apirouteInfo = new ApiRouteInfo();
apirouteInfo.setServiceName("testapi");
apirouteInfo.setVersion("v1");
apirouteInfo.setUseOwnUpstream("0");
apirouteInfo.setVisualRange("0");
apirouteInfo.setEnable_ssl(true);
- RouteServer[] servers = new RouteServer[]{new RouteServer("10.74.148.88","8080")};
+ RouteServer[] servers = new RouteServer[] {new RouteServer("10.74.148.88", "8080")};
apirouteInfo.setServers(servers);
try {
- apiRouteService.saveApiRouteService2Redis(apirouteInfo,"msb:routing:api:testapi:v1");
+ apiRouteService.saveApiRouteService2Redis(apirouteInfo, "msb:routing:api:testapi:v1");
assertEquals("1", apiRouteService.getApiRouteInstance("msb:routing:api:testapi:v1").getStatus());
- apiRouteService.updateApiRouteStatus2Redis("msb:routing:api:testapi:v1","0");
+ apiRouteService.updateApiRouteStatus2Redis("msb:routing:api:testapi:v1", "0");
assertEquals("0", apiRouteService.getApiRouteInstance("msb:routing:api:testapi:v1").getStatus());
} catch (Exception e) {
- assert false:"throw exception means error occured!"+e.getMessage();
+ assert false : "throw exception means error occured!" + e.getMessage();
}
}
apirouteInfo.setUseOwnUpstream("0");
apirouteInfo.setVisualRange("0");
apirouteInfo.setEnable_ssl(false);
- apirouteInfo.setServers(new RouteServer[]{new RouteServer("10.74.148.88","8080")});
+ apirouteInfo.setServers(new RouteServer[] {new RouteServer("10.74.148.88", "8080")});
ApiRouteInfo apirouteInfo2 = new ApiRouteInfo();
apirouteInfo2.setServiceName("testapi");
apirouteInfo2.setUseOwnUpstream("0");
apirouteInfo2.setVisualRange("0");;
apirouteInfo.setEnable_ssl(true);
- apirouteInfo2.setServers(new RouteServer[]{new RouteServer("10.74.148.88","8088")});
+ apirouteInfo2.setServers(new RouteServer[] {new RouteServer("10.74.148.88", "8088")});
- apiRouteService.saveApiRouteService2Redis(apirouteInfo,"msb:routing:api:testapi:v1");
- apiRouteService.saveApiRouteService2Redis(apirouteInfo2,"msb:routing:api:testapi:v2");
+ apiRouteService.saveApiRouteService2Redis(apirouteInfo, "msb:routing:api:testapi:v1");
+ apiRouteService.saveApiRouteService2Redis(apirouteInfo2, "msb:routing:api:testapi:v2");
List<ApiRouteInfo> expected = new ArrayList<>();
expected.add(apirouteInfo);
apirouteInfo.setUseOwnUpstream("0");
apirouteInfo.setVisualRange("0");
apirouteInfo.setEnable_ssl(false);
- apirouteInfo.setServers(new RouteServer[]{new RouteServer("10.74.148.88","8080")});
+ apirouteInfo.setServers(new RouteServer[] {new RouteServer("10.74.148.88", "8080")});
ApiRouteInfo apirouteInfo2 = new ApiRouteInfo();
apirouteInfo2.setServiceName("testapi");
apirouteInfo2.setUseOwnUpstream("0");
apirouteInfo2.setVisualRange("0");;
apirouteInfo.setEnable_ssl(true);
- apirouteInfo2.setServers(new RouteServer[]{new RouteServer("10.74.148.88","8088")});
- apiRouteService.saveApiRouteService2Redis(apirouteInfo,"msb:routing:api:testapi:v1");
- apiRouteService.saveApiRouteService2Redis(apirouteInfo2,"msb:routing:api:testapi:v2");
+ apirouteInfo2.setServers(new RouteServer[] {new RouteServer("10.74.148.88", "8088")});
+ apiRouteService.saveApiRouteService2Redis(apirouteInfo, "msb:routing:api:testapi:v1");
+ apiRouteService.saveApiRouteService2Redis(apirouteInfo2, "msb:routing:api:testapi:v2");
- assertEquals(2,apiRouteService.getMultiApiRouteInstances("msb:routing:api:testapi:*").size());
- assertEquals(2,apiRouteService.deleteMultiApiRouteService2Redis("msb:routing:api:testapi:*"));
- assertEquals(0,apiRouteService.getMultiApiRouteInstances("msb:routing:api:testapi:*").size());
+ assertEquals(2, apiRouteService.getMultiApiRouteInstances("msb:routing:api:testapi:*").size());
+ assertEquals(2, apiRouteService.deleteMultiApiRouteService2Redis("msb:routing:api:testapi:*"));
+ assertEquals(0, apiRouteService.getMultiApiRouteInstances("msb:routing:api:testapi:*").size());
}
@Test(expected = Exception.class)
public void testUpdateApiRouteStatus2Redis_keyNotExist() throws Exception {
- apiRouteService.updateApiRouteStatus2Redis("msb:routing:api:notexistservice:v1","0");
+ apiRouteService.updateApiRouteStatus2Redis("msb:routing:api:notexistservice:v1", "0");
}
@Test(expected = Exception.class)
public void testSaveApiRouteService2Redis_null() throws Exception {
- apiRouteService.saveApiRouteService2Redis(null,"msb:routing:api:null:v1");
+ apiRouteService.saveApiRouteService2Redis(null, "msb:routing:api:null:v1");
}
}