Tests/Convert.Tests.ps1
Import-Module "$PSScriptRoot/../PSFirebird.psd1" -Force BeforeDiscovery { $script:FirebirdVersions = @( '3.0.12', '4.0.5', '5.0.2' ) } Describe 'Convert' { BeforeAll { # Create a temporary folder for the test files $script:RootFolder = New-Item -ItemType Directory -Path ([System.IO.Path]::GetTempPath()) -Name (New-Guid) # Create one test environment for each Firebird version $script:testEnvironments = @{} $FirebirdVersions | ForEach-Object { $firebirdVersion = $_ $fbEnv = New-FirebirdEnvironment -Version $firebirdVersion $e = @{ Environment = $fbEnv Database = New-FirebirdDatabase -Database "$RootFolder/$firebirdVersion.fdb" -Environment $fbEnv DatabaseRestored = "$RootFolder/$firebirdVersion.restored.fdb" } $testEnvironments.Add($fbEnv.Version.Major, $e) } # Set up the environment variables for Firebird $env:ISC_USER = 'SYSDBA' $env:ISC_PASSWORD = 'masterkey' } AfterAll { # Remove the test folder Remove-Item -Path $RootFolder -Recurse -Force -ErrorAction SilentlyContinue } BeforeEach { # Ensure the restored database does not exist before each test $testEnvironments.Keys | ForEach-Object { $e = $testEnvironments[$_] if (Test-Path $e.DatabaseRestored) { Remove-Item -Path $e.DatabaseRestored -Recurse -Force -ErrorAction SilentlyContinue } } } It 'Convert a database from same version' { $testEnvironments.Keys | ForEach-Object { $e = $testEnvironments[$_] $e.DatabaseRestored | Should -Not -Exist Convert-FirebirdDatabase -SourceDatabase $e.Database ` -SourceEnvironment $e.Environment ` -TargetDatabase $e.DatabaseRestored ` -TargetEnvironment $e.Environment $e.DatabaseRestored | Should -Exist } } } |