- Created SignerEndpointsTests to validate the SignDsse and VerifyReferrers endpoints. - Implemented StubBearerAuthenticationDefaults and StubBearerAuthenticationHandler for token-based authentication. - Developed ConcelierExporterClient for managing Trivy DB settings and export operations. - Added TrivyDbSettingsPageComponent for UI interactions with Trivy DB settings, including form handling and export triggering. - Implemented styles and HTML structure for Trivy DB settings page. - Created NotifySmokeCheck tool for validating Redis event streams and Notify deliveries.
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PowerShell
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PowerShell
		
	
	
	
	
	
Set-StrictMode -Version Latest
 | 
						|
$ErrorActionPreference = 'Stop'
 | 
						|
 | 
						|
$repoRoot = Split-Path -Parent $PSScriptRoot
 | 
						|
$pluginsDir = Join-Path $repoRoot 'plugins\notify'
 | 
						|
 | 
						|
$assemblies = @{
 | 
						|
    slack  = 'StellaOps.Notify.Connectors.Slack.dll'
 | 
						|
    teams  = 'StellaOps.Notify.Connectors.Teams.dll'
 | 
						|
    email  = 'StellaOps.Notify.Connectors.Email.dll'
 | 
						|
    webhook = 'StellaOps.Notify.Connectors.Webhook.dll'
 | 
						|
}
 | 
						|
 | 
						|
$hasFailures = $false
 | 
						|
 | 
						|
foreach ($channel in $assemblies.Keys) {
 | 
						|
    $dir = Join-Path $pluginsDir $channel
 | 
						|
    if (-not (Test-Path -LiteralPath $dir -PathType Container)) {
 | 
						|
        Write-Host "ERROR: Missing plug-in directory '$dir'."
 | 
						|
        $hasFailures = $true
 | 
						|
        continue
 | 
						|
    }
 | 
						|
 | 
						|
    $manifest = Join-Path $dir 'notify-plugin.json'
 | 
						|
    $assembly = Join-Path $dir $assemblies[$channel]
 | 
						|
    $baseName = [System.IO.Path]::GetFileNameWithoutExtension($assemblies[$channel])
 | 
						|
    $pdb = Join-Path $dir "$baseName.pdb"
 | 
						|
    $deps = Join-Path $dir "$baseName.deps.json"
 | 
						|
 | 
						|
    if (-not (Test-Path -LiteralPath $manifest -PathType Leaf)) {
 | 
						|
        Write-Host "ERROR: Missing manifest for '$channel' connector ($manifest)."
 | 
						|
        $hasFailures = $true
 | 
						|
    }
 | 
						|
 | 
						|
    if (-not (Test-Path -LiteralPath $assembly -PathType Leaf)) {
 | 
						|
        Write-Host "ERROR: Missing assembly for '$channel' connector ($assembly)."
 | 
						|
        $hasFailures = $true
 | 
						|
    }
 | 
						|
 | 
						|
    Get-ChildItem -LiteralPath $dir -File | ForEach-Object {
 | 
						|
        switch ($_.Name) {
 | 
						|
            'notify-plugin.json' { return }
 | 
						|
            { $_.Name -eq $assemblies[$channel] } { return }
 | 
						|
            { $_.Name -eq "$baseName.pdb" } { return }
 | 
						|
            { $_.Name -eq "$baseName.deps.json" } { return }
 | 
						|
            default {
 | 
						|
                Write-Host "ERROR: Unexpected file '$($_.Name)' in '$dir'."
 | 
						|
                $hasFailures = $true
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
if ($hasFailures) {
 | 
						|
    exit 1
 | 
						|
}
 | 
						|
exit 0
 |