| /* | |
| Copyright 2017 Google Inc | |
| Licensed under the Apache License, Version 2.0 (the "License"); | |
| you may not use this file except in compliance with the License. | |
| You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software | |
| distributed under the License is distributed on an "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| See the License for the specific language governing permissions and | |
| limitations under the License. | |
| */ | |
| using Google.Apis.Http; | |
| using Google.Apis.Storage.v1; | |
| using System; | |
| using System.Collections.Generic; | |
| using System.Text; | |
| using Xunit; | |
| using System.Threading.Tasks; | |
| using Google; | |
| namespace IntegrationTests | |
| { | |
| public class ResponseHandlerTests | |
| { | |
| private class TestUnsuccessfulResponseHandler : IHttpUnsuccessfulResponseHandler | |
| { | |
| public int Count { get; private set; } = 0; | |
| public Task<bool> HandleResponseAsync(HandleUnsuccessfulResponseArgs args) => Task.FromResult(++Count == 0); | |
| } | |
| [] | |
| public void PerCallUnsuccessfulResponseHandler() | |
| { | |
| StorageService client = new StorageService(); | |
| var request = client.Buckets.List("irrelevant-project"); | |
| var handler = new TestUnsuccessfulResponseHandler(); | |
| request.AddUnsuccessfulResponseHandler(handler); | |
| Assert.Throws<GoogleApiException>(() => request.Execute()); | |
| Assert.True(handler.Count > 0); | |
| } | |
| } | |
| } | |