Private/Document/Tests/Get-OpenApiNormalizationContext.Tests.ps1
|
BeforeAll { Import-Module -Name (Join-Path -Path $PSScriptRoot -ChildPath '../../../tcs.openapi.psd1') -Force } Describe 'Get-OpenApiNormalizationContext' { It 'creates empty, case-sensitive state for one run' { InModuleScope tcs.openapi { $context = Get-OpenApiNormalizationContext -Root @{ a = 1 } -SourceVersion '3.0.3' $context.PSObject.TypeNames | Should -Contain 'Tcs.OpenApi.NormalizationContext' $context.SourceVersion | Should -Be '3.0.3' $context.Findings.Count | Should -Be 0 $context.ExternalRefHits | Should -Be 0 $context.CurrentOperation | Should -BeNullOrEmpty $context.SchemaCache.Comparer | Should -Be ([System.StringComparer]::Ordinal) [void]$context.SchemaStack.Add('/a') $context.SchemaStack.Contains('/A') | Should -BeFalse } } It 'gives every run its own state' { InModuleScope tcs.openapi { $first = Get-OpenApiNormalizationContext -Root $null $second = Get-OpenApiNormalizationContext -Root $null $first.Findings.Add('x') $second.Findings.Count | Should -Be 0 } } } |