//----------------------------------------------------------------------- // // Copyright (c) Andrew Arnott. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOpenAuth.Test.Messaging { using System.Net; using System.Net.Mime; using System.Text; using DotNetOpenAuth.Messaging; using NUnit.Framework; [TestFixture] public class OutgoingWebResponseTests { /// /// Verifies that setting the Body property correctly converts to a byte stream. /// [TestCase] public void SetBodyToByteStream() { var response = new OutgoingWebResponse(); string stringValue = "abc"; response.Body = stringValue; Assert.AreEqual(stringValue.Length, response.ResponseStream.Length); // Verify that the actual bytes are correct. Encoding encoding = new UTF8Encoding(false); // avoid emitting a byte-order mark var expectedBuffer = encoding.GetBytes(stringValue); var actualBuffer = new byte[stringValue.Length]; Assert.AreEqual(stringValue.Length, response.ResponseStream.Read(actualBuffer, 0, stringValue.Length)); CollectionAssert.AreEqual(expectedBuffer, actualBuffer); // Verify that the header was set correctly. Assert.IsNull(response.Headers[HttpResponseHeader.ContentEncoding]); Assert.AreEqual(encoding.HeaderName, new ContentType(response.Headers[HttpResponseHeader.ContentType]).CharSet); } } }