public void GetAbsoluteUrlBuilder_BuildsUrlFromRequestHostAndScheme() { // 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 absoluteUrl = linkProvider.GetAbsoluteUrlBuilder(); // assert Assert.Equal("xyz://test.be:99/", absoluteUrl.ToString()); }
public void GetAbsoluteUrlBuilder_BuildsUrlFromRequestHostAndScheme() { 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 absoluteUrl = linkProvider.GetAbsoluteUrlBuilder(); Assert.Equal("xyz://test.be:99/", absoluteUrl.ToString()); }