mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-18 14:34:23 +01:00
Fixes based on feedback
This commit is contained in:
@@ -3128,13 +3128,10 @@ namespace BTCPayServer.Tests
|
|||||||
var settings = tester.PayTester.GetService<SettingsRepository>();
|
var settings = tester.PayTester.GetService<SettingsRepository>();
|
||||||
await settings.UpdateSetting<PoliciesSettings>(new PoliciesSettings() { CheckForNewVersions = true });
|
await settings.UpdateSetting<PoliciesSettings>(new PoliciesSettings() { CheckForNewVersions = true });
|
||||||
|
|
||||||
var envMock = tester.PayTester.GetService<BTCPayServerEnvironment>();
|
var mockEnv = tester.PayTester.GetService<BTCPayServerEnvironment>();
|
||||||
// modifying environment to simulate production
|
var mockSender = tester.PayTester.GetService<Services.Notifications.NotificationSender>();
|
||||||
envMock.Environment.EnvironmentName = "Production";
|
|
||||||
|
|
||||||
var notificationSender = tester.PayTester.GetService<Services.Notifications.NotificationSender>();
|
var svc = new NewVersionCheckerHostedService(settings, mockEnv, mockSender, new MockVersionFetcher());
|
||||||
|
|
||||||
var svc = new NewVersionCheckerHostedService(settings, envMock, notificationSender, new MockVersionFetcher());
|
|
||||||
await svc.ProcessVersionCheck();
|
await svc.ProcessVersionCheck();
|
||||||
|
|
||||||
// since last version present in database was null, it should've been updated with version mock returned
|
// since last version present in database was null, it should've been updated with version mock returned
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ namespace BTCPayServer.HostedServices
|
|||||||
public async Task ProcessVersionCheck()
|
public async Task ProcessVersionCheck()
|
||||||
{
|
{
|
||||||
var policies = await _settingsRepository.GetSettingAsync<PoliciesSettings>() ?? new PoliciesSettings();
|
var policies = await _settingsRepository.GetSettingAsync<PoliciesSettings>() ?? new PoliciesSettings();
|
||||||
if (policies.CheckForNewVersions && !_env.IsDeveloping)
|
if (policies.CheckForNewVersions)
|
||||||
{
|
{
|
||||||
var tag = await _versionFetcher.Fetch(Cancellation);
|
var tag = await _versionFetcher.Fetch(Cancellation);
|
||||||
if (tag != null && tag != _env.Version)
|
if (tag != null && tag != _env.Version)
|
||||||
@@ -67,16 +67,21 @@ namespace BTCPayServer.HostedServices
|
|||||||
Task<string> Fetch(CancellationToken cancellation);
|
Task<string> Fetch(CancellationToken cancellation);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GithubVersionFetcher : IVersionFetcher
|
public class GithubVersionFetcher : IVersionFetcher, IDisposable
|
||||||
{
|
{
|
||||||
private readonly HttpClient _httpClient;
|
private readonly HttpClient _httpClient;
|
||||||
public GithubVersionFetcher()
|
public GithubVersionFetcher(IHttpClientFactory httpClientFactory)
|
||||||
{
|
{
|
||||||
_httpClient = new HttpClient();
|
_httpClient = httpClientFactory.CreateClient(nameof(GithubVersionFetcher));
|
||||||
_httpClient.DefaultRequestHeaders.Add("Accept", "application/vnd.github.v3+json");
|
_httpClient.DefaultRequestHeaders.Add("Accept", "application/vnd.github.v3+json");
|
||||||
_httpClient.DefaultRequestHeaders.Add("User-Agent", "BTCPayServer/NewVersionChecker");
|
_httpClient.DefaultRequestHeaders.Add("User-Agent", "BTCPayServer/NewVersionChecker");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
_httpClient.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<string> Fetch(CancellationToken cancellation)
|
public async Task<string> Fetch(CancellationToken cancellation)
|
||||||
{
|
{
|
||||||
const string url = "https://api.github.com/repos/btcpayserver/btcpayserver/releases/latest";
|
const string url = "https://api.github.com/repos/btcpayserver/btcpayserver/releases/latest";
|
||||||
|
|||||||
Reference in New Issue
Block a user