public void ScgiServerConstructorTest()
{
string BindIp = "127.0.0.1";
int BindPort = NetworkUtilities.GetAvailableTcpPort();
var ScgiServer = new TestScgiServer(BindIp, BindPort);
ScgiServer.Listen();
new Thread(ScgiServer.AcceptLoop).Start();
var TcpClient = new TcpClient(BindIp, BindPort);
var TcpClientStream = TcpClient.GetStream();
var HeaderStream = new MemoryStream().PreservePositionAndLock((Stream) =>
{
Stream.WriteStringzPair("CONTENT_LENGTH", "0");
Stream.WriteStringzPair("SCGI", "1");
Stream.WriteStringzPair("REQUEST_METHOD", "GET");
Stream.WriteStringzPair("REQUEST_URI", "/test");
});
TcpClientStream.WriteString(HeaderStream.Length + ":");
TcpClientStream.WriteBytes(HeaderStream.ToArray());
TcpClientStream.WriteByte((byte)',');
Assert.IsTrue(ScgiServer.HandleRequestEvent.WaitOne(1000));
}
}