import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.mdsal.binding.api.DataObjectModification;
import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType;
import org.opendaylight.mdsal.binding.api.DataTreeModification;
import org.opendaylight.netconf.notifications.BaseNotificationPublisherRegistration;
import org.opendaylight.netconf.notifications.NetconfNotificationCollector;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.HostBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Host;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.sessions.Session;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.sessions.SessionBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfCapabilityChange;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfSessionEnd;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfSessionStart;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.ZeroBasedCounter32;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
+import org.opendaylight.yangtools.yang.common.Uint32;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
public class SessionNotificationProducerTest {
private static final Logger LOG = LoggerFactory.getLogger(SessionNotificationProducerTest.class);
private DataBroker dataBroker;
@Before
- public void setUp() throws Exception {
- MockitoAnnotations.initMocks(this);
-
+ public void setUp() {
doReturn(listenerRegistration).when(dataBroker).registerDataTreeChangeListener(any(DataTreeIdentifier.class),
any(DataTreeChangeListener.class));
-
- doNothing().when(registration).onCapabilityChanged(any(NetconfCapabilityChange.class));
doNothing().when(registration).onSessionStarted(any());
doNothing().when(registration).onSessionEnded(any());
@Test
public void testOnDataChangedSessionCreated() throws Exception {
- final Session session = createSession(1);
+ final Session session = createSession(Uint32.ONE);
final DataTreeModification<Session> treeChange = getTreeModification(session, ModificationType.WRITE);
publisher.onDataTreeChanged(Collections.singleton(treeChange));
ArgumentCaptor<NetconfSessionStart> captor = ArgumentCaptor.forClass(NetconfSessionStart.class);
public void testOnDataChangedSessionUpdated() throws Exception {
final DataTreeModification<Session> treeChange = mock(DataTreeModification.class);
final DataObjectModification<Session> changeObject = mock(DataObjectModification.class);
- final Session sessionBefore = createSessionWithInRpcCount(1, 0);
- final Session sessionAfter = createSessionWithInRpcCount(1, 1);
+ final Session sessionBefore = createSessionWithInRpcCount(Uint32.ONE, Uint32.ZERO);
+ final Session sessionAfter = createSessionWithInRpcCount(Uint32.ONE, Uint32.ONE);
doReturn(sessionBefore).when(changeObject).getDataBefore();
doReturn(sessionAfter).when(changeObject).getDataAfter();
doReturn(ModificationType.WRITE).when(changeObject).getModificationType();
@Test
public void testOnDataChangedSessionDeleted() throws Exception {
- final Session session = createSession(1);
+ final Session session = createSession(Uint32.ONE);
final DataTreeModification<Session> data = getTreeModification(session, ModificationType.DELETE);
publisher.onDataTreeChanged(Collections.singleton(data));
ArgumentCaptor<NetconfSessionEnd> captor = ArgumentCaptor.forClass(NetconfSessionEnd.class);
Assert.assertEquals(session.getUsername(), value.getUsername());
}
- private static Session createSession(final long id) {
- return createSessionWithInRpcCount(id, 0);
+ private static Session createSession(final Uint32 id) {
+ return createSessionWithInRpcCount(id, Uint32.ZERO);
}
- private static Session createSessionWithInRpcCount(final long id, final long inRpc) {
+ private static Session createSessionWithInRpcCount(final Uint32 id, final Uint32 inRpc) {
return new SessionBuilder()
.setSessionId(id)
- .setSourceHost(HostBuilder.getDefaultInstance("0.0.0.0"))
+ .setSourceHost(new Host(new IpAddress(new Ipv4Address("0.0.0.0"))))
.setUsername("user")
.setInRpcs(new ZeroBasedCounter32(inRpc))
.build();