github.com/daniellockard/packer@v0.7.6-0.20141210173435-5a9390934716/builder/parallels/common/driver_mock.go (about)

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