Merge branch '14259-pysdk-remote-block-copy'
[arvados.git] / services / keepstore / pull_worker_integration_test.go
index 7ba72672cfc95831b9e547b2d5430fbdea385821..231a4c0ab28097340f558c6179fd14d9d50b9d3f 100644 (file)
@@ -1,10 +1,14 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
 package main
 
 import (
        "bytes"
        "errors"
        "io"
-       "net/http"
+       "io/ioutil"
        "os"
        "strings"
        "testing"
@@ -33,21 +37,19 @@ func SetupPullWorkerIntegrationTest(t *testing.T, testData PullWorkIntegrationTe
        // make arvadosclient
        arv, err := arvadosclient.MakeArvadosClient()
        if err != nil {
-               t.Error("Error creating arv")
+               t.Fatalf("Error creating arv: %s", err)
        }
 
        // keep client
-       keepClient = &keepclient.KeepClient{
-               Arvados:       arv,
-               Want_replicas: 1,
-               Client:        &http.Client{},
+       keepClient, err = keepclient.MakeKeepClient(arv)
+       if err != nil {
+               t.Fatalf("error creating KeepClient: %s", err)
        }
+       keepClient.Want_replicas = 1
+       keepClient.RefreshServiceDiscovery()
 
        // discover keep services
        var servers []string
-       if err := keepClient.DiscoverKeepServers(); err != nil {
-               t.Error("Error discovering keep services")
-       }
        for _, host := range keepClient.LocalRoots() {
                servers = append(servers, host)
        }
@@ -122,12 +124,11 @@ func performPullWorkerIntegrationTest(testData PullWorkIntegrationTestData, pull
        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) {
+       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)}
+               rdr := ioutil.NopCloser(bytes.NewBufferString(testData.Content))
                return rdr, int64(len(testData.Content)), "", nil
        }