Skip to content

Instantly share code, notes, and snippets.

@cwe1ss
Created August 9, 2014 13:17
Show Gist options
  • Select an option

  • Save cwe1ss/508b330300c644ca640f to your computer and use it in GitHub Desktop.

Select an option

Save cwe1ss/508b330300c644ca640f to your computer and use it in GitHub Desktop.

Revisions

  1. cwe1ss created this gist Aug 9, 2014.
    43 changes: 43 additions & 0 deletions gistfile1.cs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,43 @@
    public static class Mocks
    {
    public static Mock<HttpRequestBase> HttpRequest()
    {
    var httpRequest = new Mock<HttpRequestBase>();
    httpRequest.Setup(x => x.Cookies).Returns(new HttpCookieCollection());
    return httpRequest;
    }

    public static Mock<HttpResponseBase> HttpResponse()
    {
    var httpResponse = new Mock<HttpResponseBase>();
    httpResponse.Setup(x => x.Cookies).Returns(new HttpCookieCollection());
    return httpResponse;
    }
    }

    // This method is from my CookieContainerTests class

    [TestMethod]
    public void SetValue_UpdatesExistingCookie()
    {
    // Arrange
    const string cookieName = "myCookie";
    const string cookieValue = "myValue";
    DateTime cookieExpires = new DateTime(2009, 1, 1, 0, 0, 0);

    var httpRequest = Mocks.HttpRequest();
    var httpResponse = Mocks.HttpResponse();
    var cookieContainer = new CookieContainer(httpRequest.Object, httpResponse.Object);

    httpResponse.Object.Cookies.Add(new HttpCookie(cookieName, "oldValue"));

    // Act
    _cookieContainer.SetValue(cookieName, cookieValue, cookieExpires);

    // Assert
    HttpCookie cookie = httpResponse.Object.Cookies["myCookie"];
    Assert.IsNotNull(cookie);
    Assert.AreEqual(cookie.Name, cookieName);
    Assert.AreEqual(cookie.Value, cookieValue);
    Assert.AreEqual(cookie.Expires, cookieExpires);
    }