Add SigFiles and Tests

This commit is contained in:
ProfessionalUwU 2023-06-23 22:27:41 +02:00
parent 25004cd83b
commit 733689cb5b
Signed by: ProfessionalUwU
GPG Key ID: 9F28CB1645C4BFB5
4 changed files with 45 additions and 8 deletions

View File

@ -21,7 +21,8 @@ public class checkForNewerStuffTest {
public void getEveryPackageNameAndVersionViaFolderName_createsFiles() {
// Arrange
PacserverUtils utils = new PacserverUtils();
utils.readPacmanConfig();
Directory.CreateDirectory("/tmp/pacserverTest/");
utils.pacmanCacheDirectory = "/tmp/pacserverTest/";
// Act
utils.getEveryPackageNameAndVersion("before", utils.pacserverDirectory + "packages_before.txt");
@ -33,17 +34,18 @@ public class checkForNewerStuffTest {
}
[Fact]
public void packageNamesAndVersion_notEmpty() {
public void packageNamesAndVersion_isEmpty() {
// Arrange
PacserverUtils utils = new PacserverUtils();
utils.readPacmanConfig();
Directory.CreateDirectory("/tmp/pacserverTest/");
utils.pacmanCacheDirectory = "/tmp/pacserverTest/";
utils.getEveryPackageNameAndVersion("before", utils.pacserverDirectory + "packages_before.txt");
// Act
List<String> packageList = utils.packageNamesAndVersion;
var packageList = utils.packageNamesAndVersion;
// Assert
packageList.Should().NotBeNullOrEmpty();
packageList.Should().BeEmpty();
}
[Fact]

View File

@ -0,0 +1,22 @@
using Pacserver.Utils;
namespace Pacserver.Tests;
public class getEverySigFileTest {
[Fact]
public void getEverySigFile_ListShouldNotBeEmpty() {
// Arrange
PacserverUtils utils = new PacserverUtils();
Directory.CreateDirectory("/tmp/pacserverTest/");
utils.pacmanCacheDirectory = "/tmp/pacserverTest/";
File.Create(utils.pacmanCacheDirectory + "zsh-5.9-3-x86_64.pkg.tar.zst.sig");
// Act
utils.getEverySigFile();
var sigFiles = utils.sigFiles;
Directory.Delete(utils.pacmanCacheDirectory, true);
// Assert
sigFiles.Should().NotBeEmpty();
}
}

View File

@ -39,14 +39,14 @@ public partial class PacserverUtils {
if (!line.Contains(cachePath) && !line.Contains(dbPath)) {
continue;
}
Match match = CacheDirOrDBPathRegex().Match(line);
if(!match.Success) {
if (!match.Success) {
string pathsToDetermineString = string.Join(",", pathsToDetermine);
throw new DirectoryNotFoundException("Could not determine the necessary file paths: " + pathsToDetermineString);
}
if (line.Contains(cachePath)) {
pacmanCacheDirectory = match.ToString();
} else if (line.Contains(dbPath)) {
@ -96,6 +96,17 @@ public partial class PacserverUtils {
}
}
public List<String> sigFiles = new List<String>();
[GeneratedRegex(@".+\.pkg\.tar\.zst\.sig$", RegexOptions.NonBacktracking)]
private static partial Regex onlyGetSigFiles();
public void getEverySigFile() {
if (Directory.Exists(pacmanCacheDirectory)) {
if (Directory.GetFiles(pacmanCacheDirectory) is not null) {
sigFiles = Directory.GetFiles(pacmanCacheDirectory).Where(file => onlyGetSigFiles().IsMatch(file)).ToList();
}
}
}
public List<String> diffOfPackagesOrDatabases = new List<String>();
public void diff(string before, string after) {
if (File.Exists(before) && File.Exists(after)) {
@ -168,6 +179,7 @@ public partial class PacserverUtils {
public void combinePackagesWithDatabases() {
newerPackagesAndDatabases.AddRange(packageNamesAndVersion);
newerPackagesAndDatabases.AddRange(databasesToTransfer);
newerPackagesAndDatabases.AddRange(sigFiles);
}
public async Task transfer() {

View File

@ -35,6 +35,7 @@ public class Program {
utils.packageNamesAndVersion = utils.readDiffFileToList(utils.pacserverDirectory + "package_diff.txt");
utils.getEverySigFile();
utils.combinePackagesWithDatabases();
utils.transfer();