2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.writer;
11 import static org.junit.Assert.assertEquals;
12 import static org.mockito.Mockito.mock;
13 import static org.mockito.Mockito.times;
14 import static org.mockito.Mockito.verify;
15 import static org.mockito.Mockito.when;
17 import java.util.Optional;
19 import org.junit.Before;
20 import org.junit.Test;
21 import org.mockito.Mock;
22 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
23 import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
24 import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
25 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
26 import org.opendaylight.netconf.api.NetconfDocumentedException;
28 public class NetconfTransactionCreatorTest {
31 private DataBroker dataBroker;
35 dataBroker = mock(DataBroker.class);
36 NetconfTransactionCreator.setTimeout(10L);
40 public void testNetconfReadOnlyTransaction_success() {
41 ReadOnlyTransaction rtx = mock(ReadOnlyTransaction.class);
42 when(dataBroker.newReadOnlyTransaction()).thenReturn(rtx);
43 Optional<ReadOnlyTransaction> newRtx = NetconfTransactionCreator.netconfReadOnlyTransaction(dataBroker);
44 assertEquals(rtx, newRtx.get());
48 public void testNetconfReadOnlyTransaction_NoNetconfException() {
49 when(dataBroker.newReadOnlyTransaction()).thenThrow(RuntimeException.class);
50 Optional<ReadOnlyTransaction> newRtx = NetconfTransactionCreator.netconfReadOnlyTransaction(dataBroker);
51 assertEquals(false, newRtx.isPresent());
52 verify(dataBroker, times(1)).newReadOnlyTransaction();
56 public void testNetconfReadOnlyTransaction_NetconfException() {
57 when(dataBroker.newReadOnlyTransaction()).thenThrow(new RuntimeException(new NetconfDocumentedException("")));
58 Optional<ReadOnlyTransaction> newRtx = NetconfTransactionCreator.netconfReadOnlyTransaction(dataBroker);
59 assertEquals(false, newRtx.isPresent());
60 verify(dataBroker, times(6)).newReadOnlyTransaction();
64 public void testNetconfWriteOnlyTransaction_success() {
65 WriteTransaction wtx = mock(WriteTransaction.class);
66 when(dataBroker.newWriteOnlyTransaction()).thenReturn(wtx);
67 Optional<WriteTransaction> newWtx = NetconfTransactionCreator.netconfWriteOnlyTransaction(dataBroker);
68 assertEquals(wtx, newWtx.get());
72 public void testNetconfWriteOnlyTransaction_NoNetconfException() {
73 when(dataBroker.newWriteOnlyTransaction()).thenThrow(RuntimeException.class);
74 Optional<WriteTransaction> newWtx = NetconfTransactionCreator.netconfWriteOnlyTransaction(dataBroker);
75 assertEquals(false, newWtx.isPresent());
76 verify(dataBroker, times(1)).newWriteOnlyTransaction();
80 public void testNetconfWriteOnlyTransaction_NetconfException() {
81 when(dataBroker.newWriteOnlyTransaction()).thenThrow(new RuntimeException(new NetconfDocumentedException("")));
82 Optional<WriteTransaction> newWtx = NetconfTransactionCreator.netconfWriteOnlyTransaction(dataBroker);
83 assertEquals(false, newWtx.isPresent());
84 verify(dataBroker, times(6)).newWriteOnlyTransaction();
88 public void testNetconfReadWriteTransaction_success() {
89 ReadWriteTransaction wtx = mock(ReadWriteTransaction.class);
90 when(dataBroker.newReadWriteTransaction()).thenReturn(wtx);
91 Optional<ReadWriteTransaction> newRtx = NetconfTransactionCreator.netconfReadWriteTransaction(dataBroker);
92 assertEquals(wtx, newRtx.get());
96 public void testNetconfReadWriteTransaction_NoNetconfException() {
97 when(dataBroker.newReadWriteTransaction()).thenThrow(RuntimeException.class);
98 Optional<ReadWriteTransaction> newRtx = NetconfTransactionCreator.netconfReadWriteTransaction(dataBroker);
99 assertEquals(false, newRtx.isPresent());
100 verify(dataBroker, times(1)).newReadWriteTransaction();
104 public void testNetconfReadWriteTransaction_NetconfException() {
105 when(dataBroker.newReadWriteTransaction()).thenThrow(new RuntimeException(new NetconfDocumentedException("")));
106 Optional<ReadWriteTransaction> newRtx = NetconfTransactionCreator.netconfReadWriteTransaction(dataBroker);
107 assertEquals(false, newRtx.isPresent());
108 verify(dataBroker, times(6)).newReadWriteTransaction();