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 }