Skip to content

Commit 74f0949

Browse files
committed
test that SecurityScheme is indeed Validatable
1 parent e449abb commit 74f0949

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

Tests/OpenAPIKitTests/Security/SecuritySchemeTests.swift

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -673,3 +673,34 @@ extension SecuritySchemeTests {
673673
)
674674
}
675675
}
676+
677+
// MARK: Validatable
678+
extension SecuritySchemeTests {
679+
func test_supportsValidations() throws {
680+
let scheme = OpenAPI.SecurityScheme.mutualTLS(description: "hi", deprecated: true)
681+
682+
let components = OpenAPI.Components(
683+
securitySchemes: [
684+
"schemeOne": .securityScheme(scheme)
685+
]
686+
)
687+
688+
let document = OpenAPI.Document(
689+
info: OpenAPI.Document.Info(title: "hi", version: "1.0.0"),
690+
servers: [],
691+
paths: [:],
692+
components: components
693+
)
694+
695+
let validation: Validation<OpenAPI.SecurityScheme> = .init(
696+
description: "No security schemes are deprecated",
697+
check: \.deprecated != true
698+
)
699+
700+
let validator = Validator.blank.validating(validation)
701+
702+
XCTAssertThrowsError(try document.validate(using: validator)) { error in
703+
XCTAssertEqual(OpenAPI.Error(from: error).localizedDescription, "Failed to satisfy: No security schemes are deprecated at path: .components.securitySchemes.schemeOne")
704+
}
705+
}
706+
}

0 commit comments

Comments
 (0)