import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import com.google.common.util.concurrent.FluentFuture;
import java.io.IOException;
import java.io.InputStream;
import java.net.InetSocketAddress;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
import org.mockito.ArgumentMatcher;
import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
import org.opendaylight.mdsal.dom.api.DOMRpcService;
import org.opendaylight.netconf.api.ModifyAction;
import org.opendaylight.netconf.api.NetconfMessage;
import org.opendaylight.netconf.api.xml.XmlUtil;
import org.opendaylight.netconf.sal.connect.api.MessageTransformer;
import org.opendaylight.netconf.sal.connect.api.RemoteDeviceCommunicator;
+import org.opendaylight.netconf.sal.connect.netconf.AbstractTestModelTest;
import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceRpc;
import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer;
import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
+import org.opendaylight.netconf.util.NetconfUtil;
+import org.opendaylight.yangtools.rcf8528.data.util.EmptyMountPointContext;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.xml.sax.SAXException;
-public class NetconfBaseOpsTest {
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
+public class NetconfBaseOpsTest extends AbstractTestModelTest {
+ private static final QName CONTAINER_Q_NAME = QName.create("test:namespace", "2013-07-22", "c");
static {
XMLUnit.setIgnoreWhitespace(true);
XMLUnit.setIgnoreComments(true);
}
- private static final QName CONTAINER_Q_NAME = QName.create("test:namespace", "2013-07-22", "c");
-
@Mock
private RemoteDeviceCommunicator<NetconfMessage> listener;
private NetconfRpcFutureCallback callback;
@Before
public void setUp() throws Exception {
- MockitoAnnotations.initMocks(this);
final InputStream okStream = getClass().getResourceAsStream("/netconfMessages/rpc-reply_ok.xml");
final InputStream dataStream = getClass().getResourceAsStream("/netconfMessages/rpc-reply_get.xml");
final NetconfMessage ok = new NetconfMessage(XmlUtil.readXmlToDocument(okStream));
final NetconfMessage data = new NetconfMessage(XmlUtil.readXmlToDocument(dataStream));
when(listener.sendRequest(any(), eq(NetconfMessageTransformUtil.NETCONF_GET_CONFIG_QNAME)))
- .thenReturn(FluentFuture.from(RpcResultBuilder.success(data).buildFuture()));
+ .thenReturn(RpcResultBuilder.success(data).buildFuture());
when(listener.sendRequest(any(), eq(NetconfMessageTransformUtil.NETCONF_GET_QNAME)))
- .thenReturn(FluentFuture.from(RpcResultBuilder.success(data).buildFuture()));
+ .thenReturn(RpcResultBuilder.success(data).buildFuture());
when(listener.sendRequest(any(), eq(NetconfMessageTransformUtil.NETCONF_EDIT_CONFIG_QNAME)))
- .thenReturn(FluentFuture.from(RpcResultBuilder.success(ok).buildFuture()));
+ .thenReturn(RpcResultBuilder.success(ok).buildFuture());
when(listener.sendRequest(any(), eq(NetconfMessageTransformUtil.NETCONF_COPY_CONFIG_QNAME)))
- .thenReturn(FluentFuture.from(RpcResultBuilder.success(ok).buildFuture()));
+ .thenReturn(RpcResultBuilder.success(ok).buildFuture());
when(listener.sendRequest(any(), eq(NetconfMessageTransformUtil.NETCONF_DISCARD_CHANGES_QNAME)))
- .thenReturn(FluentFuture.from(RpcResultBuilder.success(ok).buildFuture()));
+ .thenReturn(RpcResultBuilder.success(ok).buildFuture());
when(listener.sendRequest(any(), eq(NetconfMessageTransformUtil.NETCONF_VALIDATE_QNAME)))
- .thenReturn(FluentFuture.from(RpcResultBuilder.success(ok).buildFuture()));
+ .thenReturn(RpcResultBuilder.success(ok).buildFuture());
when(listener.sendRequest(any(), eq(NetconfMessageTransformUtil.NETCONF_LOCK_QNAME)))
- .thenReturn(FluentFuture.from(RpcResultBuilder.success(ok).buildFuture()));
+ .thenReturn(RpcResultBuilder.success(ok).buildFuture());
when(listener.sendRequest(any(), eq(NetconfMessageTransformUtil.NETCONF_UNLOCK_QNAME)))
- .thenReturn(FluentFuture.from(RpcResultBuilder.success(ok).buildFuture()));
+ .thenReturn(RpcResultBuilder.success(ok).buildFuture());
when(listener.sendRequest(any(), eq(NetconfMessageTransformUtil.NETCONF_COMMIT_QNAME)))
- .thenReturn(FluentFuture.from(RpcResultBuilder.success(ok).buildFuture()));
- final SchemaContext schemaContext =
- YangParserTestUtils.parseYangResource("/schemas/test-module.yang");
- final MessageTransformer<NetconfMessage> transformer = new NetconfMessageTransformer(schemaContext, true);
- final DOMRpcService rpc = new NetconfDeviceRpc(schemaContext, listener, transformer);
+ .thenReturn(RpcResultBuilder.success(ok).buildFuture());
+ final MessageTransformer<NetconfMessage> transformer = new NetconfMessageTransformer(
+ new EmptyMountPointContext(SCHEMA_CONTEXT), true, BASE_SCHEMAS.getBaseSchema());
+ final DOMRpcService rpc = new NetconfDeviceRpc(SCHEMA_CONTEXT, listener, transformer);
final RemoteDeviceId id =
new RemoteDeviceId("device-1", InetSocketAddress.createUnresolved("localhost", 17830));
callback = new NetconfRpcFutureCallback("prefix", id);
- baseOps = new NetconfBaseOps(rpc, schemaContext);
+ baseOps = new NetconfBaseOps(rpc, new EmptyMountPointContext(SCHEMA_CONTEXT));
}
@Test
@Test
public void testGetConfigRunningData() throws Exception {
final Optional<NormalizedNode<?, ?>> dataOpt =
- baseOps.getConfigRunningData(callback, Optional.of(YangInstanceIdentifier.EMPTY)).get();
+ baseOps.getConfigRunningData(callback, Optional.of(YangInstanceIdentifier.empty())).get();
Assert.assertTrue(dataOpt.isPresent());
- Assert.assertEquals(NetconfMessageTransformUtil.NETCONF_DATA_QNAME, dataOpt.get().getNodeType());
+ Assert.assertEquals(NetconfUtil.NETCONF_DATA_QNAME, dataOpt.get().getNodeType());
}
@Test
public void testGetData() throws Exception {
final Optional<NormalizedNode<?, ?>> dataOpt =
- baseOps.getData(callback, Optional.of(YangInstanceIdentifier.EMPTY)).get();
+ baseOps.getData(callback, Optional.of(YangInstanceIdentifier.empty())).get();
Assert.assertTrue(dataOpt.isPresent());
- Assert.assertEquals(NetconfMessageTransformUtil.NETCONF_DATA_QNAME, dataOpt.get().getNodeType());
+ Assert.assertEquals(NetconfUtil.NETCONF_DATA_QNAME, dataOpt.get().getNodeType());
}
@Test