Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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
        }