Files
JIMRI/java/test/jmri/jmrix/bidib/tcpserver/BiDiBMessageReceiverTest.java
2026-06-17 14:00:51 +02:00

67 lines
2.0 KiB
Java

package jmri.jmrix.bidib.tcpserver;
import java.io.ByteArrayOutputStream;
import jmri.jmrix.bidib.BiDiBInterfaceScaffold;
import jmri.jmrix.bidib.BiDiBSystemConnectionMemo;
import jmri.jmrix.bidib.TestBiDiBTrafficController;
import jmri.util.JUnitUtil;
import org.bidib.jbidibc.core.NodeListener;
import org.bidib.jbidibc.messages.exception.ProtocolException;
import org.bidib.jbidibc.net.serialovertcp.NetBidibServerPlainTcpPort;
import org.junit.jupiter.api.*;
import static org.mockito.Mockito.mock;
/**
* Tests for the BiDiBMessageReceiver class
*
* @author Eckart Meyer Copyright (C) 2023
*/
public class BiDiBMessageReceiverTest {
private BiDiBSystemConnectionMemo memo;
@Test
public void testCTor() {
ServerMessageReceiver r = new ServerMessageReceiver(memo.getBiDiBTrafficController()) {
@Override
public void publishResponse(ByteArrayOutputStream output) throws ProtocolException {
}
@Override
public void removeNodeListener(NodeListener nodeListener) {
}
};
Assertions.assertNotNull(r, "r exists");
TcpServerNetMessageHandler h = new TcpServerNetMessageHandler(r);
Assertions.assertNotNull(h, "h exists");
// use a Mocked NetBidibServerPlainTcpPort as creating a real one throws
// java.net.BindException: Permission denied (Bind failed) on CI runs
NetBidibServerPlainTcpPort p = mock(NetBidibServerPlainTcpPort.class);
BiDiBMessageReceiver t = new BiDiBMessageReceiver(h, p);
Assertions.assertNotNull(t, "t exists");
}
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
memo = new BiDiBSystemConnectionMemo();
memo.setBiDiBTrafficController(new TestBiDiBTrafficController(new BiDiBInterfaceScaffold()));
}
@AfterEach
public void tearDown() {
if ( memo != null ) {
memo.dispose();
memo = null;
}
JUnitUtil.tearDown();
}
}