forked from hashicorp/packer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
driver_mock.go
153 lines (120 loc) · 3.27 KB
/
driver_mock.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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
package common
import "sync"
type DriverMock struct {
sync.Mutex
CompactDiskCalled bool
CompactDiskPath string
CompactDiskErr error
DeviceAddCDROMCalled bool
DeviceAddCDROMName string
DeviceAddCDROMImage string
DeviceAddCDROMResult string
DeviceAddCDROMErr error
DiskPathCalled bool
DiskPathName string
DiskPathResult string
DiskPathErr error
ImportCalled bool
ImportName string
ImportSrcPath string
ImportDstPath string
ImportErr error
IsRunningName string
IsRunningReturn bool
IsRunningErr error
StopName string
StopErr error
PrlctlCalls [][]string
PrlctlErrs []error
VerifyCalled bool
VerifyErr error
VersionCalled bool
VersionResult string
VersionErr error
SendKeyScanCodesCalls [][]string
SendKeyScanCodesErrs []error
SetDefaultConfigurationCalled bool
SetDefaultConfigurationError error
ToolsISOPathCalled bool
ToolsISOPathFlavor string
ToolsISOPathResult string
ToolsISOPathErr error
MACName string
MACReturn string
MACError error
IPAddressMAC string
IPAddressReturn string
IPAddressError error
}
func (d *DriverMock) CompactDisk(path string) error {
d.CompactDiskCalled = true
d.CompactDiskPath = path
return d.CompactDiskErr
}
func (d *DriverMock) DeviceAddCDROM(name string, image string) (string, error) {
d.DeviceAddCDROMCalled = true
d.DeviceAddCDROMName = name
d.DeviceAddCDROMImage = image
return d.DeviceAddCDROMResult, d.DeviceAddCDROMErr
}
func (d *DriverMock) DiskPath(name string) (string, error) {
d.DiskPathCalled = true
d.DiskPathName = name
return d.DiskPathResult, d.DiskPathErr
}
func (d *DriverMock) Import(name, srcPath, dstPath string, reassignMAC bool) error {
d.ImportCalled = true
d.ImportName = name
d.ImportSrcPath = srcPath
d.ImportDstPath = dstPath
return d.ImportErr
}
func (d *DriverMock) IsRunning(name string) (bool, error) {
d.Lock()
defer d.Unlock()
d.IsRunningName = name
return d.IsRunningReturn, d.IsRunningErr
}
func (d *DriverMock) Stop(name string) error {
d.StopName = name
return d.StopErr
}
func (d *DriverMock) Prlctl(args ...string) error {
d.PrlctlCalls = append(d.PrlctlCalls, args)
if len(d.PrlctlErrs) >= len(d.PrlctlCalls) {
return d.PrlctlErrs[len(d.PrlctlCalls)-1]
}
return nil
}
func (d *DriverMock) Verify() error {
d.VerifyCalled = true
return d.VerifyErr
}
func (d *DriverMock) Version() (string, error) {
d.VersionCalled = true
return d.VersionResult, d.VersionErr
}
func (d *DriverMock) SendKeyScanCodes(name string, scancodes ...string) error {
d.SendKeyScanCodesCalls = append(d.SendKeyScanCodesCalls, scancodes)
if len(d.SendKeyScanCodesErrs) >= len(d.SendKeyScanCodesCalls) {
return d.SendKeyScanCodesErrs[len(d.SendKeyScanCodesCalls)-1]
}
return nil
}
func (d *DriverMock) SetDefaultConfiguration(name string) error {
d.SetDefaultConfigurationCalled = true
return d.SetDefaultConfigurationError
}
func (d *DriverMock) MAC(name string) (string, error) {
d.MACName = name
return d.MACReturn, d.MACError
}
func (d *DriverMock) IPAddress(mac string) (string, error) {
d.IPAddressMAC = mac
return d.IPAddressReturn, d.IPAddressError
}
func (d *DriverMock) ToolsISOPath(flavor string) (string, error) {
d.ToolsISOPathCalled = true
d.ToolsISOPathFlavor = flavor
return d.ToolsISOPathResult, d.ToolsISOPathErr
}