1 package org.opendaylight.controller.cluster.datastore.messages;
3 import static junit.framework.TestCase.assertEquals;
4 import akka.actor.Actor;
5 import akka.serialization.Serialization;
6 import akka.testkit.TestActorRef;
7 import org.junit.After;
8 import org.junit.Before;
10 import org.opendaylight.controller.cluster.datastore.AbstractActorTest;
11 import org.opendaylight.controller.cluster.raft.TestActorFactory;
12 import org.opendaylight.controller.cluster.raft.utils.MessageCollectorActor;
13 import org.opendaylight.controller.md.cluster.datastore.model.TestModel;
14 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker;
15 import org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages;
16 import org.opendaylight.controller.protobuff.messages.registration.ListenerRegistrationMessages;
18 public class RegisterChangeListenerTest extends AbstractActorTest {
20 private TestActorFactory factory;
24 factory = new TestActorFactory(getSystem());
28 public void shutDown(){
33 public void testToSerializable(){
34 TestActorRef<Actor> testActor = factory.createTestActor(MessageCollectorActor.props());
35 RegisterChangeListener registerChangeListener = new RegisterChangeListener(TestModel.TEST_PATH, testActor
36 , AsyncDataBroker.DataChangeScope.BASE);
38 ListenerRegistrationMessages.RegisterChangeListener serialized
39 = registerChangeListener.toSerializable();
41 NormalizedNodeMessages.InstanceIdentifier path = serialized.getInstanceIdentifierPath();
43 assertEquals("urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:store:test", path.getCode(0));
44 assertEquals(Serialization.serializedActorPath(testActor), serialized.getDataChangeListenerActorPath());
45 assertEquals(AsyncDataBroker.DataChangeScope.BASE.ordinal(), serialized.getDataChangeScope());
50 public void testFromSerializable(){
51 TestActorRef<Actor> testActor = factory.createTestActor(MessageCollectorActor.props());
52 RegisterChangeListener registerChangeListener = new RegisterChangeListener(TestModel.TEST_PATH, testActor
53 , AsyncDataBroker.DataChangeScope.SUBTREE);
55 ListenerRegistrationMessages.RegisterChangeListener serialized
56 = registerChangeListener.toSerializable();
59 RegisterChangeListener fromSerialized = RegisterChangeListener.fromSerializable(getSystem(), serialized);
61 assertEquals(TestModel.TEST_PATH, registerChangeListener.getPath());
62 assertEquals(testActor.path().toString(), fromSerialized.getDataChangeListenerPath().toString());
63 assertEquals(AsyncDataBroker.DataChangeScope.SUBTREE, fromSerialized.getScope());