Porting HttpUnauthorizedResult
This commit is contained in:
parent
7c18e666a3
commit
1144ba72d5
|
|
@ -0,0 +1,21 @@
|
||||||
|
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using Microsoft.AspNet.WebUtilities;
|
||||||
|
|
||||||
|
namespace Microsoft.AspNet.Mvc
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Represents an <see cref="HttpUnauthorizedResult"/> that when
|
||||||
|
/// executed will produce an Unauthorized (401) response.
|
||||||
|
/// </summary>
|
||||||
|
public class HttpUnauthorizedResult : HttpStatusCodeResult
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Creates a new <see cref="HttpUnauthorizedResult"/> instance.
|
||||||
|
/// </summary>
|
||||||
|
public HttpUnauthorizedResult() : base(StatusCodes.Status401Unauthorized)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -682,6 +682,16 @@ namespace Microsoft.AspNet.Mvc
|
||||||
return new FilePathResult(fileName, contentType) { FileDownloadName = fileDownloadName };
|
return new FilePathResult(fileName, contentType) { FileDownloadName = fileDownloadName };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Creates an <see cref="HttpUnauthorizedResult"/> that produces an Unauthorized (401) response.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>The created <see cref="HttpUnauthorizedResult"/> for the response.</returns>
|
||||||
|
[NonAction]
|
||||||
|
public virtual HttpUnauthorizedResult HttpUnauthorized()
|
||||||
|
{
|
||||||
|
return new HttpUnauthorizedResult();
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Creates an <see cref="HttpNotFoundResult"/> that produces a Not Found (404) response.
|
/// Creates an <see cref="HttpNotFoundResult"/> that produces a Not Found (404) response.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ namespace Microsoft.AspNet.Mvc
|
||||||
|
|
||||||
protected virtual void Fail([NotNull] AuthorizationContext context)
|
protected virtual void Fail([NotNull] AuthorizationContext context)
|
||||||
{
|
{
|
||||||
context.Result = new HttpStatusCodeResult(StatusCodes.Status401Unauthorized);
|
context.Result = new HttpUnauthorizedResult();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using Microsoft.AspNet.WebUtilities;
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
namespace Microsoft.AspNet.Mvc
|
||||||
|
{
|
||||||
|
public class HttpUnauthorizedResultTests
|
||||||
|
{
|
||||||
|
[Fact]
|
||||||
|
public void HttpUnauthorizedResult_InitializesStatusCode()
|
||||||
|
{
|
||||||
|
// Arrange & act
|
||||||
|
var result = new HttpUnauthorizedResult();
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Equal(StatusCodes.Status401Unauthorized, result.StatusCode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -641,6 +641,19 @@ namespace Microsoft.AspNet.Mvc.Test
|
||||||
Assert.Equal("someDownloadName", result.FileDownloadName);
|
Assert.Equal("someDownloadName", result.FileDownloadName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void HttpUnauthorized_SetsStatusCode()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var controller = new TestableController();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = controller.HttpUnauthorized();
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.IsType<HttpUnauthorizedResult>(result);
|
||||||
|
Assert.Equal(StatusCodes.Status401Unauthorized, result.StatusCode);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void HttpNotFound_SetsStatusCode()
|
public void HttpNotFound_SetsStatusCode()
|
||||||
|
|
|
||||||
|
|
@ -228,7 +228,7 @@ namespace Microsoft.AspNet.Mvc.Test
|
||||||
services.AddInstance(authorizationService.Object)
|
services.AddInstance(authorizationService.Object)
|
||||||
);
|
);
|
||||||
|
|
||||||
authorizationContext.Result = new HttpStatusCodeResult(StatusCodes.Status401Unauthorized);
|
authorizationContext.Result = new HttpUnauthorizedResult();
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
await authorizeFilter.OnAuthorizationAsync(authorizationContext);
|
await authorizeFilter.OnAuthorizationAsync(authorizationContext);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue