]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blame - vendor/github.com/hashicorp/go-getter/get_mock.go
Upgrade to 0.12
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / go-getter / get_mock.go
CommitLineData
bae9f6d2
JC
1package getter
2
3import (
4 "net/url"
5)
6
7// MockGetter is an implementation of Getter that can be used for tests.
8type MockGetter struct {
107c1cdb
ND
9 getter
10
bae9f6d2
JC
11 // Proxy, if set, will be called after recording the calls below.
12 // If it isn't set, then the *Err values will be returned.
13 Proxy Getter
14
15 GetCalled bool
16 GetDst string
17 GetURL *url.URL
18 GetErr error
19
20 GetFileCalled bool
21 GetFileDst string
22 GetFileURL *url.URL
23 GetFileErr error
24}
25
26func (g *MockGetter) Get(dst string, u *url.URL) error {
27 g.GetCalled = true
28 g.GetDst = dst
29 g.GetURL = u
30
31 if g.Proxy != nil {
32 return g.Proxy.Get(dst, u)
33 }
34
35 return g.GetErr
36}
37
38func (g *MockGetter) GetFile(dst string, u *url.URL) error {
39 g.GetFileCalled = true
40 g.GetFileDst = dst
41 g.GetFileURL = u
42
43 if g.Proxy != nil {
44 return g.Proxy.GetFile(dst, u)
45 }
46 return g.GetFileErr
47}
48
49func (g *MockGetter) ClientMode(u *url.URL) (ClientMode, error) {
50 if l := len(u.Path); l > 0 && u.Path[l-1:] == "/" {
51 return ClientModeDir, nil
52 }
53 return ClientModeFile, nil
54}