37 lines
No EOL
1,016 B
C#
37 lines
No EOL
1,016 B
C#
using LANCommander.Server.Services.Abstractions;
|
|
using LANCommander.Server.Services.Models;
|
|
using System;
|
|
using System.Linq;
|
|
using LANCommander.Server.Settings.Enums;
|
|
using Semver;
|
|
|
|
namespace LANCommander.Server.Tests.Mocks;
|
|
|
|
public class VersionProviderMock : IVersionProvider
|
|
{
|
|
public static SemVersion Version { get; set; } = SemVersion.Parse("1.0.0");
|
|
|
|
public SemVersion GetCurrentVersion()
|
|
{
|
|
return Version;
|
|
}
|
|
|
|
public ReleaseChannel GetReleaseChannel(SemVersion version)
|
|
{
|
|
if (version.IsRelease)
|
|
return ReleaseChannel.Stable;
|
|
|
|
if (version.IsPrerelease && version.PrereleaseIdentifiers.Any(pi => pi.Value == "nightly"))
|
|
return ReleaseChannel.Nightly;
|
|
|
|
if (version.IsPrerelease)
|
|
return ReleaseChannel.Prerelease;
|
|
|
|
throw new ArgumentException("Could not parse version number", nameof(version));
|
|
}
|
|
|
|
public static void SetVersion(string version)
|
|
{
|
|
Version = SemVersion.Parse(version);
|
|
}
|
|
} |