+ 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)
+ } else {
+ c.Assert(len(testPullLists), Equals, 1)
+ c.Assert(len(processedPullLists), Equals, 0)
+ }
+ }
+
+ if testData.readError {
+ c.Assert(readError, NotNil)
+ } else if testData.responseCode == http.StatusOK {
+ c.Assert(readError, IsNil)
+ c.Assert(readContent, Equals, testData.readContent)
+ if testData.putError {
+ c.Assert(putError, NotNil)
+ } else {
+ c.Assert(putError, IsNil)
+ c.Assert(string(putContent), Equals, testData.readContent)
+ }
+ }
+
+ expectChannelEmpty(c, pullq.NextItem)