forked from grafana/grafana
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfake_caching_service.go
42 lines (33 loc) · 1.11 KB
/
fake_caching_service.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
package caching
import (
"context"
"testing"
"github.com/grafana/grafana-plugin-sdk-go/backend"
"github.com/stretchr/testify/assert"
)
type FakeOSSCachingService struct {
calls map[string]int
ReturnHit bool
ReturnResourceResponse CachedResourceDataResponse
ReturnQueryResponse CachedQueryDataResponse
}
func (f *FakeOSSCachingService) HandleQueryRequest(ctx context.Context, req *backend.QueryDataRequest) (bool, CachedQueryDataResponse) {
f.calls["HandleQueryRequest"]++
return f.ReturnHit, f.ReturnQueryResponse
}
func (f *FakeOSSCachingService) HandleResourceRequest(ctx context.Context, req *backend.CallResourceRequest) (bool, CachedResourceDataResponse) {
f.calls["HandleResourceRequest"]++
return f.ReturnHit, f.ReturnResourceResponse
}
func (f *FakeOSSCachingService) AssertCalls(t *testing.T, fn string, times int) {
assert.Equal(t, times, f.calls[fn])
}
func (f *FakeOSSCachingService) Reset() {
*f = *NewFakeOSSCachingService()
}
func NewFakeOSSCachingService() *FakeOSSCachingService {
fake := &FakeOSSCachingService{
calls: map[string]int{},
}
return fake
}