Private/Document/Tests/ConvertFrom-OpenApiSwagger2SimpleSchema.Tests.ps1
|
BeforeAll { Import-Module -Name (Join-Path -Path $PSScriptRoot -ChildPath '../../../tcs.openapi.psd1') -Force } Describe 'ConvertFrom-OpenApiSwagger2SimpleSchema' { It 'copies type, format, enum, default and validation keywords' { InModuleScope tcs.openapi { $schema = ConvertFrom-OpenApiSwagger2SimpleSchema -Node (ConvertFrom-OpenApiJson -Text '{"name":"n","in":"query","type":"integer","format":"int32","enum":[1,2],"default":1,"minimum":0,"maximum":9,"multipleOf":1,"x-ext":true,"collectionFormat":"csv"}') @($schema.Keys) | Should -Be @('type', 'format', 'enum', 'default', 'maximum', 'minimum', 'multipleOf', 'x-ext') } } It 'converts items recursively and keeps item refs' { InModuleScope tcs.openapi { $schema = ConvertFrom-OpenApiSwagger2SimpleSchema -Node (ConvertFrom-OpenApiJson -Text '{"type":"array","items":{"type":"array","items":{"type":"string","enum":["a"]}}}') $schema['items']['items']['enum'] | Should -Be @('a') $ref = ConvertFrom-OpenApiSwagger2SimpleSchema -Node (ConvertFrom-OpenApiJson -Text '{"type":"array","items":{"$ref":"#/definitions/Pet"}}') $ref['items']['$ref'] | Should -Be '#/definitions/Pet' } } It 'turns type file into a binary string' { InModuleScope tcs.openapi { $schema = ConvertFrom-OpenApiSwagger2SimpleSchema -Node (ConvertFrom-OpenApiJson -Text '{"type":"file"}') $schema['type'] | Should -Be 'string' $schema['format'] | Should -Be 'binary' } } } |