| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | using Google.Apis.Auth.OAuth2; |
| | using Google.Apis.Auth.Tests.OAuth2; |
| | using Google.Apis.Http; |
| | using System; |
| | using System.Net; |
| | using System.Net.Http; |
| | using System.Threading.Tasks; |
| | using Xunit; |
| |
|
| | namespace Google.Apis.Auth.Tests; |
| |
|
| | public class GoogleAuthConstsTests |
| | { |
| | [Fact] |
| | public void OAuth2TokenEndpointRecommendedRetry() |
| | { |
| | var httpClient = new ConfigurableHttpClient(new ConfigurableMessageHandler(new DelegatedMessageHandler(request => Task.FromResult(new HttpResponseMessage())))); |
| |
|
| | GoogleAuthConsts.OAuth2TokenEndpointRecommendedRetry.Initialize(httpClient); |
| |
|
| | |
| | |
| | #pragma warning disable CS0618 // Type or member is obsolete |
| | var badResponseHandler = Assert.Single(httpClient.MessageHandler.UnsuccessfulResponseHandlers); |
| | var exceptionHandler = Assert.Single(httpClient.MessageHandler.ExceptionHandlers); |
| | #pragma warning restore CS0618 // Type or member is obsolete |
| |
|
| | var badResponseBackoffHandler = Assert.IsType<BackOffHandler>(badResponseHandler); |
| | var exceptionBackoffHandler = Assert.IsType<BackOffHandler>(exceptionHandler); |
| | Assert.Same(badResponseBackoffHandler, exceptionBackoffHandler); |
| |
|
| | Assert.Equal(TimeSpan.MaxValue, badResponseBackoffHandler.MaxTimeSpan); |
| |
|
| | |
| | Assert.False(badResponseBackoffHandler.HandleExceptionFunc(new Exception())); |
| | Assert.False(badResponseBackoffHandler.HandleExceptionFunc(new HttpRequestException())); |
| | Assert.False(badResponseBackoffHandler.HandleExceptionFunc(new TaskCanceledException())); |
| | Assert.False(badResponseBackoffHandler.HandleExceptionFunc(new OperationCanceledException())); |
| |
|
| | |
| | Assert.True(badResponseBackoffHandler.HandleUnsuccessfulResponseFunc(new HttpResponseMessage(HttpStatusCode.RequestTimeout))); |
| | Assert.True(badResponseBackoffHandler.HandleUnsuccessfulResponseFunc(new HttpResponseMessage((HttpStatusCode) 429))); |
| | Assert.True(badResponseBackoffHandler.HandleUnsuccessfulResponseFunc(new HttpResponseMessage(HttpStatusCode.InternalServerError))); |
| | Assert.True(badResponseBackoffHandler.HandleUnsuccessfulResponseFunc(new HttpResponseMessage(HttpStatusCode.ServiceUnavailable))); |
| | } |
| |
|
| | [Theory] |
| | [InlineData(ExponentialBackOffPolicy.None)] |
| | [InlineData(ExponentialBackOffPolicy.UnsuccessfulResponse503)] |
| | [InlineData(ExponentialBackOffPolicy.Exception)] |
| | [InlineData(ExponentialBackOffPolicy.UnsuccessfulResponse503 | ExponentialBackOffPolicy.Exception)] |
| | public void StripOAuth2TokenEndpointRecommendedPolicy_DoesNotStrip(ExponentialBackOffPolicy original) |
| | { |
| | var stripped = GoogleAuthConsts.StripOAuth2TokenEndpointRecommendedPolicy(original); |
| | Assert.Equal(original, stripped); |
| | } |
| |
|
| | [Theory] |
| | [InlineData(ExponentialBackOffPolicy.RecommendedOrDefault, ExponentialBackOffPolicy.None)] |
| | [InlineData(ExponentialBackOffPolicy.RecommendedOrDefault | ExponentialBackOffPolicy.UnsuccessfulResponse503, ExponentialBackOffPolicy.None)] |
| | [InlineData(ExponentialBackOffPolicy.RecommendedOrDefault | ExponentialBackOffPolicy.Exception, ExponentialBackOffPolicy.Exception)] |
| | [InlineData(ExponentialBackOffPolicy.RecommendedOrDefault | ExponentialBackOffPolicy.UnsuccessfulResponse503 | ExponentialBackOffPolicy.Exception, ExponentialBackOffPolicy.Exception)] |
| | public void StripOAuth2TokenEndpointRecommendedPolicy_Strips(ExponentialBackOffPolicy original, ExponentialBackOffPolicy expected) |
| | { |
| | var stripped = GoogleAuthConsts.StripOAuth2TokenEndpointRecommendedPolicy(original); |
| | Assert.Equal(expected, stripped); |
| | } |
| |
|
| | [Fact] |
| | public void IamSignBlobTokenEndpointRecommendedRetry() |
| | { |
| | var httpClient = new ConfigurableHttpClient(new ConfigurableMessageHandler(new DelegatedMessageHandler(request => Task.FromResult(new HttpResponseMessage())))); |
| |
|
| | GoogleAuthConsts.IamSignBlobEndpointRecommendedRetry.Initialize(httpClient); |
| |
|
| | |
| | |
| | #pragma warning disable CS0618 // Type or member is obsolete |
| | var badResponseHandler = Assert.Single(httpClient.MessageHandler.UnsuccessfulResponseHandlers); |
| | var exceptionHandler = Assert.Single(httpClient.MessageHandler.ExceptionHandlers); |
| | #pragma warning restore CS0618 // Type or member is obsolete |
| |
|
| | var badResponseBackoffHandler = Assert.IsType<BackOffHandler>(badResponseHandler); |
| | var exceptionBackoffHandler = Assert.IsType<BackOffHandler>(exceptionHandler); |
| | Assert.Same(badResponseBackoffHandler, exceptionBackoffHandler); |
| |
|
| | Assert.Equal(TimeSpan.MaxValue, badResponseBackoffHandler.MaxTimeSpan); |
| |
|
| | |
| | Assert.False(badResponseBackoffHandler.HandleExceptionFunc(new Exception())); |
| | Assert.False(badResponseBackoffHandler.HandleExceptionFunc(new HttpRequestException())); |
| | Assert.False(badResponseBackoffHandler.HandleExceptionFunc(new TaskCanceledException())); |
| | Assert.False(badResponseBackoffHandler.HandleExceptionFunc(new OperationCanceledException())); |
| |
|
| | |
| | Assert.True(badResponseBackoffHandler.HandleUnsuccessfulResponseFunc(new HttpResponseMessage(HttpStatusCode.InternalServerError))); |
| | Assert.True(badResponseBackoffHandler.HandleUnsuccessfulResponseFunc(new HttpResponseMessage(HttpStatusCode.BadGateway))); |
| | Assert.True(badResponseBackoffHandler.HandleUnsuccessfulResponseFunc(new HttpResponseMessage(HttpStatusCode.ServiceUnavailable))); |
| | Assert.True(badResponseBackoffHandler.HandleUnsuccessfulResponseFunc(new HttpResponseMessage(HttpStatusCode.GatewayTimeout))); |
| | } |
| |
|
| | [Theory] |
| | [InlineData(ExponentialBackOffPolicy.None)] |
| | [InlineData(ExponentialBackOffPolicy.UnsuccessfulResponse503)] |
| | [InlineData(ExponentialBackOffPolicy.Exception)] |
| | [InlineData(ExponentialBackOffPolicy.UnsuccessfulResponse503 | ExponentialBackOffPolicy.Exception)] |
| | public void StripIamSignBlobEndpointRecommendedPolicy_DoesNotStrip(ExponentialBackOffPolicy original) |
| | { |
| | var stripped = GoogleAuthConsts.StripIamSignBlobEndpointRecommendedPolicy(original); |
| | Assert.Equal(original, stripped); |
| | } |
| |
|
| | [Theory] |
| | [InlineData(ExponentialBackOffPolicy.RecommendedOrDefault, ExponentialBackOffPolicy.None)] |
| | [InlineData(ExponentialBackOffPolicy.RecommendedOrDefault | ExponentialBackOffPolicy.UnsuccessfulResponse503, ExponentialBackOffPolicy.None)] |
| | [InlineData(ExponentialBackOffPolicy.RecommendedOrDefault | ExponentialBackOffPolicy.Exception, ExponentialBackOffPolicy.Exception)] |
| | [InlineData(ExponentialBackOffPolicy.RecommendedOrDefault | ExponentialBackOffPolicy.UnsuccessfulResponse503 | ExponentialBackOffPolicy.Exception, ExponentialBackOffPolicy.Exception)] |
| | public void StripIamSignBlobEndpointRecommendedPolicy_Strips(ExponentialBackOffPolicy original, ExponentialBackOffPolicy expected) |
| | { |
| | var stripped = GoogleAuthConsts.StripOAuth2TokenEndpointRecommendedPolicy(original); |
| | Assert.Equal(expected, stripped); |
| | } |
| | } |
| |
|