private Mock <IActionContextAccessor> GetActionContextAccessorWithLinkProvider() { Mock <IServiceProvider> serviceProvider = new Mock <IServiceProvider>(); Mock <IActionContextAccessor> accessor = new Mock <IActionContextAccessor>(); var actionContext = MockHelpers.ActionContext(); var httpContextMock = Mock.Get(actionContext.HttpContext); httpContextMock.SetupGet((h) => h.RequestServices).Returns(serviceProvider.Object); actionContext.HttpContext.RequestServices = serviceProvider.Object; actionContext.HttpContext.Request.Host = new Microsoft.AspNetCore.Http.HostString("myhost.be", 999); actionContext.HttpContext.Request.Scheme = "XHS"; actionContext.HttpContext.Request.Query = new QueryCollection(); actionContext.RouteData = new Microsoft.AspNetCore.Routing.RouteData(); var apiExtOptions = new Mock <IOptions <ApiExtensionOptions> >(); var urlHelper = new Mock <IUrlHelper>(); urlHelper.Setup((u) => u.RouteUrl(It.IsAny <UrlRouteContext>())).Returns("/test"); accessor.SetupGet((o) => o.ActionContext).Returns(actionContext); var linkProvider = new LinkProvider(accessor.Object, urlHelper.Object, apiExtOptions.Object); serviceProvider.Setup((x) => x.GetService(typeof(ILinkProvider))).Returns(linkProvider); return(accessor); }
private Mock <IActionContextAccessor> GetActionContextAccessorWithLinkProvider() { Mock <IServiceProvider> serviceProvider = new Mock <IServiceProvider>(); Mock <IActionContextAccessor> accessor = new Mock <IActionContextAccessor>(); var actionContext = MockHelpers.ActionContext(); var httpContextMock = Mock.Get(actionContext.HttpContext); httpContextMock.SetupGet((h) => h.RequestServices).Returns(serviceProvider.Object); actionContext.HttpContext.RequestServices = serviceProvider.Object; var apiExtOptions = new Mock <IOptions <ApiExtensionOptions> >(); var urlHelper = new Mock <IUrlHelper>(); urlHelper.Setup((u) => u.RouteUrl(It.IsAny <UrlRouteContext>())).Returns("/test"); accessor.SetupGet((o) => o.ActionContext).Returns(actionContext); var linkProvider = new LinkProvider(accessor.Object, urlHelper.Object, apiExtOptions.Object); serviceProvider.Setup((x) => x.GetService(typeof(ILinkProvider))).Returns(linkProvider); return(accessor); }
public void GetFullUrlBuilder_BuildsFullUrlWithoutQueryString() { // arrange var actionContext = MockHelpers.ActionContext(); var actionContextAccessorMock = new Mock <IActionContextAccessor>(); actionContextAccessorMock.SetupGet(x => x.ActionContext).Returns(actionContext); var host = new HostString("test.be", 99); Mock.Get(actionContext.HttpContext.Request).SetupGet(x => x.Host).Returns(host); Mock.Get(actionContext.HttpContext.Request).SetupGet(x => x.Scheme).Returns("xyz"); var headerDictionary = new HeaderDictionary(); headerDictionary.Add(new KeyValuePair <string, StringValues>("Host", new StringValues("test.be:99"))); Mock.Get(actionContext.HttpContext.Request).SetupGet(x => x.Headers).Returns(headerDictionary); var urlHelper = new Mock <IUrlHelper>().Object; // act var linkProvider = new LinkProvider(actionContextAccessorMock.Object, urlHelper, new TestApiExtensionOptions(new Web.Api.ApiExtensionOptions())); var fullUrl = linkProvider.GetFullUrlBuilder("/v1/test"); // assert Assert.Equal("xyz://test.be:99/v1/test", fullUrl.ToString()); }
public void GetFullUrlBuilder_BuildsFullUrlWithoutQueryString() { var actionContext = MockHelpers.ActionContext(); var actionContextAccessorMock = new Mock <IActionContextAccessor>(); actionContextAccessorMock.SetupGet(x => x.ActionContext).Returns(actionContext); var host = new HostString("test.be", 99); Mock.Get(actionContext.HttpContext.Request).SetupGet(x => x.Host).Returns(host); Mock.Get(actionContext.HttpContext.Request).SetupGet(x => x.Scheme).Returns("xyz"); var urlHelper = new Mock <IUrlHelper>().Object; var linkProvider = new LinkProvider(actionContextAccessorMock.Object, urlHelper, new TestApiExtensionOptions(new Web.Api.ApiExtensionOptions())); var fullUrl = linkProvider.GetFullUrlBuilder("/v1/test"); Assert.Equal("xyz://test.be:99/v1/test", fullUrl.ToString()); }