Fix normalizer sidecar log and coverage test (#4)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -67,12 +67,62 @@ public class RuleTests
|
||||
{
|
||||
var input = "{\"ts\":\"2026-04-07T00:00:00Z\",\"x\":1.23456789}";
|
||||
var r = Normalizer.Normalize(input, "default");
|
||||
Assert.Equal(5, r.Log.Count);
|
||||
Assert.Equal(6, r.Log.Count);
|
||||
var ids = r.Log.Select(l => l.RuleId).ToList();
|
||||
Assert.Contains("strip_timestamps", ids);
|
||||
Assert.Contains("mask_guids", ids);
|
||||
Assert.Contains("normalize_paths", ids);
|
||||
Assert.Contains("round_floats", ids);
|
||||
Assert.Contains("sort_json_keys", ids);
|
||||
Assert.Contains("mask_volatile_settings", ids);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Normalize_WritesSidecarLogFile()
|
||||
{
|
||||
var input = "{\"ts\":\"2026-04-07T00:00:00Z\",\"id\":\"550e8400-e29b-41d4-a716-446655440000\",\"GridSnap\":true,\"x\":1.234567}";
|
||||
var tmp = Path.Combine(Path.GetTempPath(), "norm-sidecar-" + Guid.NewGuid().ToString("N") + ".log");
|
||||
try
|
||||
{
|
||||
var r = Normalizer.Normalize(input, "default", tmp);
|
||||
Assert.True(File.Exists(tmp), "sidecar file should exist at " + tmp);
|
||||
var text = File.ReadAllText(tmp);
|
||||
|
||||
// every rule from result.Log should appear with matching count
|
||||
int total = 0;
|
||||
foreach (var entry in r.Log)
|
||||
{
|
||||
Assert.Contains($"{entry.RuleId}\tcount={entry.Count}", text);
|
||||
total += entry.Count;
|
||||
}
|
||||
Assert.Contains($"total={total}", text);
|
||||
|
||||
// sorted by RuleId
|
||||
var lines = text.Split('\n', StringSplitOptions.RemoveEmptyEntries);
|
||||
var ruleLines = lines.Where(l => !l.StartsWith("total=")).ToList();
|
||||
var sorted = ruleLines.OrderBy(l => l, StringComparer.Ordinal).ToList();
|
||||
Assert.Equal(sorted, ruleLines);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (File.Exists(tmp)) File.Delete(tmp);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Normalize_SidecarPath_AcceptsDirectory()
|
||||
{
|
||||
var dir = Path.Combine(Path.GetTempPath(), "norm-sidecar-dir-" + Guid.NewGuid().ToString("N"));
|
||||
Directory.CreateDirectory(dir);
|
||||
try
|
||||
{
|
||||
Normalizer.Normalize("{\"a\":1}", "default", dir);
|
||||
var expected = Path.Combine(dir, "normalization.log");
|
||||
Assert.True(File.Exists(expected));
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (Directory.Exists(dir)) Directory.Delete(dir, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user