public ServerTester(string ns) { CleanTable = true; Address = "http://localhost:" + FindFreePort() + "/"; Configuration = QBitNinjaConfiguration.FromConfiguration(); Configuration.Indexer.Network = Network.RegTest; Configuration.Indexer.StorageNamespace = ns; Stopwatch watch = new Stopwatch(); var server = WebApp.Start(Address, appBuilder => { watch.Start(); var config = new HttpConfiguration { IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always }; var setup = ShouldSetup(ns); WebApiConfig.Register(config, Configuration, setup); if (setup) { SetShouldSetup(ns); } else { //This at least should be setup Configuration.Topics.EnsureSetupAsync().Wait(); } _resolver = (QBitNinjaDependencyResolver)config.DependencyResolver; appBuilder.UseWebApi(config); }); _disposables.Add(server); ChainBuilder = new ChainBuilder(this); _resolver.Get <ConcurrentChain>(); //So ConcurrentChain load watch.Stop(); }
public ServerTester(string ns) { CleanTable = true; Address = "http://localhost:" + (ushort)RandomUtils.GetUInt32() + "/"; Configuration = QBitNinjaConfiguration.FromConfiguration(); Configuration.Indexer.StorageNamespace = ns; var server = WebApp.Start(Address, appBuilder => { var config = new HttpConfiguration { IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always }; WebApiConfig.Register(config, Configuration); _resolver = (QBitNinjaDependencyResolver)config.DependencyResolver; appBuilder.UseWebApi(config); }); _disposables.Add(server); ChainBuilder = new ChainBuilder(this); _resolver.Get <ConcurrentChain>(); //So ConcurrentChain load }