Beispiel #1
0
        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);
        }
Beispiel #2
0
        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());
        }