public void ExecuteResult_WithNullEtag_DoesNotAddEtagToHeader() { // arrange var result = new IdenticonResult(123, 40, ""); var context = new Mock<ControllerContext>(); context.Setup(c => c.HttpContext.Response.AppendHeader("ETag", It.IsAny<string>())).Throws(new InvalidOperationException()); context.Setup(c => c.HttpContext.Response.OutputStream).Returns(new MemoryStream()); // act, assert result.ExecuteResult(context.Object); }
public void ExecuteResult_SetsProperContentType() { // arrange var result = new IdenticonResult(123, 40, ""); var context = new Mock<ControllerContext>(); context.SetupSet(c => c.HttpContext.Response.ContentType, "image/png"); context.Setup(c => c.HttpContext.Response.OutputStream).Returns(new MemoryStream()); // act result.ExecuteResult(context.Object); // assert context.VerifySet(c => c.HttpContext.Response.ContentType, "image/png"); }
public void ExecuteResult_WithEtag_AddsEtagToHeader() { // arrange var result = new IdenticonResult(123, 40, "some-etag-value"); var context = new Mock<ControllerContext>(); string etag = null; context.Setup(c => c.HttpContext.Response.AppendHeader("ETag", It.IsAny<string>())).Callback<string, string>((key, value) => etag = value); context.Setup(c => c.HttpContext.Response.OutputStream).Returns(new MemoryStream()); // act result.ExecuteResult(context.Object); // assert Assert.AreEqual("some-etag-value", etag); }
public void ExecuteResult_ClearsResponse() { // arrange var result = new IdenticonResult(123, 40, null); var context = new Mock<ControllerContext>(); bool responseCleared = false; context.Setup(c => c.HttpContext.Response.Clear()).Callback(() => responseCleared = true); context.Setup(c => c.HttpContext.Response.OutputStream).Returns(new MemoryStream()); // act result.ExecuteResult(context.Object); // assert Assert.IsTrue(responseCleared); }