Example #1
0
        public async Task WriteBatchRequestAsync_ThrowsExceptionForSynchronousOutputContext()
        {
            var jsonLightOutputContext = CreateJsonLightOutputContext(/*writingRequest*/ true, /*asynchronous*/ false);
            var jsonLightBatchWriter   = new ODataJsonLightBatchWriter(jsonLightOutputContext);
            // Try to asynchronously start writing batch with an output context intended for synchronous writing
            var exception = await Assert.ThrowsAsync <ODataException>(
                () => jsonLightBatchWriter.WriteStartBatchAsync());

            Assert.Equal(Strings.ODataBatchWriter_AsyncCallOnSyncWriter, exception.Message);
        }
Example #2
0
        /// <summary>
        /// Sets up an ODataJsonLightBatchWriter,
        /// then runs the given test code asynchronously,
        /// then flushes and reads the stream back as a string for customized verification.
        /// </summary>
        private async Task <string> SetupJsonLightBatchWriterAndRunTestAsync(
            Func <ODataJsonLightBatchWriter, Task> func,
            bool writingRequest = true)
        {
            var jsonLightOutputContext = CreateJsonLightOutputContext(writingRequest, /*asynchronous*/ true);
            var jsonLightBatchWriter   = new ODataJsonLightBatchWriter(jsonLightOutputContext);

            await func(jsonLightBatchWriter);

            this.stream.Position = 0;
            return(await new StreamReader(this.stream).ReadToEndAsync());
        }