+
+ @Test
+ public void testDeactivateTransactionChainManager() throws Exception {
+ txChainManager.deactivateTransactionManager();
+
+ Mockito.verify(txChain).close();
+ }
+
+ /**
+ * @throws Exception
+ */
+ @Test
+ public void testDeactivateTransactionChainManagerFailed() throws Exception {
+ Mockito.when(writeTx.submit()).thenReturn(Futures.<Void, TransactionCommitFailedException>immediateFailedCheckedFuture(new TransactionCommitFailedException("mock")));
+ final Node data = new NodeBuilder().setId(nodeId).build();
+ txChainManager.writeToTransaction(LogicalDatastoreType.CONFIGURATION, path, data, false);
+
+ txChainManager.deactivateTransactionManager();
+
+ Mockito.verify(txChain).newWriteOnlyTransaction();
+ Mockito.verify(writeTx).put(LogicalDatastoreType.CONFIGURATION, path, data, false);
+ Mockito.verify(writeTx, Mockito.never()).submit();
+ Mockito.verify(writeTx).cancel();
+ Mockito.verify(txChain).close();
+ }
+
+ @Test
+ public void testShuttingDown() throws Exception{
+ final Node data = new NodeBuilder().setId(nodeId).build();
+ txChainManager.writeToTransaction(LogicalDatastoreType.CONFIGURATION, path, data, false);
+ txChainManager.enableSubmit();
+ txChainManager.shuttingDown();
+
+ Mockito.verify(txChain).newWriteOnlyTransaction();
+ Mockito.verify(writeTx).put(LogicalDatastoreType.CONFIGURATION, path, data, false);
+ Mockito.verify(writeTx).submit();
+ }
+
+ @Test
+ public void testClose() {
+ txChainManager.shuttingDown();
+ txChainManager.close();
+ Mockito.verify(txChain).close();
+ }