noid-privacy/Tests/Integration/AntiAI.Integration.Tests.ps1

45 lines
1.6 KiB
PowerShell
Raw Normal View History

Describe "AntiAI Integration Tests" {
BeforeAll {
$script:ModulePath = Join-Path $PSScriptRoot "..\..\Modules\AntiAI"
$script:ManifestPath = Join-Path $script:ModulePath "AntiAI.psd1"
$script:ComplianceScript = Join-Path $script:ModulePath "Private\Test-AntiAICompliance.ps1"
}
Context "Module Structure" {
It "Should have module manifest" {
Test-Path $script:ManifestPath | Should -Be $true
}
It "Should have compliance test script" {
Test-Path $script:ComplianceScript | Should -Be $true
}
It "Should load module without errors" {
{ Import-Module $script:ManifestPath -Force -ErrorAction Stop } | Should -Not -Throw
}
It "Should export Invoke-AntiAI function" {
$module = Get-Module AntiAI
$module.ExportedFunctions.Keys | Should -Contain "Invoke-AntiAI"
}
}
Context "DryRun Execution" {
It "Should run in DryRun mode without errors" -Skip:($env:GITHUB_ACTIONS -eq 'true') {
# Skip on CI - requires admin rights and registry access
{ Invoke-AntiAI -DryRun -ErrorAction Stop } | Should -Not -Throw
}
}
Context "Compliance Check" {
It "Should run compliance test without errors" -Skip:($env:GITHUB_ACTIONS -eq 'true') {
# Skip on CI - requires admin rights and registry access
{ & $script:ComplianceScript -ErrorAction Stop } | Should -Not -Throw
}
}
AfterAll {
Remove-Module AntiAI -ErrorAction SilentlyContinue
}
}