private void InitMockHttpServices(ServiceCollection services) { HttpContextAccessor = new Mock <IHttpContextAccessor>(); HttpContextMock = new Mock <HttpContext>(); DefaultConnectionInfo connectionInfo = new DefaultConnectionInfo(new FeatureCollection()); connectionInfo.RemoteIpAddress = new System.Net.IPAddress(0x2414188f); HttpContextMock.SetupGet(c => c.Connection).Returns(connectionInfo); HttpContextMock.SetupGet(c => c.Items).Returns(new Dictionary <object, object>()); HttpContextMock.SetupGet(c => c.Features).Returns(new FeatureCollection()); HttpContextAccessor .SetupGet(h => h.HttpContext) .Returns(() => HttpContextMock.Object); HttpRequestMock = new Mock <HttpRequest>(); HttpContextMock.SetupGet(m => m.Request).Returns(HttpRequestMock.Object); HttpRequestMock.SetupGet(r => r.Host).Returns(new HostString("localhost")); ActionContextAccessor = new Mock <IActionContextAccessor>(); ActionContextAccessor.SetupGet(a => a.ActionContext).Returns(new ActionContext(HttpContextMock.Object, new Microsoft.AspNetCore.Routing.RouteData(), new ActionDescriptor())); services.AddSingleton(HttpContextAccessor.Object); services.AddSingleton(ActionContextAccessor.Object); }
internal WebContext(IFeatureCollection features) { this.features = features; connection = new DefaultConnectionInfo(features); fRequest = features.Get <IHttpRequestFeature>(); fRequestCookies = new RequestCookiesFeature(features); fResponse = features.Get <IHttpResponseFeature>(); fWebSocket = features.Get <IHttpWebSocketFeature>(); }