import static org.mockito.Mockito.when;\r
\r
public class MSBServiceManagerTest {\r
- @Mock\r
- private MSBServiceClient msbClient;\r
- \r
- @Rule\r
- public ExpectedException expectedException = ExpectedException.none();\r
+ @Mock\r
+ private MSBServiceClient msbClient;\r
\r
- private MSBServiceManager msbManager;\r
-\r
- public MSBServiceManagerTest(){}\r
-\r
- @BeforeClass\r
- public static void setUpClass(){}\r
-\r
- @AfterClass\r
- public static void tearDownClass(){}\r
-\r
- @Before\r
- public void setUp() throws Exception {\r
- MockitoAnnotations.initMocks(this);\r
- msbManager = new MSBServiceManager(msbClient);\r
- }\r
-\r
- @After\r
- public void tearDown() {\r
- }\r
-\r
- @Test\r
- public void testByActor () throws RouteException,UnknownHostException {\r
- MicroServiceFullInfo serviceInfo = this.build(InetAddress.getLocalHost().getHostAddress(),"8843");\r
- when(msbClient.queryMicroServiceInfo("aai-search","v11")).thenReturn(serviceInfo);\r
- Node node = msbManager.getNode("AAI");\r
- assertNotNull(node);\r
- serviceInfo = this.build(InetAddress.getLocalHost().getHostAddress(),"8840");\r
- when(msbClient.queryMicroServiceInfo("so","v2")).thenReturn(serviceInfo);\r
- node = msbManager.getNode("SO");\r
- assertNotNull(node);\r
-\r
- serviceInfo = this.build(InetAddress.getLocalHost().getHostAddress(),"8082");\r
- when(msbClient.queryMicroServiceInfo("nfvo-nslcm","v1")).thenReturn(serviceInfo);\r
- node = msbManager.getNode("VFC");\r
- assertNotNull(node);\r
-\r
- }\r
-\r
- @Test\r
- public void testByActor_when_actorNotExist_returnNull () throws RouteException,UnknownHostException {\r
- MicroServiceFullInfo serviceInfo = this.build(InetAddress.getLocalHost().getHostAddress(),"8843");\r
- when(msbClient.queryMicroServiceInfo("aai-search","v11")).thenReturn(serviceInfo);\r
- Node node = msbManager.getNode("DDD");\r
- assertNull(node);\r
- }\r
-\r
- @Test\r
- public void testByServiceNameAndVersion () throws RouteException,UnknownHostException {\r
- MicroServiceFullInfo serviceInfo = this.build(InetAddress.getLocalHost().getHostAddress(),"8843");\r
- when(msbClient.queryMicroServiceInfo("aai-search","v11")).thenReturn(serviceInfo);\r
- Node node = msbManager.getNode("aai-search","v11");\r
- assertNotNull(node);\r
- }\r
-\r
- @Test\r
- public void testByServiceNameAndVersion_when_serice_notRegistedToMSB () throws RouteException,UnknownHostException {\r
- MicroServiceFullInfo serviceInfo = this.build(InetAddress.getLocalHost().getHostAddress(),"8843");\r
- when(msbClient.queryMicroServiceInfo("aai-search","v11")).thenThrow(new RouteException());\r
- Node node = msbManager.getNode("aai-search","v11");\r
- assertNotNull(node);\r
- assertTrue(node.getName() == "aai-search");\r
- assertTrue(node.getIp() == null);\r
- assertTrue(node.getPort() == null);\r
- }\r
- \r
- @Test\r
- public void testReadMsbPolicyProperites_noPropertyFileSpecifed_throwsException() throws MSBServiceException, IOException {\r
- expectedException.expect(MSBServiceException.class);\r
- expectedException.expectMessage("No msb.policy.properties specified.");\r
- System.clearProperty("msb.policy.properties");\r
- msbManager = new MSBServiceManager();\r
- }\r
- \r
- @Test \r
- public void testReadMsbPolicyProperites_propertyFileDoesNotExist_throwsException() throws MSBServiceException, IOException {\r
- expectedException.expect(MSBServiceException.class);\r
- expectedException.expectMessage("No msb.policy.properties specified.");\r
- System.setProperty("msb.policy.properties", "nonExistingPropertyFile.txt");\r
- msbManager = new MSBServiceManager();\r
- System.clearProperty("msb.policy.properties");\r
- }\r
- \r
- @Test \r
- public void testReadMsbPolicyProperites_propertyFileExists() throws MSBServiceException, IOException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {\r
- System.setProperty("msb.policy.properties", "src/test/resources/msbPropertyFile.properties");\r
- msbManager = new MSBServiceManager();\r
- System.clearProperty("msb.policy.properties");\r
- \r
- Field factoryField = msbManager.getClass().getDeclaredField("factory");\r
- factoryField.setAccessible(true);\r
- MSBServiceFactory msbServiceFactory = (MSBServiceFactory) factoryField.get(msbManager);\r
- \r
- Field msbClientField = msbServiceFactory.getClass().getDeclaredField("msbClient");\r
- msbClientField.setAccessible(true);\r
- MSBServiceClient msbClient = (MSBServiceClient) msbClientField.get(msbServiceFactory);\r
- assertEquals("127.0.0.1:20", msbClient.getMsbSvrAddress());\r
- }\r
-\r
- public static MicroServiceFullInfo build(String ip,String port){\r
- MicroServiceFullInfo serviceInfo = new MicroServiceFullInfo();\r
- Set<NodeInfo> nodes = new HashSet<NodeInfo>();\r
- NodeInfo node= new NodeInfo();\r
- node.setPort(port);\r
- node.setIp(ip);\r
- nodes.add(node);\r
- serviceInfo.setNodes(nodes);\r
- return serviceInfo;\r
- }\r
+ @Rule\r
+ public ExpectedException expectedException = ExpectedException.none();\r
\r
+ private MSBServiceManager msbManager;\r
+\r
+ public MSBServiceManagerTest(){}\r
+\r
+ @BeforeClass\r
+ public static void setUpClass(){}\r
+\r
+ @AfterClass\r
+ public static void tearDownClass(){}\r
+\r
+ @Before\r
+ public void setUp() throws Exception {\r
+ MockitoAnnotations.initMocks(this);\r
+ msbManager = new MSBServiceManager(msbClient);\r
+ }\r
+\r
+ @After\r
+ public void tearDown() {\r
+ }\r
+\r
+ @Test\r
+ public void testByActor () throws RouteException,UnknownHostException {\r
+ MicroServiceFullInfo serviceInfo = MSBServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(),"8843");\r
+ when(msbClient.queryMicroServiceInfo("aai-search","v11")).thenReturn(serviceInfo);\r
+ Node node = msbManager.getNode("AAI");\r
+ assertNotNull(node);\r
+ serviceInfo = MSBServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(),"8840");\r
+ when(msbClient.queryMicroServiceInfo("so","v2")).thenReturn(serviceInfo);\r
+ node = msbManager.getNode("SO");\r
+ assertNotNull(node);\r
+\r
+ serviceInfo = MSBServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(),"8082");\r
+ when(msbClient.queryMicroServiceInfo("nfvo-nslcm","v1")).thenReturn(serviceInfo);\r
+ node = msbManager.getNode("VFC");\r
+ assertNotNull(node);\r
+\r
+ }\r
+\r
+ @Test\r
+ public void testByActor_when_actorNotExist_returnNull () throws RouteException,UnknownHostException {\r
+ MicroServiceFullInfo serviceInfo = MSBServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(),"8843");\r
+ when(msbClient.queryMicroServiceInfo("aai-search","v11")).thenReturn(serviceInfo);\r
+ Node node = msbManager.getNode("DDD");\r
+ assertNull(node);\r
+ }\r
+\r
+ @Test\r
+ public void testByServiceNameAndVersion () throws RouteException,UnknownHostException {\r
+ MicroServiceFullInfo serviceInfo = MSBServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(),"8843");\r
+ when(msbClient.queryMicroServiceInfo("aai-search","v11")).thenReturn(serviceInfo);\r
+ Node node = msbManager.getNode("aai-search","v11");\r
+ assertNotNull(node);\r
+ }\r
+\r
+ @Test\r
+ public void testByServiceNameAndVersion_when_serice_notRegistedToMSB () throws RouteException,UnknownHostException {\r
+ MSBServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(),"8843");\r
+ when(msbClient.queryMicroServiceInfo("aai-search","v11")).thenThrow(new RouteException());\r
+ Node node = msbManager.getNode("aai-search","v11");\r
+ assertNotNull(node);\r
+ assertTrue(node.getName() == "aai-search");\r
+ assertTrue(node.getIp() == null);\r
+ assertTrue(node.getPort() == null);\r
+ }\r
+\r
+ @Test\r
+ public void testReadMsbPolicyProperites_noPropertyFileSpecifed_throwsException() throws MSBServiceException, IOException {\r
+ expectedException.expect(MSBServiceException.class);\r
+ expectedException.expectMessage("No msb.policy.properties specified.");\r
+ System.clearProperty("msb.policy.properties");\r
+ msbManager = new MSBServiceManager();\r
+ }\r
+\r
+ @Test \r
+ public void testReadMsbPolicyProperites_propertyFileDoesNotExist_throwsException() throws MSBServiceException, IOException {\r
+ expectedException.expect(MSBServiceException.class);\r
+ expectedException.expectMessage("No msb.policy.properties specified.");\r
+ System.setProperty("msb.policy.properties", "nonExistingPropertyFile.txt");\r
+ msbManager = new MSBServiceManager();\r
+ System.clearProperty("msb.policy.properties");\r
+ }\r
+\r
+ @Test \r
+ public void testReadMsbPolicyProperites_propertyFileExists() throws MSBServiceException, IOException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {\r
+ System.setProperty("msb.policy.properties", "src/test/resources/msbPropertyFile.properties");\r
+ msbManager = new MSBServiceManager();\r
+ System.clearProperty("msb.policy.properties");\r
+\r
+ Field factoryField = msbManager.getClass().getDeclaredField("factory");\r
+ factoryField.setAccessible(true);\r
+ MSBServiceFactory msbServiceFactory = (MSBServiceFactory) factoryField.get(msbManager);\r
+\r
+ Field msbClientField = msbServiceFactory.getClass().getDeclaredField("msbClient");\r
+ msbClientField.setAccessible(true);\r
+ MSBServiceClient msbClient = (MSBServiceClient) msbClientField.get(msbServiceFactory);\r
+ assertEquals("127.0.0.1:20", msbClient.getMsbSvrAddress());\r
+ }\r
+\r
+ public static MicroServiceFullInfo build(String ip,String port){\r
+ MicroServiceFullInfo serviceInfo = new MicroServiceFullInfo();\r
+ Set<NodeInfo> nodes = new HashSet<NodeInfo>();\r
+ NodeInfo node= new NodeInfo();\r
+ node.setPort(port);\r
+ node.setIp(ip);\r
+ nodes.add(node);\r
+ serviceInfo.setNodes(nodes);\r
+ return serviceInfo;\r
+ }\r
}\r