mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2024-11-19 09:54:30 +01:00
Make sure BTCPay is operational before starting tests
This commit is contained in:
parent
7b69e334d7
commit
00e24ab249
@ -37,6 +37,7 @@ using Xunit;
|
|||||||
using BTCPayServer.Services;
|
using BTCPayServer.Services;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
using Microsoft.AspNetCore.Hosting.Server.Features;
|
using Microsoft.AspNetCore.Hosting.Server.Features;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace BTCPayServer.Tests
|
namespace BTCPayServer.Tests
|
||||||
{
|
{
|
||||||
@ -158,11 +159,6 @@ namespace BTCPayServer.Tests
|
|||||||
InvoiceRepository = (InvoiceRepository)_Host.Services.GetService(typeof(InvoiceRepository));
|
InvoiceRepository = (InvoiceRepository)_Host.Services.GetService(typeof(InvoiceRepository));
|
||||||
StoreRepository = (StoreRepository)_Host.Services.GetService(typeof(StoreRepository));
|
StoreRepository = (StoreRepository)_Host.Services.GetService(typeof(StoreRepository));
|
||||||
Networks = (BTCPayNetworkProvider)_Host.Services.GetService(typeof(BTCPayNetworkProvider));
|
Networks = (BTCPayNetworkProvider)_Host.Services.GetService(typeof(BTCPayNetworkProvider));
|
||||||
var dashBoard = (NBXplorerDashboard)_Host.Services.GetService(typeof(NBXplorerDashboard));
|
|
||||||
while(!dashBoard.IsFullySynched())
|
|
||||||
{
|
|
||||||
Thread.Sleep(10);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (MockRates)
|
if (MockRates)
|
||||||
{
|
{
|
||||||
@ -223,6 +219,35 @@ namespace BTCPayServer.Tests
|
|||||||
});
|
});
|
||||||
rateProvider.Providers.Add("bittrex", bittrex);
|
rateProvider.Providers.Add("bittrex", bittrex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
WaitSiteIsOperational().GetAwaiter().GetResult();
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task WaitSiteIsOperational()
|
||||||
|
{
|
||||||
|
var synching = WaitIsFullySynched();
|
||||||
|
var accessingHomepage = WaitCanAccessHomepage();
|
||||||
|
await Task.WhenAll(synching, accessingHomepage).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task WaitCanAccessHomepage()
|
||||||
|
{
|
||||||
|
var resp = await HttpClient.GetAsync("/").ConfigureAwait(false);
|
||||||
|
while (resp.StatusCode != HttpStatusCode.OK)
|
||||||
|
{
|
||||||
|
await Task.Delay(10).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task WaitIsFullySynched()
|
||||||
|
{
|
||||||
|
var dashBoard = GetService<NBXplorerDashboard>();
|
||||||
|
while (!dashBoard.IsFullySynched())
|
||||||
|
{
|
||||||
|
await Task.Delay(10).ConfigureAwait(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private string FindBTCPayServerDirectory()
|
private string FindBTCPayServerDirectory()
|
||||||
|
@ -19,7 +19,6 @@ namespace BTCPayServer.Tests
|
|||||||
|
|
||||||
public static SeleniumTester Create([CallerMemberNameAttribute] string scope = null)
|
public static SeleniumTester Create([CallerMemberNameAttribute] string scope = null)
|
||||||
{
|
{
|
||||||
|
|
||||||
var server = ServerTester.Create(scope);
|
var server = ServerTester.Create(scope);
|
||||||
return new SeleniumTester()
|
return new SeleniumTester()
|
||||||
{
|
{
|
||||||
@ -45,6 +44,7 @@ namespace BTCPayServer.Tests
|
|||||||
}
|
}
|
||||||
Logs.Tester.LogInformation("Selenium: Browsing to " + Server.PayTester.ServerUri);
|
Logs.Tester.LogInformation("Selenium: Browsing to " + Server.PayTester.ServerUri);
|
||||||
Driver.Navigate().GoToUrl(Server.PayTester.ServerUri);
|
Driver.Navigate().GoToUrl(Server.PayTester.ServerUri);
|
||||||
|
Driver.AssertNoError();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user