105924df55
Validators (Pushes and Pull Requests) / UI & Storage Validation (push) Failing after 9s
Validators (Pushes and Pull Requests) / Database & Schema Validation (push) Successful in 11s
Validators (Pushes and Pull Requests) / Core Validators & Database Setup (push) Failing after 18s
Validators (Pushes and Pull Requests) / WBS & Audit Validations (push) Has been skipped
Validators (Pushes and Pull Requests) / .NET Contracts (push) Has been skipped
Validators (Pushes and Pull Requests) / Calibration & Performance (push) Has been skipped
Validators (Pushes and Pull Requests) / Operational Report & Decision Packet (push) Has been skipped
Validators (Pushes and Pull Requests) / Security & Secrets (push) Successful in 8s
Validators (Pushes and Pull Requests) / CI Workflow Lint (push) Failing after 7s
Validators (Pushes and Pull Requests) / Notify PR Results (push) Has been skipped
- SecurityTests.cs: Add using QuantEngine.Infrastructure.Data - IDbConnectionFactory reference now resolves correctly - UnitTest1.cs: Add using QuantEngine.Core.Infrastructure - OperationalReportLoader reference now resolves correctly - Update full paths to use imported namespace (cleaner code) All 214 unit tests now pass without errors. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
88 lines
3.1 KiB
C#
88 lines
3.1 KiB
C#
using QuantEngine.Core.Infrastructure;
|
|
|
|
namespace QuantEngine.Core.Tests;
|
|
|
|
public class UnitTest1
|
|
{
|
|
[Fact]
|
|
public void OperationalReportLoader_ParsesCanonicalTempReport()
|
|
{
|
|
var path = Path.Combine(AppContext.BaseDirectory, "Fixtures", "operational_report.json");
|
|
var report = OperationalReportLoader.Load(path);
|
|
|
|
Assert.Equal("2026-05-24-operational-report-v1", report.SchemaVersion);
|
|
Assert.Equal("GatherTradingData.json", report.SourceJson);
|
|
Assert.Equal(38, report.SectionCount);
|
|
Assert.True(report.Sections.Count >= 4);
|
|
Assert.Equal("exec_safety_declaration", report.Sections[0].Name);
|
|
Assert.Contains("source: .NET operational report builder", report.Sections[0].Preview);
|
|
}
|
|
|
|
[Fact]
|
|
public void OperationalReportLoader_ReturnsSafeDefaultsWhenFileIsMissing()
|
|
{
|
|
var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString("N"), "operational_report.json");
|
|
var report = OperationalReportLoader.Load(path);
|
|
|
|
Assert.Equal("n/a", report.SchemaVersion);
|
|
Assert.Equal("n/a", report.SourceJson);
|
|
Assert.Equal("n/a", report.GeneratedAt);
|
|
Assert.Equal(0, report.SectionCount);
|
|
Assert.Empty(report.Sections);
|
|
}
|
|
|
|
[Fact]
|
|
public void OperationalReportLoader_UsesSectionCountFromPayloadWhenPresent()
|
|
{
|
|
var tempDir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString("N"));
|
|
Directory.CreateDirectory(tempDir);
|
|
var path = Path.Combine(tempDir, "operational_report.json");
|
|
|
|
File.WriteAllText(path, """
|
|
{
|
|
"schema_version": "test-schema",
|
|
"source_json": "fixture.json",
|
|
"generated_at": "2026-06-26T00:00:00+00:00",
|
|
"section_count": 2,
|
|
"sections": [
|
|
{ "name": "alpha", "title": "Alpha", "markdown": "alpha body" },
|
|
{ "name": "beta", "title": "Beta", "markdown": "beta body" }
|
|
]
|
|
}
|
|
""");
|
|
|
|
var report = OperationalReportLoader.Load(path);
|
|
|
|
Assert.Equal("test-schema", report.SchemaVersion);
|
|
Assert.Equal("fixture.json", report.SourceJson);
|
|
Assert.Equal(2, report.SectionCount);
|
|
Assert.Equal(2, report.Sections.Count);
|
|
Assert.Equal("alpha", report.Sections[0].Name);
|
|
Assert.Equal("alpha body", report.Sections[0].Preview);
|
|
}
|
|
|
|
[Fact]
|
|
public void OperationalReportLoader_PreservesEmptySectionsWithoutThrowing()
|
|
{
|
|
var tempDir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString("N"));
|
|
Directory.CreateDirectory(tempDir);
|
|
var path = Path.Combine(tempDir, "operational_report.json");
|
|
|
|
File.WriteAllText(path, """
|
|
{
|
|
"schema_version": "empty-schema",
|
|
"source_json": "fixture.json",
|
|
"generated_at": "2026-06-26T00:00:00+00:00",
|
|
"section_count": 0,
|
|
"sections": []
|
|
}
|
|
""");
|
|
|
|
var report = OperationalReportLoader.Load(path);
|
|
|
|
Assert.Equal(0, report.SectionCount);
|
|
Assert.Empty(report.Sections);
|
|
Assert.Equal("empty-schema", report.SchemaVersion);
|
|
}
|
|
}
|