2009-06-12 12 views
2

J'essaie de simuler une requête HttpRequest SSL, mais je n'arrive pas à trouver comment définir le protocole sur HTTPS dans l'objet de requête. J'ai commencé à partir d'un exemple de Phil Haack ici: http://haacked.com/archive/2005/06/11/simulating_httpcontext.aspxMock SSL HttpRequest pour les tests unitaires

Y at-il un moyen de définir la demande à 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); 
    } 
} 

Répondre

1

Je pense qu'il ya une propriété IsSecureConnection quelque part dans HttpContext.Request qui doit être vrai.