8784: Fix test for latest firefox.
[arvados.git] / sdk / go / keepclient / discover_test.go
1 package keepclient
2
3 import (
4         "crypto/md5"
5         "fmt"
6         "net/http"
7         "os"
8
9         "gopkg.in/check.v1"
10
11         "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
12         "git.curoverse.com/arvados.git/sdk/go/arvadostest"
13 )
14
15 func (s *ServerRequiredSuite) TestOverrideDiscovery(c *check.C) {
16         defer os.Setenv("ARVADOS_KEEP_SERVICES", "")
17
18         hash := fmt.Sprintf("%x+3", md5.Sum([]byte("TestOverrideDiscovery")))
19         st := StubGetHandler{
20                 c,
21                 hash,
22                 arvadostest.ActiveToken,
23                 http.StatusOK,
24                 []byte("TestOverrideDiscovery")}
25         ks := RunSomeFakeKeepServers(st, 2)
26
27         os.Setenv("ARVADOS_KEEP_SERVICES", "")
28         arv1, err := arvadosclient.MakeArvadosClient()
29         c.Assert(err, check.IsNil)
30         arv1.ApiToken = arvadostest.ActiveToken
31
32         os.Setenv("ARVADOS_KEEP_SERVICES", ks[0].url+"  "+ks[1].url+" ")
33         arv2, err := arvadosclient.MakeArvadosClient()
34         c.Assert(err, check.IsNil)
35         arv2.ApiToken = arvadostest.ActiveToken
36
37         // ARVADOS_KEEP_SERVICES was empty when we created arv1, but
38         // it pointed to our stub servers when we created
39         // arv2. Regardless of what it's set to now, a keepclient for
40         // arv2 should use our stub servers, but one created for arv1
41         // should not.
42
43         kc1, err := MakeKeepClient(arv1)
44         c.Assert(err, check.IsNil)
45         kc2, err := MakeKeepClient(arv2)
46         c.Assert(err, check.IsNil)
47
48         _, _, _, err = kc1.Get(hash)
49         c.Check(err, check.NotNil)
50         _, _, _, err = kc2.Get(hash)
51         c.Check(err, check.IsNil)
52 }