public void Constructor_WithParameterUrlAndPermanent_SetsResultUrlAndPermanent() { // Arrange var url = "/test/url"; // Act var result = new LocalRedirectResult(url, permanent: true); // Assert Assert.True(result.Permanent); Assert.Same(url, result.Url); }
public void Execute_ReturnsExpectedValues() { // Arrange var appRoot = "/"; var contentPath = "~/Home/About"; var expectedPath = "/Home/About"; var httpResponse = new Mock<HttpResponse>(); httpResponse.Setup(o => o.Redirect(expectedPath, false)) .Verifiable(); var httpContext = GetHttpContext(appRoot, contentPath, expectedPath, httpResponse.Object); var actionContext = GetActionContext(httpContext); var result = new LocalRedirectResult(contentPath); // Act result.ExecuteResult(actionContext); // Assert httpResponse.Verify(); }
public void Execute_ReturnsExpectedValues() { // Arrange var appRoot = "/"; var contentPath = "~/Home/About"; var expectedPath = "/Home/About"; var httpResponse = new Mock <HttpResponse>(); httpResponse.Setup(o => o.Redirect(expectedPath, false)) .Verifiable(); var httpContext = GetHttpContext(appRoot, contentPath, expectedPath, httpResponse.Object); var actionContext = GetActionContext(httpContext); var result = new LocalRedirectResult(contentPath); // Act result.ExecuteResult(actionContext); // Assert httpResponse.Verify(); }
public void Execute_Throws_ForNonLocalUrl( string appRoot, string contentPath, string expectedPath) { // Arrange var httpResponse = new Mock<HttpResponse>(); httpResponse.Setup(o => o.Redirect(expectedPath, false)) .Verifiable(); var httpContext = GetHttpContext(appRoot, contentPath, expectedPath, httpResponse.Object); var actionContext = GetActionContext(httpContext); var result = new LocalRedirectResult(contentPath); // Act & Assert var exception = Assert.Throws<InvalidOperationException>(() => result.ExecuteResult(actionContext)); Assert.Equal( "The supplied URL is not local. A URL with an absolute path is considered local if it does not " + "have a host/authority part. URLs using virtual paths ('~/') are also local.", exception.Message); }
public void Execute_Throws_ForNonLocalUrl( string appRoot, string contentPath, string expectedPath) { // Arrange var httpResponse = new Mock <HttpResponse>(); httpResponse.Setup(o => o.Redirect(expectedPath, false)) .Verifiable(); var httpContext = GetHttpContext(appRoot, contentPath, expectedPath, httpResponse.Object); var actionContext = GetActionContext(httpContext); var result = new LocalRedirectResult(contentPath); // Act & Assert var exception = Assert.Throws <InvalidOperationException>(() => result.ExecuteResult(actionContext)); Assert.Equal( "The supplied URL is not local. A URL with an absolute path is considered local if it does not " + "have a host/authority part. URLs using virtual paths ('~/') are also local.", exception.Message); }