Пример #1
0
				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))
			})

			Context("when marking the task as resolving fails", func() {
				BeforeEach(func() {
					fakeBBS.ResolvingTaskReturns(errors.New("failed to resolve task"))
				})

				It("does not make a request to the task's callback URL", func() {
					simulateTaskCompleting()

					Consistently(fakeServer.ReceivedRequests, 0.25).Should(BeEmpty())
				})
			})

			Context("when marking the task as resolving succeeds", func() {
				It("POSTs to the task's callback URL", func() {
					simulateTaskCompleting()

					statusCodes <- 200