/** * Test connecting three clients to one server. * * @throws IOException */ @Test public void connectThreeClientsToOneServer() throws IOException { @SuppressWarnings("rawtypes") Context context = mock(Context.class); when(context.getConfiguration()).thenReturn(conf); ServerData<IntWritable, IntWritable, IntWritable, IntWritable> serverData = MockUtils.createNewServerData(conf, context); WorkerInfo workerInfo = new WorkerInfo(); NettyServer server = new NettyServer( conf, new WorkerRequestServerHandler.Factory(serverData), workerInfo, context); server.start(); workerInfo.setInetSocketAddress(server.getMyAddress()); List<WorkerInfo> addresses = Lists.<WorkerInfo>newArrayList(workerInfo); NettyClient client1 = new NettyClient(context, conf, new WorkerInfo()); client1.connectAllAddresses(addresses); NettyClient client2 = new NettyClient(context, conf, new WorkerInfo()); client2.connectAllAddresses(addresses); NettyClient client3 = new NettyClient(context, conf, new WorkerInfo()); client3.connectAllAddresses(addresses); client1.stop(); client2.stop(); client3.stop(); server.stop(); }
/** * Test connecting one client to three servers. * * @throws IOException */ @Test public void connectOneClientToThreeServers() throws IOException { @SuppressWarnings("rawtypes") Context context = mock(Context.class); when(context.getConfiguration()).thenReturn(conf); ServerData<IntWritable, IntWritable, IntWritable, IntWritable> serverData = MockUtils.createNewServerData(conf, context); RequestServerHandler.Factory requestServerHandlerFactory = new WorkerRequestServerHandler.Factory(serverData); WorkerInfo workerInfo1 = new WorkerInfo(); workerInfo1.setTaskId(1); NettyServer server1 = new NettyServer(conf, requestServerHandlerFactory, workerInfo1, context); server1.start(); workerInfo1.setInetSocketAddress(server1.getMyAddress()); WorkerInfo workerInfo2 = new WorkerInfo(); workerInfo1.setTaskId(2); NettyServer server2 = new NettyServer(conf, requestServerHandlerFactory, workerInfo2, context); server2.start(); workerInfo2.setInetSocketAddress(server2.getMyAddress()); WorkerInfo workerInfo3 = new WorkerInfo(); workerInfo1.setTaskId(3); NettyServer server3 = new NettyServer(conf, requestServerHandlerFactory, workerInfo3, context); server3.start(); workerInfo3.setInetSocketAddress(server3.getMyAddress()); NettyClient client = new NettyClient(context, conf, new WorkerInfo()); List<WorkerInfo> addresses = Lists.<WorkerInfo>newArrayList(workerInfo1, workerInfo2, workerInfo3); client.connectAllAddresses(addresses); client.stop(); server1.stop(); server2.stop(); server3.stop(); }