2023-04-13 09:30:19 +00:00
|
|
|
|
using Logging;
|
|
|
|
|
using NUnit.Framework;
|
|
|
|
|
|
2023-04-14 07:54:07 +00:00
|
|
|
|
namespace DistTestCore.Logs
|
2023-04-13 09:30:19 +00:00
|
|
|
|
{
|
2023-06-27 13:28:00 +00:00
|
|
|
|
public interface IDownloadedLog
|
2023-04-13 09:30:19 +00:00
|
|
|
|
{
|
|
|
|
|
void AssertLogContains(string expectedString);
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-27 13:28:00 +00:00
|
|
|
|
public class DownloadedLog : IDownloadedLog
|
2023-04-13 09:30:19 +00:00
|
|
|
|
{
|
|
|
|
|
private readonly LogFile logFile;
|
2023-06-27 13:28:00 +00:00
|
|
|
|
private readonly string owner;
|
2023-04-13 09:30:19 +00:00
|
|
|
|
|
2023-06-27 13:28:00 +00:00
|
|
|
|
public DownloadedLog(LogFile logFile, string owner)
|
2023-04-13 09:30:19 +00:00
|
|
|
|
{
|
|
|
|
|
this.logFile = logFile;
|
2023-04-19 08:42:08 +00:00
|
|
|
|
this.owner = owner;
|
2023-04-13 09:30:19 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void AssertLogContains(string expectedString)
|
|
|
|
|
{
|
|
|
|
|
using var file = File.OpenRead(logFile.FullFilename);
|
|
|
|
|
using var streamReader = new StreamReader(file);
|
|
|
|
|
|
|
|
|
|
var line = streamReader.ReadLine();
|
|
|
|
|
while (line != null)
|
|
|
|
|
{
|
|
|
|
|
if (line.Contains(expectedString)) return;
|
|
|
|
|
line = streamReader.ReadLine();
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-27 13:28:00 +00:00
|
|
|
|
Assert.Fail($"{owner} Unable to find string '{expectedString}' in CodexNode log file {logFile.FullFilename}");
|
2023-04-13 09:30:19 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|