MCPcopy Create free account
hub / github.com/OctopusDeploy/cli / TestWait__CancelOnTimeout

Function TestWait__CancelOnTimeout

pkg/cmd/task/wait/wait_test.go:197–262  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

195}
196
197func TestWait__CancelOnTimeout(t *testing.T) {
198 out := bytes.Buffer{}
199 defaultTaskIDs := []string{
200 "TaskID1",
201 "TaskID2",
202 }
203
204 taskList := []*tasks.Task{
205 tasks.NewTask(),
206 tasks.NewTask(),
207 }
208
209 // bool vars as bool constants can't be used as pointers for IsCompleted
210 boolFalse := false
211 boolTrue := true
212
213 taskList[0].ID = defaultTaskIDs[0]
214 taskList[0].IsCompleted = &boolFalse
215 taskList[0].FinishedSuccessfully = &boolFalse
216 taskList[0].Description = "Deploy Bar 1 release 0.0.2 to Foo"
217 taskList[0].State = "Executing"
218
219 taskList[1].ID = defaultTaskIDs[1]
220 taskList[1].IsCompleted = &boolTrue
221 taskList[1].FinishedSuccessfully = &boolTrue
222 taskList[1].Description = "Deploy Bar 2 release 0.0.2 to Foo"
223 taskList[1].State = "Success"
224
225 getServerTaskCallback := func(taskIDs []string) ([]*tasks.Task, error) {
226 time.Sleep(1 * time.Second)
227 assert.Len(t, taskIDs, 2)
228 assert.Equal(t, defaultTaskIDs[0], taskIDs[0])
229 assert.Equal(t, defaultTaskIDs[1], taskIDs[1])
230 return taskList, nil
231 }
232
233 cancelCalled := false
234 cancelServerTaskCallback := func(taskIDs []string) ([]*tasks.Task, error) {
235 cancelCalled = true
236 return []*tasks.Task{}, nil
237 }
238
239 opts := &taskWaitCreate.WaitOptions{
240 Dependencies: &cmd.Dependencies{
241 Out: &out,
242 },
243 TaskIDs: defaultTaskIDs,
244 GetServerTasksCallback: getServerTaskCallback,
245 GetTaskDetailsCallback: nil,
246 CancelServerTasksCallback: cancelServerTaskCallback,
247 Timeout: 1,
248 PollInterval: 1,
249 CancelOnTimeout: true,
250 ShowProgress: false,
251 }
252
253 err := taskWaitCreate.WaitRun(opts)
254 assert.True(t, cancelCalled)

Callers

nothing calls this directly

Calls 1

LenMethod · 0.80

Tested by

no test coverage detected