public void VersionHeaderTest()
        {
            const string versionHeaderValue = "3.2";

            var testHandler = new TestHandler(
                (request, cancelation) =>
            {
                var requestVersionHeader = request.Headers.FirstOrDefault(h => h.Key == VersioningHandler.API_VERSION_HEADER);

                Assert.IsNotNull(requestVersionHeader);
                Assert.That(requestVersionHeader.Value.FirstOrDefault(), Is.Not.Null.Or.Empty);
                Assert.That(requestVersionHeader.Value.FirstOrDefault(), Is.EqualTo(versionHeaderValue));

                return(Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK)));
            });

            var handler = new VersioningHandler(versionHeaderValue)
            {
                InnerHandler = testHandler
            };

            var client = new HttpClient(handler);

            // ReSharper disable once MethodSupportsCancellation
            var response = client.GetAsync("http://lodididki");

            Assert.AreEqual(HttpStatusCode.OK, response.Result.StatusCode);
        }
Exemple #2
0
        public void VerifyTheExistanceOfAuthenticationAndVersioning()
        {
            const string versionHeader      = "api-version-header";
            const string versionHeaderValue = "3.2";

            var testHandler = new TestHandler((request, cancelation) =>
            {
                var requestVersionHeader = request.Headers.FirstOrDefault(h => h.Key == versionHeader);

                Assert.IsNotNull(requestVersionHeader);
                Assert.IsNotNullOrEmpty(requestVersionHeader.Value.FirstOrDefault());
                Assert.AreEqual(versionHeaderValue, requestVersionHeader.Value.FirstOrDefault());

                Assert.AreEqual("Bearer",
                                request.Headers.Authorization.Scheme);
                Assert.AreEqual("ABC", request.Headers.Authorization.Parameter);

                return(Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK)));
            });
            var logger      = Substitute.For <ILog>();
            var credentials = new Credentials("ABC");

            var versionHandler = new VersioningHandler(versionHeader, versionHeaderValue);
            var authorizationHandlerhandler = new AuthorizationHandler(credentials, logger);

            var clientWrapper = new HttpClientWrapper(versionHandler, authorizationHandlerhandler, testHandler);

            var client = clientWrapper.HttpClient;

// ReSharper disable once MethodSupportsCancellation
            var response = client.GetAsync("http://lodididki");

            Assert.AreEqual(HttpStatusCode.OK, response.Result.StatusCode);
        }
Exemple #3
0
        public void SetupOnce()
        {
            var logger      = Substitute.For <ILog>();
            var credentials = new Credentials("ABC");

            _versionHandler = new VersioningHandler(API_VERSION);
            _authorizationHandlerhandler = new AuthorizationHandler(credentials, logger);
        }