Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        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));
        }
Exemplo n.º 9
0
        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));
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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);
        }
Exemplo n.º 14
0
        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));
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        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);
        }
Exemplo n.º 17
0
        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));
        }
Exemplo n.º 18
0
        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);
        }
Exemplo n.º 19
0
        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);
        }
Exemplo n.º 20
0
        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);
        }
Exemplo n.º 21
0
        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);
        }
Exemplo n.º 22
0
        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));
        }
Exemplo n.º 23
0
        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));
        }
Exemplo n.º 24
0
        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));
        }
Exemplo n.º 25
0
        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);
        }
Exemplo n.º 26
0
        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);
        }
Exemplo n.º 27
0
        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));
        }