using Microsoft.AspNet.Server.Kestrel; using Microsoft.AspNet.Server.Kestrel.Http; using Microsoft.Framework.Runtime; using Microsoft.Framework.Runtime.Infrastructure; using System; using System.Threading.Tasks; namespace Microsoft.AspNet.Server.KestralTests { /// /// Summary description for TestServer /// public class TestServer : IDisposable { private KestrelEngine _engine; private IDisposable _server; public TestServer(Func app) { Create(app); } ILibraryManager LibraryManager { get { var services = CallContextServiceLocator.Locator.ServiceProvider; return (ILibraryManager)services.GetService(typeof(ILibraryManager)); } } public void Create(Func app) { _engine = new KestrelEngine(LibraryManager); _engine.Start(1); _server = _engine.CreateServer( "http", "localhost", 54321, app); } public void Dispose() { _server.Dispose(); _engine.Dispose(); } } }