Execute the ShardedDOMDataTreeTransaction.submit() async.
[mdsal.git] / dom / mdsal-dom-inmemory-datastore / src / test / java / org / opendaylight / mdsal / dom / store / inmemory / DelegatingReadableCursorOperationTest.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.store.inmemory;
9
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertFalse;
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 import static org.opendaylight.mdsal.dom.store.inmemory.TestUtils.PATH_ARGUMENT;
17 import static org.opendaylight.mdsal.dom.store.inmemory.TestUtils.resetMocks;
18
19 import com.google.common.base.Optional;
20 import org.junit.After;
21 import org.junit.Test;
22 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
23 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshotCursor;
24
25 public class DelegatingReadableCursorOperationTest extends DelegatingReadableCursorOperation {
26
27     private static final DataTreeSnapshotCursor MOCK_CURSOR_SNAPSHOT = mock(DataTreeSnapshotCursor.class);
28
29     @Test
30     public void basicTest() throws Exception {
31         final Optional<NormalizedNode<?, ?>> nodeOptional = Optional.absent();
32         doReturn(nodeOptional).when(MOCK_CURSOR_SNAPSHOT).readNode(PATH_ARGUMENT);
33         doNothing().when(MOCK_CURSOR_SNAPSHOT).exit();
34         doNothing().when(MOCK_CURSOR_SNAPSHOT).enter(PATH_ARGUMENT);
35         doReturn("test").when(PATH_ARGUMENT).toString();
36
37         assertFalse(readNode(PATH_ARGUMENT).isPresent());
38         verify(MOCK_CURSOR_SNAPSHOT).readNode(PATH_ARGUMENT);
39
40         exit();
41         verify(MOCK_CURSOR_SNAPSHOT).exit();
42
43         assertEquals(this, enter(PATH_ARGUMENT));
44         verify(MOCK_CURSOR_SNAPSHOT).enter(PATH_ARGUMENT);
45     }
46
47     @Override
48     protected DataTreeSnapshotCursor delegate() {
49         return MOCK_CURSOR_SNAPSHOT;
50     }
51
52     @After
53     public void reset() {
54         resetMocks();
55     }
56 }