public void Test1() { _server_api = new OpenServerApi("./server_information.json"); _server_mapper = new ServerEntityMapper(); _server_repository = new ServerRepository(_server_api, _server_mapper); _server_creator = new ServerCreatorRequest(_server_repository); _server_activator = new ServerActivatorRequest(_server_repository); ServerEntity server = _server_creator.Handle(666); Assert.IsNotNull(server); Assert.AreEqual(666, server.Port); ServerEntity server2 = _server_creator.Handle(667); Assert.IsNotNull(server2); Assert.AreEqual(667, server2.Port); Assert.AreEqual(666, server.Port); Assert.AreNotSame(server, server2); server = _server_activator.Handle(server, true, new ServerAcceptCallback(server)); Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 666)); Assert.AreEqual(true, socket.Connected); Assert.AreEqual(true, server.IsRunning); Assert.AreEqual(false, server2.IsRunning); server = _server_activator.Handle(server, false, null); Assert.AreEqual(false, server.IsRunning); }
public ServerEntity Active(bool active, int port) { if (active) { ServerEntity result = _server_creator.Handle(port); result = _server_activator.Handle(result, active, new DofusServerAcceptCallback(result)); return(result); } else { if (_server_repository.Remove(x => x.Port == port)) { return(null); } throw new ArgumentNullException($"cannot disable proxy with port : {port}"); } }