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  }