+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
package main
import (
+ "net/http"
+ "net/http/httptest"
"os"
"os/exec"
+ "git.curoverse.com/arvados.git/sdk/go/arvadostest"
+
check "gopkg.in/check.v1"
)
err := s.RunGit(c, spectatorToken, "fetch", "active/foo.git")
c.Assert(err, check.Equals, nil)
err = s.RunGit(c, spectatorToken, "push", "active/foo.git", "master:newbranchfail")
- c.Assert(err, check.ErrorMatches, `.*HTTP code = 403.*`)
+ c.Assert(err, check.ErrorMatches, `.*HTTP (code = )?403.*`)
_, err = os.Stat(s.tmpRepoRoot + "/zzzzz-s0uqq-382brsig8rp3666.git/refs/heads/newbranchfail")
c.Assert(err, check.FitsTypeOf, &os.PathError{})
}
func (s *GitSuite) TestExpiredToken(c *check.C) {
for _, repo := range []string{"active/foo.git", "active/foo/.git"} {
err := s.RunGit(c, expiredToken, "fetch", repo)
- c.Assert(err, check.ErrorMatches, `.* 500 while accessing.*`)
+ c.Assert(err, check.ErrorMatches, `.* (500 while accessing|requested URL returned error: 500).*`)
}
}
func (s *GitSuite) TestShortToken(c *check.C) {
for _, repo := range []string{"active/foo.git", "active/foo/.git"} {
err := s.RunGit(c, "s3cr3t", "fetch", repo)
- c.Assert(err, check.ErrorMatches, `.* 500 while accessing.*`)
+ c.Assert(err, check.ErrorMatches, `.* (500 while accessing|requested URL returned error: 500).*`)
}
}
func (s *GitSuite) TestShortTokenBadReq(c *check.C) {
for _, repo := range []string{"bogus"} {
err := s.RunGit(c, "s3cr3t", "fetch", repo)
- c.Assert(err, check.ErrorMatches, `.* requested URL returned error.*`)
+ c.Assert(err, check.ErrorMatches, `.*not found.*`)
}
}
c.Log(string(msg))
c.Assert(err, check.Equals, nil)
}
+
+func (s *GitSuite) TestHealthCheckPing(c *check.C) {
+ req, err := http.NewRequest("GET",
+ "http://"+s.testServer.Addr+"/_health/ping",
+ nil)
+ c.Assert(err, check.Equals, nil)
+ req.Header.Set("Authorization", "Bearer "+arvadostest.ManagementToken)
+
+ resp := httptest.NewRecorder()
+ s.testServer.Handler.ServeHTTP(resp, req)
+ c.Check(resp.Code, check.Equals, 200)
+ c.Check(resp.Body.String(), check.Matches, `{"health":"OK"}\n`)
+}