X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ee908b109a95ea962425b435a8a317231829b115..d7e76aa491a1878196d3f57f2e61e09d193f5070:/services/keep-balance/main_test.go diff --git a/services/keep-balance/main_test.go b/services/keep-balance/main_test.go index b154f6e998..65a2d5567a 100644 --- a/services/keep-balance/main_test.go +++ b/services/keep-balance/main_test.go @@ -11,6 +11,11 @@ import ( "net/http" "time" + "git.arvados.org/arvados.git/lib/config" + "git.arvados.org/arvados.git/sdk/go/arvados" + "git.arvados.org/arvados.git/sdk/go/arvadostest" + "git.arvados.org/arvados.git/sdk/go/ctxlog" + "github.com/ghodss/yaml" check "gopkg.in/check.v1" ) @@ -26,6 +31,8 @@ func (s *mainSuite) TestVersionFlag(c *check.C) { } func (s *mainSuite) TestHTTPServer(c *check.C) { + arvadostest.StartKeep(2, true) + ln, err := net.Listen("tcp", ":0") if err != nil { c.Fatal(err) @@ -33,10 +40,17 @@ func (s *mainSuite) TestHTTPServer(c *check.C) { _, p, err := net.SplitHostPort(ln.Addr().String()) c.Check(err, check.IsNil) ln.Close() - config := "Clusters:\n zzzzz:\n ManagementToken: abcdefg\n Services: {Keepbalance: {InternalURLs: {'http://localhost:" + p + "/': {}}}}\n" + cfg, err := config.NewLoader(nil, ctxlog.TestLogger(c)).Load() + c.Assert(err, check.IsNil) + cluster, err := cfg.GetCluster("") + c.Assert(err, check.IsNil) + cluster.Services.Keepbalance.InternalURLs[arvados.URL{Host: "localhost:" + p, Path: "/"}] = arvados.ServiceInstance{} + cfg.Clusters[cluster.ClusterID] = *cluster + config, err := yaml.Marshal(cfg) + c.Assert(err, check.IsNil) var stdout bytes.Buffer - go runCommand("keep-balance", []string{"-config", "-"}, bytes.NewBufferString(config), &stdout, &stdout) + go runCommand("keep-balance", []string{"-config", "-"}, bytes.NewBuffer(config), &stdout, &stdout) done := make(chan struct{}) go func() { defer close(done) @@ -47,7 +61,7 @@ func (s *mainSuite) TestHTTPServer(c *check.C) { c.Fatal(err) return } - req.Header.Set("Authorization", "Bearer abcdefg") + req.Header.Set("Authorization", "Bearer "+cluster.ManagementToken) resp, err := http.DefaultClient.Do(req) if err != nil { c.Logf("error %s", err) @@ -73,6 +87,7 @@ func (s *mainSuite) TestHTTPServer(c *check.C) { c.Log(stdout.String()) c.Fatal("timeout") } + c.Log(stdout.String()) // Check non-metrics URL that gets passed through to us from // service.Command