mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-09-07 01:26:43 +00:00
55 lines
1017 B
Go
55 lines
1017 B
Go
package getter
|
|
|
|
import (
|
|
"net/url"
|
|
)
|
|
|
|
// MockGetter is an implementation of Getter that can be used for tests.
|
|
type MockGetter struct {
|
|
getter
|
|
|
|
// Proxy, if set, will be called after recording the calls below.
|
|
// If it isn't set, then the *Err values will be returned.
|
|
Proxy Getter
|
|
|
|
GetCalled bool
|
|
GetDst string
|
|
GetURL *url.URL
|
|
GetErr error
|
|
|
|
GetFileCalled bool
|
|
GetFileDst string
|
|
GetFileURL *url.URL
|
|
GetFileErr error
|
|
}
|
|
|
|
func (g *MockGetter) Get(dst string, u *url.URL) error {
|
|
g.GetCalled = true
|
|
g.GetDst = dst
|
|
g.GetURL = u
|
|
|
|
if g.Proxy != nil {
|
|
return g.Proxy.Get(dst, u)
|
|
}
|
|
|
|
return g.GetErr
|
|
}
|
|
|
|
func (g *MockGetter) GetFile(dst string, u *url.URL) error {
|
|
g.GetFileCalled = true
|
|
g.GetFileDst = dst
|
|
g.GetFileURL = u
|
|
|
|
if g.Proxy != nil {
|
|
return g.Proxy.GetFile(dst, u)
|
|
}
|
|
return g.GetFileErr
|
|
}
|
|
|
|
func (g *MockGetter) ClientMode(u *url.URL) (ClientMode, error) {
|
|
if l := len(u.Path); l > 0 && u.Path[l-1:] == "/" {
|
|
return ClientModeDir, nil
|
|
}
|
|
return ClientModeFile, nil
|
|
}
|