Index: Src/GoogleApis.Tests/Apis/Requests/BatchRequestTest.cs =================================================================== --- a/Src/GoogleApis.Tests/Apis/Requests/BatchRequestTest.cs +++ b/Src/GoogleApis.Tests/Apis/Requests/BatchRequestTest.cs @@ -211,7 +211,7 @@ this.successful2ndResponse = successful2ndReponse; } - protected override async Task SendAsyncCore(HttpRequestMessage request, + protected override Task SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) { #region Verify Request Message @@ -237,7 +237,9 @@ Encoding.UTF8, "multipart/mixed"); response.Content.Headers.ContentType.Parameters.Add(new NameValueHeaderValue("boundary", boundary)); - return response; + TaskCompletionSource tcs = new TaskCompletionSource(); + tcs.SetResult(response); + return tcs.Task; } } @@ -323,6 +325,35 @@ } [Test] + public void ExecuteAsync_NoCallback_Test() + { + var handler = new BatchMessageHandler(true); + var initializer = new BaseClientService.Initializer() + { + HttpClientFactory = new MockHttpClientFactory(handler) + }; + + using (var service = new MockClientService(initializer, "http://sample.com")) + { + var responses = new List>(); + var batch = new BatchRequest(service); + var request1 = new TestClientServiceRequest(service, new MockRequest + { + ETag = "\"100\"", + Name = "Name1" + }); + var request2 = new TestClientServiceRequest(service, new MockRequest + { + ETag = "\"200\"", + Name = "Name1-1" + }); + batch.Queue(request1, null); + batch.Queue(request2, null); + batch.ExecuteAsync().Wait(); + } + } + + [Test] public void CreateOuterRequestContent_Test() { using (var service = new MockClientService("http://sample.com"))