Do not generate 'isFoo()' methods
[mdsal.git] / dom / mdsal-dom-broker / src / test / java / org / opendaylight / mdsal / dom / broker / TransactionChainWriteTransactionTest.java
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.mdsal.dom.broker;
9
10 import static org.junit.Assert.assertEquals;
11 import static org.mockito.ArgumentMatchers.any;
12 import static org.mockito.Mockito.doNothing;
13 import static org.mockito.Mockito.doReturn;
14 import static org.mockito.Mockito.mock;
15 import static org.mockito.Mockito.verify;
16
17 import com.google.common.util.concurrent.ListenableFuture;
18 import org.junit.Test;
19 import org.opendaylight.mdsal.common.api.CommitInfo;
20 import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
21 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
22 import org.opendaylight.yangtools.util.concurrent.FluentFutures;
23
24 public class TransactionChainWriteTransactionTest {
25
26     @Test
27     public void basicTest() throws Exception {
28         final String identifier = "testIdent";
29         final DOMDataTreeWriteTransaction writeTransaction = mock(DOMDataTreeWriteTransaction.class);
30         final ShardedDOMTransactionChainAdapter chainAdapter = mock(ShardedDOMTransactionChainAdapter.class);
31
32         final TransactionChainWriteTransaction transactionChainWriteTransaction =
33                 new TransactionChainWriteTransaction(identifier, writeTransaction, chainAdapter);
34
35         assertEquals(identifier, transactionChainWriteTransaction.getIdentifier());
36
37         doNothing().when(writeTransaction).put(any(), any(), any());
38         transactionChainWriteTransaction.put(any(), any(), any());
39         verify(writeTransaction).put(any(), any(), any());
40
41         doNothing().when(writeTransaction).merge(any(), any(), any());
42         transactionChainWriteTransaction.merge(any(), any(), any());
43         verify(writeTransaction).merge(any(), any(), any());
44
45         doReturn(false).when(writeTransaction).cancel();
46         doNothing().when(chainAdapter).closeWriteTransaction(any());
47         transactionChainWriteTransaction.cancel();
48         verify(writeTransaction).cancel();
49
50         doNothing().when(writeTransaction).delete(any(), any());
51         transactionChainWriteTransaction.delete(any(), any());
52         verify(writeTransaction).delete(any(), any());
53
54         ListenableFuture<? extends CommitInfo> writeResult = CommitInfo.emptyFluentFuture();
55         doReturn(writeResult).when(writeTransaction).commit();
56         assertEquals(writeResult, transactionChainWriteTransaction.commit());
57
58         writeResult = FluentFutures.immediateFailedFluentFuture(mock(TransactionCommitFailedException.class));
59         doNothing().when(chainAdapter).transactionFailed(any(), any());
60         doReturn(writeResult).when(writeTransaction).commit();
61         assertEquals(writeResult, transactionChainWriteTransaction.commit());
62     }
63 }