. $PSScriptRoot\..\..\Load-PesterModules.ps1 $here = Split-Path -Parent $MyInvocation.MyCommand.Path $sut = (Split-Path -Leaf $MyInvocation.MyCommand.Path) -replace '\.tests\.', '.' $functionPath = Join-Path -Path $here -ChildPath $sut Write-Host "Overriding SUT: $functionPath" Import-Module $functionPath -Force $moduleForMock = "" Describe "Test-AlkamiFluentMigrationManifest10" { Context "Test valid manifest - Core" { $result = Test-AlkamiFluentMigrationManifest10 @{ runtime = 'core' db_role = 'some name' entryPoint = @( 'just an example.dll' ) version = '3.3.1' } It "Tested successfully" { $result.success | Should -BeTrue } It "Produced no error messages" { $result.results.Count | Should -Be 0 } } Context "Test valid manifest - Framework" { $result = Test-AlkamiFluentMigrationManifest10 @{ runtime = 'framework' db_role = 'some name' entryPoint = @( 'just an example.dll' ) } It "Tested successfully" { $result.success | Should -BeTrue } It "Produced no error messages" { $result.results.Count | Should -Be 0 } } Context "Test invalid manifest" { $result = Test-AlkamiFluentMigrationManifest10 @{ runtime = 'invalid' serverType = 'nonsense' migrationType = @{ '#text' = '' online = 'garbage' } } It "Tested successfully" { $result.success | Should -BeFalse } It "Actually produced warnings" { $result.results | Should -Not -BeNullOrEmpty } It "Produced at least two warning statements" { $result.results.Count | Should -BeGreaterOrEqual 2 } } }