summaryrefslogtreecommitdiffstats
path: root/restconf-client/provider/src
diff options
context:
space:
mode:
authorVidyashree Rama <vidyashree.rama@huawei.com>2019-04-23 09:29:36 +0530
committerVidyashree Rama <vidyashree.rama@huawei.com>2019-04-23 09:29:36 +0530
commit93c91c2fc80a31585c8f902c86bc4e1faf5b966d (patch)
treecb41f5684abf249d0dfdcc20172aaa475b92acbe /restconf-client/provider/src
parent31785e54cb0bdee86b57e0cdde4480dfac61aa85 (diff)
Test coverage imporvement and code refactoring of restconf discovery node.
Test coverage imporvement and code refactoring of restconf discovery node. Issue-ID: CCSDK-1236 Change-Id: Ic44899d71b92be3d7b88be3abb0feb311e6ad8c0 Signed-off-by: Vidyashree Rama <vidyashree.rama@huawei.com>
Diffstat (limited to 'restconf-client/provider/src')
-rw-r--r--restconf-client/provider/src/main/java/org/onap/ccsdk/sli/plugins/restconfdiscovery/RestconfDiscoveryNode.java48
-rw-r--r--restconf-client/provider/src/test/java/org/onap/ccsdk/sli/plugins/restconfdiscovery/TestRestconfDiscoveryNode.java56
2 files changed, 72 insertions, 32 deletions
diff --git a/restconf-client/provider/src/main/java/org/onap/ccsdk/sli/plugins/restconfdiscovery/RestconfDiscoveryNode.java b/restconf-client/provider/src/main/java/org/onap/ccsdk/sli/plugins/restconfdiscovery/RestconfDiscoveryNode.java
index 5c7d695d9..cf69d7a3c 100644
--- a/restconf-client/provider/src/main/java/org/onap/ccsdk/sli/plugins/restconfdiscovery/RestconfDiscoveryNode.java
+++ b/restconf-client/provider/src/main/java/org/onap/ccsdk/sli/plugins/restconfdiscovery/RestconfDiscoveryNode.java
@@ -141,7 +141,7 @@ public class RestconfDiscoveryNode implements SvcLogicDiscoveryPlugin {
WebTarget target = null;
try {
RestapiCallNode restapi = restconfApiCallNode.getRestapiCallNode();
- p = restapi.getParameters(paramMap, new Parameters());
+ p = RestapiCallNode.getParameters(paramMap, new Parameters());
Client client = ignoreSslClient().register(SseFeature.class);
target = restapi.addAuthType(client, p).target(url);
} catch (SvcLogicException e) {
@@ -166,37 +166,37 @@ public class RestconfDiscoveryNode implements SvcLogicDiscoveryPlugin {
eventSource.close();
log.info("Closed connection to SSE source");
}
- }
-
- private Client ignoreSslClient() {
- SSLContext sslcontext = null;
- try {
- sslcontext = SSLContext.getInstance("TLS");
- sslcontext.init(null, new TrustManager[]{new X509TrustManager() {
- @Override
- public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
- }
+ private Client ignoreSslClient() {
+ SSLContext sslcontext = null;
- @Override
- public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
- }
+ try {
+ sslcontext = SSLContext.getInstance("TLS");
+ sslcontext.init(null, new TrustManager[]{new X509TrustManager() {
+ @Override
+ public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return new X509Certificate[0];
+ }
+ } }, new java.security.SecureRandom());
+ } catch (NoSuchAlgorithmException | KeyManagementException e) {
+ throw new IllegalStateException(e);
+ }
- @Override
- public X509Certificate[] getAcceptedIssuers() {
- return new X509Certificate[0];
- }
- } }, new java.security.SecureRandom());
- } catch (NoSuchAlgorithmException | KeyManagementException e) {
- throw new IllegalStateException(e);
+ return ClientBuilder.newBuilder().sslContext(sslcontext).hostnameVerifier((s1, s2) -> true).build();
}
-
- return ClientBuilder.newBuilder().sslContext(sslcontext).hostnameVerifier((s1, s2) -> true).build();
}
protected String getTokenId(String customHttpHeaders) {
if (customHttpHeaders.contains("=")) {
- String s[] = customHttpHeaders.split("=");
+ String[] s = customHttpHeaders.split("=");
return s[1];
}
return customHttpHeaders;
diff --git a/restconf-client/provider/src/test/java/org/onap/ccsdk/sli/plugins/restconfdiscovery/TestRestconfDiscoveryNode.java b/restconf-client/provider/src/test/java/org/onap/ccsdk/sli/plugins/restconfdiscovery/TestRestconfDiscoveryNode.java
index af354e9bf..aa89d67d7 100644
--- a/restconf-client/provider/src/test/java/org/onap/ccsdk/sli/plugins/restconfdiscovery/TestRestconfDiscoveryNode.java
+++ b/restconf-client/provider/src/test/java/org/onap/ccsdk/sli/plugins/restconfdiscovery/TestRestconfDiscoveryNode.java
@@ -20,6 +20,7 @@
package org.onap.ccsdk.sli.plugins.restconfdiscovery;
+import org.glassfish.grizzly.http.server.HttpServer;
import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
import org.glassfish.jersey.media.sse.SseFeature;
import org.glassfish.jersey.server.ResourceConfig;
@@ -29,29 +30,41 @@ import org.onap.ccsdk.sli.core.sli.SvcLogicException;
import org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode;
import org.onap.ccsdk.sli.plugins.restconfapicall.RestconfApiCallNode;
+import java.io.IOException;
import java.net.URI;
import java.util.HashMap;
import java.util.Map;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
public class TestRestconfDiscoveryNode {
private static final URI CONTEXT = URI.create("http://localhost:8080/");
@Test
- public void testEstablishPersistentConnection() throws SvcLogicException,
- InterruptedException {
+ public void sendRequest() throws SvcLogicException, InterruptedException, IOException {
final ResourceConfig resourceConfig = new ResourceConfig(
SseServerMock.class, SseFeature.class);
- GrizzlyHttpServerFactory.createHttpServer(CONTEXT, resourceConfig);
+ HttpServer server = GrizzlyHttpServerFactory.createHttpServer(CONTEXT,
+ resourceConfig);
+ server.start();
+ RestconfApiCallNode restconf = mock(RestconfApiCallNode.class);
+ doNothing().when(restconf)
+ .sendRequest(any(Map.class), any(SvcLogicContext.class));
+ RestapiCallNode restApi = new RestapiCallNode();
+ doReturn(restApi).when(restconf).getRestapiCallNode();
+
SvcLogicContext ctx = new SvcLogicContext();
ctx.setAttribute("prop.encoding-json", "encoding-json");
ctx.setAttribute("restapi-result.response-code", "200");
ctx.setAttribute("restapi-result.ietf-subscribed-notifications" +
":establish-subscription.output.identifier",
- "100");
+ "89");
Map<String, String> p = new HashMap<>();
p.put("sseConnectURL", "http://localhost:8080/events");
@@ -64,11 +77,15 @@ public class TestRestconfDiscoveryNode {
"bv5itd6m1cftldpjarnyle3sdcqq9hftc4lebz464b5ffxmlbvg9");
p.put("restapiUrl", "https://localhost:8080/restconf/operations/" +
"ietf-subscribed-notifications:establish-subscription");
- RestconfDiscoveryNode rdn = new RestconfDiscoveryNode(
- new RestconfApiCallNode(new RestapiCallNode()));
- rdn.establishPersistentConnection(p, ctx, "networkId");
- Thread.sleep(2000);
+ p.put("module", "testmodule");
+ p.put("rpc", "testrpc");
+ p.put("version", "1.0");
+ p.put("mode", "sync");
+ RestconfDiscoveryNode rdn = new RestconfDiscoveryNode(restconf);
+ rdn.establishSubscription(p, ctx);
+ Thread.sleep(1000);
rdn.deleteSubscription(p, ctx);
+ server.shutdown();
}
@Test(expected = SvcLogicException.class)
@@ -132,4 +149,27 @@ public class TestRestconfDiscoveryNode {
"emlqm4bbsmnar3vrtbyrzukbv5itd6m1cftldpjarnyle3sdcqq9h" +
"ftc4lebz464b5ffxmlbvg9"));
}
+
+ @Test
+ public void testSubscriptionInfo() throws SvcLogicException {
+ SubscriptionInfo info = new SubscriptionInfo();
+ info.subscriberId("network-id");
+ info.subscriptionId("8");
+ info.filterUrl("/ietf-interfaces:interfaces");
+ info.yangFilePath("/opt/yang");
+ SvcLogicGraphInfo svcLogicGraphInfo = new SvcLogicGraphInfo();
+ svcLogicGraphInfo.mode("sync");
+ svcLogicGraphInfo.module("testModule");
+ svcLogicGraphInfo.rpc("testRpc");
+ svcLogicGraphInfo.version("1.0");
+ info.callBackDG(svcLogicGraphInfo);
+ assertThat(info.subscriberId(), is("network-id"));
+ assertThat(info.subscriptionId(), is("8"));
+ assertThat(info.filterUrl(), is("/ietf-interfaces:interfaces"));
+ assertThat(info.yangFilePath(), is("/opt/yang"));
+ assertThat(info.callBackDG().module(), is("testModule"));
+ assertThat(info.callBackDG().mode(), is("sync"));
+ assertThat(info.callBackDG().rpc(), is("testRpc"));
+ assertThat(info.callBackDG().version(), is("1.0"));
+ }
}