Add channel test providers for Email, Slack, Teams, and Webhook
- Implemented EmailChannelTestProvider to generate email preview payloads. - Implemented SlackChannelTestProvider to create Slack message previews. - Implemented TeamsChannelTestProvider for generating Teams Adaptive Card previews. - Implemented WebhookChannelTestProvider to create webhook payloads. - Added INotifyChannelTestProvider interface for channel-specific preview generation. - Created ChannelTestPreviewContracts for request and response models. - Developed NotifyChannelTestService to handle test send requests and generate previews. - Added rate limit policies for test sends and delivery history. - Implemented unit tests for service registration and binding. - Updated project files to include necessary dependencies and configurations.
This commit is contained in:
		@@ -17,9 +17,9 @@ internal sealed record RuntimePolicyEvaluationResult(
 | 
			
		||||
internal sealed record RuntimePolicyImageDecision(
 | 
			
		||||
    string PolicyVerdict,
 | 
			
		||||
    bool? Signed,
 | 
			
		||||
    bool? HasSbom,
 | 
			
		||||
    bool? HasSbomReferrers,
 | 
			
		||||
    IReadOnlyList<string> Reasons,
 | 
			
		||||
    RuntimePolicyRekorReference? Rekor,
 | 
			
		||||
    IReadOnlyDictionary<string, object?> AdditionalProperties);
 | 
			
		||||
 | 
			
		||||
internal sealed record RuntimePolicyRekorReference(string? Uuid, string? Url);
 | 
			
		||||
internal sealed record RuntimePolicyRekorReference(string? Uuid, string? Url, bool? Verified);
 | 
			
		||||
 
 | 
			
		||||
@@ -42,8 +42,12 @@ internal sealed class RuntimePolicyEvaluationImageDocument
 | 
			
		||||
    [JsonPropertyName("signed")]
 | 
			
		||||
    public bool? Signed { get; set; }
 | 
			
		||||
 | 
			
		||||
    [JsonPropertyName("hasSbomReferrers")]
 | 
			
		||||
    public bool? HasSbomReferrers { get; set; }
 | 
			
		||||
 | 
			
		||||
    // Legacy field kept for pre-contract-sync services.
 | 
			
		||||
    [JsonPropertyName("hasSbom")]
 | 
			
		||||
    public bool? HasSbom { get; set; }
 | 
			
		||||
    public bool? HasSbomLegacy { get; set; }
 | 
			
		||||
 | 
			
		||||
    [JsonPropertyName("reasons")]
 | 
			
		||||
    public List<string>? Reasons { get; set; }
 | 
			
		||||
@@ -62,4 +66,7 @@ internal sealed class RuntimePolicyRekorDocument
 | 
			
		||||
 | 
			
		||||
    [JsonPropertyName("url")]
 | 
			
		||||
    public string? Url { get; set; }
 | 
			
		||||
 | 
			
		||||
    [JsonPropertyName("verified")]
 | 
			
		||||
    public bool? Verified { get; set; }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user