Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

44 lines
1.4 KiB
C#

// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
using System.Net.Http;
using System.Threading;
namespace System.Web.Http
{
public static class ScenarioHelper
{
public static string BaseAddress = "http://localhost";
public static void RunTest(string controllerName, string routeSuffix, HttpRequestMessage request,
Action<HttpResponseMessage> assert, Action<HttpConfiguration> configurer = null)
{
// Arrange
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute("Default", "{controller}" + routeSuffix, new { controller = controllerName });
if (configurer != null)
{
configurer(config);
}
HttpServer server = new HttpServer(config);
HttpMessageInvoker invoker = new HttpMessageInvoker(server);
HttpResponseMessage response = null;
try
{
// Act
response = invoker.SendAsync(request, CancellationToken.None).Result;
// Assert
assert(response);
}
finally
{
request.Dispose();
if (response != null)
{
response.Dispose();
}
}
}
}
}