github.com/sneal/packer@v0.5.2/builder/googlecompute/driver_mock.go (about)

     1  package googlecompute
     2  
     3  // DriverMock is a Driver implementation that is a mocked out so that
     4  // it can be used for tests.
     5  type DriverMock struct {
     6  	CreateImageName  string
     7  	CreateImageDesc  string
     8  	CreateImageURL   string
     9  	CreateImageErrCh <-chan error
    10  
    11  	DeleteImageName  string
    12  	DeleteImageErrCh <-chan error
    13  
    14  	DeleteInstanceZone  string
    15  	DeleteInstanceName  string
    16  	DeleteInstanceErrCh <-chan error
    17  	DeleteInstanceErr   error
    18  
    19  	GetNatIPZone   string
    20  	GetNatIPName   string
    21  	GetNatIPResult string
    22  	GetNatIPErr    error
    23  
    24  	RunInstanceConfig *InstanceConfig
    25  	RunInstanceErrCh  <-chan error
    26  	RunInstanceErr    error
    27  
    28  	WaitForInstanceState string
    29  	WaitForInstanceZone  string
    30  	WaitForInstanceName  string
    31  	WaitForInstanceErrCh <-chan error
    32  }
    33  
    34  func (d *DriverMock) CreateImage(name, description, url string) <-chan error {
    35  	d.CreateImageName = name
    36  	d.CreateImageDesc = description
    37  	d.CreateImageURL = url
    38  
    39  	resultCh := d.CreateImageErrCh
    40  	if resultCh == nil {
    41  		ch := make(chan error)
    42  		close(ch)
    43  		resultCh = ch
    44  	}
    45  
    46  	return resultCh
    47  }
    48  
    49  func (d *DriverMock) DeleteImage(name string) <-chan error {
    50  	d.DeleteImageName = name
    51  
    52  	resultCh := d.DeleteImageErrCh
    53  	if resultCh == nil {
    54  		ch := make(chan error)
    55  		close(ch)
    56  		resultCh = ch
    57  	}
    58  
    59  	return resultCh
    60  }
    61  
    62  func (d *DriverMock) DeleteInstance(zone, name string) (<-chan error, error) {
    63  	d.DeleteInstanceZone = zone
    64  	d.DeleteInstanceName = name
    65  
    66  	resultCh := d.DeleteInstanceErrCh
    67  	if resultCh == nil {
    68  		ch := make(chan error)
    69  		close(ch)
    70  		resultCh = ch
    71  	}
    72  
    73  	return resultCh, d.DeleteInstanceErr
    74  }
    75  
    76  func (d *DriverMock) GetNatIP(zone, name string) (string, error) {
    77  	d.GetNatIPZone = zone
    78  	d.GetNatIPName = name
    79  	return d.GetNatIPResult, d.GetNatIPErr
    80  }
    81  
    82  func (d *DriverMock) RunInstance(c *InstanceConfig) (<-chan error, error) {
    83  	d.RunInstanceConfig = c
    84  
    85  	resultCh := d.RunInstanceErrCh
    86  	if resultCh == nil {
    87  		ch := make(chan error)
    88  		close(ch)
    89  		resultCh = ch
    90  	}
    91  
    92  	return resultCh, d.RunInstanceErr
    93  }
    94  
    95  func (d *DriverMock) WaitForInstance(state, zone, name string) <-chan error {
    96  	d.WaitForInstanceState = state
    97  	d.WaitForInstanceZone = zone
    98  	d.WaitForInstanceName = name
    99  
   100  	resultCh := d.WaitForInstanceErrCh
   101  	if resultCh == nil {
   102  		ch := make(chan error)
   103  		close(ch)
   104  		resultCh = ch
   105  	}
   106  
   107  	return resultCh
   108  }