X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a57d9687340458cb4f7861faace44da0e5b0dda1..09a1ecf507df8ca110e6620efeb3593bc0d90192:/services/keep-web/server_test.go diff --git a/services/keep-web/server_test.go b/services/keep-web/server_test.go index 2a8f8cd794..a9830bc1de 100644 --- a/services/keep-web/server_test.go +++ b/services/keep-web/server_test.go @@ -266,9 +266,10 @@ func (s *IntegrationSuite) runCurl(c *check.C, token, host, uri string, args ... c.Log(fmt.Sprintf("curlArgs == %#v", curlArgs)) cmd := exec.Command("curl", curlArgs...) stdout, err := cmd.StdoutPipe() - c.Assert(err, check.Equals, nil) - cmd.Stderr = cmd.Stdout - go cmd.Start() + c.Assert(err, check.IsNil) + cmd.Stderr = os.Stderr + err = cmd.Start() + c.Assert(err, check.IsNil) buf := make([]byte, 2<<27) n, err := io.ReadFull(stdout, buf) // Discard (but measure size of) anything past 128 MiB. @@ -276,9 +277,9 @@ func (s *IntegrationSuite) runCurl(c *check.C, token, host, uri string, args ... if err == io.ErrUnexpectedEOF { buf = buf[:n] } else { - c.Assert(err, check.Equals, nil) + c.Assert(err, check.IsNil) discarded, err = io.Copy(ioutil.Discard, stdout) - c.Assert(err, check.Equals, nil) + c.Assert(err, check.IsNil) } err = cmd.Wait() // Without "-f", curl exits 0 as long as it gets a valid HTTP @@ -323,6 +324,18 @@ func (s *IntegrationSuite) TestMetrics(c *check.C) { req, _ = http.NewRequest("GET", origin+"/metrics.json", nil) resp, err = http.DefaultClient.Do(req) c.Assert(err, check.IsNil) + c.Check(resp.StatusCode, check.Equals, http.StatusUnauthorized) + + req, _ = http.NewRequest("GET", origin+"/metrics.json", nil) + req.Header.Set("Authorization", "Bearer badtoken") + resp, err = http.DefaultClient.Do(req) + c.Assert(err, check.IsNil) + c.Check(resp.StatusCode, check.Equals, http.StatusForbidden) + + req, _ = http.NewRequest("GET", origin+"/metrics.json", nil) + req.Header.Set("Authorization", "Bearer "+arvadostest.ManagementToken) + resp, err = http.DefaultClient.Do(req) + c.Assert(err, check.IsNil) c.Check(resp.StatusCode, check.Equals, http.StatusOK) type summary struct { SampleCount string `json:"sample_count"` @@ -419,6 +432,7 @@ func (s *IntegrationSuite) SetUpTest(c *check.C) { Insecure: true, } cfg.Listen = "127.0.0.1:0" + cfg.ManagementToken = arvadostest.ManagementToken s.testServer = &server{Config: cfg} err := s.testServer.Start() c.Assert(err, check.Equals, nil)