31 lines
1.0 KiB
C#
31 lines
1.0 KiB
C#
using System.Net;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.AspNetCore.Mvc.Controllers;
|
|
using Microsoft.AspNetCore.Routing;
|
|
|
|
namespace Sentinel.UnitTests.Helpers;
|
|
|
|
public class FakeController : ControllerBase
|
|
{
|
|
public static FakeController CreateFakeController()
|
|
{
|
|
byte[] ipAddress = { 143, 24, 20, 36 };
|
|
return CreateFakeController(ipAddress);
|
|
}
|
|
|
|
public static FakeController CreateFakeController(byte[] ipAddress)
|
|
{
|
|
var fakeController = new FakeController();
|
|
|
|
HttpContext fakeHttpContext = new DefaultHttpContext();
|
|
|
|
fakeHttpContext.Connection.RemoteIpAddress = new IPAddress(ipAddress);
|
|
var routeData = new RouteData();
|
|
var controllerActionDescriptor = new ControllerActionDescriptor();
|
|
var fakeActionContext = new ActionContext(fakeHttpContext, routeData, controllerActionDescriptor);
|
|
fakeController.ControllerContext = new ControllerContext(fakeActionContext);
|
|
|
|
return fakeController;
|
|
}
|
|
} |