import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
-
import com.google.common.util.concurrent.Futures;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import org.mockito.MockitoAnnotations;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction;
+import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain;
import org.opendaylight.netconf.sal.restconf.impl.InstanceIdentifierContext;
import org.opendaylight.netconf.sal.restconf.impl.RestconfDocumentedException;
import org.opendaylight.netconf.sal.restconf.impl.RestconfError.ErrorTag;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
public class DeleteDataTransactionUtilTest {
- @Mock DOMDataReadWriteTransaction transaction;
- @Mock InstanceIdentifierContext<?> context;
+ @Mock
+ private DOMTransactionChain transactionChain;
+ @Mock
+ private InstanceIdentifierContext<?> context;
+ @Mock
+ private DOMDataReadWriteTransaction readWrite;
@Before
public void init() throws Exception {
MockitoAnnotations.initMocks(this);
- Mockito.when(this.transaction.submit()).thenReturn(Futures.immediateCheckedFuture(null));
- Mockito.when(context.getInstanceIdentifier()).thenReturn(YangInstanceIdentifier.EMPTY);
+ Mockito.when(this.transactionChain.newReadWriteTransaction()).thenReturn(this.readWrite);
+ Mockito.when(this.readWrite.submit()).thenReturn(Futures.immediateCheckedFuture(null));
+ Mockito.when(this.context.getInstanceIdentifier()).thenReturn(YangInstanceIdentifier.EMPTY);
}
/**
@Test
public void deleteData() throws Exception {
// assert that data to delete exists
- Mockito.when(this.transaction.exists(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.EMPTY))
+ Mockito.when(this.transactionChain.newReadWriteTransaction().exists(LogicalDatastoreType.CONFIGURATION,
+ YangInstanceIdentifier.EMPTY))
.thenReturn(Futures.immediateCheckedFuture(Boolean.TRUE));
// test
final Response response = DeleteDataTransactionUtil.deleteData(
- new TransactionVarsWrapper(this.context, null, this.transaction));
+ new TransactionVarsWrapper(this.context, null, this.transactionChain));
// assert success
assertEquals("Not expected response received", Status.OK.getStatusCode(), response.getStatus());
@Test
public void deleteDataNegativeTest() throws Exception {
// assert that data to delete does NOT exist
- Mockito.when(this.transaction.exists(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.EMPTY))
+ Mockito.when(this.transactionChain.newReadWriteTransaction().exists(LogicalDatastoreType.CONFIGURATION,
+ YangInstanceIdentifier.EMPTY))
.thenReturn(Futures.immediateCheckedFuture(Boolean.FALSE));
// test and assert error
try {
- DeleteDataTransactionUtil.deleteData(new TransactionVarsWrapper(this.context, null, this.transaction));
+ DeleteDataTransactionUtil.deleteData(new TransactionVarsWrapper(this.context, null, this.transactionChain));
fail("Delete operation should fail due to missing data");
} catch (final RestconfDocumentedException e) {
assertEquals(ErrorType.PROTOCOL, e.getErrors().get(0).getErrorType());