Backend/e-suite.Service.Sentinel/Sentinel.UnitTests/Helpers/FakeController.cs
2026-01-20 21:50:10 +00:00

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;
}
}