File tree 2 files changed +18
-7
lines changed
openapi_core/templating/paths
2 files changed +18
-7
lines changed Original file line number Diff line number Diff line change @@ -101,8 +101,10 @@ def _get_servers_iter(
101
101
servers = (
102
102
path .get ("servers" , None )
103
103
or operation .get ("servers" , None )
104
- or self .spec .get ("servers" , [{ "url" : "/" }] )
104
+ or self .spec .get ("servers" , None )
105
105
)
106
+ if not servers :
107
+ servers = [SchemaPath .from_dict ({"url" : "/" })]
106
108
for server in servers :
107
109
server_url_pattern = name .rsplit (path_result .resolved , 1 )[0 ]
108
110
server_url = server ["url" ]
Original file line number Diff line number Diff line change @@ -172,15 +172,24 @@ class BaseTestServerNotFound:
172
172
def servers (self ):
173
173
return []
174
174
175
- @pytest .mark .xfail (
176
- reason = "returns default server" ,
177
- )
178
- def test_raises (self , finder ):
175
+ def test_returns_default_server (self , finder , spec ):
179
176
method = "get"
180
177
full_url = "http://petstore.swagger.io/resource"
181
178
182
- with pytest .raises (ServerNotFound ):
183
- finder .find (method , full_url )
179
+ result = finder .find (method , full_url )
180
+
181
+ path = spec / "paths" / self .path_name
182
+ operation = spec / "paths" / self .path_name / method
183
+ server = SchemaPath .from_dict ({"url" : "/" })
184
+ path_result = TemplateResult (self .path_name , {})
185
+ server_result = TemplateResult ("/" , {})
186
+ assert result == (
187
+ path ,
188
+ operation ,
189
+ server ,
190
+ path_result ,
191
+ server_result ,
192
+ )
184
193
185
194
186
195
class BaseTestOperationNotFound :
You can’t perform that action at this time.
0 commit comments