github.com/askholme/packer@v0.7.2-0.20140924152349-70d9566a6852/builder/parallels/common/driver_mock.go (about) 1 package common 2 3 import "sync" 4 5 type DriverMock struct { 6 sync.Mutex 7 8 ImportCalled bool 9 ImportName string 10 ImportSrcPath string 11 ImportDstPath string 12 ImportErr error 13 14 IsRunningName string 15 IsRunningReturn bool 16 IsRunningErr error 17 18 StopName string 19 StopErr error 20 21 PrlctlCalls [][]string 22 PrlctlErrs []error 23 24 VerifyCalled bool 25 VerifyErr error 26 27 VersionCalled bool 28 VersionResult string 29 VersionErr error 30 31 SendKeyScanCodesCalls [][]string 32 SendKeyScanCodesErrs []error 33 34 ToolsIsoPathCalled bool 35 ToolsIsoPathFlavor string 36 ToolsIsoPathResult string 37 ToolsIsoPathErr error 38 39 MacName string 40 MacReturn string 41 MacError error 42 43 IpAddressMac string 44 IpAddressReturn string 45 IpAddressError error 46 } 47 48 func (d *DriverMock) Import(name, srcPath, dstPath string, reassignMac bool) error { 49 d.ImportCalled = true 50 d.ImportName = name 51 d.ImportSrcPath = srcPath 52 d.ImportDstPath = dstPath 53 return d.ImportErr 54 } 55 56 func (d *DriverMock) IsRunning(name string) (bool, error) { 57 d.Lock() 58 defer d.Unlock() 59 60 d.IsRunningName = name 61 return d.IsRunningReturn, d.IsRunningErr 62 } 63 64 func (d *DriverMock) Stop(name string) error { 65 d.StopName = name 66 return d.StopErr 67 } 68 69 func (d *DriverMock) Prlctl(args ...string) error { 70 d.PrlctlCalls = append(d.PrlctlCalls, args) 71 72 if len(d.PrlctlErrs) >= len(d.PrlctlCalls) { 73 return d.PrlctlErrs[len(d.PrlctlCalls)-1] 74 } 75 return nil 76 } 77 78 func (d *DriverMock) Verify() error { 79 d.VerifyCalled = true 80 return d.VerifyErr 81 } 82 83 func (d *DriverMock) Version() (string, error) { 84 d.VersionCalled = true 85 return d.VersionResult, d.VersionErr 86 } 87 88 func (d *DriverMock) SendKeyScanCodes(name string, scancodes ...string) error { 89 d.SendKeyScanCodesCalls = append(d.SendKeyScanCodesCalls, scancodes) 90 91 if len(d.SendKeyScanCodesErrs) >= len(d.SendKeyScanCodesCalls) { 92 return d.SendKeyScanCodesErrs[len(d.SendKeyScanCodesCalls)-1] 93 } 94 return nil 95 } 96 97 func (d *DriverMock) Mac(name string) (string, error) { 98 d.MacName = name 99 return d.MacReturn, d.MacError 100 } 101 102 func (d *DriverMock) IpAddress(mac string) (string, error) { 103 d.IpAddressMac = mac 104 return d.IpAddressReturn, d.IpAddressError 105 } 106 107 func (d *DriverMock) ToolsIsoPath(flavor string) (string, error) { 108 d.ToolsIsoPathCalled = true 109 d.ToolsIsoPathFlavor = flavor 110 return d.ToolsIsoPathResult, d.ToolsIsoPathErr 111 }