public async Task WriteResponseAsync_AsynchronouslyWritesOperation() { // Arrange HttpContext context = HttpContextHelper.Create(StatusCodes.Status202Accepted); OperationResponseItem responseItem = new OperationResponseItem(context); MemoryStream memoryStream = new MemoryStream(); IODataResponseMessage responseMessage = new ODataMessageWrapper(memoryStream); ODataMessageWriter writer = new ODataMessageWriter(responseMessage); // Act ODataBatchWriter batchWriter = await writer.CreateODataBatchWriterAsync(); await batchWriter.WriteStartBatchAsync(); await responseItem.WriteResponseAsync(batchWriter); await batchWriter.WriteEndBatchAsync(); memoryStream.Position = 0; string responseString = new StreamReader(memoryStream).ReadToEnd(); // Assert Assert.Contains("Accepted", responseString); }
public async Task WriteResponseAsync_NullWriter_Throws() { OperationResponseItem responseItem = new OperationResponseItem(new HttpResponseMessage()); await ExceptionAssert.ThrowsArgumentNullAsync( () => responseItem.WriteResponseAsync(null, CancellationToken.None), "writer"); }
public void WriteResponseAsync_NullWriter_Throws() { OperationResponseItem responseItem = new OperationResponseItem(new HttpResponseMessage()); Assert.ThrowsArgumentNull( () => responseItem.WriteResponseAsync(null, CancellationToken.None).Wait(), "writer"); }
public async Task WriteResponseAsync_NullWriter_Throws() { // Arrange & Act Mock <HttpContext> context = new Mock <HttpContext>(); OperationResponseItem responseItem = new OperationResponseItem(context.Object); // Assert await ExceptionAssert.ThrowsArgumentNullAsync(() => responseItem.WriteResponseAsync(null), "writer"); }
public void WriteResponseAsync_WritesOperation() { OperationResponseItem responseItem = new OperationResponseItem(new HttpResponseMessage(HttpStatusCode.Accepted)); MemoryStream memoryStream = new MemoryStream(); IODataResponseMessage responseMessage = new ODataMessageWrapper(memoryStream); ODataMessageWriter writer = new ODataMessageWriter(responseMessage); ODataBatchWriter batchWriter = writer.CreateODataBatchWriter(); batchWriter.WriteStartBatch(); responseItem.WriteResponseAsync(batchWriter, CancellationToken.None).Wait(); batchWriter.WriteEndBatch(); memoryStream.Position = 0; string responseString = new StreamReader(memoryStream).ReadToEnd(); Assert.Contains("Accepted", responseString); }
public async Task WriteResponseAsync_AsynchronouslyWritesOperation() { OperationResponseItem responseItem = new OperationResponseItem(new HttpResponseMessage(HttpStatusCode.Accepted)); MemoryStream memoryStream = new MemoryStream(); IODataResponseMessage responseMessage = new ODataMessageWrapper(memoryStream); ODataMessageWriter writer = new ODataMessageWriter(responseMessage); ODataBatchWriter batchWriter = await writer.CreateODataBatchWriterAsync(); await batchWriter.WriteStartBatchAsync(); await responseItem.WriteResponseAsync(batchWriter, CancellationToken.None, /*writeAsync*/ true); await batchWriter.WriteEndBatchAsync(); memoryStream.Position = 0; string responseString = new StreamReader(memoryStream).ReadToEnd(); Assert.Contains("Accepted", responseString); }
public async Task WriteResponseAsync_SynchronouslyWritesOperation() { OperationResponseItem responseItem = new OperationResponseItem(new HttpResponseMessage(HttpStatusCode.Accepted)); MemoryStream memoryStream = new MemoryStream(); IODataResponseMessage responseMessage = new ODataMessageWrapper(memoryStream); ODataMessageWriter writer = new ODataMessageWriter(responseMessage); ODataBatchWriter batchWriter = writer.CreateODataBatchWriter(); batchWriter.WriteStartBatch(); // For backward compatibility, default is to write to use a synchronous batchWriter. await responseItem.WriteResponseAsync(batchWriter, CancellationToken.None); batchWriter.WriteEndBatch(); memoryStream.Position = 0; string responseString = new StreamReader(memoryStream).ReadToEnd(); Assert.Contains("Accepted", responseString); }
public void WriteResponseAsync_SynchronouslyWritesOperation_Throws() { // Arrange HttpContext context = HttpContextHelper.Create(StatusCodes.Status202Accepted); OperationResponseItem responseItem = new OperationResponseItem(context); MemoryStream memoryStream = new MemoryStream(); IODataResponseMessage responseMessage = new ODataMessageWrapper(memoryStream); ODataMessageWriter writer = new ODataMessageWriter(responseMessage); // Act ODataBatchWriter batchWriter = writer.CreateODataBatchWriter(); batchWriter.WriteStartBatch(); // Assert Action test = () => responseItem.WriteResponseAsync(batchWriter).Wait(); ODataException exception = ExceptionAssert.Throws <ODataException>(test); Assert.Equal("An asynchronous operation was called on a synchronous batch writer. Calls on a batch writer instance must be either all synchronous or all asynchronous.", exception.Message); }