@@ -55,18 +55,53 @@ paths:
55
55
` )
56
56
57
57
loader := NewLoader ()
58
+
58
59
doc , err := loader .LoadFromData (spec )
59
60
require .NoError (t , err )
60
61
require .Equal (t , "An API" , doc .Info .Title )
61
62
require .Equal (t , 2 , len (doc .Components .Schemas ))
62
63
require .Equal (t , 1 , len (doc .Paths ))
63
- def := doc .Paths ["/items" ].Put .Responses .Default ().Value
64
- desc := "unexpected error"
65
- require .Equal (t , & desc , def .Description )
64
+ require .Equal (t , "unexpected error" , * doc .Paths ["/items" ].Put .Responses .Default ().Value .Description )
65
+
66
66
err = doc .Validate (loader .Context )
67
67
require .NoError (t , err )
68
68
}
69
69
70
+ func TestIssue731 (t * testing.T ) {
71
+ spec := []byte (`
72
+ openapi: 3.0.0
73
+ info:
74
+ title: An API
75
+ version: v1
76
+ paths:
77
+ /items:
78
+ put:
79
+ description: ''
80
+ requestBody:
81
+ required: true
82
+ # Note mis-indented content block
83
+ content:
84
+ application/json:
85
+ schema:
86
+ type: object
87
+ responses:
88
+ default:
89
+ description: unexpected error
90
+ content:
91
+ application/json:
92
+ schema:
93
+ type: object
94
+ ` [1 :])
95
+
96
+ loader := NewLoader ()
97
+
98
+ doc , err := loader .LoadFromData (spec )
99
+ require .NoError (t , err )
100
+
101
+ err = doc .Validate (loader .Context )
102
+ require .ErrorContains (t , err , `content of the request body is required` )
103
+ }
104
+
70
105
func ExampleLoader () {
71
106
const source = `{"info":{"description":"An API"}}`
72
107
doc , err := NewLoader ().LoadFromData ([]byte (source ))
0 commit comments