X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Factors%2Fclient%2FAbstractClientActorTest.java;fp=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Factors%2Fclient%2FAbstractClientActorTest.java;h=ee8a2a3bd5f8c1c401986085a81aa26bb3047542;hb=d8bc95c84030468dfe7d04b72499d798dd374331;hp=0000000000000000000000000000000000000000;hpb=3ebd44f9b7a4a217222036c2889d2a04b4f1eb30;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/actors/client/AbstractClientActorTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/actors/client/AbstractClientActorTest.java new file mode 100644 index 0000000000..ee8a2a3bd5 --- /dev/null +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/actors/client/AbstractClientActorTest.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.controller.cluster.datastore.actors.client; + +import static org.mockito.Mockito.doReturn; +import akka.actor.ActorRef; +import org.junit.Before; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier; +import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier; +import org.opendaylight.controller.cluster.access.concepts.FrontendType; +import org.opendaylight.controller.cluster.access.concepts.MemberName; +import org.opendaylight.controller.cluster.common.actor.TestTicker; + +/** + * Abstract base class for client actors and their components. + * + * @author Robert Varga + */ +public abstract class AbstractClientActorTest { + private static final MemberName MEMBER_NAME = MemberName.forName("member-1"); + + @Mock + private ClientActorContext mockActorContext; + @Mock + private ActorRef mockSelf; + + protected final TestTicker ticker = new TestTicker(); + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + + final FrontendType frontendType = FrontendType.forName(getClass().getSimpleName()); + final FrontendIdentifier frontendId = FrontendIdentifier.create(MEMBER_NAME, frontendType); + final ClientIdentifier clientId = ClientIdentifier.create(frontendId, 0); + + doReturn(ticker).when(mockActorContext).ticker(); + doReturn(clientId).when(mockActorContext).getIdentifier(); + doReturn(getClass().getSimpleName()).when(mockActorContext).persistenceId(); + doReturn(mockSelf).when(mockActorContext).self(); + } + + protected final ClientActorContext actorContext() { + return mockActorContext; + } + + protected final ActorRef self() { + return mockSelf; + } +}