예제 #1
0
        public void Constructor1_should_use_default_handler_if_sslVerify_is_true()
        {
            string serverUri = "http://serveruri";
            string token     = "token";

            var client = new CbClient(serverUri: serverUri, token: token, sslVerify: true);

            client.HttpClient.ShouldNotBeNull();
            this.GetHandlerFromHttpClient(client.HttpClient).ShouldBeOfType(typeof(HttpClientHandler));
        }
예제 #2
0
        public void Constructor2_should_use_httpClientMessageHandler_if_passed()
        {
            string serverUri          = "http://serveruri";
            string token              = "token";
            var    httpMessageHandler = MockRepository.GenerateMock <HttpMessageHandler>();

            var client = new CbClient(serverUri: serverUri, token: token, httpClientMessageHandler: httpMessageHandler);

            client.HttpClient.ShouldNotBeNull();
            this.GetHandlerFromHttpClient(client.HttpClient).ShouldBeSameAs(httpMessageHandler);
        }
예제 #3
0
        public void Constructor3_should_use_http_client_from_argument()
        {
            string serverUri  = "http://serveruri";
            string token      = "token";
            var    httpClient = MockRepository.GenerateMock <HttpClient>();

            var client = new CbClient(serverUri: serverUri, token: token, httpClient: httpClient);

            client.HttpClient.ShouldNotBeNull();
            client.HttpClient.ShouldBeSameAs(httpClient);
        }
예제 #4
0
        public void Constructor1_should_use_no_ssl_handler_if_sslVerify_is_false_and_should_return_true_for_server_certificate_validation()
        {
            string serverUri = "http://serveruri";
            string token     = "token";

            var client = new CbClient(serverUri: serverUri, token: token, sslVerify: false);

            client.HttpClient.ShouldNotBeNull();
            var handler = this.GetHandlerFromHttpClient(client.HttpClient) as WebRequestHandler;

            handler.ShouldNotBeNull();
            handler.ServerCertificateValidationCallback.ShouldNotBeNull();
            handler.ServerCertificateValidationCallback(null, null, null, SslPolicyErrors.RemoteCertificateNameMismatch).ShouldBeTrue();
        }
예제 #5
0
        public void Constructor1_should_initialize_http_client_properties()
        {
            string serverUri = "http://serveruri";
            string token     = "token";

            var client = new CbClient(serverUri: serverUri, token: token, sslVerify: true);

            client.Token.ShouldEqual(token);
            client.ServerUri.ShouldEqual(new Uri(serverUri, UriKind.Absolute));
            client.HttpClient.ShouldNotBeNull();
            client.HttpClient.BaseAddress.ShouldEqual(new Uri(serverUri, UriKind.Absolute));
            client.HttpClient.DefaultRequestHeaders.Where(x => x.Key == "X-Auth-Token" && x.Value.Contains(token)).ShouldHaveCountOf(1);
            client.HttpClient.DefaultRequestHeaders.Accept.ShouldHaveCountOf(1);
            client.HttpClient.DefaultRequestHeaders.Accept.First().MediaType.ShouldEqualIgnoringCase("application/json");
        }