Ejemplo n.º 1
0
        public void Constructor_WithParameterUrlAndPermanent_SetsResultUrlPermanentAndPreserveMethod()
        {
            // Arrange
            var url = "/test/url";

            // Act
            var result = new LocalRedirectResult(url, permanent: true, preserveMethod: true);

            // Assert
            Assert.True(result.PreserveMethod);
            Assert.True(result.Permanent);
            Assert.Same(url, result.Url);
        }
Ejemplo n.º 2
0
        public void Constructor_WithParameterUrl_SetsResultUrlAndNotPermanentOrPreserveMethod()
        {
            // Arrange
            var url = "/test/url";

            // Act
            var result = new LocalRedirectResult(url);

            // Assert
            Assert.False(result.PreserveMethod);
            Assert.False(result.Permanent);
            Assert.Same(url, result.Url);
        }
Ejemplo n.º 3
0
        public async Task Execute_Throws_ForNonLocalUrl(
            string appRoot,
            string contentPath)
        {
            // Arrange
            var httpContext = GetHttpContext(appRoot);
            var result      = new LocalRedirectResult(contentPath);

            // Act & Assert
            var exception = await Assert.ThrowsAsync <InvalidOperationException>(() => result.ExecuteAsync(httpContext));

            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);
        }
Ejemplo n.º 4
0
        public async Task Execute_ReturnsExpectedValues()
        {
            // Arrange
            var appRoot      = "/";
            var contentPath  = "~/Home/About";
            var expectedPath = "/Home/About";

            var httpContext = GetHttpContext(appRoot);
            var result      = new LocalRedirectResult(contentPath);

            // Act
            await result.ExecuteAsync(httpContext);

            // Assert
            Assert.Equal(expectedPath, httpContext.Response.Headers.Location.ToString());
            Assert.Equal(StatusCodes.Status302Found, httpContext.Response.StatusCode);
        }