public void CorrectPaddingIsUsedAfterHexValues(int bufferLength, string expectedOutput) { var mockLogger = new MockLogger(); var loggingStream = new LoggingStream(Stream.Null, mockLogger); loggingStream.Write(new byte[bufferLength]); Assert.Equal($"Write[{bufferLength}]{Environment.NewLine}{expectedOutput}", mockLogger.Logs); }
public async void ShouldDuplicateWrites_GivenAsyncInput() { byte[] input = { 0x65, 0x66, 0x67, 0x68 }; //ABCD using (MemoryStream observedStream = new MemoryStream()) using (MemoryStream buffStream = new MemoryStream()) using (LoggingStream target = new LoggingStream(buffStream, observedStream, MaxBytes)) { await target.WriteAsync(input, 0, input.Length); target.LogContentLength.ShouldBeEquivalentTo(4); target.LogContentLength.ShouldBeEquivalentTo(input.Length); target.LogContentLength.ShouldBeEquivalentTo(observedStream.Length); } }
public async void ShouldDuplicateReads_GivenAsyncInput() { byte[] input = { 0x65, 0x66, 0x67, 0x68 }; //ABCD using (MemoryStream observedStream = new MemoryStream(input, false)) using (MemoryStream buffStream = new MemoryStream()) using (LoggingStream target = new LoggingStream(buffStream, observedStream, MaxBytes)) { int bytesToRead = 2; byte[] readBytes = new byte[bytesToRead]; int bytesRead = await target.ReadAsync(readBytes, 0, bytesToRead); bytesRead.ShouldBeEquivalentTo(bytesToRead); buffStream.Length.ShouldBeEquivalentTo(bytesToRead); target.LogContentLength.ShouldBeEquivalentTo(bytesToRead); observedStream.Length.ShouldBeEquivalentTo(input.Length); } }
public async Task Post() { Console.WriteLine( String.Join("\n", Request.Headers.Select(x => $"{x.Key} = {x.Value}"))); Console.WriteLine($"Post!"); //FileStream fs = new FileStream("/tmp/out", FileMode.Create); //Request.Body.CopyTo(fs); var ins = Request.Body; using (var loggingStream = new LoggingStream()) { await ins.CopyToAsync(loggingStream); } Console.WriteLine($"Post done!"); }
public void ExtraNewLineIsNotLoggedGivenEmptyBuffer() { var mockLogger = new MockLogger(); var loggingStream = new LoggingStream(Stream.Null, mockLogger); loggingStream.Write(default);