public void ProcessResult_WhenCreatedWithCollection_ReturnsCorrectXmlRepresentation() { var response = new FakeResponseContext(); var result = new XmlResult(new List<CustomType> { new CustomType { Data = "data1", Number = 1 }, new CustomType { Data = "data2", Number = 2 } }); Assert.That(result.Data as List<CustomType>, Is.Not.Empty); result.ProcessResult(null, response); var expected = ""; expected += "<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n"; expected += "<ArrayOfCustomType xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n"; expected += " <CustomType>\r\n"; expected += " <Data>data1</Data>\r\n"; expected += " <Number>1</Number>\r\n"; expected += " </CustomType>\r\n"; expected += " <CustomType>\r\n"; expected += " <Data>data2</Data>\r\n"; expected += " <Number>2</Number>\r\n"; expected += " </CustomType>\r\n"; expected += "</ArrayOfCustomType>"; Assert.That(response.ContentType, Is.EqualTo("application/xml")); Assert.That(response.Response, Is.EqualTo(expected)); }
public void ProcessResult_WhenCreatedWithNewString_ReturnsString() { var response = new FakeResponseContext(); var result = new StringResult("test data"); result.ProcessResult(null, response); Assert.That(response.Response, Is.EqualTo("test data")); }
public void ProcessResult_WhenCreated_ContentTypeIsTextHtml() { var response = new FakeResponseContext(); var result = new StringResult("test data"); result.ProcessResult(null, response); Assert.That(response.ContentType, Is.EqualTo("text/html")); }
public void ProcessResult_WhenCreatedWithExistingPath_ReturnsViewData() { var response = new FakeResponseContext(); var result = new HtmlResult("..\\..\\Test Data\\HandlerResult\\Views\\View.html"); result.ProcessResult(null, response); Assert.That(response.ContentType, Is.EqualTo("text/html")); Assert.That(response.Response, Is.EqualTo("<h1>View</h1>")); }
public void ProcessResult_WhenCreatedWithCustomObject_ReturnsCorrectJsonRepresentation() { var response = new FakeResponseContext(); var result = new JsonResult(new CustomType { Data = "data", Number = 50 }); result.ProcessResult(null, response); Assert.That(response.ContentType, Is.EqualTo("application/json")); Assert.That(response.Response, Is.EqualTo("{\"Data\":\"data\",\"Number\":50}")); }
public void ProcessResult_WhenCreatedWithCollection_ReturnsCorrectJsonRepresentation() { var response = new FakeResponseContext(); var result = new JsonResult(new List<CustomType> { new CustomType { Data = "data1", Number = 1 }, new CustomType { Data = "data2", Number = 2 } }); result.ProcessResult(null, response); Assert.That(response.ContentType, Is.EqualTo("application/json")); Assert.That(response.Response, Is.EqualTo("[{\"Data\":\"data1\",\"Number\":1},{\"Data\":\"data2\",\"Number\":2}]")); }
public void ProcessResult_WhenCreatedWithAnonymousObject_ReturnsCorrectJsonRepresentation() { var response = new FakeResponseContext(); var result = new JsonResult(new { message = "hello world", number = 42 }); result.ProcessResult(null, response); Assert.That(response.ContentType, Is.EqualTo("application/json")); Assert.That(response.Response, Is.EqualTo("{\"message\":\"hello world\",\"number\":42}")); }
public void ProcessResults_WithJsonFormatExtensionOverride_ReturnsJsonResult() { var request = buildFakeRequestWithAcceptAndRouteValues("application/xml;q=0.7,application/json;q=0.1", new RouteValueDictionary { { "format", "json" } }); var response = new FakeResponseContext(); var result = new JsonOrXmlResult(new CustomType { Data = "data", Number = 50 }); result.ProcessResult(request, response); Assert.That(response.ContentType, Is.EqualTo("application/json")); }
public void ProcessResults_WithHigherPriorityXmlAcceptHeader_ReturnsJsonResult() { var request = buildFakeRequestWithAccept("application/xml;q=0.7,application/json;q=0.6"); var response = new FakeResponseContext(); var result = new JsonOrXmlResult(new CustomType { Data = "data", Number = 50 }); result.ProcessResult(request, response); Assert.That(response.ContentType, Is.EqualTo("application/xml")); }
public void ProcessResult_WhenCreatedWithPathToUnknownFile_ReturnsPathToFileAndHasDispositionHeader() { var response = new FakeResponseContext(); var result = new FileResult("..\\..\\Test Data\\HandlerResult\\Files\\Download.unknown"); result.ProcessResult(null, response); Assert.That(response.ContentType, Is.EqualTo("application/unknown")); Assert.IsTrue(response.Response.EndsWith("\\Test Data\\HandlerResult\\Files\\Download.unknown")); Assert.That(response.Headers["Content-Disposition"], Is.EqualTo("attachment; filename=Download.unknown")); }
public void ProcessResult_WhenCreatedWithValidUri_ReturnsUri() { var response = new FakeResponseContext(); var result = new RedirectResult("someuri"); Assert.That(result.Uri, Is.EqualTo("someuri")); result.ProcessResult(null, response); Assert.That(response.RedirectUrl, Is.EqualTo("someuri")); }
public void ProcessResults_WithNoAcceptHeader_ReturnsJsonResult() { var request = buildFakeRequestWithAccept(String.Empty); var response = new FakeResponseContext(); var result = new JsonOrXmlResult(new CustomType { Data = "data", Number = 50 }); result.ProcessResult(request, response); Assert.That(response.ContentType, Is.EqualTo("application/json")); }
public void Execute_WithHttpPOSTOnResource1Handler_CallsHandlerGetMethodAndReturnsCorrectData() { requestContext.HttpContext.Request.SetHttpMethodResult("POST"); var response = new FakeResponseContext(); var result = defaultHandlerInvoker.Execute(new Resource1Handler(), requestContext, null); result.Result.ProcessResult(null, response); Assert.That(response.ContentType, Is.EqualTo("text/html")); Assert.That(response.Response, Is.EqualTo("Post")); }
public void ProcessResult_WhenCreatedWithPathToHtmlFile_ReturnsPathToFileAndHasDispositionHeader() { var response = new FakeResponseContext(); var result = new FileResult("..\\..\\Test Data\\HandlerResult\\Views\\View.html"); Assert.That(result.FilePath, Is.EqualTo("..\\..\\Test Data\\HandlerResult\\Views\\View.html")); result.ProcessResult(null, response); Assert.That(response.ContentType, Is.EqualTo("text/html")); Assert.IsTrue(response.Response.EndsWith("\\Test Data\\HandlerResult\\Views\\View.html")); Assert.That(response.Headers["Content-Disposition"], Is.EqualTo("attachment; filename=View.html")); }
public void HttpGET_WithQueryStringParameters_CallsHandlerGetMethodAndReturnsCorrectData() { requestContext.HttpContext = MvcMockHelpers.FakeHttpContext(queryString: new NameValueCollection { {"param1", "1"}, {"param2", "world"} }); requestContext.HttpContext.Request.SetHttpMethodResult("GET"); var response = new FakeResponseContext(); var result = defaultHandlerInvoker.Execute(new InvokeHandler(), requestContext, null); result.Result.ProcessResult(null, response); Assert.That(result.Result, Is.InstanceOf<StringResult>()); Assert.That(response.ContentType, Is.EqualTo("text/html")); Assert.That(response.Response, Is.EqualTo("1world")); }
public void ProcessResults_WithImplicitEqualPriorityXmlAndJsonAcceptHeader_ReturnsJsonResult() { var request = buildFakeRequestWithAccept("application/xml,application/json"); var response = new FakeResponseContext(); var result = new JsonOrXmlResult(new CustomType { Data = "data", Number = 50 }); Assert.That((result.Data as CustomType).Data, Is.EqualTo("data")); Assert.That((result.Data as CustomType).Number, Is.EqualTo(50)); result.ProcessResult(request, response); Assert.That(response.ContentType, Is.EqualTo("application/json")); }
public void ProcessResult_WhenCreatedWithValidHandler_ReturnsHandlerUri() { Url.ApplicationPathProvider = new FakeApplicationPathProvider(); Tinyweb.Handlers = new[] { new HandlerData { Type = typeof(Resource1Handler), Uri = "uri" } }; var response = new FakeResponseContext(); var result = new RedirectResult<Resource1Handler>(); Assert.That(result.Uri, Is.EqualTo("/uri")); result.ProcessResult(null, response); Assert.That(response.RedirectUrl, Is.EqualTo("/uri")); }
public void HttpDELETE_WithComplexModelParameter_CallsHandlerDeleteMethodAndReturnsCorrectData() { requestContext.HttpContext = MvcMockHelpers.FakeHttpContext(queryString: new NameValueCollection { { "number1", "13" }, { "number2", "11" } }, formData: new NameValueCollection { { "factor", "10" } }); requestContext.RouteData.Values.Add("label", "the total is"); requestContext.HttpContext.Request.SetHttpMethodResult("DELETE"); var response = new FakeResponseContext(); var result = defaultHandlerInvoker.Execute(new InvokeHandler(), requestContext, null); result.Result.ProcessResult(null, response); Assert.That(result.Result, Is.InstanceOf<StringResult>()); Assert.That(response.ContentType, Is.EqualTo("text/html")); Assert.That(response.Response, Is.EqualTo("the total is 240")); }
public void HttpGET_WithRouteDataParameters_CallsHandlerGetMethodAndReturnsCorrectData() { requestContext.HttpContext = MvcMockHelpers.FakeHttpContext(); requestContext.RouteData.Values.Add("param1", "10"); requestContext.RouteData.Values.Add("param2", "strings"); requestContext.HttpContext.Request.SetHttpMethodResult("GET"); var response = new FakeResponseContext(); var result = defaultHandlerInvoker.Execute(new InvokeHandler(), requestContext, null); result.Result.ProcessResult(null, response); Assert.That(result.Result, Is.InstanceOf<StringResult>()); Assert.That(response.ContentType, Is.EqualTo("text/html")); Assert.That(response.Response, Is.EqualTo("10strings")); }
public void ProcessResult_WhenCreatedWithCustomObject_ReturnsCorrectXmlRepresentation() { var response = new FakeResponseContext(); var result = new XmlResult(new CustomType { Data = "data", Number = 50 }); Assert.That((result.Data as CustomType).Data, Is.EqualTo("data")); Assert.That((result.Data as CustomType).Number, Is.EqualTo(50)); result.ProcessResult(null, response); var expected = ""; expected += "<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n"; expected += "<CustomType xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n"; expected += " <Data>data</Data>\r\n"; expected += " <Number>50</Number>\r\n"; expected += "</CustomType>"; Assert.That(response.ContentType, Is.EqualTo("application/xml")); Assert.That(response.Response, Is.EqualTo(expected)); }
public void HttpPUT_WithSimpleModelParameter_CallsHandlerPutMethodAndReturnsCorrectData() { requestContext.HttpContext = MvcMockHelpers.FakeHttpContext(queryString: new NameValueCollection { { "number1", "4" }, { "number2", "5" } }); requestContext.HttpContext.Request.SetHttpMethodResult("PUT"); var response = new FakeResponseContext(); var result = defaultHandlerInvoker.Execute(new InvokeHandler(), requestContext, null); result.Result.ProcessResult(null, response); Assert.That(result.Result, Is.InstanceOf<StringResult>()); Assert.That(response.ContentType, Is.EqualTo("text/html")); Assert.That(response.Response, Is.EqualTo("Result: 9")); }
public void HttpPOST_WithAllParameterSources_CallsHandlerPostMethodAndReturnsCorrectData() { requestContext.HttpContext = MvcMockHelpers.FakeHttpContext(queryString: new NameValueCollection { { "param1", "42" } }, formData: new NameValueCollection { {"param2", "1.141"} }); requestContext.RouteData.Values.Add("param3", "true"); requestContext.HttpContext.Request.SetHttpMethodResult("POST"); var response = new FakeResponseContext(); var result = defaultHandlerInvoker.Execute(new InvokeHandler(), requestContext, null); result.Result.ProcessResult(null, response); Assert.That(result.Result, Is.InstanceOf<StringResult>()); Assert.That(response.ContentType, Is.EqualTo("text/html")); Assert.That(response.Response, Is.EqualTo("421.141True")); }