nuget reorganization
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
using StellaOps.Scanner.Analyzers.Lang.Deno.Internal.Runtime;
|
||||
|
||||
namespace StellaOps.Scanner.Analyzers.Lang.Deno.Tests.Deno;
|
||||
|
||||
public sealed class DenoRuntimeShimTests
|
||||
{
|
||||
[Fact]
|
||||
public async Task WritesShimToDirectory()
|
||||
{
|
||||
var root = TestPaths.CreateTemporaryDirectory();
|
||||
try
|
||||
{
|
||||
var path = await DenoRuntimeShim.WriteAsync(root, TestContext.Current.CancellationToken);
|
||||
|
||||
Assert.True(File.Exists(path));
|
||||
var content = await File.ReadAllTextAsync(path, TestContext.Current.CancellationToken);
|
||||
Assert.Contains("deno-runtime.ndjson", content);
|
||||
Assert.Contains("deno.module.load", content);
|
||||
Assert.Contains("deno.permission.use", content);
|
||||
}
|
||||
finally
|
||||
{
|
||||
TestPaths.SafeDelete(root);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
using System.Text;
|
||||
using StellaOps.Scanner.Analyzers.Lang.Deno.Internal.Runtime;
|
||||
|
||||
namespace StellaOps.Scanner.Analyzers.Lang.Deno.Tests.Deno;
|
||||
|
||||
public sealed class DenoRuntimeTraceProbeTests
|
||||
{
|
||||
[Fact]
|
||||
public void ComputesMetadataAndHashFromNdjson()
|
||||
{
|
||||
const string ndjson =
|
||||
@"{\""type\"":\"\"deno.module.load\"",\""ts\"":\"\"2025-11-17T12:00:00Z\"",\""reason\"":\"\"dynamic-import\"",\""permissions\"":[\"\"fs\""],\""origin\"":\"\"https://deno.land\""}
|
||||
{\""type\"":\"\"deno.permission.use\"",\""ts\"":\"\"2025-11-17T12:00:01Z\"",\""permission\"":\"\"NET\""}
|
||||
{\""type\"":\"\"deno.npm.resolution\"",\""ts\"":\"\"2025-11-17T12:00:02Z\""}
|
||||
{\""type\"":\"\"deno.wasm.load\"",\""ts\"":\"\"2025-11-17T12:00:03Z\""}
|
||||
";
|
||||
|
||||
var bytes = Encoding.UTF8.GetBytes(ndjson);
|
||||
var (metadata, hash) = DenoRuntimeTraceProbe.Analyze(bytes);
|
||||
|
||||
Assert.Equal(4, metadata.EventCount);
|
||||
Assert.Equal(1, metadata.ModuleLoads);
|
||||
Assert.Equal(1, metadata.PermissionUses);
|
||||
Assert.Equal(1, metadata.NpmResolutions);
|
||||
Assert.Equal(1, metadata.WasmLoads);
|
||||
Assert.Equal(1, metadata.DynamicImports);
|
||||
Assert.Equal(new[] { "https://deno.land" }, metadata.RemoteOrigins);
|
||||
Assert.Equal(new[] { "fs", "net" }, metadata.UniquePermissions);
|
||||
|
||||
Assert.Equal("8f67e4b77f2ea4155d9101c5e6a45922e4ac1e19006955c3e6c2afe1938f0a8d", hash);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user