package org.onap.policy.msb.client;\r
\r
import org.junit.*;\r
+import org.junit.rules.ExpectedException;\r
import org.mockito.Mock;\r
import org.mockito.MockitoAnnotations;\r
import org.onap.msb.sdk.discovery.common.RouteException;\r
import org.onap.policy.msb.client.MSBServiceManager;\r
import org.onap.policy.msb.client.Node;\r
\r
+import java.io.IOException;\r
+import java.lang.reflect.Field;\r
import java.net.InetAddress;\r
import java.net.UnknownHostException;\r
import java.util.HashSet;\r
import java.util.Set;\r
\r
+import static org.junit.Assert.assertEquals;\r
import static org.junit.Assert.assertNotNull;\r
import static org.junit.Assert.assertNull;\r
import static org.junit.Assert.assertTrue;\r
public class MSBServiceManagerTest {\r
@Mock\r
private MSBServiceClient msbClient;\r
+ \r
+ @Rule\r
+ public ExpectedException expectedException = ExpectedException.none();\r
\r
private MSBServiceManager msbManager;\r
\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