github.com/daniellockard/packer@v0.7.6-0.20141210173435-5a9390934716/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 RunInstanceConfig *InstanceConfig 34 RunInstanceErrCh <-chan error 35 RunInstanceErr error 36 37 WaitForInstanceState string 38 WaitForInstanceZone string 39 WaitForInstanceName string 40 WaitForInstanceErrCh <-chan error 41 } 42 43 func (d *DriverMock) ImageExists(name string) bool { 44 d.ImageExistsName = name 45 return d.ImageExistsResult 46 } 47 48 func (d *DriverMock) CreateImage(name, description, zone, disk string) <-chan error { 49 d.CreateImageName = name 50 d.CreateImageDesc = description 51 d.CreateImageZone = zone 52 d.CreateImageDisk = disk 53 54 resultCh := d.CreateImageErrCh 55 if resultCh == nil { 56 ch := make(chan error) 57 close(ch) 58 resultCh = ch 59 } 60 61 return resultCh 62 } 63 64 func (d *DriverMock) DeleteImage(name string) <-chan error { 65 d.DeleteImageName = name 66 67 resultCh := d.DeleteImageErrCh 68 if resultCh == nil { 69 ch := make(chan error) 70 close(ch) 71 resultCh = ch 72 } 73 74 return resultCh 75 } 76 77 func (d *DriverMock) DeleteInstance(zone, name string) (<-chan error, error) { 78 d.DeleteInstanceZone = zone 79 d.DeleteInstanceName = name 80 81 resultCh := d.DeleteInstanceErrCh 82 if resultCh == nil { 83 ch := make(chan error) 84 close(ch) 85 resultCh = ch 86 } 87 88 return resultCh, d.DeleteInstanceErr 89 } 90 91 func (d *DriverMock) DeleteDisk(zone, name string) (<-chan error, error) { 92 d.DeleteDiskZone = zone 93 d.DeleteDiskName = name 94 95 resultCh := d.DeleteDiskErrCh 96 if resultCh == nil { 97 ch := make(chan error) 98 close(ch) 99 resultCh = ch 100 } 101 102 return resultCh, d.DeleteDiskErr 103 } 104 105 func (d *DriverMock) GetNatIP(zone, name string) (string, error) { 106 d.GetNatIPZone = zone 107 d.GetNatIPName = name 108 return d.GetNatIPResult, d.GetNatIPErr 109 } 110 111 func (d *DriverMock) RunInstance(c *InstanceConfig) (<-chan error, error) { 112 d.RunInstanceConfig = c 113 114 resultCh := d.RunInstanceErrCh 115 if resultCh == nil { 116 ch := make(chan error) 117 close(ch) 118 resultCh = ch 119 } 120 121 return resultCh, d.RunInstanceErr 122 } 123 124 func (d *DriverMock) WaitForInstance(state, zone, name string) <-chan error { 125 d.WaitForInstanceState = state 126 d.WaitForInstanceZone = zone 127 d.WaitForInstanceName = name 128 129 resultCh := d.WaitForInstanceErrCh 130 if resultCh == nil { 131 ch := make(chan error) 132 close(ch) 133 resultCh = ch 134 } 135 136 return resultCh 137 }