summaryrefslogtreecommitdiffstats
path: root/controlloop/common/msb/src
diff options
context:
space:
mode:
Diffstat (limited to 'controlloop/common/msb/src')
-rw-r--r--controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MSBServiceException.java41
-rw-r--r--controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MsbServiceException.java42
-rw-r--r--controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MsbServiceFactory.java (renamed from controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MSBServiceFactory.java)228
-rw-r--r--controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MsbServiceManager.java (renamed from controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MSBServiceManager.java)115
-rw-r--r--controlloop/common/msb/src/main/java/org/onap/policy/msb/client/Node.java15
-rw-r--r--controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MSBServiceManagerTest.java155
-rw-r--r--controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MsbServiceExceptionTest.java (renamed from controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MSBServiceExceptionTest.java)13
-rw-r--r--controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MsbServiceManagerTest.java173
-rw-r--r--controlloop/common/msb/src/test/java/org/onap/policy/msb/client/NodeTest.java73
9 files changed, 448 insertions, 407 deletions
diff --git a/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MSBServiceException.java b/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MSBServiceException.java
deleted file mode 100644
index 2342e1695..000000000
--- a/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MSBServiceException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright 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.policy.msb.client;
-
-public class MSBServiceException extends Exception {
- private static final long serialVersionUID = 5227416822833497317L;
-
- public MSBServiceException() {
- super();
- }
-
- public MSBServiceException(String message, Throwable cause, boolean enableSuppression,
- boolean writableStackTrace) {
- super(message, cause, enableSuppression, writableStackTrace);
- }
-
- public MSBServiceException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public MSBServiceException(String message) {
- super(message);
- }
-
- public MSBServiceException(Throwable cause) {
- super(cause);
- }
-
-}
diff --git a/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MsbServiceException.java b/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MsbServiceException.java
new file mode 100644
index 000000000..ebd2e32ff
--- /dev/null
+++ b/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MsbServiceException.java
@@ -0,0 +1,42 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright 2017-2018 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.msb.client;
+
+public class MsbServiceException extends Exception {
+ private static final long serialVersionUID = 5227416822833497317L;
+
+ public MsbServiceException() {
+ super();
+ }
+
+ public MsbServiceException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
+ super(message, cause, enableSuppression, writableStackTrace);
+ }
+
+ public MsbServiceException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public MsbServiceException(String message) {
+ super(message);
+ }
+
+ public MsbServiceException(Throwable cause) {
+ super(cause);
+ }
+
+}
diff --git a/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MSBServiceFactory.java b/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MsbServiceFactory.java
index 7ebb5d6dc..91e36c01d 100644
--- a/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MSBServiceFactory.java
+++ b/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MsbServiceFactory.java
@@ -1,106 +1,122 @@
-/*******************************************************************************
- * Copyright 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.policy.msb.client;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Serializable;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Properties;
-
-import org.onap.msb.sdk.discovery.common.RouteException;
-import org.onap.msb.sdk.discovery.entity.MicroServiceFullInfo;
-import org.onap.msb.sdk.discovery.entity.NodeInfo;
-import org.onap.msb.sdk.httpclient.msb.MSBServiceClient;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-public class MSBServiceFactory implements Serializable {
- private static final long serialVersionUID = 4638414146278012425L;
- private static final Logger logger = LoggerFactory.getLogger(MSBServiceFactory.class);
- private static final String MSB_PROPERTY_FILE = "msb.policy.properties";
- private static final String MSB_IP = "msb.ip";
- private static final String MSB_PORT = "msb.port";
- private transient MSBServiceClient msbClient;
- private Properties properties;
-
- public MSBServiceFactory() throws MSBServiceException,IOException{
- this.init();
- this.msbClient = new MSBServiceClient(properties.getProperty(MSB_IP), Integer.parseInt(properties.getProperty(MSB_PORT)));
- }
- public MSBServiceFactory (MSBServiceClient msbClient) {
- this.msbClient = msbClient;
- }
-
- private void init() throws MSBServiceException,IOException {
- properties = new Properties();
- String propertyFilePath = System.getProperty(MSB_PROPERTY_FILE);
- if (propertyFilePath == null) {
- throw new MSBServiceException("No msb.policy.properties specified.");
- }
- Path file = Paths.get(propertyFilePath);
- if (!file.toFile().exists()) {
- throw new MSBServiceException("No msb.policy.properties specified.");
- }
-
- if (!Files.isReadable(file)) {
- throw new MSBServiceException ("Repository is NOT readable: " + file.toAbsolutePath());
- }
- try(InputStream is = new FileInputStream(file.toFile())){
- properties.load(is);
- }
- }
-
-
- public Node getNode(String serviceName,String version){
- return this.build(serviceName,version);
- }
-
- public Node getNode(String actor){
- Node node = null;
- switch (actor) {
- case "AAI":
- node = this.build("aai-search","v11");
- return node;
- case "SO":
- node = this.build("so","v2");
- return node;
- case "VFC":
- node = this.build("nfvo-nslcm","v1");
- return node;
- default:
- logger.info("MSBServiceManager: policy has an unknown actor.");
- }
- return node;
- }
-
- private Node build(String serviceName,String version){
- Node node = new Node();
- node.setName(serviceName);
- try {
- MicroServiceFullInfo serviceInfo = msbClient.queryMicroServiceInfo(serviceName,version);
- for (NodeInfo nodeInfo: serviceInfo.getNodes()){
- node.setIp(nodeInfo.getIp());
- node.setPort(nodeInfo.getPort());
- }
- } catch (RouteException e) {
- logger.info("MSBServiceManager:",e);
- }
- return node;
- }
-}
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright 2017-2018 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.msb.client;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Serializable;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Properties;
+
+import org.onap.msb.sdk.discovery.common.RouteException;
+import org.onap.msb.sdk.discovery.entity.MicroServiceFullInfo;
+import org.onap.msb.sdk.discovery.entity.NodeInfo;
+import org.onap.msb.sdk.httpclient.msb.MSBServiceClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class MsbServiceFactory implements Serializable {
+ private static final long serialVersionUID = 4638414146278012425L;
+ private static final Logger logger = LoggerFactory.getLogger(MsbServiceFactory.class);
+ private static final String MSB_PROPERTY_FILE = "msb.policy.properties";
+ private static final String MSB_IP = "msb.ip";
+ private static final String MSB_PORT = "msb.port";
+ private transient MSBServiceClient msbClient;
+ private Properties properties;
+
+ /**
+ * Construct an instance.
+ *
+ * @throws MsbServiceException if an error occurs
+ * @throws IOException if an IO error occurs
+ */
+ public MsbServiceFactory() throws MsbServiceException, IOException {
+ this.init();
+ this.msbClient = new MSBServiceClient(properties.getProperty(MSB_IP),
+ Integer.parseInt(properties.getProperty(MSB_PORT)));
+ }
+
+ public MsbServiceFactory(MSBServiceClient msbClient) {
+ this.msbClient = msbClient;
+ }
+
+ private void init() throws MsbServiceException, IOException {
+ properties = new Properties();
+ String propertyFilePath = System.getProperty(MSB_PROPERTY_FILE);
+ if (propertyFilePath == null) {
+ throw new MsbServiceException("No msb.policy.properties specified.");
+ }
+ Path file = Paths.get(propertyFilePath);
+ if (!file.toFile().exists()) {
+ throw new MsbServiceException("No msb.policy.properties specified.");
+ }
+
+ if (!Files.isReadable(file)) {
+ throw new MsbServiceException("Repository is NOT readable: " + file.toAbsolutePath());
+ }
+ try (InputStream is = new FileInputStream(file.toFile())) {
+ properties.load(is);
+ }
+ }
+
+
+ public Node getNode(String serviceName, String version) {
+ return this.build(serviceName, version);
+ }
+
+ /**
+ * Get the node for the given actor.
+ *
+ * @param actor the actor
+ * @return the node
+ */
+ public Node getNode(String actor) {
+ Node node = null;
+ switch (actor) {
+ case "AAI":
+ node = this.build("aai-search", "v11");
+ return node;
+ case "SO":
+ node = this.build("so", "v2");
+ return node;
+ case "VFC":
+ node = this.build("nfvo-nslcm", "v1");
+ return node;
+ default:
+ logger.info("MSBServiceManager: policy has an unknown actor.");
+ }
+ return node;
+ }
+
+ private Node build(String serviceName, String version) {
+ Node node = new Node();
+ node.setName(serviceName);
+ try {
+ MicroServiceFullInfo serviceInfo = msbClient.queryMicroServiceInfo(serviceName, version);
+ for (NodeInfo nodeInfo : serviceInfo.getNodes()) {
+ node.setIp(nodeInfo.getIp());
+ node.setPort(nodeInfo.getPort());
+ }
+ } catch (RouteException e) {
+ logger.info("MSBServiceManager:", e);
+ }
+ return node;
+ }
+}
diff --git a/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MSBServiceManager.java b/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MsbServiceManager.java
index ccb13ece4..aca3ff28f 100644
--- a/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MSBServiceManager.java
+++ b/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/MsbServiceManager.java
@@ -1,55 +1,60 @@
-/*******************************************************************************
- * Copyright 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.policy.msb.client;
-
-import org.onap.msb.sdk.httpclient.msb.MSBServiceClient;
-
-import java.io.IOException;
-import java.io.Serializable;
-
-public class MSBServiceManager implements Serializable {
- private static final long serialVersionUID = -2517971308551895215L;
- private MSBServiceFactory factory;
-
- public MSBServiceManager() throws MSBServiceException,IOException {
- this.factory = new MSBServiceFactory();
- }
-
- public MSBServiceManager(MSBServiceClient msbClient){
-
- this.factory = new MSBServiceFactory(msbClient);
- }
-
- /**
- * Get the IP and port of the components registered in the MSB
- * @param actor AAI or SO or VFC
- * @return
- */
- public Node getNode(String actor){
-
- return factory.getNode(actor);
- }
-
- /**
- * Get the IP and port of the components registered in the MSB
- * @param serviceName the service name registered in the MSB
- * @param version the service version registered in the MSB
- * @return
- */
- public Node getNode(String serviceName,String version){
-
- return factory.getNode(serviceName,version);
- }
-
-}
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright 2017-2018 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.msb.client;
+
+import java.io.IOException;
+import java.io.Serializable;
+
+import org.onap.msb.sdk.httpclient.msb.MSBServiceClient;
+
+public class MsbServiceManager implements Serializable {
+ private static final long serialVersionUID = -2517971308551895215L;
+ private MsbServiceFactory factory;
+
+ public MsbServiceManager() throws MsbServiceException, IOException {
+ this.factory = new MsbServiceFactory();
+ }
+
+ public MsbServiceManager(MSBServiceClient msbClient) {
+
+ this.factory = new MsbServiceFactory(msbClient);
+ }
+
+ /**
+ * Get the IP and port of the components registered in the MSB.
+ *
+ * @param actor AAI or SO or VFC
+ * @return the node
+ */
+ public Node getNode(String actor) {
+
+ return factory.getNode(actor);
+ }
+
+ /**
+ * Get the IP and port of the components registered in the MSB.
+ *
+ * @param serviceName the service name registered in the MSB
+ * @param version the service version registered in the MSB
+ * @return the node
+ */
+ public Node getNode(String serviceName, String version) {
+
+ return factory.getNode(serviceName, version);
+ }
+
+}
diff --git a/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/Node.java b/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/Node.java
index 5c06939bf..f42b82e3c 100644
--- a/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/Node.java
+++ b/controlloop/common/msb/src/main/java/org/onap/policy/msb/client/Node.java
@@ -1,5 +1,6 @@
-/*******************************************************************************
- * Copyright 2017 ZTE, Inc. and others.
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright 2017-2018 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
@@ -10,7 +11,9 @@
* 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.
- ******************************************************************************/
+ * ============LICENSE_END=========================================================
+ */
+
package org.onap.policy.msb.client;
import java.io.Serializable;
@@ -47,10 +50,6 @@ public class Node implements Serializable {
@Override
public String toString() {
- return "Node{" +
- "name='" + name + '\'' +
- ", ip='" + ip + '\'' +
- ", port='" + port + '\'' +
- '}';
+ return "Node{" + "name='" + name + '\'' + ", ip='" + ip + '\'' + ", port='" + port + '\'' + '}';
}
}
diff --git a/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MSBServiceManagerTest.java b/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MSBServiceManagerTest.java
deleted file mode 100644
index 4edb168f0..000000000
--- a/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MSBServiceManagerTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright 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.policy.msb.client;
-
-import org.junit.*;
-import org.junit.rules.ExpectedException;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.onap.msb.sdk.discovery.common.RouteException;
-import org.onap.msb.sdk.discovery.entity.MicroServiceFullInfo;
-import org.onap.msb.sdk.discovery.entity.NodeInfo;
-import org.onap.msb.sdk.httpclient.msb.MSBServiceClient;
-import org.onap.policy.msb.client.MSBServiceManager;
-import org.onap.policy.msb.client.Node;
-
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.HashSet;
-import java.util.Set;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.when;
-
-public class MSBServiceManagerTest {
- @Mock
- private MSBServiceClient msbClient;
-
- @Rule
- public ExpectedException expectedException = ExpectedException.none();
-
- private MSBServiceManager msbManager;
-
- public MSBServiceManagerTest(){}
-
- @BeforeClass
- public static void setUpClass(){}
-
- @AfterClass
- public static void tearDownClass(){}
-
- @Before
- public void setUp() throws Exception {
- MockitoAnnotations.initMocks(this);
- msbManager = new MSBServiceManager(msbClient);
- }
-
- @After
- public void tearDown() {
- }
-
- @Test
- public void testByActor () throws RouteException,UnknownHostException {
- MicroServiceFullInfo serviceInfo = MSBServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(),"8843");
- when(msbClient.queryMicroServiceInfo("aai-search","v11")).thenReturn(serviceInfo);
- Node node = msbManager.getNode("AAI");
- assertNotNull(node);
- serviceInfo = MSBServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(),"8840");
- when(msbClient.queryMicroServiceInfo("so","v2")).thenReturn(serviceInfo);
- node = msbManager.getNode("SO");
- assertNotNull(node);
-
- serviceInfo = MSBServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(),"8082");
- when(msbClient.queryMicroServiceInfo("nfvo-nslcm","v1")).thenReturn(serviceInfo);
- node = msbManager.getNode("VFC");
- assertNotNull(node);
-
- }
-
- @Test
- public void testByActor_when_actorNotExist_returnNull () throws RouteException,UnknownHostException {
- MicroServiceFullInfo serviceInfo = MSBServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(),"8843");
- when(msbClient.queryMicroServiceInfo("aai-search","v11")).thenReturn(serviceInfo);
- Node node = msbManager.getNode("DDD");
- assertNull(node);
- }
-
- @Test
- public void testByServiceNameAndVersion () throws RouteException,UnknownHostException {
- MicroServiceFullInfo serviceInfo = MSBServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(),"8843");
- when(msbClient.queryMicroServiceInfo("aai-search","v11")).thenReturn(serviceInfo);
- Node node = msbManager.getNode("aai-search","v11");
- assertNotNull(node);
- }
-
- @Test
- public void testByServiceNameAndVersion_when_serice_notRegistedToMSB () throws RouteException,UnknownHostException {
- MSBServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(),"8843");
- when(msbClient.queryMicroServiceInfo("aai-search","v11")).thenThrow(new RouteException());
- Node node = msbManager.getNode("aai-search","v11");
- assertNotNull(node);
- assertTrue(node.getName() == "aai-search");
- assertTrue(node.getIp() == null);
- assertTrue(node.getPort() == null);
- }
-
- @Test
- public void testReadMsbPolicyProperites_noPropertyFileSpecifed_throwsException() throws MSBServiceException, IOException {
- expectedException.expect(MSBServiceException.class);
- expectedException.expectMessage("No msb.policy.properties specified.");
- System.clearProperty("msb.policy.properties");
- msbManager = new MSBServiceManager();
- }
-
- @Test
- public void testReadMsbPolicyProperites_propertyFileDoesNotExist_throwsException() throws MSBServiceException, IOException {
- expectedException.expect(MSBServiceException.class);
- expectedException.expectMessage("No msb.policy.properties specified.");
- System.setProperty("msb.policy.properties", "nonExistingPropertyFile.txt");
- msbManager = new MSBServiceManager();
- System.clearProperty("msb.policy.properties");
- }
-
- @Test
- public void testReadMsbPolicyProperites_propertyFileExists() throws MSBServiceException, IOException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
- System.setProperty("msb.policy.properties", "src/test/resources/msbPropertyFile.properties");
- msbManager = new MSBServiceManager();
- System.clearProperty("msb.policy.properties");
-
- Field factoryField = msbManager.getClass().getDeclaredField("factory");
- factoryField.setAccessible(true);
- MSBServiceFactory msbServiceFactory = (MSBServiceFactory) factoryField.get(msbManager);
-
- Field msbClientField = msbServiceFactory.getClass().getDeclaredField("msbClient");
- msbClientField.setAccessible(true);
- MSBServiceClient msbClient = (MSBServiceClient) msbClientField.get(msbServiceFactory);
- assertEquals("127.0.0.1:20", msbClient.getMsbSvrAddress());
- }
-
- public static MicroServiceFullInfo build(String ip,String port){
- MicroServiceFullInfo serviceInfo = new MicroServiceFullInfo();
- Set<NodeInfo> nodes = new HashSet<NodeInfo>();
- NodeInfo node= new NodeInfo();
- node.setPort(port);
- node.setIp(ip);
- nodes.add(node);
- serviceInfo.setNodes(nodes);
- return serviceInfo;
- }
-}
diff --git a/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MSBServiceExceptionTest.java b/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MsbServiceExceptionTest.java
index 80c453eff..059eecdee 100644
--- a/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MSBServiceExceptionTest.java
+++ b/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MsbServiceExceptionTest.java
@@ -15,16 +15,17 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.policy.msb.client;
import org.junit.Test;
import org.onap.policy.common.utils.test.ExceptionsTester;
-public class MSBServiceExceptionTest extends ExceptionsTester{
-
- @Test
- public void test() throws Exception {
- test(MSBServiceException.class);
- }
+public class MsbServiceExceptionTest extends ExceptionsTester {
+
+ @Test
+ public void test() throws Exception {
+ test(MsbServiceException.class);
+ }
}
diff --git a/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MsbServiceManagerTest.java b/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MsbServiceManagerTest.java
new file mode 100644
index 000000000..32025fb3c
--- /dev/null
+++ b/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/MsbServiceManagerTest.java
@@ -0,0 +1,173 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright 2017-2018 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.msb.client;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.onap.msb.sdk.discovery.common.RouteException;
+import org.onap.msb.sdk.discovery.entity.MicroServiceFullInfo;
+import org.onap.msb.sdk.discovery.entity.NodeInfo;
+import org.onap.msb.sdk.httpclient.msb.MSBServiceClient;
+
+public class MsbServiceManagerTest {
+ @Mock
+ private MSBServiceClient msbClient;
+
+ @Rule
+ public ExpectedException expectedException = ExpectedException.none();
+
+ private MsbServiceManager msbManager;
+
+ public MsbServiceManagerTest() {}
+
+ @BeforeClass
+ public static void setUpClass() {}
+
+ @AfterClass
+ public static void tearDownClass() {}
+
+ @Before
+ public void setUp() throws Exception {
+ MockitoAnnotations.initMocks(this);
+ msbManager = new MsbServiceManager(msbClient);
+ }
+
+ @After
+ public void tearDown() {}
+
+ @Test
+ public void testByActor() throws RouteException, UnknownHostException {
+ MicroServiceFullInfo serviceInfo =
+ MsbServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(), "8843");
+ when(msbClient.queryMicroServiceInfo("aai-search", "v11")).thenReturn(serviceInfo);
+ Node node = msbManager.getNode("AAI");
+ assertNotNull(node);
+ serviceInfo = MsbServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(), "8840");
+ when(msbClient.queryMicroServiceInfo("so", "v2")).thenReturn(serviceInfo);
+ node = msbManager.getNode("SO");
+ assertNotNull(node);
+
+ serviceInfo = MsbServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(), "8082");
+ when(msbClient.queryMicroServiceInfo("nfvo-nslcm", "v1")).thenReturn(serviceInfo);
+ node = msbManager.getNode("VFC");
+ assertNotNull(node);
+
+ }
+
+ @Test
+ public void testByActor_when_actorNotExist_returnNull() throws RouteException, UnknownHostException {
+ MicroServiceFullInfo serviceInfo =
+ MsbServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(), "8843");
+ when(msbClient.queryMicroServiceInfo("aai-search", "v11")).thenReturn(serviceInfo);
+ Node node = msbManager.getNode("DDD");
+ assertNull(node);
+ }
+
+ @Test
+ public void testByServiceNameAndVersion() throws RouteException, UnknownHostException {
+ MicroServiceFullInfo serviceInfo =
+ MsbServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(), "8843");
+ when(msbClient.queryMicroServiceInfo("aai-search", "v11")).thenReturn(serviceInfo);
+ Node node = msbManager.getNode("aai-search", "v11");
+ assertNotNull(node);
+ }
+
+ @Test
+ public void testByServiceNameAndVersion_when_serice_notRegistedToMsb() throws RouteException, UnknownHostException {
+ MsbServiceManagerTest.build(InetAddress.getLocalHost().getHostAddress(), "8843");
+ when(msbClient.queryMicroServiceInfo("aai-search", "v11")).thenThrow(new RouteException());
+ Node node = msbManager.getNode("aai-search", "v11");
+ assertNotNull(node);
+ assertTrue(node.getName() == "aai-search");
+ assertTrue(node.getIp() == null);
+ assertTrue(node.getPort() == null);
+ }
+
+ @Test
+ public void testReadMsbPolicyProperites_noPropertyFileSpecifed_throwsException()
+ throws MsbServiceException, IOException {
+ expectedException.expect(MsbServiceException.class);
+ expectedException.expectMessage("No msb.policy.properties specified.");
+ System.clearProperty("msb.policy.properties");
+ msbManager = new MsbServiceManager();
+ }
+
+ @Test
+ public void testReadMsbPolicyProperites_propertyFileDoesNotExist_throwsException()
+ throws MsbServiceException, IOException {
+ expectedException.expect(MsbServiceException.class);
+ expectedException.expectMessage("No msb.policy.properties specified.");
+ System.setProperty("msb.policy.properties", "nonExistingPropertyFile.txt");
+ msbManager = new MsbServiceManager();
+ System.clearProperty("msb.policy.properties");
+ }
+
+ @Test
+ public void testReadMsbPolicyProperites_propertyFileExists() throws MsbServiceException, IOException,
+ NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
+ System.setProperty("msb.policy.properties", "src/test/resources/msbPropertyFile.properties");
+ msbManager = new MsbServiceManager();
+ System.clearProperty("msb.policy.properties");
+
+ Field factoryField = msbManager.getClass().getDeclaredField("factory");
+ factoryField.setAccessible(true);
+ MsbServiceFactory msbServiceFactory = (MsbServiceFactory) factoryField.get(msbManager);
+
+ Field msbClientField = msbServiceFactory.getClass().getDeclaredField("msbClient");
+ msbClientField.setAccessible(true);
+ MSBServiceClient msbClient = (MSBServiceClient) msbClientField.get(msbServiceFactory);
+ assertEquals("127.0.0.1:20", msbClient.getMsbSvrAddress());
+ }
+
+ /**
+ * Build a micro service info.
+ *
+ * @param ip the up address
+ * @param port the port number
+ * @return the MicroServiceFullInfo
+ */
+ public static MicroServiceFullInfo build(String ip, String port) {
+ Set<NodeInfo> nodes = new HashSet<NodeInfo>();
+ NodeInfo node = new NodeInfo();
+ node.setPort(port);
+ node.setIp(ip);
+ nodes.add(node);
+ MicroServiceFullInfo serviceInfo = new MicroServiceFullInfo();
+ serviceInfo.setNodes(nodes);
+ return serviceInfo;
+ }
+}
diff --git a/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/NodeTest.java b/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/NodeTest.java
index ed1d55f2c..7419bbe34 100644
--- a/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/NodeTest.java
+++ b/controlloop/common/msb/src/test/java/org/onap/policy/msb/client/NodeTest.java
@@ -15,48 +15,49 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.policy.msb.client;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class NodeTest {
- @Test
- public void testSetAndGetName() {
- Node node = new Node();
- final String name = "myName";
- node.setName(name);
- assertEquals(name, node.getName());
- }
-
- @Test
- public void testSetAndGetIp() {
- Node node = new Node();
- final String ip = "127.0.0.1";
- node.setIp(ip);
- assertEquals(ip, node.getIp());
- }
-
- @Test
- public void testSetAndGetPort() {
- Node node = new Node();
- final String port = "1001";
- node.setPort(port);
- assertEquals(port, node.getPort());
- }
-
- @Test
- public void testToString() {
- Node node = new Node();
- final String name = "myName";
- final String ip = "127.0.0.1";
- final String port = "1001";
- node.setName(name);
- node.setIp(ip);
- node.setPort(port);
- assertEquals("Node{name='myName', ip='127.0.0.1', port='1001'}", node.toString());
- }
+ @Test
+ public void testSetAndGetName() {
+ Node node = new Node();
+ final String name = "myName";
+ node.setName(name);
+ assertEquals(name, node.getName());
+ }
+
+ @Test
+ public void testSetAndGetIp() {
+ Node node = new Node();
+ final String ip = "127.0.0.1";
+ node.setIp(ip);
+ assertEquals(ip, node.getIp());
+ }
+
+ @Test
+ public void testSetAndGetPort() {
+ Node node = new Node();
+ final String port = "1001";
+ node.setPort(port);
+ assertEquals(port, node.getPort());
+ }
+
+ @Test
+ public void testToString() {
+ Node node = new Node();
+ final String name = "myName";
+ final String ip = "127.0.0.1";
+ final String port = "1001";
+ node.setName(name);
+ node.setIp(ip);
+ node.setPort(port);
+ assertEquals("Node{name='myName', ip='127.0.0.1', port='1001'}", node.toString());
+ }
}