err = rackhdapi.PublishWorkflow(cpiConfig, fakeWorkflowBytes) Expect(err).ToNot(HaveOccurred()) body := rackhdapi.RunWorkflowRequestBody{ Name: fakeWorkflow.Name, Options: map[string]interface{}{"defaults": Options{OBMServiceName: &obm}}, } err = rackhdapi.RunWorkflow(rackhdapi.WorkflowPoster, rackhdapi.WorkflowFetcher, cpiConfig, nodeID, body) Expect(err).To(HaveOccurred()) }) }) Context("when the workflow does not complete in the configurable timeout", func() { It("returns an error", func() { cpiConfig.RunWorkflowTimeoutSeconds = 1 dummyTask := helpers.LoadTask("../spec_assets/dummy_timeout_task.json") dummyTask.Name += guid dummyTaskBytes, err := json.Marshal(dummyTask) Expect(err).ToNot(HaveOccurred()) err = rackhdapi.PublishTask(cpiConfig, dummyTaskBytes) Expect(err).ToNot(HaveOccurred()) fakeWorkflow := helpers.LoadWorkflow("../spec_assets/dummy_failing_workflow.json") fakeWorkflow.Name += guid fakeWorkflow.Tasks[3].TaskName += guid fakeWorkflowBytes, err := json.Marshal(fakeWorkflow)