summaryrefslogtreecommitdiff
path: root/vendor/github.com/hashicorp/terraform/terraform/ui_input_mock.go
blob: e3a07efa33656d74b578ef13ff8ad2410dd1f7c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package terraform

// MockUIInput is an implementation of UIInput that can be used for tests.
type MockUIInput struct {
	InputCalled       bool
	InputOpts         *InputOpts
	InputReturnMap    map[string]string
	InputReturnString string
	InputReturnError  error
	InputFn           func(*InputOpts) (string, error)
}

func (i *MockUIInput) Input(opts *InputOpts) (string, error) {
	i.InputCalled = true
	i.InputOpts = opts
	if i.InputFn != nil {
		return i.InputFn(opts)
	}
	if i.InputReturnMap != nil {
		return i.InputReturnMap[opts.Id], i.InputReturnError
	}
	return i.InputReturnString, i.InputReturnError
}