public void WhenSettingClientTimeout__ThenCheckValue()
        {
            YouScribeClient.DefaultTimeout = TimeSpan.FromSeconds(123);
            ClientsPoolProvider.ClearDefaults();

            var client = new YouScribeClient().clientFactory();

            Assert.Equal(TimeSpan.FromSeconds(123), client.Client.BaseClient.Timeout);
        }
        public void WhenRequest_ThenHeadersOk()
        {
            ClientsPoolProvider.ClearDefaults();
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var    encoding      = new System.Text.UnicodeEncoding();
                byte[] secretKey     = encoding.GetBytes("DummyKey");
                int    applicationId = 1;
                IHMAC  hmac          = new TestHMAC();
                var    client        = new YouScribeClient(TestHelpers.BaseUrl, YousScribeHMACHttpClientDecorator.GetBaseClientFactory(secretKey, applicationId, hmac));
                YousScribeHMACHttpClientDecorator httpClient = (YousScribeHMACHttpClientDecorator)((DisposableClient)client.clientFactory()).Client;

                // Act
                httpClient.GetAsync(TestHelpers.BaseUrl);

                // Assert
                Assert.NotNull(httpClient.BaseClient.DefaultRequestHeaders.Authorization);
                Assert.NotNull(httpClient.BaseClient.DefaultRequestHeaders.Date);
                Assert.NotNull(httpClient.BaseClient.DefaultRequestHeaders.GetValues(ApiUrls.HMACAuthenticateRandomKeyHeader));
            }
        }