Example #1
0
        protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request,
                                                                CancellationToken cancellationToken)
        {
            //this is a real route, delegate to the base class and bail
            if (RouteIsReal(request))
            {
                return(base.SendAsync(request, cancellationToken));
            }

            var response = _evaluator.FindRegisteredResponse(_transformer.Transform(request));

            if (response != null)
            {
                if (response.Wait != null)
                {
                    Thread.Sleep(response.Wait.Value);
                }
                var task = new TaskCompletionSource <HttpResponseMessage>();

                task.SetResult(_transformer.Transform(response));

                return(task.Task);
            }
            //no matching stub routes found, delegate to the base which should return a 404
            return(base.SendAsync(request, cancellationToken));
        }
Example #2
0
        public async Task should_inject_hydra_Collection_details()
        {
            var result = new List <IProduct>()
            {
                new Mock <IProduct>(MockBehavior.Strict).Object
            };
            var arguments  = new[] { 1, 0, 0, (object)null };
            var collection = SetupCollection(result.Count);

            _entityContext.Setup(instance => instance.Load <ICollection>((Uri)RequestUrl)).Returns(collection.Object);

            await _modelTransformer.Transform(_mapping.Object, Request, result, arguments);

            _entityContext.Verify(instance => instance.Load <ICollection>((Uri)RequestUrl), Times.Once);
            collection.Object.Members.Should().HaveCount(result.Count);
        }