+ // Override GetContent to mock keepclient Get functionality
+ defer func(orig func(string, *keepclient.KeepClient) (io.ReadCloser, int64, string, error)) {
+ GetContent = orig
+ }(GetContent)
+ GetContent = func(signedLocator string, keepClient *keepclient.KeepClient) (
+ reader io.ReadCloser, contentLength int64, url string, err error) {
+ if testData.GetError != "" {
+ return nil, 0, "", errors.New(testData.GetError)
+ }
+ rdr := &ClosingBuffer{bytes.NewBufferString(testData.Content)}
+ return rdr, int64(len(testData.Content)), "", nil
+ }
+
+ keepClient.Arvados.ApiToken = GenerateRandomApiToken()
+ err := PullItemAndProcess(pullRequest, keepClient.Arvados.ApiToken, keepClient)
+
+ if len(testData.GetError) > 0 {
+ if (err == nil) || (!strings.Contains(err.Error(), testData.GetError)) {
+ t.Errorf("Got error %v, expected %v", err, testData.GetError)
+ }
+ } else {
+ if err != nil {
+ t.Errorf("Got error %v, expected nil", err)
+ }
+ }