public void GetCookieToken_CookieIsInvalid_PropagatesException() { // Arrange Mock<HttpContextBase> mockHttpContext = new Mock<HttpContextBase>(); mockHttpContext.Setup(o => o.Request.Cookies).Returns(new HttpCookieCollection() { new HttpCookie("cookie-name", "invalid-value") }); MockAntiForgeryConfig config = new MockAntiForgeryConfig() { CookieName = "cookie-name" }; HttpAntiForgeryException expectedException = new HttpAntiForgeryException("some exception"); Mock<MockableAntiForgeryTokenSerializer> mockSerializer = new Mock<MockableAntiForgeryTokenSerializer>(); mockSerializer.Setup(o => o.Deserialize("invalid-value")).Throws(expectedException); AntiForgeryTokenStore tokenStore = new AntiForgeryTokenStore( config: config, serializer: mockSerializer.Object); // Act & assert var ex = Assert.Throws<HttpAntiForgeryException>(() => tokenStore.GetCookieToken(mockHttpContext.Object)); Assert.Equal(expectedException, ex); }
public void GetFormToken_FormFieldIsInvalid_PropagatesException() { // Arrange Mock<HttpContextBase> mockHttpContext = new Mock<HttpContextBase>(); mockHttpContext.Setup(o => o.Request.Form.Get("form-field-name")).Returns("invalid-value"); MockAntiForgeryConfig config = new MockAntiForgeryConfig() { FormFieldName = "form-field-name" }; HttpAntiForgeryException expectedException = new HttpAntiForgeryException("some exception"); Mock<MockableAntiForgeryTokenSerializer> mockSerializer = new Mock<MockableAntiForgeryTokenSerializer>(); mockSerializer.Setup(o => o.Deserialize("invalid-value")).Throws(expectedException); AntiForgeryTokenStore tokenStore = new AntiForgeryTokenStore( config: config, serializer: mockSerializer.Object); // Act & assert var ex = Assert.Throws<HttpAntiForgeryException>(() => tokenStore.GetFormToken(mockHttpContext.Object)); Assert.Same(expectedException, ex); }