public void Test_Remainder_Should_be_NULL_NO_StreamRead_Occured() { // Given var stream = new StubNetworkStream(DummyData); // When var chunkHandler = new ChunkedEncoding(stream, stream); // Then Assert.Null(chunkHandler.Remainder); }
public void Test_WrittenBytes_After_Reading_MoreBytes_Then_BodyPart_length() { // Given byte[] bodyPart = Encoding.UTF8.GetBytes(TenBytes); var stream = new StubNetworkStream("ABCD"); var chunkHandler = new ChunkedEncoding(stream, stream); // When chunkHandler.ReadAndSendChunk(bodyPart, 13); // Then Assert.Equal("1234567890ABC", Encoding.UTF8.GetString(stream.GetWrittenBytes)); }
public void Test_Remainder_After_ReadingBytes_SimpleCase() { // Given byte[] bodyPart = Encoding.UTF8.GetBytes(TenBytes); var stream = new StubNetworkStream(DummyData); var chunkHandler = new ChunkedEncoding(stream, stream); // When chunkHandler.ReadAndSendChunk(bodyPart, 5); // Then Assert.Equal("67890", Encoding.UTF8.GetString(chunkHandler.Remainder)); }
public void Test_Remainder_After_Reading_MoreBytes_Then_BodyPart_length() { // Given byte[] bodyPart = Encoding.UTF8.GetBytes(TenBytes); var stream = new StubNetworkStream("ABC"); var chunkHandler = new ChunkedEncoding(stream, stream); // When chunkHandler.ReadAndSendChunk(bodyPart, 12); // Then Assert.Null(chunkHandler.Remainder); }
public void Test_ReadSendBytes_Written_Bytes_for_Simple_case() { // Given byte[] bodyPart = Encoding.UTF8.GetBytes(TenBytes); var stream = new StubNetworkStream(DummyData); var chunkHandler = new ChunkedEncoding(stream, stream); // When chunkHandler.ReadAndSendChunk(bodyPart, 5); // Then Assert.Equal("12345", Encoding.UTF8.GetString(stream.GetWrittenBytes)); }
public void Test_ChunkHandling_SentBytes_For_Two_Chunks_With_BodyPart() { //Given const string data = "4\r\n1234\r\n0\r\n\r\n1234"; var stream = new StubNetworkStream(data); var chunkHandler = new ChunkedEncoding(stream, stream); //When chunkHandler.HandleChunked(Encoding.UTF8.GetBytes(data)); //Then Assert.Equal("1234", Encoding.UTF8.GetString(stream.GetWrittenBytes)); }
public void Test_ChunkHandling_NoBodyPart_Assure_ChunkSize_is_read_as_HEXA() { //Given const string data = "A\r\n123\r\n45678\r\n0\r\n\r\n1234"; var stream = new StubNetworkStream(data); var chunkHandler = new ChunkedEncoding(stream, stream); //When chunkHandler.HandleChunked(); //Then Assert.Equal("123\r\n45678", Encoding.UTF8.GetString(stream.GetWrittenBytes)); }
public void Test_WriteOnStream_BodyLength_Is_Smaller_Than_DataLength() { //Given var stream = new StubNetworkStream(TenBytes); var contentHandler = new ContentLength(stream, stream); //When contentHandler.HandleResponseBody(null, " 4"); byte[] writtenToStream = stream.GetWrittenBytes; //Then Assert.Equal("1234", Encoding.UTF8.GetString(writtenToStream)); }
public void Test_ChunkHandling_NoBodyPart_RepetiveProcess_For_Two_Chunks() { //Given const string data = "2 \r\nab\r\n4\r\n1234\r\n0\r\n\r\n1234"; var stream = new StubNetworkStream(data); var chunkHandler = new ChunkedEncoding(stream, stream); //When chunkHandler.HandleChunked(); //Then Assert.Equal("ab1234", Encoding.UTF8.GetString(stream.GetWrittenBytes)); }
public void Test_ChunkHandling_SentBytes_For_One_Chunk_With_BodyPart() { //Given const string data = "0\r\n\r\n1234"; var stream = new StubNetworkStream(DummyData); var chunkHandler = new ChunkedEncoding(stream, stream); //When chunkHandler.HandleChunked(Encoding.UTF8.GetBytes(data)); //Then Assert.Null(stream.GetWrittenBytes); }
public void Test_WriteOnStream_Should_Return_NULL_When_BodyLength_is_ZERO() { //Given var stream = new StubNetworkStream(TenBytes); var contentHandler = new ContentLength(stream, stream); //When contentHandler.HandleResponseBody(null, "0 "); byte[] writtenToStream = stream.GetWrittenBytes; //Then Assert.Null(writtenToStream); }
public void Test_GetRemainder_NoRemainder_When_BodyPart_is_NOT_Sufficient() { //Given byte[] body = Encoding.UTF8.GetBytes("abcd"); var stream = new StubNetworkStream(TenBytes); var contentHandler = new ContentLength(stream, stream); //When contentHandler.HandleResponseBody(body, "10"); byte[] remainder = contentHandler.Remainder; //Then Assert.Null(remainder); }
public void Test_GetRemainder_BodyPartLength_Equals_TotalBodyLength() { //Given byte[] body = Encoding.UTF8.GetBytes("abcdef"); var stream = new StubNetworkStream("abcdefghijklmno"); var contentHandler = new ContentLength(stream, stream); //When contentHandler.HandleResponseBody(body, "6"); byte[] remainder = contentHandler.Remainder; //Then Assert.Null(remainder); }
public void Test_GetRemainder_BodyPart_is_Sufficient() { //Given byte[] body = Encoding.UTF8.GetBytes("abcdef"); var stream = new StubNetworkStream("abcdefghijklmno"); var contentHandler = new ContentLength(stream, stream); //When contentHandler.HandleResponseBody(body, "5"); byte[] remainder = contentHandler.Remainder; //Then Assert.Equal("f", Encoding.UTF8.GetString(remainder)); }
public void Test_ReadFromStream_Given_BodyPart_is_Sufficient() { //Given byte[] body = Encoding.UTF8.GetBytes("abcd"); var stream = new StubNetworkStream(TenBytes); var contentHandler = new ContentLength(stream, stream); //When contentHandler.HandleResponseBody(body, "4"); byte[] read = stream.GetReadBytes; //Then Assert.Null(read); }
public void Test_Chunked_Header_Should_Return_TRUE_CapitalLetters() { //Given const string data = "12\r\n Transfer - Encoding: chunked\r\n\r\n"; var stream = new StubNetworkStream(data); //When var reader = new HeadersReader(stream, Eight); reader.ReadHeaders(); //Then Assert.True(reader.Chunked); }
public void Test_ReadHeaders_EndLine_Is_AtTheEnd() { //Given const string data = "12345678\r\n\r\n"; var stream = new StubNetworkStream(data); //When var reader = new HeadersReader(stream, data.Length); byte[] headers = reader.ReadHeaders(); //Then Assert.Equal("12345678\r\n\r\n", Encoding.UTF8.GetString(headers)); }
public void Test_Chunked_Header_Only_First_HeaderPart_is_contained() { //Given const string data = "12\r\n Transfer - Encoding: \r\n\r\n"; var stream = new StubNetworkStream(data); //When var reader = new HeadersReader(stream, Eight); reader.ReadHeaders(); //Then Assert.False(reader.Chunked); }
public void Test_ReadProcess_ReadSize_Overtakes_StreamData_OneHeader_WasFound() { //Given const string data = "12\r\n"; var stream = new StubNetworkStream(data); //When var reader = new HeadersReader(stream, Four); byte[] headers = reader.ReadHeaders(); //Then Assert.Null(headers); }
public void Test_ReadHeaders_Should_Return_Null_When_Separator_Is_Not_Found() { //Given const string data = "1234andrei"; var stream = new StubNetworkStream(data); //When var reader = new HeadersReader(stream, Two); byte[] headers = reader.ReadHeaders(); //Then Assert.Null(headers); }
public void Test_ReadHeaders_ReadValue_Smaller_Than_StreamData_MultipleHeaders() { //Given const string data = "12\r\n1234\r\n12345\r\n"; var stream = new StubNetworkStream(data); //When var reader = new HeadersReader(stream, Three); byte[] headers = reader.ReadHeaders(); //Then Assert.Null(headers); }
public void Test_ReadHeaders_Headers_are_Stored_Completely_after_Multiple_Reads() { //Given const string data = "12\r\n34\r\n5678\r\n\r\n"; var stream = new StubNetworkStream(data); //When var reader = new HeadersReader(stream, data.Length); byte[] headers = reader.ReadHeaders(); //Then Assert.Equal(data, Encoding.UTF8.GetString(headers)); }
public void Test_ReadHeaders_For_Simple_Case() { //Given const string data = "12345\r\n\r\n678"; var stream = new StubNetworkStream(data); //When var reader = new HeadersReader(stream, data.Length); byte[] headers = reader.ReadHeaders(); //Then Assert.Equal("12345\r\n\r\n", Encoding.UTF8.GetString(headers)); }
public void Test_ReadFromStream_When_One_Read_Should_Be_Invoked() { //Given byte[] body = Encoding.UTF8.GetBytes("abcd"); var stream = new StubNetworkStream(TenBytes); var contentHandler = new ContentLength(stream, stream); //When contentHandler.HandleResponseBody(body, " 10 "); byte[] readFromStream = stream.GetReadBytes; //Then Assert.Equal("123456", Encoding.UTF8.GetString(readFromStream)); }
public void Test_Chunked_Header_Should_Return_False_SimpleCase() { //Given const string data = "12\r\n Transfer\r\n\r\n"; var stream = new StubNetworkStream(data); //When var reader = new HeadersReader(stream, Eight); reader.ReadHeaders(); //Then Assert.False(reader.Chunked); }
public void Test_ReadHeaders_NULL_After_Reading_MoreBytes_than_StreamData() { //Given const string data = "1234andrei"; var stream = new StubNetworkStream(data); //When var reader = new HeadersReader(stream, Eight); byte[] headers = reader.ReadHeaders(); //Then Assert.Null(headers); }
public void Should_Do_Multiple_reads_Firstread_PART_Does_NOT_Contain_Separator() { //Given const string data = "12345678abc\r\n\r\nandrei"; var stream = new StubNetworkStream(data); //When var reader = new HeadersReader(stream, Eight); byte[] headers = reader.ReadHeaders(); //Then Assert.Equal("12345678abc\r\n\r\n", Encoding.UTF8.GetString(headers)); }