【问题标题】:Mock SSL HttpRequest for Unit Testing用于单元测试的模拟 SSL HttpRequest
【发布时间】:2009-06-12 14:00:06
【问题描述】:

我正在尝试模拟 SSL HttpRequest,但我无法弄清楚如何在请求对象中将协议设置为 HTTPS。我从 Phil Haack 的一个例子开始: http://haacked.com/archive/2005/06/11/simulating_httpcontext.aspx

有没有办法将请求设置为 SSL?

public class MockHttpRequest : SimpleWorkerRequest
{
    private string _Host;

    public MockHttpRequest(
        string appVirtualDir, string appPhysicalDir, string page, string query, TextWriter output, string host) :
        base(appVirtualDir, appPhysicalDir, page, query, output)
    {
        if (string.IsNullOrEmpty(host))
        {
            throw new ArgumentException("Host must be provided.");
        }

        _Host = host;
    }
}

public static class UnitTestingHelper
{
    public static HttpContext CreateMockHttpContext(string host, string page)
    {
        string appVirtualDir = "/";
        string appPhysicalDir = @"C:\Documents and Settings\user\My Documents\Workspace\Project\";
        string query = string.Empty;
        TextWriter output = null;

        MockHttpRequest request
            = new MockHttpRequest(appVirtualDir, appPhysicalDir, "default.aspx", query, output, host);

        // How to make the request HTTPS?

        HttpContext context = new HttpContext(request);

        return new HttpContext(request);
    }
}

【问题讨论】:

    标签: unit-testing ssl https


    【解决方案1】:

    我认为 HttpContext.Request 中某处的 IsSecureConnection 属性必须为真。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-02
      • 1970-01-01
      • 2016-09-20
      • 2022-10-01
      • 2019-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多