// GitoliteSuite tests need an API server, an arv-git-httpd server,
// and a repository hosted by gitolite.
type GitoliteSuite struct {
- serverSuite IntegrationSuite
+ IntegrationSuite
gitoliteHome string
}
runGitolite("gitolite", "setup", "--admin", "root")
- s.serverSuite.tmpRepoRoot = s.gitoliteHome + "/repositories"
- s.serverSuite.Config = &config{
+ s.tmpRepoRoot = s.gitoliteHome + "/repositories"
+ s.Config = &config{
Addr: ":0",
GitCommand: "/usr/share/gitolite3/gitolite-shell",
- Root: s.serverSuite.tmpRepoRoot,
+ Root: s.tmpRepoRoot,
}
- s.serverSuite.SetUpTest(c)
+ s.IntegrationSuite.SetUpTest(c)
// Install the gitolite hooks in the bare repo we made in
- // s.serverSuite.SetUpTest() -- see 2.2.4 at
+ // (*IntegrationTest)SetUpTest() -- see 2.2.4 at
// http://gitolite.com/gitolite/gitolite.html
runGitolite("gitolite", "setup")
}
func (s *GitoliteSuite) TearDownTest(c *check.C) {
- s.serverSuite.TearDownTest(c)
+ // We really want Unsetenv here, but it's not worth forcing an
+ // upgrade to Go 1.4.
+ os.Setenv("GITOLITE_HTTP_HOME", "")
+ os.Setenv("GL_BYPASS_ACCESS_CHECKS", "")
+ s.IntegrationSuite.TearDownTest(c)
}
func (s *GitoliteSuite) TestFetch(c *check.C) {
- err := s.serverSuite.runGit(c, activeToken, "fetch", "active/foo.git")
+ err := s.RunGit(c, activeToken, "fetch", "active/foo.git")
c.Check(err, check.Equals, nil)
}
func (s *GitoliteSuite) TestFetchUnreadable(c *check.C) {
- err := s.serverSuite.runGit(c, anonymousToken, "fetch", "active/foo.git")
+ err := s.RunGit(c, anonymousToken, "fetch", "active/foo.git")
c.Check(err, check.ErrorMatches, `.* not found.*`)
}
func (s *GitoliteSuite) TestPush(c *check.C) {
- err := s.serverSuite.runGit(c, activeToken, "push", "active/foo.git")
+ err := s.RunGit(c, activeToken, "push", "active/foo.git")
c.Check(err, check.Equals, nil)
// Check that the commit hash appears in the gitolite log, as
// assurance that the gitolite hooks really did run.
- sha1, err := exec.Command("git", "--git-dir", s.serverSuite.tmpWorkdir + "/.git",
+ sha1, err := exec.Command("git", "--git-dir", s.tmpWorkdir + "/.git",
"log", "-n1", "--format=%H").CombinedOutput()
c.Logf("git-log in workdir: %q", string(sha1))
c.Assert(err, check.Equals, nil)
}
func (s *GitoliteSuite) TestPushUnwritable(c *check.C) {
- err := s.serverSuite.runGit(c, spectatorToken, "push", "active/foo.git")
+ err := s.RunGit(c, spectatorToken, "push", "active/foo.git")
c.Check(err, check.ErrorMatches, `.*HTTP code = 403.*`)
}