github.phpd.cn/hashicorp/packer@v1.3.2/builder/parallels/common/driver_mock.go (about) 1 package common 2 3 import "sync" 4 5 type DriverMock struct { 6 sync.Mutex 7 8 CompactDiskCalled bool 9 CompactDiskPath string 10 CompactDiskErr error 11 12 DeviceAddCDROMCalled bool 13 DeviceAddCDROMName string 14 DeviceAddCDROMImage string 15 DeviceAddCDROMResult string 16 DeviceAddCDROMErr error 17 18 DiskPathCalled bool 19 DiskPathName string 20 DiskPathResult string 21 DiskPathErr error 22 23 ImportCalled bool 24 ImportName string 25 ImportSrcPath string 26 ImportDstPath string 27 ImportErr error 28 29 IsRunningName string 30 IsRunningReturn bool 31 IsRunningErr error 32 33 StopName string 34 StopErr error 35 36 PrlctlCalls [][]string 37 PrlctlErrs []error 38 39 VerifyCalled bool 40 VerifyErr error 41 42 VersionCalled bool 43 VersionResult string 44 VersionErr error 45 46 SendKeyScanCodesCalls [][]string 47 SendKeyScanCodesErrs []error 48 49 SetDefaultConfigurationCalled bool 50 SetDefaultConfigurationError error 51 52 ToolsISOPathCalled bool 53 ToolsISOPathFlavor string 54 ToolsISOPathResult string 55 ToolsISOPathErr error 56 57 MACName string 58 MACReturn string 59 MACError error 60 61 IPAddressMAC string 62 IPAddressReturn string 63 IPAddressError error 64 } 65 66 func (d *DriverMock) CompactDisk(path string) error { 67 d.CompactDiskCalled = true 68 d.CompactDiskPath = path 69 return d.CompactDiskErr 70 } 71 72 func (d *DriverMock) DeviceAddCDROM(name string, image string) (string, error) { 73 d.DeviceAddCDROMCalled = true 74 d.DeviceAddCDROMName = name 75 d.DeviceAddCDROMImage = image 76 return d.DeviceAddCDROMResult, d.DeviceAddCDROMErr 77 } 78 79 func (d *DriverMock) DiskPath(name string) (string, error) { 80 d.DiskPathCalled = true 81 d.DiskPathName = name 82 return d.DiskPathResult, d.DiskPathErr 83 } 84 85 func (d *DriverMock) Import(name, srcPath, dstPath string, reassignMAC bool) error { 86 d.ImportCalled = true 87 d.ImportName = name 88 d.ImportSrcPath = srcPath 89 d.ImportDstPath = dstPath 90 return d.ImportErr 91 } 92 93 func (d *DriverMock) IsRunning(name string) (bool, error) { 94 d.Lock() 95 defer d.Unlock() 96 97 d.IsRunningName = name 98 return d.IsRunningReturn, d.IsRunningErr 99 } 100 101 func (d *DriverMock) Stop(name string) error { 102 d.StopName = name 103 return d.StopErr 104 } 105 106 func (d *DriverMock) Prlctl(args ...string) error { 107 d.PrlctlCalls = append(d.PrlctlCalls, args) 108 109 if len(d.PrlctlErrs) >= len(d.PrlctlCalls) { 110 return d.PrlctlErrs[len(d.PrlctlCalls)-1] 111 } 112 return nil 113 } 114 115 func (d *DriverMock) Verify() error { 116 d.VerifyCalled = true 117 return d.VerifyErr 118 } 119 120 func (d *DriverMock) Version() (string, error) { 121 d.VersionCalled = true 122 return d.VersionResult, d.VersionErr 123 } 124 125 func (d *DriverMock) SendKeyScanCodes(name string, scancodes ...string) error { 126 d.SendKeyScanCodesCalls = append(d.SendKeyScanCodesCalls, scancodes) 127 128 if len(d.SendKeyScanCodesErrs) >= len(d.SendKeyScanCodesCalls) { 129 return d.SendKeyScanCodesErrs[len(d.SendKeyScanCodesCalls)-1] 130 } 131 return nil 132 } 133 134 func (d *DriverMock) SetDefaultConfiguration(name string) error { 135 d.SetDefaultConfigurationCalled = true 136 return d.SetDefaultConfigurationError 137 } 138 139 func (d *DriverMock) MAC(name string) (string, error) { 140 d.MACName = name 141 return d.MACReturn, d.MACError 142 } 143 144 func (d *DriverMock) IPAddress(mac string) (string, error) { 145 d.IPAddressMAC = mac 146 return d.IPAddressReturn, d.IPAddressError 147 } 148 149 func (d *DriverMock) ToolsISOPath(flavor string) (string, error) { 150 d.ToolsISOPathCalled = true 151 d.ToolsISOPathFlavor = flavor 152 return d.ToolsISOPathResult, d.ToolsISOPathErr 153 }