Added package cleanup
This commit is contained in:
146
sh.actions.package-cleanup.Tests/Service/PackageServiceTests.cs
Normal file
146
sh.actions.package-cleanup.Tests/Service/PackageServiceTests.cs
Normal file
@@ -0,0 +1,146 @@
|
||||
using Moq;
|
||||
using sh.actions.package_cleanup.Models;
|
||||
using sh.actions.package_cleanup.Service;
|
||||
using Xunit;
|
||||
|
||||
namespace sh.actions.package_cleanup.Tests.Service;
|
||||
|
||||
public class PackageFilterTests
|
||||
{
|
||||
private readonly IPackageService _packageService;
|
||||
private readonly Mock<IGiteaPackageService> _giteaPackageServiceMock = new Mock<IGiteaPackageService>();
|
||||
private readonly List<GiteaPackage> _packages;
|
||||
|
||||
|
||||
public PackageFilterTests()
|
||||
{
|
||||
_packageService = new PackageService(_giteaPackageServiceMock.Object);
|
||||
_packages = _versions.Select(v => new GiteaPackage
|
||||
{
|
||||
Version = v,
|
||||
Name = $"test-{v}"
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TestFilterPackagesToDelete()
|
||||
{
|
||||
var toDelete = _packageService.FilterPackagesToDelete(_packages);
|
||||
var toDeleteVersions = toDelete
|
||||
.Select(x => x.Version)
|
||||
.OrderByDescending(x => x)
|
||||
.ToList();
|
||||
var expected = _expectDeleted.OrderByDescending(x => x).ToList();
|
||||
Assert.Equal(expected.Count, toDeleteVersions.Count);
|
||||
Assert.Equal(expected, toDeleteVersions);
|
||||
}
|
||||
|
||||
private readonly List<string> _versions =
|
||||
[
|
||||
"0.1.0",
|
||||
"0.1.1",
|
||||
"0.1.2",
|
||||
"1.0",
|
||||
"1.1",
|
||||
"1.2",
|
||||
"2024.8.6.0",
|
||||
"2024.8.7.0",
|
||||
"2024.8.8.0",
|
||||
"2024.8.9.0",
|
||||
"2024.8.10.0",
|
||||
"2024.8.11.0",
|
||||
"latest",
|
||||
// dev
|
||||
"0-dev",
|
||||
"1-dev",
|
||||
"2-dev",
|
||||
"1.0-dev",
|
||||
"1.1-dev",
|
||||
"1.2-dev",
|
||||
"0.1.0-dev",
|
||||
"0.1.1-dev",
|
||||
"0.1.2-dev",
|
||||
"2024.8.6.0-dev",
|
||||
"2024.8.6.1-dev",
|
||||
"2024.8.7.0-dev",
|
||||
"2024.8.7.1-dev",
|
||||
"2024.8.8.0-dev",
|
||||
"2024.8.8.1-dev",
|
||||
"2024.8.9.0-dev",
|
||||
"2024.8.9.1-dev",
|
||||
"2024.8.10.0-dev",
|
||||
"2024.8.10.1-dev",
|
||||
"2024.8.11.0-dev",
|
||||
"2024.8.11.1-dev",
|
||||
// test
|
||||
"0.1.0-test",
|
||||
"0.1.1-test",
|
||||
"0.1.2-test",
|
||||
"2024.8.6.0-test",
|
||||
"2024.8.6.1-test",
|
||||
"2024.8.7.0-test",
|
||||
"2024.8.7.1-test",
|
||||
"2024.8.8.0-test",
|
||||
"2024.8.8.1-test",
|
||||
"2024.8.9.0-test",
|
||||
"2024.8.9.1-test",
|
||||
"2024.8.10.0-test",
|
||||
"2024.8.10.1-test",
|
||||
"2024.8.11.0-test",
|
||||
// exp
|
||||
"0.1.0-exp",
|
||||
"0.1.1-exp",
|
||||
"0.1.2-exp",
|
||||
"2024.8.6.0-exp",
|
||||
"2024.8.6.1-exp",
|
||||
"2024.8.7.0-exp",
|
||||
"2024.8.7.1-exp",
|
||||
"2024.8.8.0-exp",
|
||||
"2024.8.8.1-exp",
|
||||
"2024.8.9.0-exp",
|
||||
"2024.8.9.1-exp",
|
||||
"2024.8.10.0-exp",
|
||||
"2024.8.10.1-exp",
|
||||
"2024.8.11.0-exp",
|
||||
"2024.8.11.2-exp"
|
||||
];
|
||||
|
||||
private readonly List<string> _versionsToHold =
|
||||
[
|
||||
// prod (no suffix)
|
||||
"0.1.0",
|
||||
"0.1.1",
|
||||
"0.1.2",
|
||||
"1.0",
|
||||
"1.1",
|
||||
"1.2",
|
||||
"2024.8.6.0",
|
||||
"2024.8.7.0",
|
||||
"2024.8.8.0",
|
||||
"2024.8.9.0",
|
||||
"2024.8.10.0",
|
||||
"2024.8.11.0",
|
||||
"latest",
|
||||
// dev
|
||||
"1-dev",
|
||||
"2-dev",
|
||||
"1.1-dev",
|
||||
"1.2-dev",
|
||||
"0.1.1-dev",
|
||||
"0.1.2-dev",
|
||||
"2024.8.11.0-dev",
|
||||
"2024.8.11.1-dev",
|
||||
// test
|
||||
"0.1.1-test",
|
||||
"0.1.2-test",
|
||||
"2024.8.10.1-test",
|
||||
"2024.8.11.0-test",
|
||||
// exp
|
||||
"0.1.1-exp",
|
||||
"0.1.2-exp",
|
||||
"2024.8.11.0-exp",
|
||||
"2024.8.11.2-exp"
|
||||
];
|
||||
|
||||
private List<string> _expectDeleted => _versions.Except(_versionsToHold).ToList();
|
||||
}
|
||||
Reference in New Issue
Block a user