mirror of
https://github.com/AlexMacocian/MTSC.git
synced 2026-07-22 10:19:31 +00:00
6aab10c6f2
Modified HttpRequest parser to skip the first '/' from URI
39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using MTSC.Common.Http;
|
|
using System.Text;
|
|
|
|
namespace MTSC.UnitTests
|
|
{
|
|
[TestClass]
|
|
public class HttpRequestTests
|
|
{
|
|
private const string postWithHeader = "POST /test/demo_form.php HTTP/1.1\n\rHost: w3schools.com\n\r\n\r";
|
|
|
|
private const string emptyGet = "GET / HTTP/1.1\n\r\n\r";
|
|
|
|
[DataTestMethod]
|
|
[DataRow(postWithHeader)]
|
|
[DataRow(emptyGet)]
|
|
public void ParseShouldPass(string requestString)
|
|
{
|
|
HttpRequest request = HttpRequest.FromBytes(ASCIIEncoding.ASCII.GetBytes(requestString));
|
|
}
|
|
|
|
[DataTestMethod]
|
|
[DataRow(postWithHeader, "test/demo_form.php")]
|
|
[DataRow(emptyGet, "")]
|
|
public void UriShouldBeAsExpected(string requestString, string uri)
|
|
{
|
|
HttpRequest request = HttpRequest.FromBytes(ASCIIEncoding.ASCII.GetBytes(requestString));
|
|
Assert.AreEqual(request.RequestURI, uri);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void HeaderShouldExist()
|
|
{
|
|
HttpRequest request = HttpRequest.FromBytes(ASCIIEncoding.ASCII.GetBytes(postWithHeader));
|
|
Assert.AreEqual(request.Headers[HttpMessage.RequestHeaders.Host], "w3schools.com");
|
|
}
|
|
}
|
|
}
|