@@ -129,6 +129,50 @@ def test_include_router_merges_security_schemes_both(self):
129129 assert "BearerAuth" in parent ._security_schemes
130130 assert "ApiKey" in parent ._security_schemes
131131
132+ def test_security_scheme_dict_bearer (self ):
133+ """Test security_scheme as dict with bearer type"""
134+ router = BaseRouter (
135+ security_scheme = {
136+ "type" : "http" ,
137+ "scheme" : "bearer" ,
138+ "bearerFormat" : "JWT" ,
139+ "description" : "Custom bearer" ,
140+ }
141+ )
142+ assert router ._security_schemes is not None
143+ assert "BearerAuth" in router ._security_schemes
144+ assert router ._security_schemes ["BearerAuth" ]["description" ] == "Custom bearer"
145+
146+ def test_security_scheme_dict_oauth2 (self ):
147+ """Test security_scheme as dict with oauth2 type"""
148+ router = BaseRouter (
149+ security_scheme = {
150+ "type" : "oauth2" ,
151+ "flows" : {"password" : {"tokenUrl" : "/token" , "scopes" : {}}},
152+ }
153+ )
154+ assert "OAuth2" in router ._security_schemes
155+
156+ def test_security_scheme_dict_apikey (self ):
157+ """Test security_scheme as dict with apiKey type"""
158+ router = BaseRouter (
159+ security_scheme = {"type" : "apiKey" , "in" : "header" , "name" : "X-My-Key" }
160+ )
161+ assert "ApiKeyAuth" in router ._security_schemes
162+ assert router ._security_schemes ["ApiKeyAuth" ]["name" ] == "X-My-Key"
163+
164+ def test_security_scheme_dict_basic (self ):
165+ """Test security_scheme as dict with basic auth type"""
166+ router = BaseRouter (security_scheme = {"type" : "http" , "scheme" : "basic" })
167+ assert "BasicAuth" in router ._security_schemes
168+
169+ def test_security_scheme_dict_custom (self ):
170+ """Test security_scheme as dict with unknown type"""
171+ router = BaseRouter (
172+ security_scheme = {"type" : "openIdConnect" , "openIdConnectUrl" : "/openid" }
173+ )
174+ assert "CustomAuth" in router ._security_schemes
175+
132176 def test_include_router_merges_global_security (self ):
133177 """Test that include_router merges global security from sub-router"""
134178 parent = BaseRouter (security_scheme = None )
0 commit comments