示例#1
0
        public void Response_Create_WithBody_Success()
        {
            var s = new StringContent("hi");
            var r = StreamingResponse.CreateResponse(HttpStatusCode.OK, s);

            Assert.Equal((int)HttpStatusCode.OK, r.StatusCode);
            Assert.NotNull(r.Streams);
            Assert.Single(r.Streams);
            Assert.Equal(s, r.Streams[0].Content);
        }
        public async Task SendResponseAsync()
        {
            var sender    = new PayloadSender();
            var transport = new MockTransportSender();

            sender.Connect(transport);
            var ops = new SendOperations(sender);

            var content  = new StringContent("/a/b", Encoding.ASCII);
            var response = StreamingResponse.CreateResponse(HttpStatusCode.OK, content);

            await ops.SendResponseAsync(Guid.NewGuid(), response);

            Assert.Equal(4, transport.Buffers.Count);
        }
        public async Task ResponseDisassembler_With_HttpContent_SendsAsFixedLength()
        {
            var sender    = new PayloadSender();
            var transport = new MockTransportSender();

            sender.Connect(transport);

            var content = new StringContent("{'a': 55}", Encoding.UTF8, "application/json");

            var response = StreamingResponse.CreateResponse(System.Net.HttpStatusCode.OK, content);

            var disassembler = new ResponseDisassembler(sender, Guid.NewGuid(), response);

            await disassembler.DisassembleAsync();

            Assert.Equal(2, transport.Buffers.Count);
        }