+ // Override PutContent to mock PutBlock functionality
+ defer func(orig func([]byte, string) error) { PutContent = orig }(PutContent)
+ PutContent = func(content []byte, locator string) (err error) {
+ if testData.putError {
+ err = errors.New("Error putting data")
+ putError = err
+ return err
+ }
+ putContent = content
+ return nil
+ }
+
+ c.Assert(getStatusItem("PullQueue", "InProgress"), Equals, float64(0))
+ c.Assert(getStatusItem("PullQueue", "Queued"), Equals, float64(0))
+
+ response := IssueRequest(&testData.req)
+ c.Assert(response.Code, Equals, testData.responseCode)
+ c.Assert(response.Body.String(), Equals, testData.responseBody)
+
+ expectEqualWithin(c, time.Second, 0, func() interface{} {
+ st := pullq.Status()
+ return st.InProgress + st.Queued
+ })
+
+ if testData.name == "TestPullWorkerPullList_with_two_items_latest_replacing_old" {
+ c.Assert(len(testPullLists), Equals, 2)
+ c.Assert(len(processedPullLists), Equals, 1)
+ c.Assert(testPullLists["Added_before_actual_test_item"], NotNil)
+ c.Assert(testPullLists["TestPullWorkerPullList_with_two_items_latest_replacing_old"], NotNil)
+ c.Assert(processedPullLists["TestPullWorkerPullList_with_two_items_latest_replacing_old"], NotNil)
+ } else {
+ if testData.responseCode == http.StatusOK {
+ c.Assert(len(testPullLists), Equals, 1)
+ c.Assert(len(processedPullLists), Equals, 1)
+ c.Assert(testPullLists[testData.name], NotNil)