github.com/rothwerx/packer@v0.9.0/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 ImageExistsName string 7 ImageExistsResult bool 8 9 CreateImageName string 10 CreateImageDesc string 11 CreateImageZone string 12 CreateImageDisk string 13 CreateImageErrCh <-chan error 14 15 DeleteImageName string 16 DeleteImageErrCh <-chan error 17 18 DeleteInstanceZone string 19 DeleteInstanceName string 20 DeleteInstanceErrCh <-chan error 21 DeleteInstanceErr error 22 23 DeleteDiskZone string 24 DeleteDiskName string 25 DeleteDiskErrCh <-chan error 26 DeleteDiskErr error 27 28 GetNatIPZone string 29 GetNatIPName string 30 GetNatIPResult string 31 GetNatIPErr error 32 33 GetInternalIPZone string 34 GetInternalIPName string 35 GetInternalIPResult string 36 GetInternalIPErr error 37 38 RunInstanceConfig *InstanceConfig 39 RunInstanceErrCh <-chan error 40 RunInstanceErr error 41 42 WaitForInstanceState string 43 WaitForInstanceZone string 44 WaitForInstanceName string 45 WaitForInstanceErrCh <-chan error 46 } 47 48 func (d *DriverMock) ImageExists(name string) bool { 49 d.ImageExistsName = name 50 return d.ImageExistsResult 51 } 52 53 func (d *DriverMock) CreateImage(name, description, zone, disk string) <-chan error { 54 d.CreateImageName = name 55 d.CreateImageDesc = description 56 d.CreateImageZone = zone 57 d.CreateImageDisk = disk 58 59 resultCh := d.CreateImageErrCh 60 if resultCh == nil { 61 ch := make(chan error) 62 close(ch) 63 resultCh = ch 64 } 65 66 return resultCh 67 } 68 69 func (d *DriverMock) DeleteImage(name string) <-chan error { 70 d.DeleteImageName = name 71 72 resultCh := d.DeleteImageErrCh 73 if resultCh == nil { 74 ch := make(chan error) 75 close(ch) 76 resultCh = ch 77 } 78 79 return resultCh 80 } 81 82 func (d *DriverMock) DeleteInstance(zone, name string) (<-chan error, error) { 83 d.DeleteInstanceZone = zone 84 d.DeleteInstanceName = name 85 86 resultCh := d.DeleteInstanceErrCh 87 if resultCh == nil { 88 ch := make(chan error) 89 close(ch) 90 resultCh = ch 91 } 92 93 return resultCh, d.DeleteInstanceErr 94 } 95 96 func (d *DriverMock) DeleteDisk(zone, name string) (<-chan error, error) { 97 d.DeleteDiskZone = zone 98 d.DeleteDiskName = name 99 100 resultCh := d.DeleteDiskErrCh 101 if resultCh == nil { 102 ch := make(chan error) 103 close(ch) 104 resultCh = ch 105 } 106 107 return resultCh, d.DeleteDiskErr 108 } 109 110 func (d *DriverMock) GetNatIP(zone, name string) (string, error) { 111 d.GetNatIPZone = zone 112 d.GetNatIPName = name 113 return d.GetNatIPResult, d.GetNatIPErr 114 } 115 116 func (d *DriverMock) GetInternalIP(zone, name string) (string, error) { 117 d.GetInternalIPZone = zone 118 d.GetInternalIPName = name 119 return d.GetInternalIPResult, d.GetInternalIPErr 120 } 121 122 func (d *DriverMock) RunInstance(c *InstanceConfig) (<-chan error, error) { 123 d.RunInstanceConfig = c 124 125 resultCh := d.RunInstanceErrCh 126 if resultCh == nil { 127 ch := make(chan error) 128 close(ch) 129 resultCh = ch 130 } 131 132 return resultCh, d.RunInstanceErr 133 } 134 135 func (d *DriverMock) WaitForInstance(state, zone, name string) <-chan error { 136 d.WaitForInstanceState = state 137 d.WaitForInstanceZone = zone 138 d.WaitForInstanceName = name 139 140 resultCh := d.WaitForInstanceErrCh 141 if resultCh == nil { 142 ch := make(chan error) 143 close(ch) 144 resultCh = ch 145 } 146 147 return resultCh 148 }