summaryrefslogtreecommitdiffstats
path: root/dataChange/provider
diff options
context:
space:
mode:
authorJessica Wagantall <jwagantall@linuxfoundation.org>2020-12-01 11:52:01 -0800
committerJessica Wagantall <jwagantall@linuxfoundation.org>2020-12-01 11:52:01 -0800
commitff3eecb980bfdc8d43d2ed3a4c786d634fa6f4e2 (patch)
tree680db1c4f69f5c181b8f1fb7d7d8f46942783b3e /dataChange/provider
parent02b6c140f031c19cfcb791fd0142f03167db69b1 (diff)
Migrate sli-northbound repo
Migrate sli-northbound repo files into new directory "northbound". Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Diffstat (limited to 'dataChange/provider')
-rwxr-xr-xdataChange/provider/pom.xml89
-rw-r--r--dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeClient.java98
-rw-r--r--dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeProvider.java161
-rw-r--r--dataChange/provider/src/main/resources/OSGI-INF/blueprint/datachange-blueprint.xml32
-rw-r--r--dataChange/provider/src/main/resources/org/opendaylight/blueprint/datachange-blueprint.xml32
-rw-r--r--dataChange/provider/src/test/java/org/onap/sdnc/northbound/dataChange/DataChangeClientTest.java56
-rw-r--r--dataChange/provider/src/test/java/org/onap/sdnc/northbound/dataChange/TestDataChange.java95
7 files changed, 0 insertions, 563 deletions
diff --git a/dataChange/provider/pom.xml b/dataChange/provider/pom.xml
deleted file mode 100755
index cdefb5437..000000000
--- a/dataChange/provider/pom.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.onap.ccsdk.parent</groupId>
- <artifactId>binding-parent</artifactId>
- <version>2.1.0</version>
- <relativePath/>
- </parent>
-
- <groupId>org.onap.ccsdk.sli.northbound</groupId>
- <artifactId>dataChange-provider</artifactId>
- <version>1.1.1-SNAPSHOT</version>
- <packaging>bundle</packaging>
-
- <name>ccsdk-sli-northbound :: dataChange :: ${project.artifactId}</name>
-
- <properties>
- <ccsdk.sli.northbound.version>${project.version}</ccsdk.sli.northbound.version>
- </properties>
-
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.onap.ccsdk.sli.core</groupId>
- <artifactId>sli-core-artifacts</artifactId>
- <version>${ccsdk.sli.core.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.onap.ccsdk.sli.northbound</groupId>
- <artifactId>dataChange-model</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>sal-binding-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.onap.ccsdk.sli.core</groupId>
- <artifactId>sli-common</artifactId>
- </dependency>
- <dependency>
- <groupId>org.onap.ccsdk.sli.core</groupId>
- <artifactId>sli-provider</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>sal-test-model</artifactId>
- <scope>test</scope>
- </dependency>
-
-
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>sal-binding-broker-impl</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>sal-binding-broker-impl</artifactId>
- <type>test-jar</type>
- <classifier>tests</classifier>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
diff --git a/dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeClient.java b/dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeClient.java
deleted file mode 100644
index 959b2b6fb..000000000
--- a/dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeClient.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * 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.ccsdk.sli.northbound;
-
-import java.util.Properties;
-
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper;
-import org.onap.ccsdk.sli.core.sli.provider.SvcLogicService;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationOutputBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DataChangeClient {
-
- private static final Logger LOG = LoggerFactory.getLogger(DataChangeClient.class);
-
- private SvcLogicService svcLogicService = null;
-
- public DataChangeClient(final SvcLogicService svcLogicService) {
- this.svcLogicService = svcLogicService;
- }
-
- public boolean hasGraph(String module, String rpc, String version, String mode) throws SvcLogicException
- {
- return svcLogicService.hasGraph(module, rpc, version, mode);
- }
-
- public Properties execute(String module, String rpc, String version, String mode, DataChangeNotificationOutputBuilder serviceData)
- throws SvcLogicException {
-
- Properties parms = new Properties();
-
- return execute(module,rpc,version, mode,serviceData,parms);
- }
-
- public Properties execute(String module, String rpc, String version, String mode, DataChangeNotificationOutputBuilder serviceData, Properties parms)
- throws SvcLogicException {
-
- Properties localProp;
- localProp = MdsalHelper.toProperties(parms, serviceData);
-
- if (LOG.isDebugEnabled())
- {
- LOG.debug("Parameters passed to SLI");
-
- for (Object key : localProp.keySet()) {
- String parmName = (String) key;
- String parmValue = localProp.getProperty(parmName);
-
- LOG.debug(parmName+" = "+parmValue);
-
- }
- }
-
- Properties respProps = svcLogicService.execute(module, rpc, version, mode, localProp);
-
- if (LOG.isDebugEnabled())
- {
- LOG.debug("Parameters returned by SLI");
-
- for (Object key : respProps.keySet()) {
- String parmName = (String) key;
- String parmValue = respProps.getProperty(parmName);
-
- LOG.debug(parmName+" = "+parmValue);
-
- }
- }
- if ("failure".equalsIgnoreCase(respProps.getProperty("SvcLogic.status"))) {
- return respProps;
- }
-
- MdsalHelper.toBuilder(respProps, serviceData);
-
- return respProps;
- }
-
-}
diff --git a/dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeProvider.java b/dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeProvider.java
deleted file mode 100644
index 3301ca8e0..000000000
--- a/dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeProvider.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * Modifications Copyright © 2018 IBM.
- * ================================================================================
- * 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.ccsdk.sli.northbound;
-
-import java.util.Properties;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
-import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationInput;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationInputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationOutput;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationOutputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeService;
-import org.opendaylight.yangtools.yang.common.RpcResult;
-import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Defines a base implementation for your provider. This class extends from a helper class
- * which provides storage for the most commonly used components of the MD-SAL. Additionally the
- * base class provides some basic logging and initialization / clean up methods.
- *
- */
-public class DataChangeProvider implements AutoCloseable, DataChangeService {
-
- private static final Logger LOG = LoggerFactory.getLogger(DataChangeProvider.class);
-
- private static final String APPLICATION_NAME = "DataChange";
-
- private final ExecutorService executor;
-
- protected DataBroker dataBroker;
- protected NotificationPublishService notificationService;
- protected RpcProviderRegistry rpcRegistry;
- protected BindingAwareBroker.RpcRegistration<DataChangeService> rpcRegistration;
- private final DataChangeClient dataChangeClient;
-
-
- public DataChangeProvider(final DataBroker dataBroker,
- final NotificationPublishService notificationPublishService,
- final RpcProviderRegistry rpcProviderRegistry,
- final DataChangeClient dataChangeClient) {
-
- this.LOG.info( "Creating provider for {}", APPLICATION_NAME);
- executor = Executors.newFixedThreadPool(1);
- this.dataBroker = dataBroker;
- this.notificationService = notificationPublishService;
- this.rpcRegistry = rpcProviderRegistry;
- this.dataChangeClient = dataChangeClient;
- initialize();
- }
-
- public void initialize(){
- LOG.info( "Initializing provider for {}", APPLICATION_NAME);
- rpcRegistration = rpcRegistry.addRpcImplementation(DataChangeService.class, this);
- LOG.info( "Initialization complete for {}", APPLICATION_NAME);
- }
-
- protected void initializeChild() {
- //Override if you have custom initialization intelligence
- }
-
- @Override
- public void close() throws Exception {
- LOG.info( "Closing provider for {}", APPLICATION_NAME);
- executor.shutdown();
- rpcRegistration.close();
- LOG.info( "Successfully closed provider for {}", APPLICATION_NAME);
- }
-
- @Override
- public ListenableFuture<RpcResult<DataChangeNotificationOutput>> dataChangeNotification(
- DataChangeNotificationInput input) {
- final String svcOperation = "data-change-notification";
-
- Properties parms = new Properties();
- DataChangeNotificationOutputBuilder serviceDataBuilder = new DataChangeNotificationOutputBuilder();
-
- LOG.info( svcOperation +" called." );
-
- if(input == null || input.getAaiEventId() == null) {
- LOG.debug("exiting " +svcOperation+ " because of invalid input");
- serviceDataBuilder.setDataChangeResponseCode("403");
- RpcResult<DataChangeNotificationOutput> rpcResult =
- RpcResultBuilder.<DataChangeNotificationOutput> status(true).withResult(serviceDataBuilder.build()).build();
- return Futures.immediateFuture(rpcResult);
- }
-
- // add input to parms
- LOG.info("Adding INPUT data for "+svcOperation+" input: " + input);
- DataChangeNotificationInputBuilder inputBuilder = new DataChangeNotificationInputBuilder(input);
- MdsalHelper.toProperties(parms, inputBuilder.build());
-
- // Call SLI sync method
- try
- {
- if (dataChangeClient.hasGraph(APPLICATION_NAME, svcOperation , null, "sync"))
- {
- try
- {
- dataChangeClient.execute(APPLICATION_NAME, svcOperation, null, "sync", serviceDataBuilder, parms);
- }
- catch (Exception e)
- {
- LOG.error("Caught exception executing service logic for "+ svcOperation, e);
- serviceDataBuilder.setDataChangeResponseCode("500");
- }
- } else {
- LOG.error("No service logic active for DataChange: '" + svcOperation + "'");
- serviceDataBuilder.setDataChangeResponseCode("503");
- }
- }
- catch (Exception e)
- {
- LOG.error("Caught exception looking for service logic", e);
- serviceDataBuilder.setDataChangeResponseCode("500");
- }
-
- String errorCode = serviceDataBuilder.getDataChangeResponseCode();
-
- if (!("0".equals(errorCode) || "200".equals(errorCode))) {
- LOG.error("Returned FAILED for "+svcOperation+" error code: '" + errorCode + "'");
- } else {
- LOG.info("Returned SUCCESS for "+svcOperation+" ");
- }
-
- RpcResult<DataChangeNotificationOutput> rpcResult =
- RpcResultBuilder.<DataChangeNotificationOutput> status(true).withResult(serviceDataBuilder.build()).build();
- // return error
- return Futures.immediateFuture(rpcResult);
- }
-}
diff --git a/dataChange/provider/src/main/resources/OSGI-INF/blueprint/datachange-blueprint.xml b/dataChange/provider/src/main/resources/OSGI-INF/blueprint/datachange-blueprint.xml
deleted file mode 100644
index 5a38c81f1..000000000
--- a/dataChange/provider/src/main/resources/OSGI-INF/blueprint/datachange-blueprint.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
- xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
- odl:use-default-for-reference-types="true">
-
- <reference id="svcLogicService"
- interface="org.onap.ccsdk.sli.core.sli.provider.SvcLogicService" />
-
- <bean id="client" class="org.onap.ccsdk.sli.northbound.DataChangeClient">
- <argument ref="svcLogicService" />
- </bean>
-
- <reference id="dataBroker"
- interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
- odl:type="default" />
-
- <reference id="notificationService"
- interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService"
- odl:type="default" />
-
- <reference id="rpcRegistry"
- interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry"
- odl:type="default" />
-
- <bean id="provider" class="org.onap.ccsdk.sli.northbound.DataChangeProvider">
- <argument ref="dataBroker" />
- <argument ref="notificationService" />
- <argument ref="rpcRegistry" />
- <argument ref="client" />
- </bean>
-
-</blueprint> \ No newline at end of file
diff --git a/dataChange/provider/src/main/resources/org/opendaylight/blueprint/datachange-blueprint.xml b/dataChange/provider/src/main/resources/org/opendaylight/blueprint/datachange-blueprint.xml
deleted file mode 100644
index 5a38c81f1..000000000
--- a/dataChange/provider/src/main/resources/org/opendaylight/blueprint/datachange-blueprint.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
- xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
- odl:use-default-for-reference-types="true">
-
- <reference id="svcLogicService"
- interface="org.onap.ccsdk.sli.core.sli.provider.SvcLogicService" />
-
- <bean id="client" class="org.onap.ccsdk.sli.northbound.DataChangeClient">
- <argument ref="svcLogicService" />
- </bean>
-
- <reference id="dataBroker"
- interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
- odl:type="default" />
-
- <reference id="notificationService"
- interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService"
- odl:type="default" />
-
- <reference id="rpcRegistry"
- interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry"
- odl:type="default" />
-
- <bean id="provider" class="org.onap.ccsdk.sli.northbound.DataChangeProvider">
- <argument ref="dataBroker" />
- <argument ref="notificationService" />
- <argument ref="rpcRegistry" />
- <argument ref="client" />
- </bean>
-
-</blueprint> \ No newline at end of file
diff --git a/dataChange/provider/src/test/java/org/onap/sdnc/northbound/dataChange/DataChangeClientTest.java b/dataChange/provider/src/test/java/org/onap/sdnc/northbound/dataChange/DataChangeClientTest.java
deleted file mode 100644
index 9ba6c8742..000000000
--- a/dataChange/provider/src/test/java/org/onap/sdnc/northbound/dataChange/DataChangeClientTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.onap.sdnc.northbound.dataChange;
-
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
-
-import java.util.Properties;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper;
-import org.onap.ccsdk.sli.core.sli.provider.SvcLogicService;
-import org.onap.ccsdk.sli.northbound.DataChangeClient;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationOutputBuilder;
-
-public class DataChangeClientTest {
-
- SvcLogicService mockSvcLogicService;
- String module = "test-module";
- String rpc = "test-rpc";
- String version = "test-version";
- String mode = "test-mode";
- Properties localProp = new Properties();
-
- @Before
- public void setUp() throws Exception {
- mockSvcLogicService = mock(SvcLogicService.class);
- when(mockSvcLogicService.hasGraph(module, rpc, version, mode)).thenReturn(true);
- }
-
- @Test
- public void testDataChangeClientConstructor() {
- DataChangeClient dataChangeClient = new DataChangeClient(mockSvcLogicService);
- assertNotNull(dataChangeClient);
- }
-
- @Test
- public void testHasGraph() throws SvcLogicException {
- DataChangeClient dataChangeClient = new DataChangeClient(mockSvcLogicService);
- boolean result = dataChangeClient.hasGraph(module, rpc, version, mode);
- assertTrue(result);
- }
-
- @Test
- public void testExecuteSvcLogicStatusFailure() throws SvcLogicException {
- DataChangeNotificationOutputBuilder serviceData = mock(DataChangeNotificationOutputBuilder.class);
- Properties parms = mock(Properties.class);
- SvcLogicService svcLogicService = mock(SvcLogicService.class);
- Properties properties = new Properties();
- properties.setProperty("SvcLogic.status", "failure");
- when(svcLogicService.execute(module, rpc, version, mode, properties)).thenReturn(properties);
- DataChangeClient sliClient = new DataChangeClient(svcLogicService);
- Properties prop = sliClient.execute(module, rpc, version, mode, serviceData, properties);
- assertTrue(prop != null);
- }
-} \ No newline at end of file
diff --git a/dataChange/provider/src/test/java/org/onap/sdnc/northbound/dataChange/TestDataChange.java b/dataChange/provider/src/test/java/org/onap/sdnc/northbound/dataChange/TestDataChange.java
deleted file mode 100644
index f9c39b703..000000000
--- a/dataChange/provider/src/test/java/org/onap/sdnc/northbound/dataChange/TestDataChange.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * 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.sdnc.northbound.dataChange;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.onap.ccsdk.sli.northbound.DataChangeProvider;
-import org.onap.ccsdk.sli.northbound.DataChangeClient;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
-import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest;
-import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationInput;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationInputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationOutput;
-import org.opendaylight.yangtools.yang.common.RpcResult;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.mock;
-
-public class TestDataChange extends AbstractConcurrentDataBrokerTest {
-
- private DataChangeProvider dataChangeProvider;
- private static final Logger LOG = LoggerFactory.getLogger(DataChangeProvider.class);
-
- @Before
- public void setUp() throws Exception {
- if (null == dataChangeProvider) {
- DataBroker dataBroker = getDataBroker();
- NotificationPublishService mockNotification = mock(NotificationPublishService.class);
- RpcProviderRegistry mockRpcRegistry = mock(RpcProviderRegistry.class);
- DataChangeClient mockSliClient = mock(DataChangeClient.class);
- dataChangeProvider = new DataChangeProvider(dataBroker, mockNotification, mockRpcRegistry, mockSliClient);
- }
- }
-
- //Testcase should return error 503 when No service logic active for dataChange.
- @Test
- public void testDataChangeNotification() {
-
- DataChangeNotificationInputBuilder inputBuilder = new DataChangeNotificationInputBuilder();
-
- inputBuilder.setAaiEventId("1");
-
-
- // TODO: currently initialize SvcLogicServiceClient is failing, need to fix
- java.util.concurrent.Future<RpcResult<DataChangeNotificationOutput>> future = dataChangeProvider
- .dataChangeNotification(inputBuilder.build());
- RpcResult<DataChangeNotificationOutput> rpcResult = null;
- try {
- rpcResult = future.get();
- } catch (Exception e) {
- fail("Error : " + e);
- }
- LOG.info("result: {}", rpcResult);
- assertEquals("503", rpcResult.getResult().getDataChangeResponseCode());
- }
-
- //Input parameter validation
- @Test
- public void testDataChangeNotificationInputValidation() {
-
- java.util.concurrent.Future<RpcResult<DataChangeNotificationOutput>> future = dataChangeProvider
- .dataChangeNotification(null);
- RpcResult<DataChangeNotificationOutput> rpcResult = null;
- try {
- rpcResult = future.get();
- } catch (Exception e) {
- fail("Error : " + e);
- }
- LOG.info("result: {}", rpcResult);
- assertEquals("403", rpcResult.getResult().getDataChangeResponseCode());
- }
-}