public async Task WriteAsync_VeryLargeData_Written()
        {
            // Arrange
            var ms            = new MemoryStream();
            var gprcWebStream = new Base64RequestStream(ms);

            var s = string.Create <object>(16384, null !, (s, o) =>
            {
                for (var i = 0; i < s.Length; i++)
                {
                    s[i] = Convert.ToChar(i % 10);
                }
            });
            var data = Encoding.UTF8.GetBytes(s);

            // Act
            await gprcWebStream.WriteAsync(data);

            await gprcWebStream.FlushAsync();

            // Assert
            var base64 = Encoding.UTF8.GetString(ms.ToArray());
            var result = Convert.FromBase64String(base64);

            CollectionAssert.AreEqual(data, result);
        }
Exemplo n.º 2
0
        public async Task WriteAsync_VeryLargeData_Written()
        {
            // Arrange
            var ms            = new MemoryStream();
            var gprcWebStream = new Base64RequestStream(ms);

            var chars = new char[16384];

            for (var i = 0; i < chars.Length; i++)
            {
                chars[i] = Convert.ToChar(i % 10);
            }

            var data = Encoding.UTF8.GetBytes(new string(chars));

            // Act
            await WriteAsync(gprcWebStream, data).DefaultTimeout();

            await gprcWebStream.FlushAsync().DefaultTimeout();

            // Assert
            var base64 = Encoding.UTF8.GetString(ms.ToArray());
            var result = Convert.FromBase64String(base64);

            CollectionAssert.AreEqual(data, result);
        }
        public async Task WriteAsync_SmallData_Written()
        {
            // Arrange
            var ms            = new MemoryStream();
            var gprcWebStream = new Base64RequestStream(ms);

            var data = Encoding.UTF8.GetBytes("123");

            // Act
            await gprcWebStream.WriteAsync(data);

            // Assert
            var base64 = Encoding.UTF8.GetString(ms.ToArray());

            CollectionAssert.AreEqual(data, Convert.FromBase64String(base64));
        }
        public async Task WriteAsync_SmallDataWithRemainder_WrittenWithoutRemainder()
        {
            // Arrange
            var ms            = new MemoryStream();
            var gprcWebStream = new Base64RequestStream(ms);

            var data = Encoding.UTF8.GetBytes("Hello world");

            // Act
            await gprcWebStream.WriteAsync(data);

            // Assert
            var base64  = Encoding.UTF8.GetString(ms.ToArray());
            var newData = Convert.FromBase64String(base64);

            CollectionAssert.AreEqual(data.AsSpan(0, newData.Length).ToArray(), newData);
        }
        public async Task FlushAsync_HasRemainder_WriteRemainder()
        {
            // Arrange
            var ms            = new MemoryStream();
            var gprcWebStream = new Base64RequestStream(ms);

            var data = Encoding.UTF8.GetBytes("Hello world");

            // Act
            await gprcWebStream.WriteAsync(data);

            await gprcWebStream.FlushAsync();

            // Assert
            var base64 = Encoding.UTF8.GetString(ms.ToArray());

            CollectionAssert.AreEqual(data, Convert.FromBase64String(base64));
        }
Exemplo n.º 6
0
        public async Task WriteAsync_MultipleSingleBytes_Written()
        {
            // Arrange
            var ms            = new MemoryStream();
            var gprcWebStream = new Base64RequestStream(ms);

            var data = Encoding.UTF8.GetBytes("123");

            // Act
            foreach (var b in data)
            {
                await WriteAsync(gprcWebStream, new[] { b }).DefaultTimeout();
            }

            // Assert
            var base64 = Encoding.UTF8.GetString(ms.ToArray());

            CollectionAssert.AreEqual(data, Convert.FromBase64String(base64));
        }
        public async Task WriteAsync_MultipleSingleBytes_Written()
        {
            // Arrange
            var ms            = new MemoryStream();
            var gprcWebStream = new Base64RequestStream(ms);

            var data = Encoding.UTF8.GetBytes("123");

            // Act
            foreach (var b in data)
            {
                await gprcWebStream.WriteAsync(new[] { b });
            }

            // Assert
            var base64 = Encoding.UTF8.GetString(ms.ToArray());

            CollectionAssert.AreEqual(data, Convert.FromBase64String(base64));

            HttpRequestMessage  m  = new HttpRequestMessage();
            HttpResponseMessage mm = new HttpResponseMessage();

            mm.TrailingHeaders.Add("test", "value");
        }