package ssh import ( "os" "gopkg.in/src-d/go-git.v4/plumbing/transport" "gopkg.in/src-d/go-git.v4/plumbing/transport/test" . "gopkg.in/check.v1" ) type UploadPackSuite struct { test.UploadPackSuite } var _ = Suite(&UploadPackSuite{}) func (s *UploadPackSuite) SetUpSuite(c *C) { s.setAuthBuilder(c) s.UploadPackSuite.Client = DefaultClient ep, err := transport.NewEndpoint("git@github.com:git-fixtures/basic.git") c.Assert(err, IsNil) s.UploadPackSuite.Endpoint = ep ep, err = transport.NewEndpoint("git@github.com:git-fixtures/empty.git") c.Assert(err, IsNil) s.UploadPackSuite.EmptyEndpoint = ep ep, err = transport.NewEndpoint("git@github.com:git-fixtures/non-existent.git") c.Assert(err, IsNil) s.UploadPackSuite.NonExistentEndpoint = ep } func (s *UploadPackSuite) setAuthBuilder(c *C) { privateKey := os.Getenv("SSH_TEST_PRIVATE_KEY") if privateKey != "" { DefaultAuthBuilder = func(user string) (AuthMethod, error) { return NewPublicKeysFromFile(user, privateKey, "") } } if privateKey == "" && os.Getenv("SSH_AUTH_SOCK") == "" { c.Skip("SSH_AUTH_SOCK or SSH_TEST_PRIVATE_KEY are required") return } }