Assert.assertTrue(seedNode.getPeerManager().peers.containsKey(joinerNode.getRemoteNodeAddress().physicalLocation), "The seed peer manager should contain the joiner peer");
}
@Test(enabled = false) // This launches the GUI, it shouldn't.
public void threePeerTest() throws Exception{
final TrNodeConfig seedConfig = new TrNodeConfig();
seedConfig.capabilities.allowsAssimilation = true;
seedConfig.capabilities.allowsUnsolicitiedInbound = true;
seedConfig.peers.runMaintainance = false;
seedConfig.peers.runBroadcast = false;
seedConfig.localHostName = "localhost";
seedConfig.udp.listenPort = 7643;
final File seedDir = TestUtils.createTempDirectory();
final TrNode seedNode = new TrNode(seedDir, seedConfig);
final RemoteNodeAddress seedPublicNodeId = seedNode.getRemoteNodeAddress();
final File joinerDir = TestUtils.createTempDirectory();
final TrNodeConfig joinerConfig = new TrNodeConfig();
joinerConfig.udp.listenPort = 7644;
joinerConfig.localHostName = "localhost";
joinerConfig.peers.runMaintainance = true;
joinerConfig.peers.topologyMaintenance = true;
joinerConfig.peers.runBroadcast = true;
joinerConfig.capabilities.allowsAssimilation = true;
joinerConfig.capabilities.allowsUnsolicitiedInbound = false;
joinerConfig.capabilities.receivesMessageBroadcasts = true;
final File joinerPubNodeIdsDir = new File(joinerDir, joinerConfig.publicNodeIdsDir);
joinerPubNodeIdsDir.mkdir();
final File joinerDir2 = TestUtils.createTempDirectory();
final TrNodeConfig joinerConfig2 = new TrNodeConfig();
joinerConfig2.udp.listenPort = 7645;
joinerConfig2.localHostName = "localhost";
joinerConfig2.peers.runMaintainance = true;
joinerConfig2.peers.topologyMaintenance = true;