-
Notifications
You must be signed in to change notification settings - Fork 70
/
mock_packs_fetcher.go
42 lines (36 loc) · 1.15 KB
/
mock_packs_fetcher.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 packs
import (
"context"
"github.com/newrelic/newrelic-cli/internal/install/execution"
"github.com/newrelic/newrelic-cli/internal/install/types"
)
type MockPacksFetcher struct {
FetchPacksCallCount int
FetchPacksErr error
FetchPacksVal []types.OpenInstallationObservabilityPack
installStatus *execution.InstallStatus
}
func NewMockPacksFetcher(s *execution.InstallStatus) *MockPacksFetcher {
return &MockPacksFetcher{
installStatus: s,
}
}
func (f *MockPacksFetcher) FetchPacks(ctx context.Context, recipes []types.OpenInstallationRecipe) ([]types.OpenInstallationObservabilityPack, error) {
for _, r := range recipes {
for _, pack := range r.ObservabilityPacks {
f.installStatus.ObservabilityPackFetchPending(execution.ObservabilityPackStatusEvent{Name: pack.Name})
f.installStatus.ObservabilityPackFetchSuccess(execution.ObservabilityPackStatusEvent{
ObservabilityPack: types.OpenInstallationObservabilityPack{
Name: pack.Name,
},
})
}
}
f.FetchPacksCallCount++
f.FetchPacksVal = []types.OpenInstallationObservabilityPack{
{
Name: "test-pack",
},
}
return f.FetchPacksVal, f.FetchPacksErr
}