github.com/ttysteale/packer@v0.8.2-0.20150708160520-e5f8ea386ed8/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  	SetDefaultConfigurationCalled bool
    41  	SetDefaultConfigurationError  error
    42  
    43  	ToolsIsoPathCalled bool
    44  	ToolsIsoPathFlavor string
    45  	ToolsIsoPathResult string
    46  	ToolsIsoPathErr    error
    47  
    48  	MacName   string
    49  	MacReturn string
    50  	MacError  error
    51  
    52  	IpAddressMac    string
    53  	IpAddressReturn string
    54  	IpAddressError  error
    55  }
    56  
    57  func (d *DriverMock) DeviceAddCdRom(name string, image string) (string, error) {
    58  	d.DeviceAddCdRomCalled = true
    59  	d.DeviceAddCdRomName = name
    60  	d.DeviceAddCdRomImage = image
    61  	return d.DeviceAddCdRomResult, d.DeviceAddCdRomErr
    62  }
    63  
    64  func (d *DriverMock) Import(name, srcPath, dstPath string, reassignMac bool) error {
    65  	d.ImportCalled = true
    66  	d.ImportName = name
    67  	d.ImportSrcPath = srcPath
    68  	d.ImportDstPath = dstPath
    69  	return d.ImportErr
    70  }
    71  
    72  func (d *DriverMock) IsRunning(name string) (bool, error) {
    73  	d.Lock()
    74  	defer d.Unlock()
    75  
    76  	d.IsRunningName = name
    77  	return d.IsRunningReturn, d.IsRunningErr
    78  }
    79  
    80  func (d *DriverMock) Stop(name string) error {
    81  	d.StopName = name
    82  	return d.StopErr
    83  }
    84  
    85  func (d *DriverMock) Prlctl(args ...string) error {
    86  	d.PrlctlCalls = append(d.PrlctlCalls, args)
    87  
    88  	if len(d.PrlctlErrs) >= len(d.PrlctlCalls) {
    89  		return d.PrlctlErrs[len(d.PrlctlCalls)-1]
    90  	}
    91  	return nil
    92  }
    93  
    94  func (d *DriverMock) Verify() error {
    95  	d.VerifyCalled = true
    96  	return d.VerifyErr
    97  }
    98  
    99  func (d *DriverMock) Version() (string, error) {
   100  	d.VersionCalled = true
   101  	return d.VersionResult, d.VersionErr
   102  }
   103  
   104  func (d *DriverMock) SendKeyScanCodes(name string, scancodes ...string) error {
   105  	d.SendKeyScanCodesCalls = append(d.SendKeyScanCodesCalls, scancodes)
   106  
   107  	if len(d.SendKeyScanCodesErrs) >= len(d.SendKeyScanCodesCalls) {
   108  		return d.SendKeyScanCodesErrs[len(d.SendKeyScanCodesCalls)-1]
   109  	}
   110  	return nil
   111  }
   112  
   113  func (d *DriverMock) SetDefaultConfiguration(name string) error {
   114  	d.SetDefaultConfigurationCalled = true
   115  	return d.SetDefaultConfigurationError
   116  }
   117  
   118  func (d *DriverMock) Mac(name string) (string, error) {
   119  	d.MacName = name
   120  	return d.MacReturn, d.MacError
   121  }
   122  
   123  func (d *DriverMock) IpAddress(mac string) (string, error) {
   124  	d.IpAddressMac = mac
   125  	return d.IpAddressReturn, d.IpAddressError
   126  }
   127  
   128  func (d *DriverMock) ToolsIsoPath(flavor string) (string, error) {
   129  	d.ToolsIsoPathCalled = true
   130  	d.ToolsIsoPathFlavor = flavor
   131  	return d.ToolsIsoPathResult, d.ToolsIsoPathErr
   132  }