コード例 #1
0
ファイル: task_worker_test.go プロジェクト: rowhit/lattice
		})

		simulateTaskCompleting := func() {
			enqueue <- models.Task{
				TaskGuid:              "the-task-guid",
				CompletionCallbackURL: callbackURL,
				Action: &models.RunAction{
					User: "******",
					Path: "lol",
				},
			}
		}

		Context("when the task has a completion callback URL", func() {
			It("marks the task as resolving", func() {
				Expect(fakeBBS.ResolvingTaskCallCount()).To(Equal(0))

				simulateTaskCompleting()
				statusCodes <- 200

				Eventually(fakeBBS.ResolveTaskCallCount).Should(Equal(1))
				_, actualGuid := fakeBBS.ResolveTaskArgsForCall(0)
				Expect(actualGuid).To(Equal("the-task-guid"))
			})

			It("processes tasks in parallel", func() {
				for i := 0; i < task_handler.POOL_SIZE; i++ {
					simulateTaskCompleting()
				}
				Eventually(reqCount).Should(HaveLen(task_handler.POOL_SIZE))
			})