Пример #1
0
        protected IHttpService BuildHttpServiceCore(IHttpClient httpClient, IComponentContext context)
        {
            var httpServiceSendRequest     = new HttpServiceSendRequest(httpClient);
            var acceptedMediaSource        = new V1AcceptedMediaSource();
            var httpServiceAddAcceptHeader = new HttpServiceAddAcceptHeader(acceptedMediaSource, httpServiceSendRequest);
            var jwtTokenSource             = context.Resolve <IJwtTokenSource>();

            return(new HttpServiceAddAuthorizationHeader(jwtTokenSource, httpServiceAddAcceptHeader));
        }
        public void SendAsync_RequestNull()
        {
            var acceptedMedia = new Mock <IAcceptedMediaSource>(MockBehavior.Strict).Object;
            var next          = new Mock <IHttpService>(MockBehavior.Strict).Object;
            var uut           = new HttpServiceAddAcceptHeader(acceptedMedia, next);

            Assert.ThrowsAsync <ArgumentNullException>(
                async() => await uut.SendAsync(null)
                );
        }
        public async Task SendAsync()
        {
            var media            = new MediaTypeWithQualityHeaderValue("application/vnd.lrp.v1+json");
            var acceptedMedia    = new Mock <IAcceptedMediaSource>(MockBehavior.Strict);
            var request          = new HttpRequestMessage();
            var expectedResponse = new HttpResponseMessage();
            var next             = new Mock <IHttpService>(MockBehavior.Strict);
            var sequence         = new MockSequence();

            acceptedMedia.InSequence(sequence).Setup(a => a.Get()).Returns(media);
            next.InSequence(sequence).Setup(n => n.SendAsync(request)).ReturnsAsync(expectedResponse);

            var uut            = new HttpServiceAddAcceptHeader(acceptedMedia.Object, next.Object);
            var actualResponse = await uut.SendAsync(request);

            Assert.AreEqual(expectedResponse, actualResponse);
            Assert.AreEqual(media.MediaType, request.Headers.Accept.ToString());
        }