package org.opendaylight.openflowjava.protocol.impl.core.connection;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.opendaylight.openflowjava.protocol.api.connection.ConnectionAdapter.SystemListener;
import org.opendaylight.openflowjava.protocol.api.connection.ConnectionReadyListener;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.system.rev130927.DisconnectEventBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.system.rev130927.SwitchIdleEvent;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.system.rev130927.SwitchIdleEventBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.system.rev130927.SystemNotificationsListener;
import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.Uint32;
/**
* Unit test for ConnectionAdapterImpl.
* @author michal.polkorab
* @author madamjak
*/
+@RunWith(MockitoJUnitRunner.class)
public class ConnectionAdapterImplTest {
private static final int RPC_RESPONSE_EXPIRATION = 1;
+ private static final int CHANNEL_OUTBOUND_QUEUE_SIZE = 1024;
private static final RemovalListener<RpcResponseKey, ResponseExpectedRpcListener<?>> REMOVAL_LISTENER =
notification -> notification.getValue().discard();
- @Mock SocketChannel channel;
- @Mock ChannelPipeline pipeline;
- @Mock OpenflowProtocolListener messageListener;
- @Mock SystemNotificationsListener systemListener;
- @Mock ConnectionReadyListener readyListener;
- @Mock Cache<RpcResponseKey, ResponseExpectedRpcListener<?>> mockCache;
- @Mock ChannelFuture channelFuture;
+ @Mock
+ private SocketChannel channel;
+ @Mock
+ ChannelPipeline pipeline;
+ @Mock
+ private OpenflowProtocolListener messageListener;
+ @Mock
+ private SystemListener systemListener;
+ @Mock
+ private ConnectionReadyListener readyListener;
+ @Mock
+ private Cache<RpcResponseKey, ResponseExpectedRpcListener<?>> mockCache;
+ @Mock
+ private ChannelFuture channelFuture;
private ConnectionAdapterImpl adapter;
private Cache<RpcResponseKey, ResponseExpectedRpcListener<?>> cache;
*/
@Before
public void setUp() {
- MockitoAnnotations.initMocks(this);
when(channel.pipeline()).thenReturn(pipeline);
- adapter = new ConnectionAdapterImpl(channel, InetSocketAddress.createUnresolved("10.0.0.1", 6653), true);
+ adapter = new ConnectionAdapterImpl(channel, InetSocketAddress.createUnresolved("10.0.0.1", 6653), true,
+ CHANNEL_OUTBOUND_QUEUE_SIZE);
adapter.setMessageListener(messageListener);
adapter.setSystemListener(systemListener);
adapter.setConnectionReadyListener(readyListener);
verify(messageListener, times(1)).onPortStatusMessage((PortStatusMessage) message);
message = new SwitchIdleEventBuilder().build();
adapter.consume(message);
- verify(systemListener, times(1)).onSwitchIdleEvent((SwitchIdleEvent) message);
+ verify(systemListener, times(1)).onSwitchIdle((SwitchIdleEvent) message);
message = new DisconnectEventBuilder().build();
adapter.consume(message);
- verify(systemListener, times(1)).onDisconnectEvent((DisconnectEvent) message);
+ verify(systemListener, times(1)).onDisconnect((DisconnectEvent) message);
message = new EchoRequestMessageBuilder().build();
adapter.consume(message);
verify(messageListener, times(1)).onEchoRequestMessage((EchoRequestMessage) message);
public void testConsume2() {
adapter.setResponseCache(mockCache);
final BarrierOutputBuilder barrierBuilder = new BarrierOutputBuilder();
- barrierBuilder.setXid(42L);
+ barrierBuilder.setXid(Uint32.valueOf(42));
final BarrierOutput barrier = barrierBuilder.build();
adapter.consume(barrier);
verify(mockCache, times(1)).getIfPresent(any(RpcResponseKey.class));
@Test
public void testConsume3() {
final BarrierInputBuilder inputBuilder = new BarrierInputBuilder();
- inputBuilder.setVersion((short) EncodeConstants.OF13_VERSION_ID);
- inputBuilder.setXid(42L);
+ inputBuilder.setVersion(EncodeConstants.OF_VERSION_1_3);
+ inputBuilder.setXid(Uint32.valueOf(42));
final BarrierInput barrierInput = inputBuilder.build();
final RpcResponseKey key = new RpcResponseKey(42L,
"org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierOutput");
"failure", mockCache, key);
cache.put(key, listener);
final BarrierOutputBuilder barrierBuilder = new BarrierOutputBuilder();
- barrierBuilder.setXid(42L);
+ barrierBuilder.setXid(Uint32.valueOf(42));
final BarrierOutput barrierOutput = barrierBuilder.build();
adapter.consume(barrierOutput);
final ResponseExpectedRpcListener<?> ifPresent = cache.getIfPresent(key);
final int port = 9876;
final String host = "localhost";
final InetSocketAddress inetSockAddr = InetSocketAddress.createUnresolved(host, port);
- final ConnectionAdapterImpl connAddapter = new ConnectionAdapterImpl(channel, inetSockAddr, true);
+ final ConnectionAdapterImpl connAddapter = new ConnectionAdapterImpl(channel, inetSockAddr, true,
+ CHANNEL_OUTBOUND_QUEUE_SIZE);
Assert.assertEquals("Wrong - diffrence between channel.isOpen() and ConnectionAdapterImpl.isAlive()",
channel.isOpen(), connAddapter.isAlive());
-
connAddapter.disconnect();
Assert.assertFalse("Wrong - ConnectionAdapterImpl can not be alive after disconnet.", connAddapter.isAlive());
}
final int port = 9876;
final String host = "localhost";
final InetSocketAddress inetSockAddr = InetSocketAddress.createUnresolved(host, port);
- final ConnectionAdapterImpl connAddapter = new ConnectionAdapterImpl(channel, inetSockAddr, true);
+ final ConnectionAdapterImpl connAddapter = new ConnectionAdapterImpl(channel, inetSockAddr, true,
+ CHANNEL_OUTBOUND_QUEUE_SIZE);
connAddapter.setSystemListener(null);
connAddapter.setMessageListener(null);
connAddapter.setConnectionReadyListener(null);