public void Init() { this._mockHttp = new MockResponseHandler(); var internalHttpClient = new System.Net.Http.HttpClient(this._mockHttp); this.TwilioHttpClient = new SystemNetHttpClient(internalHttpClient); }
public async Task MakeRequestAsync() { var responseMessage = new HttpResponseMessage(HttpStatusCode.OK); responseMessage.Content = new StringContent("Hello world!"); this.MockHttpClientFixture.MockHandler.Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .Returns(Task.FromResult(responseMessage)); var client = new SystemNetHttpClient( new HttpClient(this.MockHttpClientFixture.MockHandler.Object)); var request = new StripeRequest( this.StripeClient, HttpMethod.Post, "/foo", null, null); var response = await client.MakeRequestAsync(request); Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.Equal("Hello world!", response.Content); }
public static void RunTest() { var client = new SystemNetHttpClient(); var request = new Request(HttpMethod.Get, "https://api.twilio.com:8443"); Response response = null; try { response = client.MakeRequest(request); } catch (Exception e) { Console.WriteLine("ERROR:"); Console.WriteLine(e); } Console.WriteLine(); if (response?.StatusCode == HttpStatusCode.OK) { Console.WriteLine("Result: SUCCESS!"); } else { Console.WriteLine("Result: FAILURE"); } Console.WriteLine(); Console.Write("Press any key to continue."); Console.ReadKey(); }
public void NoTelemetryWhenDisabled() { var mockHandler = new Mock <HttpClientHandler> { CallBase = true }; var httpClient = new SystemNetHttpClient( new System.Net.Http.HttpClient(mockHandler.Object), enableTelemetry: false); var stripeClient = new StripeClient("sk_test_123", httpClient: httpClient); mockHandler.Reset(); var fakeServer = FakeServer.ForMockHandler(mockHandler); fakeServer.Delay = TimeSpan.FromMilliseconds(20); var service = new BalanceService(stripeClient); service.Get(); fakeServer.Delay = TimeSpan.FromMilliseconds(40); service.Get(); service.Get(); mockHandler.Protected() .Verify( "SendAsync", Times.Exactly(3), ItExpr.Is <HttpRequestMessage>(m => !m.Headers.Contains("X-Stripe-Client-Telemetry")), ItExpr.IsAny <CancellationToken>()); }
public void CanInspectEnableTelemetry() { var client = new SystemNetHttpClient( httpClient: new HttpClient(this.MockHttpClientFixture.MockHandler.Object), enableTelemetry: true); Assert.True(client.EnableTelemetry); }
public void CanInspectMaxNetworkRetries() { var client = new SystemNetHttpClient( httpClient: new HttpClient(this.MockHttpClientFixture.MockHandler.Object), maxNetworkRetries: 2); Assert.Equal(2, client.MaxNetworkRetries); }
/// <summary> /// Initializes the Twilio client. /// </summary> /// <param name="twilioAccountSidSecretName">The SSID of the Twilio account to authenticate as.</param> /// <param name="twilioAuthTokenSecretName">The auth token to use for authentication.</param> /// <param name="authority">The authority to authenticate against.</param> /// <returns>An asynchronous task.</returns> public async Task InitializeAsync(string twilioAccountSidSecretName, string twilioAuthTokenSecretName, string authority) { Secret twilioAccountSid = await _secretStore.GetSecretAsync(twilioAccountSidSecretName, authority); Secret twilioAuthToken = await _secretStore.GetSecretAsync(twilioAuthTokenSecretName, authority); Twilio.Http.HttpClient twilioHttpClient = new SystemNetHttpClient(_httpClient.GetHttpClient()); _twilioClient = new TwilioRestClient(twilioAccountSid.Value, twilioAuthToken.Value, httpClient: twilioHttpClient); }
public NetworkRetriesTest(MockHttpClientFixture mockHttpClientFixture) : base(mockHttpClientFixture) { var httpClient = new SystemNetHttpClient( httpClient: new System.Net.Http.HttpClient( this.MockHttpClientFixture.MockHandler.Object), maxNetworkRetries: 2) { NetworkRetriesSleep = false, }; this.StripeClient = new StripeClient("sk_test_123", httpClient: httpClient); }
/// <summary> /// Initializes a new instance of the <see cref="BaseStripeTest"/> with both the /// <see cref="StripeMockFixture"/> and the <see cref="MockHttpClientFixture"/> fixtures. /// Use this constructor for tests that need to send requests to stripe-mock and also need /// mocking capabilities (i.e. need to assert or stub HTTP requests). /// </summary> public BaseStripeTest( StripeMockFixture stripeMockFixture, MockHttpClientFixture mockHttpClientFixture) { this.StripeMockFixture = stripeMockFixture; this.MockHttpClientFixture = mockHttpClientFixture; if ((this.StripeMockFixture != null) && (this.MockHttpClientFixture != null)) { // Set up StripeClient to use stripe-mock with the mock HTTP client var httpClient = new SystemNetHttpClient( new HttpClient(this.MockHttpClientFixture.MockHandler.Object)); this.StripeClient = this.StripeMockFixture.BuildStripeClient( httpClient: httpClient); // Reset the mock before each test this.MockHttpClientFixture.Reset(); } else if (this.StripeMockFixture != null) { // Set up StripeClient to use stripe-mock this.StripeClient = this.StripeMockFixture.BuildStripeClient(); } else if (this.MockHttpClientFixture != null) { // Set up StripeClient with the mock HTTP client var httpClient = new SystemNetHttpClient( new HttpClient(this.MockHttpClientFixture.MockHandler.Object)); this.StripeClient = new StripeClient( "sk_test_123", httpClient: httpClient); // Reset the mock before each test this.MockHttpClientFixture.Reset(); } else { // Use the default StripeClient this.StripeClient = new StripeClient("sk_test_123"); } }
public async Task UserAgentIncludesAppInfo() { var appInfo = new AppInfo { Name = "MyAwesomeApp", PartnerId = "pp_123", Version = "1.2.34", Url = "https://myawesomeapp.info" }; var responseMessage = new HttpResponseMessage(HttpStatusCode.OK); responseMessage.Content = new StringContent("Hello world!"); this.MockHttpClientFixture.MockHandler.Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .Returns(Task.FromResult(responseMessage)); var client = new SystemNetHttpClient( httpClient: new HttpClient(this.MockHttpClientFixture.MockHandler.Object), appInfo: appInfo); var request = new StripeRequest( this.StripeClient, HttpMethod.Post, "/foo", null, null); await client.MakeRequestAsync(request); this.MockHttpClientFixture.MockHandler.Protected() .Verify( "SendAsync", Times.Once(), ItExpr.Is <HttpRequestMessage>(m => this.VerifyHeaders(m.Headers)), ItExpr.IsAny <CancellationToken>()); }