forked from ServiceStack/ServiceStack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHtmlResultTests.cs
More file actions
49 lines (40 loc) · 1.31 KB
/
HtmlResultTests.cs
File metadata and controls
49 lines (40 loc) · 1.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using NUnit.Framework;
using ServiceStack.Common.Tests;
using ServiceStack.Testing;
using ServiceStack.Text;
using ServiceStack.Web;
namespace ServiceStack.WebHost.Endpoints.Tests
{
[TestFixture]
public class HtmlResultMetadataTests : TestBase
{
protected override void Configure(Funq.Container container) {}
public static class Html
{
public static HttpResult RedirectTo(string url)
{
var html = string.Format(
"<html><head><meta http-equiv=\"refresh\" content=\"0;url={0}\"></head></html>",
url);
return new HttpResult(html, MimeTypes.Html)
{
Headers = { { "Location", url } },
};
}
}
[Test]
public void Test_response_with_html_result()
{
var mockResponse = new MockHttpResponse();
const string url = "http://www.servicestack.net";
var htmlResult = Html.RedirectTo(url);
var reponseWasAutoHandled = mockResponse.WriteToResponse(htmlResult, "text/xml");
Assert.That(reponseWasAutoHandled.Result, Is.True);
var expectedOutput = string.Format(
"<html><head><meta http-equiv=\"refresh\" content=\"0;url={0}\"></head></html>", url);
var writtenString = mockResponse.ReadAsString();
Assert.That(writtenString, Is.EqualTo(expectedOutput));
Assert.That(mockResponse.Headers["Location"], Is.EqualTo(url));
}
}
}