Beispiel #1
0
        public void GetUriWhenRequestHasNoRouteDataThrowsArgumentException([Frozen] HttpRequestMessage request,
                                                                           RouteLinker sut)
        {
            request.RequestUri = new Uri(request.RequestUri, "api/foo/");

            Assert.Throws <InvalidOperationException>(() => sut.GetUri <FooController>(r => r.GetDefault()));
        }
Beispiel #2
0
 public void GetUriFromInvalidFuncExpressionThrows(
     RouteLinker sut)
 {
     Assert.Throws <ArgumentException>(
         () => sut.GetUriAsync <AsyncController, object>(
             _ => new Task <object>(() => new object())).Result);
 }
 public void GetUriFromInvalidFuncExpressionThrows(
     RouteLinker sut)
 {
     Assert.Throws<ArgumentException>(
         () => sut.GetUriAsync<AsyncController, object>(
             _ => new Task<object>(() => new object())).Result);
 }
        public void GetUriFromInvalidExpressionThrows(RouteLinker sut)
        {
            Expression <Action <object> > expressionWhichIsNotAMethodCall =
                _ => new object();

            Assert.Throws <ArgumentException>(() =>
                                              sut.GetUri <object>(expressionWhichIsNotAMethodCall));
        }
 public void GetLinkThrowsExceptionForNullExpression(
     [Frozen] HttpRequestMessage request,
     RouteLinker forComparison,
     UrlHelper sut)
 {
     request.AddDefaultRoute();
     Assert.Throws(typeof(ArgumentNullException), () => sut.GetLink <FooController>(null));
 }
        public void GetLinkAsyncReturnsCorrectUriForExpressionOfFuncWithComplexParameter(
            [Frozen] HttpRequestMessage request,
            RouteLinker forComparison,
            UrlHelper sut, SomeModel someModel)
        {
            request.AddDefaultRoute();

            var expected = forComparison.GetUriAsync <ModelAsyncController, object>(a => a.Get(someModel)).Result;
            var actual   = sut.GetLinkAsync <ModelAsyncController, object>(a => a.Get(someModel)).Result;

            Assert.Equal(expected, actual);
        }
        public void GetLinkAsyncReturnsCorrectUriForExpressionOfFuncWithMultipleParameters(
            [Frozen]HttpRequestMessage request,
            RouteLinker forComparison,
            UrlHelper sut, int id, int bar)
        {
            request.AddDefaultRoute();

            var expected = forComparison.GetUriAsync<FooBarAsyncController, object>(a => a.GetBar(id, bar)).Result;
            var actual = sut.GetLinkAsync<FooBarAsyncController, object>(a => a.GetBar(id, bar)).Result;

            Assert.Equal(expected, actual);
        }
        public void GetLinkFromBaseActionMethodReturnsCorrectResponse(
            [Frozen] HttpRequestMessage request,
            RouteLinker forComparison,
            UrlHelper sut)
        {
            request.AddDefaultRoute();

            var expected = forComparison.GetUri <DerivedController>(c => c.BaseMethod());
            var actual   = sut.GetLink <DerivedController>(c => c.BaseMethod());

            Assert.Equal(expected, actual);
        }
        public void GetLinkReturnsCorrectUriForExpressionOfActionWithSingleParameter(
            [Frozen] HttpRequestMessage request,
            RouteLinker forComparison,
            UrlHelper sut, int id)
        {
            request.AddDefaultRoute();

            var expected = forComparison.GetUri <FooController, object>(a => a.GetById(id));
            var actual   = sut.GetLink <FooController, object>(a => a.GetById(id));

            Assert.Equal(expected, actual);
        }
        public void GetLinkReturnsCorrectUriForExpressionOfFuncWithMultipleParameters(
            [Frozen] HttpRequestMessage request,
            RouteLinker forComparison,
            UrlHelper sut, int id, int bar)
        {
            request.AddDefaultRoute();

            var expected = forComparison.GetUri <FooBarController, object>(a => a.GetBar(id, bar));
            var actual   = sut.GetLink <FooBarController, object>(a => a.GetBar(id, bar));

            Assert.Equal(expected, actual);
        }
Beispiel #11
0
        public void GetFooRouteForDefaultGetMethodReturnsCorrectResult(
            [Frozen]HttpRequestMessage request,
            RouteLinker sut)
        {
            request.AddDefaultRoute();

            Uri actual = sut.GetUri<FooController>(r => r.GetDefault());

            var baseUri = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/foo");
            Assert.Equal(expected, actual);
        }
        public void GetLinkAsyncReturnsCorrectUriForExpressionOfFuncWithComplexParameter(
            [Frozen]HttpRequestMessage request,
            RouteLinker forComparison,
            UrlHelper sut, SomeModel someModel)
        {
            request.AddDefaultRoute();

            var expected = forComparison.GetUriAsync<ModelAsyncController, object>(a => a.Get(someModel)).Result;
            var actual = sut.GetLinkAsync<ModelAsyncController, object>(a => a.Get(someModel)).Result;

            Assert.Equal(expected, actual);
        }
Beispiel #13
0
        public void GetUriFromBaseActionMethodReturnsCorrectResponse(
            [Frozen] HttpRequestMessage request,
            RouteLinker sut)
        {
            request.AddDefaultRoute();

            var actual = sut.GetUri <DerivedController>(c => c.BaseMethod());

            var baseUri  = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/derived");

            Assert.Equal(expected, actual);
        }
Beispiel #14
0
        public void GetAsyncRouteForGetMethodWithIdReturnsCorrectResult(
            [Frozen]HttpRequestMessage request,
            RouteLinker sut,
            int id)
        {
            request.AddDefaultRoute();

            Uri actual = sut.GetUriAsync((AsyncController c) => c.Get(id)).Result;

            var baseUri = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/async/" + id);
            Assert.Equal(expected, actual);
        }
Beispiel #15
0
        public void GetBarRouteForDefaultGetMethodReturnsCorrectResult(
            [Frozen] HttpRequestMessage request,
            RouteLinker sut)
        {
            request.AddDefaultRoute();

            Uri actual = sut.GetUri <BarController>(r => r.GetDefault());

            var baseUri  = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/bar");

            Assert.Equal(expected, actual);
        }
        public void GetLinkReturnsCorrectUriForExpressionOfActionWithComplexParameter(
            [Frozen] HttpRequestMessage request,
            RouteLinker forComparison,
            UrlHelper sut,
            SomeModel someModel)
        {
            request.AddDefaultRoute();

            var expected = forComparison.GetUri <ModelController>(a => a.Get(someModel));
            var actual   = sut.GetLink <ModelController>(a => a.Get(someModel));

            Assert.Equal(expected, actual);
        }
Beispiel #17
0
        public void GetUriDoesNotMutateExistingRouteData(
            [Frozen] HttpRequestMessage request,
            RouteLinker sut)
        {
            request.AddDefaultRoute();
            var expected = new HashSet <KeyValuePair <string, object> >(
                request.GetRouteData().Values);

            sut.GetUri <FooController>(r => r.GetDefault());

            var actual = request.GetRouteData().Values.ToList();

            Assert.True(expected.SetEquals(actual));
        }
Beispiel #18
0
        public void GetAsyncRouteForGetMethodWithIdReturnsCorrectResult(
            [Frozen] HttpRequestMessage request,
            RouteLinker sut,
            int id)
        {
            request.AddDefaultRoute();

            Uri actual = sut.GetUriAsync((AsyncController c) => c.Get(id)).Result;

            var baseUri  = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/async/" + id);

            Assert.Equal(expected, actual);
        }
Beispiel #19
0
        public void GetUriForGetMethodWithParameters(
            [Frozen] HttpRequestMessage request,
            RouteLinker sut,
            int id)
        {
            request.AddDefaultRoute();

            var actual = sut.GetUri <FooController>(r => r.GetById(id));

            var baseUri  = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/foo/" + id);

            Assert.Equal(expected, actual);
        }
Beispiel #20
0
        public void GetUriForNullQueryParameterReturnsCorrectResult(
            [Frozen] HttpRequestMessage request,
            RouteLinker sut,
            int id)
        {
            request.AddDefaultRoute();

            var actual = sut.GetUri <BarController>(
                c => c.GetWithIdAndQueryParameter(id, null));

            var baseUri  = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/bar/" + id);

            Assert.Equal(expected, actual);
        }
Beispiel #21
0
        public void GetUriForNullFnaahReturnsCorrectResult(
            [Frozen] HttpRequestMessage request,
            RouteLinker sut,
            int ploeh)
        {
            request.AddDefaultRoute();

            var actual = sut.GetUri <FooController>(
                c => c.GetWithPloehAndFnaah(ploeh, null));

            var baseUri  = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/foo?ploeh=" + ploeh);

            Assert.Equal(expected, actual);
        }
Beispiel #22
0
        public void GetUriWithNullOptionalParameterReturnsCorrectResult(
            [Frozen] HttpRequestMessage request,
            RouteLinker sut,
            int id,
            string bar)
        {
            request.AddDefaultRoute();

            var actual = sut.GetUri <FooController>(
                c => c.GetWithIdAndOptionalParameter(id, bar, null));

            var baseUri  = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected =
                new Uri(new Uri(baseUri), "api/foo/" + id + "?bar=" + bar);

            Assert.Equal(expected, actual);
        }
Beispiel #23
0
        public void GetUriForNonMatchingRouteThrows(
            [Frozen] HttpRequestMessage request,
            RouteLinker sut,
            int id)
        {
            request.RequestUri = new Uri(request.RequestUri, "api/foo/" + id);
            request.AddRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{bar}",
                defaults: new
            {
                controller = "Home",
                id         = RouteParameter.Optional
            });

            Assert.Throws <InvalidOperationException>(() =>
                                                      sut.GetUri <FooController>(c => c.GetById(id)));
        }
Beispiel #24
0
        public void GetUriForGetMethodWithNamedParametersReturnsCorrectResult(
            [Frozen] HttpRequestMessage request,
            RouteLinker sut,
            int ploeh,
            string fnaah)
        {
            request.AddDefaultRoute();

            var actual = sut.GetUri <FooController>(r =>
                                                    r.GetWithPloehAndFnaah(ploeh, fnaah));

            var baseUri  = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected =
                new Uri(
                    new Uri(baseUri),
                    "api/foo?ploeh=" + ploeh + "&fnaah=" + fnaah);

            Assert.Equal(expected, actual);
        }
Beispiel #25
0
        public void GetFooRouteForDefaultGetMethodFromIndexedUriReturnsCorrectResult(
            [Frozen]HttpRequestMessage request,
            RouteLinker sut,
            string currentId)
        {
            request.RequestUri = new Uri(request.RequestUri, "api/foo/" + currentId);
            request.AddRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new
                {
                    controller = "Home",
                    id = RouteParameter.Optional
                });

            Uri actual = sut.GetUri<FooController>(r => r.GetDefault());

            var baseUri = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/foo");
            Assert.Equal(expected, actual);
        }
Beispiel #26
0
 public NoDIModel Get(string id)
 {
     var linker = new RouteLinker(this.Request);
     return new NoDIModel
     {
         Links = new[]
         {
             new AtomLinkModel
             {
                 Href = linker.GetUri<NoDIController>(r => r.Get(id)).ToString(),
                 Rel = "self"
             },
             new AtomLinkModel
             {
                 Href = linker.GetUri<HomeController>(r => r.Get()).ToString(),
                 Rel = "http://sample.ploeh.dk/rels/home"
             }
         },
         Name = id
     };
 }
Beispiel #27
0
        public void GetUriWithCustomRouteAndDispatcherReturnsCorrectResult(
            [Frozen] HttpRequestMessage request,
            [Frozen(As = typeof(IRouteValuesQuery))] ScalarRouteValuesQuery dummyQuery,
            [Frozen] Mock <IRouteDispatcher> dispatcherStub,
            string routeName,
            [Greedy] RouteLinker sut,
            int ploeh,
            string fnaah)
        {
            // Arrange
            request.AddDefaultRoute();
            request.AddRoute(
                name: routeName,
                routeTemplate: "foo/{ploeh}/{fnaah}",
                defaults: new { });

            var method = Reflect <FooController>
                         .GetMethod(c => c.GetWithPloehAndFnaah(ploeh, fnaah));

            dispatcherStub
            .Setup(d =>
                   d.Dispatch(
                       It.Is <MethodCallExpression>(exp => method.Equals(exp.Method)),
                       It.IsAny <IDictionary <string, object> >()))
            .Returns((MethodCallExpression _, IDictionary <string, object> routeValues) =>
                     new Rouple(routeName, routeValues));

            // Act
            var actual = sut.GetUri <FooController>(r =>
                                                    r.GetWithPloehAndFnaah(ploeh, fnaah));

            // Assert
            var baseUri  = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected =
                new Uri(
                    new Uri(baseUri),
                    "foo/" + ploeh + "/" + fnaah);

            Assert.Equal(expected, actual);
        }
Beispiel #28
0
        public void GetFooRouteForDefaultGetMethodFromIndexedUriReturnsCorrectResult(
            [Frozen] HttpRequestMessage request,
            RouteLinker sut,
            string currentId)
        {
            request.RequestUri = new Uri(request.RequestUri, "api/foo/" + currentId);
            request.AddRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new
            {
                controller = "Home",
                id         = RouteParameter.Optional
            });

            Uri actual = sut.GetUri <FooController>(r => r.GetDefault());

            var baseUri  = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/foo");

            Assert.Equal(expected, actual);
        }
Beispiel #29
0
        public NoDIModel Get(string id)
        {
            var linker = new RouteLinker(this.Request);

            return(new NoDIModel
            {
                Links = new[]
                {
                    new AtomLinkModel
                    {
                        Href = linker.GetUri <NoDIController>(r => r.Get(id)).ToString(),
                        Rel = "self"
                    },
                    new AtomLinkModel
                    {
                        Href = linker.GetUri <HomeController>(r => r.Get()).ToString(),
                        Rel = "http://sample.ploeh.dk/rels/home"
                    }
                },
                Name = id
            });
        }
Beispiel #30
0
        public void GetUriFromModelControllerReturnsCorrectResponse(
            [Frozen] HttpRequestMessage request,
            [Frozen] Mock <IRouteValuesQuery> queryStub,
            [Frozen(As = typeof(IRouteDispatcher))] DefaultRouteDispatcher dummy,
            [Greedy] RouteLinker sut,
            SomeModel model)
        {
            request.AddDefaultRoute();
            queryStub.SetReturnsDefault <IDictionary <string, object> >(
                new Dictionary <string, object>
            {
                { "number", model.Number.ToString() },
                { "text", model.Text }
            });

            var actual = sut.GetUri <ModelController>(c => c.Get(model));

            var baseUri  = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(
                new Uri(baseUri),
                "api/model?number=" + model.Number + "&text=" + model.Text);

            Assert.Equal(expected, actual);
        }
        public void GetLinkReturnsCorrectUriForExpressionOfFuncWithSingleParameter(
            [Frozen]HttpRequestMessage request,
            RouteLinker forComparison,
            UrlHelper sut, int id)
        {
            request.AddDefaultRoute();

            var expected = forComparison.GetUri<FooController>(a => a.GetById(id));
            var actual = sut.GetLink<FooController>(a => a.GetById(id));

            Assert.Equal(expected, actual);
        }
Beispiel #32
0
        public void GetUriWhenRequestHasNoRouteDataThrowsArgumentException([Frozen]HttpRequestMessage request,
            RouteLinker sut)
        {
            request.RequestUri = new Uri(request.RequestUri, "api/foo/");

            Assert.Throws<InvalidOperationException>(() => sut.GetUri<FooController>(r => r.GetDefault()));
        }
Beispiel #33
0
        public void GetUriForNonMatchingRouteThrows(
            [Frozen]HttpRequestMessage request,
            RouteLinker sut,
            int id)
        {
            request.RequestUri = new Uri(request.RequestUri, "api/foo/" + id);
            request.AddRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{bar}",
                defaults: new
                {
                    controller = "Home",
                    id = RouteParameter.Optional
                });

            Assert.Throws<InvalidOperationException>(() =>
                sut.GetUri<FooController>(c => c.GetById(id)));
        }
        public void GetLinkReturnsCorrectUriForExpressionOfActionWithComplexParameter(
            [Frozen]HttpRequestMessage request,
            RouteLinker forComparison,
            UrlHelper sut,
            SomeModel someModel)
        {
            request.AddDefaultRoute();

            var expected = forComparison.GetUri<ModelController>(a => a.Get(someModel));
            var actual = sut.GetLink<ModelController>(a => a.Get(someModel));

            Assert.Equal(expected, actual);
        }
Beispiel #35
0
        public void GetUriForGetMethodWithParameters(
            [Frozen]HttpRequestMessage request,
            RouteLinker sut,
            int id)
        {
            request.AddDefaultRoute();

            var actual = sut.GetUri<FooController>(r => r.GetById(id));

            var baseUri = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/foo/" + id);
            Assert.Equal(expected, actual);
        }
Beispiel #36
0
        public void GetUriForNullFnaahReturnsCorrectResult(
            [Frozen]HttpRequestMessage request,
            RouteLinker sut,
            int ploeh)
        {
            request.AddDefaultRoute();

            var actual = sut.GetUri<FooController>(
                c => c.GetWithPloehAndFnaah(ploeh, null));

            var baseUri = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/foo?ploeh=" + ploeh);
            Assert.Equal(expected, actual);
        }
Beispiel #37
0
        public void GetUriForNullQueryParameterReturnsCorrectResult(
            [Frozen]HttpRequestMessage request,
            RouteLinker sut,
            int id)
        {
            request.AddDefaultRoute();

            var actual = sut.GetUri<BarController>(
                c => c.GetWithIdAndQueryParameter(id, null));

            var baseUri = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/bar/" + id);
            Assert.Equal(expected, actual);
        }
Beispiel #38
0
 public void GetUriFromInvalidExpressionThrows(RouteLinker sut)
 {
     Expression<Action<object>> expressionWhichIsNotAMethodCall =
         _ => new object();
     Assert.Throws<ArgumentException>(() =>
         sut.GetUri<object>(expressionWhichIsNotAMethodCall));
 }
Beispiel #39
0
 public void GetNullThrows(RouteLinker sut)
 {
     Assert.Throws <ArgumentNullException>(() =>
                                           sut.GetUri <Version>(null));
 }
 public void SutIsDisposable(RouteLinker sut)
 {
     Assert.IsAssignableFrom<IDisposable>(sut);
 }
 public void DisposeDisposesRequest(Mock<HttpRequestMessage> requestMock)
 {
     var sut = new RouteLinker(requestMock.Object);
     sut.Dispose();
     requestMock.Protected().Verify("Dispose", Times.Once(), true);
 }
Beispiel #42
0
 public void GetUriAsyncWithNullFuncExpressionThrows(
     RouteLinker sut)
 {
     Assert.Throws<ArgumentNullException>(
         () => sut.GetUriAsync<AsyncController, object>(null).Result);
 }
Beispiel #43
0
 public HomeController(RouteLinker linker)
 {
     this.linker = linker;
 }
Beispiel #44
0
 public void SutIsRouteLinker(RouteLinker sut)
 {
     Assert.IsAssignableFrom <IResourceLinker>(sut);
 }
Beispiel #45
0
 public HomeController(RouteLinker linker)
 {
     this.linker = linker;
 }
 public static string ChangePricingLevel(this RouteLinker routeLinker, int customerId)
 {
     return(routeLinker.BuildAbsoluteRoute(Module.Route, new { CustomerId = customerId }));
 }
Beispiel #47
0
 public void GetUriAsyncWithNullFuncExpressionThrows(
     RouteLinker sut)
 {
     Assert.Throws <ArgumentNullException>(
         () => sut.GetUriAsync <AsyncController, object>(null).Result);
 }
 public void GetLinkThrowsExceptionForNullExpression(
     [Frozen]HttpRequestMessage request,
     RouteLinker forComparison,
     UrlHelper sut)
 {
     request.AddDefaultRoute();
     Assert.Throws(typeof(ArgumentNullException), () => sut.GetLink<FooController>(null));
 }
Beispiel #49
0
        public void GetUriForGetMethodWithNamedParametersReturnsCorrectResult(
            [Frozen]HttpRequestMessage request,
            RouteLinker sut,
            int ploeh,
            string fnaah)
        {
            request.AddDefaultRoute();

            var actual = sut.GetUri<FooController>(r =>
                r.GetWithPloehAndFnaah(ploeh, fnaah));

            var baseUri = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected =
                new Uri(
                    new Uri(baseUri),
                    "api/foo?ploeh=" + ploeh + "&fnaah=" + fnaah);
            Assert.Equal(expected, actual);
        }
Beispiel #50
0
 public Handler(DbFactory dbFactory, RouteLinker routeLinker)
 {
     _dbFactory   = dbFactory;
     _routeLinker = routeLinker;
 }
Beispiel #51
0
        public void GetUriFromBaseActionMethodReturnsCorrectResponse(
            [Frozen]HttpRequestMessage request,
            RouteLinker sut)
        {
            request.AddDefaultRoute();

            var actual = sut.GetUri<DerivedController>(c => c.BaseMethod());

            var baseUri = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected = new Uri(new Uri(baseUri), "api/derived");
            Assert.Equal(expected, actual);
        }
        public void GetLinkFromBaseActionMethodReturnsCorrectResponse(
            [Frozen]HttpRequestMessage request,
            RouteLinker forComparison,
            UrlHelper sut)
        {
            request.AddDefaultRoute();

            var expected = forComparison.GetUri<DerivedController>(c => c.BaseMethod());
            var actual = sut.GetLink<DerivedController>(c => c.BaseMethod());

            Assert.Equal(expected, actual);
        }
Beispiel #53
0
 public void SutIsRouteLinker(RouteLinker sut)
 {
     Assert.IsAssignableFrom<IResourceLinker>(sut);
 }
Beispiel #54
0
        public void GetUriWithNullOptionalParameterReturnsCorrectResult(
            [Frozen]HttpRequestMessage request,
            RouteLinker sut,
            int id,
            string bar)
        {
            request.AddDefaultRoute();

            var actual = sut.GetUri<FooController>(
                c => c.GetWithIdAndOptionalParameter(id, bar, null));

            var baseUri = request.RequestUri.GetLeftPart(UriPartial.Authority);
            var expected =
                new Uri(new Uri(baseUri), "api/foo/" + id + "?bar=" + bar);
            Assert.Equal(expected, actual);
        }
Beispiel #55
0
        public void GetUriDoesNotMutateExistingRouteData(
            [Frozen]HttpRequestMessage request,
            RouteLinker sut)
        {
            request.AddDefaultRoute();
            var expected = new HashSet<KeyValuePair<string, object>>(
                request.GetRouteData().Values);

            sut.GetUri<FooController>(r => r.GetDefault());

            var actual = request.GetRouteData().Values.ToList();
            Assert.True(expected.SetEquals(actual));
        }
Beispiel #56
0
 public void GetNullThrows(RouteLinker sut)
 {
     Assert.Throws<ArgumentNullException>(() =>
         sut.GetUri<Version>(null));
 }
Beispiel #57
0
 public static string GetCustomer(this RouteLinker routeLinker, int customerId)
 {
     return(routeLinker.BuildAbsoluteRoute(Module.Route, new { CustomerId = customerId }));
 }
Beispiel #58
-1
        public IQueryable<Team> GetTeams(ODataQueryOptions queryOptions)
        {
            // Validate query options
            var settings = new ODataValidationSettings()
            {
                MaxTop = 400
            };
            queryOptions.Validate(settings);

            // Apply the filter before going through to check if links exist for significant performance improvements
            var teams = (IQueryable<Team>)queryOptions.ApplyTo(Db.core.Teams);

            // RouteLinker creates Uris for actions
            var linker = new RouteLinker(Request);

            foreach (var team in teams)
            {
                if (team.Links == null)
                {
                    team.Links = new SerializableDynamic();
                    team.Links.url = linker.GetUri<TeamsController>(c => c.GetTeam(team.Number)).ToString();
                }
            }

            var nextRequest = Request.RequestUri;

            return Db.core.Teams.AsQueryable();
        }