Skip to content

Commit 098c357

Browse files
committedJan 17, 2025
validate server in link
1 parent e61ab76 commit 098c357

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed
 

‎link.go

+8
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package openapi
33
import (
44
"errors"
55
"strings"
6+
7+
"github.com/MarkRosemaker/errpath"
68
)
79

810
// The `Link object` represents a possible design-time link for a response.
@@ -52,6 +54,12 @@ func (l *Link) Validate() error {
5254

5355
l.Description = strings.TrimSpace(l.Description)
5456

57+
if l.Server != nil {
58+
if err := l.Server.Validate(); err != nil {
59+
return &errpath.ErrField{Field: "server", Err: err}
60+
}
61+
}
62+
5563
return validateExtensions(l.Extensions)
5664
}
5765

‎links_test.go

+7
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,13 @@ func TestLinks_Validate_Error(t *testing.T) {
2121
openapi.Links{" ": {Value: &openapi.Link{}}},
2222
`[" "] (" ") is invalid: must match the regular expression "^[a-zA-Z0-9\\.\\-_]+$"`,
2323
},
24+
{
25+
openapi.Links{"foo": {Value: &openapi.Link{
26+
OperationID: "myOperation",
27+
Server: &openapi.Server{},
28+
}}},
29+
`foo.server.url is required`,
30+
},
2431
} {
2532
t.Run(tc.err, func(t *testing.T) {
2633
if err := tc.ls.Validate(); err == nil || err.Error() != tc.err {

0 commit comments

Comments
 (0)
Please sign in to comment.