25 lines
705 B
C#
25 lines
705 B
C#
using System.Security.Cryptography;
|
|
|
|
namespace Kbx.Tests.Scenarios;
|
|
|
|
public sealed record KbxScenarioArtifact(string Type, string Path, string? Sha256 = null);
|
|
|
|
public sealed record KbxScenarioEvidence(
|
|
string ScenarioId,
|
|
string RunId,
|
|
DateTimeOffset StartedAt,
|
|
DateTimeOffset? FinishedAt,
|
|
string Result,
|
|
IReadOnlyDictionary<string,string> ContractVersions,
|
|
IReadOnlyList<string> CorrelationIds,
|
|
IReadOnlyList<KbxScenarioArtifact> Artifacts);
|
|
|
|
public static class KbxScenarioHash
|
|
{
|
|
public static string Sha256File(string path)
|
|
{
|
|
using var stream = File.OpenRead(path);
|
|
return Convert.ToHexString(SHA256.HashData(stream)).ToLowerInvariant();
|
|
}
|
|
}
|