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