public void HttpSocketAdapter_WritesRequestLineAndHeaders() { // Arrange MockSocketAdapter serverSocket = new MockSocketAdapter(); HttpSocketAdapter clientSocket = new HttpSocketAdapter("GET", new Uri("http://localhost:1234/Hello.aspx?Name=%22Value%22#Fragment"), serverSocket); // Act clientSocket.CompleteRequest(); // Assert Assert.StartsWith("GET /Hello.aspx?Name=%22Value%22#Fragment HTTP/1.1\r\n", serverSocket.SentContent); Assert.Contains("Host: localhost:1234\r\n", serverSocket.SentContent); Assert.Contains("Transfer-Encoding: chunked\r\n", serverSocket.SentContent); Assert.EndsWith("\r\n\r\n0\r\n\r\n", serverSocket.SentContent); }
public void HttpSocketAdapter_AddsCustomHeaders() { // Arrange MockSocketAdapter serverSocket = new MockSocketAdapter(); HttpSocketAdapter clientSocket = new HttpSocketAdapter("POST", new Uri("http://bing.com"), serverSocket); // Act clientSocket.AddRequestHeader("Content-Encoding", "UTF-16"); clientSocket.CompleteRequest(); // Assert Assert.StartsWith("POST / HTTP/1.1\r\n", serverSocket.SentContent); Assert.Contains("Host: bing.com:80\r\n", serverSocket.SentContent); Assert.Contains("Transfer-Encoding: chunked\r\n", serverSocket.SentContent); Assert.Contains("Content-Encoding: UTF-16\r\n", serverSocket.SentContent); Assert.EndsWith("\r\n\r\n0\r\n\r\n", serverSocket.SentContent); }