feat: Implement Runtime Facts ingestion service and NDJSON reader
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled

- Added RuntimeFactsNdjsonReader for reading NDJSON formatted runtime facts.
- Introduced IRuntimeFactsIngestionService interface and its implementation.
- Enhanced Program.cs to register new services and endpoints for runtime facts.
- Updated CallgraphIngestionService to include CAS URI in stored artifacts.
- Created RuntimeFactsValidationException for validation errors during ingestion.
- Added tests for RuntimeFactsIngestionService and RuntimeFactsNdjsonReader.
- Implemented SignalsSealedModeMonitor for compliance checks in sealed mode.
- Updated project dependencies for testing utilities.
This commit is contained in:
master
2025-11-10 07:56:15 +02:00
parent 9df52d84aa
commit 69c59defdc
132 changed files with 19718 additions and 9334 deletions

View File

@@ -0,0 +1,34 @@
using StellaOps.Scanner.Analyzers.Lang.Deno.Internal;
using StellaOps.Scanner.Analyzers.Lang.Deno.Tests.TestFixtures;
using StellaOps.Scanner.Analyzers.Lang.Tests.TestUtilities;
namespace StellaOps.Scanner.Analyzers.Lang.Deno.Tests.Containers;
public sealed class ContainerAdapterTests
{
[Fact]
public async Task CollectInputsIncludesCacheVendorAndBundlesAsync()
{
var (root, envDir) = DenoWorkspaceTestFixture.Create();
try
{
Environment.SetEnvironmentVariable("DENO_DIR", envDir);
var context = new LanguageAnalyzerContext(root, TimeProvider.System);
var workspace = await DenoWorkspaceNormalizer.NormalizeAsync(context, CancellationToken.None);
var bundleScan = DenoBundleScanner.Scan(root, CancellationToken.None);
var observations = DenoBundleScanner.ToObservations(bundleScan);
var inputs = DenoContainerAdapter.CollectInputs(workspace, observations);
Assert.NotEmpty(inputs);
Assert.Contains(inputs, input => input.Kind == DenoContainerSourceKind.Cache);
Assert.Contains(inputs, input => input.Kind == DenoContainerSourceKind.Vendor);
Assert.Contains(inputs, input => input.Kind == DenoContainerSourceKind.Bundle);
}
finally
{
Environment.SetEnvironmentVariable("DENO_DIR", null);
TestPaths.SafeDelete(root);
}
}
}