private static void StartHttpServer(string json, string query) { // Arange. var tcpListener = new Mock <ITcpListenerWrapper>(); var streamFactory = new Mock <IStreamFactory>(); var serverProvider = new Mock <IServersProvider>(); var encryptor = new Mock <IEncryptor>(); var stripMessager = new Mock <IStripMessenger>(); var httpProcessorFactory = new Mock <IHttpProcessorFactory>(); var httpProcessor = new Mock <IHttpProcessor>(); var memoryStream = new Mock <IMemoryStreamWrapper>(); var streamWriter = new Mock <IStreamWriterWrapper>(); var tcpClient = new Mock <ITcpClientWrapper>(); tcpListener.Setup(t => t.AcceptTcpClient()).Returns(tcpClient.Object); Action <string, IMemoryStreamWrapper, IStreamWriterWrapper> postHandler = delegate { }; httpProcessorFactory.Setup(h => h.GetHttpProcessor(It.IsAny <ITcpClientWrapper>(), It.IsAny <IStreamFactory>(), It.IsAny <Action <string> >(), It.IsAny <Action <string, IMemoryStreamWrapper, IStreamWriterWrapper> >())) .Callback((ITcpClientWrapper t, IStreamFactory s, Action <string> ag, Action <string, IMemoryStreamWrapper, IStreamWriterWrapper> ah) => postHandler = ah) .Returns(httpProcessor.Object); memoryStream.Setup(m => m.ToArray()).Returns(new byte[1]); encryptor.Setup(e => e.DecryptStringFromBytes(It.IsAny <byte[]>())).Returns(json); encryptor.Setup(e => e.EncryptStringToBytes(It.IsAny <string>())).Returns(new byte[1]); httpProcessor.Setup(h => h.Process()) .Callback(() => postHandler(query, memoryStream.Object, streamWriter.Object)); serverProvider.Setup(s => s.UpdateServer(It.IsAny <ServerInfo>())).ReturnsAsync(true); serverProvider.Setup(s => s.SelectServerForPlayerJson(It.IsAny <PlayerInfo>())).Returns("server"); var masterServer = new MasterServerHttpServer( tcpListener.Object, streamFactory.Object, serverProvider.Object, httpProcessorFactory.Object, encryptor.Object, stripMessager.Object); // Act. // Assert. Assert.DoesNotThrow(() => masterServer.StartHttpServer()); }
public void SuccessfulStopHttpServer() { //Thread.Sleep(1000); // Arange. var tcpListener = new Mock <ITcpListenerWrapper>(); var streamFactory = new Mock <IStreamFactory>(); var serverProvider = new Mock <IServersProvider>(); var encryptor = new Mock <IEncryptor>(); var stripMessager = new Mock <IStripMessenger>(); var httpProcessorFactory = new Mock <IHttpProcessorFactory>(); var masterServer = new MasterServerHttpServer( tcpListener.Object, streamFactory.Object, serverProvider.Object, httpProcessorFactory.Object, encryptor.Object, stripMessager.Object); // Act. // Assert. Assert.DoesNotThrow(() => masterServer.StopHttpServer()); }