Add SigFiles and Tests
This commit is contained in:
parent
25004cd83b
commit
733689cb5b
@ -21,7 +21,8 @@ public class checkForNewerStuffTest {
|
|||||||
public void getEveryPackageNameAndVersionViaFolderName_createsFiles() {
|
public void getEveryPackageNameAndVersionViaFolderName_createsFiles() {
|
||||||
// Arrange
|
// Arrange
|
||||||
PacserverUtils utils = new PacserverUtils();
|
PacserverUtils utils = new PacserverUtils();
|
||||||
utils.readPacmanConfig();
|
Directory.CreateDirectory("/tmp/pacserverTest/");
|
||||||
|
utils.pacmanCacheDirectory = "/tmp/pacserverTest/";
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
utils.getEveryPackageNameAndVersion("before", utils.pacserverDirectory + "packages_before.txt");
|
utils.getEveryPackageNameAndVersion("before", utils.pacserverDirectory + "packages_before.txt");
|
||||||
@ -33,17 +34,18 @@ public class checkForNewerStuffTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void packageNamesAndVersion_notEmpty() {
|
public void packageNamesAndVersion_isEmpty() {
|
||||||
// Arrange
|
// Arrange
|
||||||
PacserverUtils utils = new PacserverUtils();
|
PacserverUtils utils = new PacserverUtils();
|
||||||
utils.readPacmanConfig();
|
Directory.CreateDirectory("/tmp/pacserverTest/");
|
||||||
|
utils.pacmanCacheDirectory = "/tmp/pacserverTest/";
|
||||||
utils.getEveryPackageNameAndVersion("before", utils.pacserverDirectory + "packages_before.txt");
|
utils.getEveryPackageNameAndVersion("before", utils.pacserverDirectory + "packages_before.txt");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
List<String> packageList = utils.packageNamesAndVersion;
|
var packageList = utils.packageNamesAndVersion;
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
packageList.Should().NotBeNullOrEmpty();
|
packageList.Should().BeEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
22
src/Pacserver.Tests/getEverySigFileTest.cs
Normal file
22
src/Pacserver.Tests/getEverySigFileTest.cs
Normal 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();
|
||||||
|
}
|
||||||
|
}
|
@ -39,14 +39,14 @@ public partial class PacserverUtils {
|
|||||||
if (!line.Contains(cachePath) && !line.Contains(dbPath)) {
|
if (!line.Contains(cachePath) && !line.Contains(dbPath)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
Match match = CacheDirOrDBPathRegex().Match(line);
|
Match match = CacheDirOrDBPathRegex().Match(line);
|
||||||
|
|
||||||
if(!match.Success) {
|
if (!match.Success) {
|
||||||
string pathsToDetermineString = string.Join(",", pathsToDetermine);
|
string pathsToDetermineString = string.Join(",", pathsToDetermine);
|
||||||
throw new DirectoryNotFoundException("Could not determine the necessary file paths: " + pathsToDetermineString);
|
throw new DirectoryNotFoundException("Could not determine the necessary file paths: " + pathsToDetermineString);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (line.Contains(cachePath)) {
|
if (line.Contains(cachePath)) {
|
||||||
pacmanCacheDirectory = match.ToString();
|
pacmanCacheDirectory = match.ToString();
|
||||||
} else if (line.Contains(dbPath)) {
|
} 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 List<String> diffOfPackagesOrDatabases = new List<String>();
|
||||||
public void diff(string before, string after) {
|
public void diff(string before, string after) {
|
||||||
if (File.Exists(before) && File.Exists(after)) {
|
if (File.Exists(before) && File.Exists(after)) {
|
||||||
@ -168,6 +179,7 @@ public partial class PacserverUtils {
|
|||||||
public void combinePackagesWithDatabases() {
|
public void combinePackagesWithDatabases() {
|
||||||
newerPackagesAndDatabases.AddRange(packageNamesAndVersion);
|
newerPackagesAndDatabases.AddRange(packageNamesAndVersion);
|
||||||
newerPackagesAndDatabases.AddRange(databasesToTransfer);
|
newerPackagesAndDatabases.AddRange(databasesToTransfer);
|
||||||
|
newerPackagesAndDatabases.AddRange(sigFiles);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task transfer() {
|
public async Task transfer() {
|
||||||
|
@ -35,6 +35,7 @@ public class Program {
|
|||||||
|
|
||||||
utils.packageNamesAndVersion = utils.readDiffFileToList(utils.pacserverDirectory + "package_diff.txt");
|
utils.packageNamesAndVersion = utils.readDiffFileToList(utils.pacserverDirectory + "package_diff.txt");
|
||||||
|
|
||||||
|
utils.getEverySigFile();
|
||||||
utils.combinePackagesWithDatabases();
|
utils.combinePackagesWithDatabases();
|
||||||
utils.transfer();
|
utils.transfer();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user