Search in sources :

Example 6 with EzyNioUdpDataHandler

use of com.tvd12.ezyfoxserver.nio.handler.EzyNioUdpDataHandler in project ezyfox-server by youngmonkeys.

the class EzyNioUdpReaderTest method testClosedSelectorExceptionCase.

@Test
public void testClosedSelectorExceptionCase() throws Exception {
    EzyNioUdpReader reader = new EzyNioUdpReader(1);
    Selector selector = spy(Selector.class);
    when(selector.select()).thenReturn(1);
    reader.setOwnSelector(selector);
    EzyNioUdpDataHandler dataHandler = mock(EzyNioUdpDataHandler.class);
    reader.setUdpDataHandler(dataHandler);
    SelectionKey selectionKey = spy(SelectionKey.class);
    when(selector.selectedKeys()).thenReturn(Sets.newHashSet(selectionKey));
    when(selectionKey.isValid()).thenReturn(true);
    when(selectionKey.readyOps()).thenReturn(SelectionKey.OP_READ);
    MyDatagramChannel channel = mock(MyDatagramChannel.class);
    when(selectionKey.channel()).thenReturn(channel);
    when(channel.receive(any(ByteBuffer.class))).thenThrow(new ClosedSelectorException());
    reader.handleEvent();
}
Also used : EzyNioUdpReader(com.tvd12.ezyfoxserver.nio.udp.EzyNioUdpReader) EzyNioUdpDataHandler(com.tvd12.ezyfoxserver.nio.handler.EzyNioUdpDataHandler) ByteBuffer(java.nio.ByteBuffer) Test(org.testng.annotations.Test)

Example 7 with EzyNioUdpDataHandler

use of com.tvd12.ezyfoxserver.nio.handler.EzyNioUdpDataHandler in project ezyfox-server by youngmonkeys.

the class EzyNioUdpReaderTest method testExceptionCase.

@Test
public void testExceptionCase() throws Exception {
    EzyNioUdpReader reader = new EzyNioUdpReader(1);
    Selector selector = spy(Selector.class);
    when(selector.select()).thenReturn(1);
    reader.setOwnSelector(selector);
    EzyNioUdpDataHandler dataHandler = mock(EzyNioUdpDataHandler.class);
    reader.setUdpDataHandler(dataHandler);
    SelectionKey selectionKey = spy(SelectionKey.class);
    when(selector.selectedKeys()).thenReturn(Sets.newHashSet(selectionKey));
    when(selectionKey.isValid()).thenReturn(true);
    when(selectionKey.readyOps()).thenReturn(SelectionKey.OP_READ);
    MyDatagramChannel channel = mock(MyDatagramChannel.class);
    when(selectionKey.channel()).thenReturn(channel);
    when(channel.receive(any(ByteBuffer.class))).thenThrow(new IllegalStateException("test"));
    reader.handleEvent();
}
Also used : EzyNioUdpReader(com.tvd12.ezyfoxserver.nio.udp.EzyNioUdpReader) EzyNioUdpDataHandler(com.tvd12.ezyfoxserver.nio.handler.EzyNioUdpDataHandler) ByteBuffer(java.nio.ByteBuffer) Test(org.testng.annotations.Test)

Aggregations

EzyNioUdpDataHandler (com.tvd12.ezyfoxserver.nio.handler.EzyNioUdpDataHandler)6 EzyNioUdpReader (com.tvd12.ezyfoxserver.nio.udp.EzyNioUdpReader)6 Test (org.testng.annotations.Test)6 ByteBuffer (java.nio.ByteBuffer)5 IOException (java.io.IOException)2 Sets (com.tvd12.ezyfox.collect.Sets)1 EzySimpleNioUdpDataHandler (com.tvd12.ezyfoxserver.nio.handler.EzySimpleNioUdpDataHandler)1 MethodInvoker (com.tvd12.test.reflect.MethodInvoker)1 MethodUtil (com.tvd12.test.reflect.MethodUtil)1 InetSocketAddress (java.net.InetSocketAddress)1 java.nio.channels (java.nio.channels)1 SelectorProvider (java.nio.channels.spi.SelectorProvider)1 Set (java.util.Set)1 Matchers.any (org.mockito.Matchers.any)1 Mockito (org.mockito.Mockito)1 Answer (org.mockito.stubbing.Answer)1