68a6db2b64c120df9f71ff74f3f08c64ceec1e93
[openflowplugin.git] / applications / topology-manager / src / test / java / org / opendaylight / openflowplugin / applications / topology / manager / OperationProcessorTest.java
1 package org.opendaylight.openflowplugin.applications.topology.manager;
2
3 import static org.mockito.Mockito.times;
4 import org.junit.Before;
5 import org.junit.Test;
6 import org.junit.runner.RunWith;
7 import org.mockito.Matchers;
8 import org.mockito.Mock;
9 import org.mockito.Mockito;
10 import org.mockito.runners.MockitoJUnitRunner;
11 import org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain;
12 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
13 import org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction;
14 import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener;
15
16 @RunWith(MockitoJUnitRunner.class)
17 public class OperationProcessorTest {
18
19
20     OperationProcessor processor;
21
22     @Mock
23     DataBroker dataBroker;
24     @Mock
25     BindingTransactionChain transactionChain;
26     @Mock
27     TransactionChainListener transactionChainListener;
28     @Mock
29     AsyncTransaction asyncTransaction;
30     @Mock
31     Throwable throwable;
32
33     @Before
34     public void setUp() {
35         Mockito.when(dataBroker.createTransactionChain(Matchers.any(OperationProcessor.class)))
36                 .thenReturn(transactionChain);
37         processor = new OperationProcessor(dataBroker);
38     }
39
40     @Test
41     public void onTransactionChainFailedTest() {
42         processor.onTransactionChainFailed(transactionChain, asyncTransaction, throwable);
43         Mockito.verify(transactionChain).close();
44         //dataBroker.createTransactionChain is called 2 time
45         // (first time in constructor, second time after old chain has been closed)
46         Mockito.verify(dataBroker, times(2)).createTransactionChain(Matchers.any(OperationProcessor.class));
47     }
48
49     @Test
50     public void closeTest() {
51         processor.close();
52         Mockito.verify(transactionChain).close();
53     }
54
55
56 }