@@ -7,21 +7,49 @@ package test
7
7
8
8
import (
9
9
"context"
10
+ "fmt"
10
11
11
12
registry "chainguard.dev/sdk/proto/platform/registry/v1"
13
+ "github.com/google/go-cmp/cmp"
12
14
"google.golang.org/grpc"
13
- "google.golang.org/grpc/codes"
14
- "google.golang.org/grpc/status"
15
+ "google.golang.org/protobuf/testing/protocmp"
15
16
)
16
17
17
18
var _ registry.EntitlementsClient = (* MockEntitlementsClient )(nil )
18
19
19
- type MockEntitlementsClient struct {}
20
+ type MockEntitlementsClient struct {
21
+ registry.EntitlementsClient
20
22
21
- func ( * MockEntitlementsClient ) ListEntitlements (context. Context , * registry. EntitlementFilter , ... grpc. CallOption ) ( * registry. EntitlementList , error ) {
22
- return nil , status . Error ( codes . Unimplemented , "not implemented" )
23
+ OnListEntitlements [] ListOnEntitlements
24
+ OnListEntitlementImages [] ListOnEntitlementImages
23
25
}
24
26
25
- func (* MockEntitlementsClient ) ListEntitlementImages (context.Context , * registry.EntitlementImagesFilter , ... grpc.CallOption ) (* registry.EntitlementImagesList , error ) {
26
- return nil , status .Error (codes .Unimplemented , "not implemented" )
27
+ type ListOnEntitlements struct {
28
+ Given * registry.EntitlementFilter
29
+ List * registry.EntitlementList
30
+ Error error
31
+ }
32
+
33
+ type ListOnEntitlementImages struct {
34
+ Given * registry.EntitlementImagesFilter
35
+ List * registry.EntitlementImagesList
36
+ Error error
37
+ }
38
+
39
+ func (m * MockEntitlementsClient ) ListEntitlements (_ context.Context , given * registry.EntitlementFilter , _ ... grpc.CallOption ) (* registry.EntitlementList , error ) {
40
+ for _ , o := range m .OnListEntitlements {
41
+ if cmp .Equal (o .Given , given , protocmp .Transform ()) {
42
+ return o .List , o .Error
43
+ }
44
+ }
45
+ return nil , fmt .Errorf ("mock not found for %v" , given )
46
+ }
47
+
48
+ func (m * MockEntitlementsClient ) ListEntitlementImages (_ context.Context , given * registry.EntitlementImagesFilter , _ ... grpc.CallOption ) (* registry.EntitlementImagesList , error ) {
49
+ for _ , o := range m .OnListEntitlementImages {
50
+ if cmp .Equal (o .Given , given , protocmp .Transform ()) {
51
+ return o .List , o .Error
52
+ }
53
+ }
54
+ return nil , fmt .Errorf ("mock not found for %v" , given )
27
55
}
0 commit comments