X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FShardDataTreeMocking.java;h=6696df0781a5fcdd3dd42acb7a38722117b8261f;hp=d273910b6dea0498348c824d79798ed96f6ee7fc;hb=29aa3b83db308b1a511857db8d918e0f2e629407;hpb=000960f6451af770f5463e41e1fb6defb6f3ab27 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeMocking.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeMocking.java index d273910b6d..6696df0781 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeMocking.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeMocking.java @@ -87,6 +87,29 @@ public final class ShardDataTreeMocking { return callback; } + public static FutureCallback immediate3PhaseCommit(final ShardDataTreeCohort cohort) { + final FutureCallback commitCallback = mockCallback(); + doNothing().when(commitCallback).onSuccess(any(UnsignedLong.class)); + doNothing().when(commitCallback).onFailure(any(Throwable.class)); + + final FutureCallback preCommitCallback = mockCallback(); + doAnswer(invocation -> { + cohort.commit(commitCallback); + return null; + }).when(preCommitCallback).onSuccess(any(DataTreeCandidate.class)); + doNothing().when(preCommitCallback).onFailure(any(Throwable.class)); + + final FutureCallback canCommit = mockCallback(); + doAnswer(invocation -> { + cohort.preCommit(preCommitCallback); + return null; + }).when(canCommit).onSuccess(null); + doNothing().when(canCommit).onFailure(any(Throwable.class)); + + cohort.canCommit(canCommit); + return commitCallback; + } + @SuppressWarnings("unchecked") private static Object invokeSuccess(final InvocationOnMock invocation, final T value) { invocation.getArgumentAt(0, FutureCallback.class).onSuccess(value);