如何将Cookie添加到DefaultHttpContext

时间:2016-07-20 07:55:34

标签: c# asp.net unit-testing cookies asp.net-core

我有一个期望HttpRequest作为参数的函数:

public string Read(HttpRequest req)
{
  if (req.Headers["X-Requested-With"] == "XMLHttpRequest")
  {
    return req.Headers[ConfigurationManager.AppSettings["ajaxsession"]];
  }

  return req.Cookies[ConfigurationManager.AppSettings["cookiename"]];
}

我写了一个单元测试

[Test]
public void ReadSessionToken_BrowserRequest_ExpectSidToken()
{
  var repo = new DefaultHttpContext();
}

我的问题是,如何将Cookie添加到repo.Request.Cookies

1 个答案:

答案 0 :(得分:3)

我没有测试但是在github repo中有一个test用于设置和获取cookie:

var newCookies = new[] { "name0=value0%2C", "%5Ename1=value1" };
request.Headers["Cookie"] = newCookies;

<强>更新

经过测试和工作。