forked from drone/go-scm
-
Notifications
You must be signed in to change notification settings - Fork 86
/
review.go
46 lines (39 loc) · 1.15 KB
/
review.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package fake
import (
"context"
"github.com/jenkins-x/go-scm/scm"
)
type reviewService struct {
client *wrapper
data *Data
}
func (s *reviewService) Find(ctx context.Context, repo string, number int, reviewID int) (*scm.Review, *scm.Response, error) {
reviews, r, err := s.List(ctx, repo, number, scm.ListOptions{})
if err != nil {
return nil, r, err
}
for _, review := range reviews {
if review.ID == reviewID {
return review, nil, nil
}
}
return nil, r, err
}
func (s *reviewService) List(ctx context.Context, repo string, number int, opt scm.ListOptions) ([]*scm.Review, *scm.Response, error) {
f := s.data
return append([]*scm.Review{}, f.Reviews[number]...), nil, nil
}
func (s *reviewService) Create(ctx context.Context, repo string, number int, input *scm.ReviewInput) (*scm.Review, *scm.Response, error) {
f := s.data
review := &scm.Review{
ID: f.ReviewID,
Author: scm.User{Login: botName},
Body: input.Body,
}
f.Reviews[number] = append(f.Reviews[number], review)
f.ReviewID++
return review, nil, nil
}
func (s *reviewService) Delete(context.Context, string, int, int) (*scm.Response, error) {
panic("implement me")
}