Merge all changes
This commit is contained in:
@@ -48,7 +48,7 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
|
||||
var request = CreateRequest("pack-1", 1, severity: "Critical");
|
||||
|
||||
var response = await harness.Service.EvaluateAsync(request, CancellationToken.None);
|
||||
var response = await harness.Service.EvaluateAsync(request, TestContext.Current.CancellationToken);
|
||||
|
||||
Assert.Equal("pack-1", response.PackId);
|
||||
Assert.Equal(1, response.Version);
|
||||
@@ -67,11 +67,11 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
var request = CreateRequest("pack-1", 1, severity: "High");
|
||||
|
||||
// First call - cache miss
|
||||
var response1 = await harness.Service.EvaluateAsync(request, CancellationToken.None);
|
||||
var response1 = await harness.Service.EvaluateAsync(request, TestContext.Current.CancellationToken);
|
||||
Assert.False(response1.Cached);
|
||||
|
||||
// Second call - cache hit
|
||||
var response2 = await harness.Service.EvaluateAsync(request, CancellationToken.None);
|
||||
var response2 = await harness.Service.EvaluateAsync(request, TestContext.Current.CancellationToken);
|
||||
Assert.True(response2.Cached);
|
||||
Assert.Equal(CacheSource.InMemory, response2.CacheSource);
|
||||
Assert.Equal(response1.Status, response2.Status);
|
||||
@@ -88,12 +88,12 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
var request = CreateRequest("pack-1", 1, severity: "Medium");
|
||||
|
||||
// First call
|
||||
var response1 = await harness.Service.EvaluateAsync(request, CancellationToken.None);
|
||||
var response1 = await harness.Service.EvaluateAsync(request, TestContext.Current.CancellationToken);
|
||||
Assert.False(response1.Cached);
|
||||
|
||||
// Second call with bypass
|
||||
var bypassRequest = request with { BypassCache = true };
|
||||
var response2 = await harness.Service.EvaluateAsync(bypassRequest, CancellationToken.None);
|
||||
var response2 = await harness.Service.EvaluateAsync(bypassRequest, TestContext.Current.CancellationToken);
|
||||
Assert.False(response2.Cached);
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
var request = CreateRequest("non-existent", 1, severity: "Low");
|
||||
|
||||
await Assert.ThrowsAsync<InvalidOperationException>(
|
||||
() => harness.Service.EvaluateAsync(request, CancellationToken.None));
|
||||
() => harness.Service.EvaluateAsync(request, TestContext.Current.CancellationToken));
|
||||
}
|
||||
|
||||
[Trait("Category", TestCategories.Unit)]
|
||||
@@ -117,13 +117,13 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
|
||||
var request = CreateRequest("pack-1", 1, severity: "High");
|
||||
|
||||
var response1 = await harness.Service.EvaluateAsync(request, CancellationToken.None);
|
||||
var response1 = await harness.Service.EvaluateAsync(request, TestContext.Current.CancellationToken);
|
||||
|
||||
// Create a new harness with fresh cache
|
||||
var harness2 = CreateHarness();
|
||||
await harness2.StoreTestPolicyAsync("pack-1", 1, TestPolicy);
|
||||
|
||||
var response2 = await harness2.Service.EvaluateAsync(request, CancellationToken.None);
|
||||
var response2 = await harness2.Service.EvaluateAsync(request, TestContext.Current.CancellationToken);
|
||||
|
||||
// Same inputs should produce same correlation ID
|
||||
Assert.Equal(response1.CorrelationId, response2.CorrelationId);
|
||||
@@ -143,7 +143,7 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
CreateRequest("pack-1", 1, severity: "Medium", subjectPurl: "pkg:npm/axios@1.0.0"),
|
||||
};
|
||||
|
||||
var responses = await harness.Service.EvaluateBatchAsync(requests, CancellationToken.None);
|
||||
var responses = await harness.Service.EvaluateBatchAsync(requests, TestContext.Current.CancellationToken);
|
||||
|
||||
Assert.Equal(3, responses.Count);
|
||||
}
|
||||
@@ -157,7 +157,7 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
|
||||
// Pre-populate cache
|
||||
var request = CreateRequest("pack-1", 1, severity: "Critical");
|
||||
await harness.Service.EvaluateAsync(request, CancellationToken.None);
|
||||
await harness.Service.EvaluateAsync(request, TestContext.Current.CancellationToken);
|
||||
|
||||
var requests = new[]
|
||||
{
|
||||
@@ -165,7 +165,7 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
CreateRequest("pack-1", 1, severity: "High"), // New
|
||||
};
|
||||
|
||||
var responses = await harness.Service.EvaluateBatchAsync(requests, CancellationToken.None);
|
||||
var responses = await harness.Service.EvaluateBatchAsync(requests, TestContext.Current.CancellationToken);
|
||||
|
||||
Assert.Equal(2, responses.Count);
|
||||
Assert.Contains(responses, r => r.Cached);
|
||||
@@ -182,8 +182,8 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
var request1 = CreateRequest("pack-1", 1, severity: "High");
|
||||
var request2 = CreateRequest("pack-1", 1, severity: "Critical");
|
||||
|
||||
var response1 = await harness.Service.EvaluateAsync(request1, CancellationToken.None);
|
||||
var response2 = await harness.Service.EvaluateAsync(request2, CancellationToken.None);
|
||||
var response1 = await harness.Service.EvaluateAsync(request1, TestContext.Current.CancellationToken);
|
||||
var response2 = await harness.Service.EvaluateAsync(request2, TestContext.Current.CancellationToken);
|
||||
|
||||
// Both should be cache misses (different severity = different context)
|
||||
Assert.False(response1.Cached);
|
||||
@@ -233,11 +233,11 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
Metadata = new Dictionary<string, object?>()
|
||||
};
|
||||
|
||||
await harness.ReachabilityStore.SaveAsync(fact, CancellationToken.None);
|
||||
await harness.ReachabilityStore.SaveAsync(fact, TestContext.Current.CancellationToken);
|
||||
|
||||
var request = CreateRequest("pack-2", 1, severity: "Low");
|
||||
|
||||
var response = await harness.Service.EvaluateAsync(request, CancellationToken.None);
|
||||
var response = await harness.Service.EvaluateAsync(request, TestContext.Current.CancellationToken);
|
||||
|
||||
Assert.Equal("warn", response.Status);
|
||||
}
|
||||
@@ -289,10 +289,10 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
Metadata = new Dictionary<string, object?>()
|
||||
};
|
||||
|
||||
await harness.ReachabilityStore.SaveAsync(fact, CancellationToken.None);
|
||||
await harness.ReachabilityStore.SaveAsync(fact, TestContext.Current.CancellationToken);
|
||||
|
||||
var request = CreateRequest("pack-3", 1, severity: "Low");
|
||||
var response = await harness.Service.EvaluateAsync(request, CancellationToken.None);
|
||||
var response = await harness.Service.EvaluateAsync(request, TestContext.Current.CancellationToken);
|
||||
|
||||
Assert.Equal("under_investigation", response.Status);
|
||||
}
|
||||
@@ -344,10 +344,10 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
Metadata = new Dictionary<string, object?>()
|
||||
};
|
||||
|
||||
await harness.ReachabilityStore.SaveAsync(fact, CancellationToken.None);
|
||||
await harness.ReachabilityStore.SaveAsync(fact, TestContext.Current.CancellationToken);
|
||||
|
||||
var request = CreateRequest("pack-4", 1, severity: "Low");
|
||||
var response = await harness.Service.EvaluateAsync(request, CancellationToken.None);
|
||||
var response = await harness.Service.EvaluateAsync(request, TestContext.Current.CancellationToken);
|
||||
|
||||
Assert.Equal("under_investigation", response.Status);
|
||||
}
|
||||
@@ -399,10 +399,10 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
Metadata = new Dictionary<string, object?>()
|
||||
};
|
||||
|
||||
await harness.ReachabilityStore.SaveAsync(fact, CancellationToken.None);
|
||||
await harness.ReachabilityStore.SaveAsync(fact, TestContext.Current.CancellationToken);
|
||||
|
||||
var request = CreateRequest("pack-5", 1, severity: "Low");
|
||||
var response = await harness.Service.EvaluateAsync(request, CancellationToken.None);
|
||||
var response = await harness.Service.EvaluateAsync(request, TestContext.Current.CancellationToken);
|
||||
|
||||
Assert.Equal("not_affected", response.Status);
|
||||
}
|
||||
@@ -489,7 +489,7 @@ public sealed class PolicyRuntimeEvaluationServiceTests
|
||||
{
|
||||
var bundleService = new PolicyBundleService(CompilationService, Repository, TimeProvider.System);
|
||||
var request = new PolicyBundleRequest(new PolicyDslPayload("stella-dsl@1", dsl), SigningKeyId: null);
|
||||
await bundleService.CompileAndStoreAsync(packId, version, request, CancellationToken.None);
|
||||
await bundleService.CompileAndStoreAsync(packId, version, request, TestContext.Current.CancellationToken);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user