• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

thorstenalpers / CleanMyPosts / 15100136253

18 May 2025 09:17PM UTC coverage: 10.839% (-0.9%) from 11.754%
15100136253

push

github

thorstenalpers
Use separate update.xml

15 of 246 branches covered (6.1%)

Branch coverage included in aggregate %.

3 of 7 new or added lines in 2 files covered. (42.86%)

9 existing lines in 1 file now uncovered.

100 of 815 relevant lines covered (12.27%)

0.34 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

27.59
/src/UI/Services/UpdateService.cs
1
using Ardalis.GuardClauses;
2
using CleanMyPosts.UI.Contracts.Services;
3
using CleanMyPosts.UI.Models;
4
using Microsoft.Extensions.Logging;
5
using Microsoft.Extensions.Options;
6
using NetSparkleUpdater;
7
using NetSparkleUpdater.Interfaces;
8
using NetSparkleUpdater.SignatureVerifiers;
9

10
namespace CleanMyPosts.UI.Services;
11

12
public class UpdateService : IUpdateService
13
{
14
    private readonly SparkleUpdater _sparkle;
15
    private readonly ILogger<UpdateService> _logger;
16

17
    public UpdateService(IOptions<UpdaterOptions> options,
1✔
18
                         IUIFactory uIFactory,
1✔
19
                         ILogger<UpdateService> logger,
1✔
20
                         NetSparkleUpdater.Interfaces.ILogger netSparkleLogger)
1✔
21
    {
22
        _logger = logger;
1✔
23
        var opts = options.Value;
1✔
24

25
        Guard.Against.Null(opts);
1✔
26
        Guard.Against.NullOrWhiteSpace(opts.AppCastUrlSingle);
1✔
NEW
27
        Guard.Against.NullOrWhiteSpace(opts.AppCastUrlInstaller);
×
UNCOV
28
        Guard.Against.NullOrWhiteSpace(opts.SecurityMode.ToString());
×
NEW
29
        var isSingleFile = AppContext.GetData("IsSingleFile") as bool? ?? false;
×
NEW
30
        var url = isSingleFile ? opts.AppCastUrlSingle : opts.AppCastUrlInstaller;
×
UNCOV
31
        var verifier = new DSAChecker(opts.SecurityMode);
×
32

NEW
33
        _sparkle = new SparkleUpdater(url, verifier)
×
UNCOV
34
        {
×
UNCOV
35
            UIFactory = uIFactory,
×
UNCOV
36
            RelaunchAfterUpdate = true,
×
UNCOV
37
            UseNotificationToast = true,
×
UNCOV
38
            LogWriter = netSparkleLogger
×
UNCOV
39
        };
×
UNCOV
40
    }
×
41

42
    public async Task CheckForUpdatesAsync()
43
    {
44
        try
45
        {
46
            await _sparkle.CheckForUpdatesAtUserRequest();
×
47
        }
×
48
        catch (Exception ex)
×
49
        {
50
            _logger.LogError(ex, "Error while checking for updates.");
×
51
        }
×
52
    }
×
53
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc