aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/transport/ssh/fetch_pack_test.go
diff options
context:
space:
mode:
authorSantiago M. Mola <santi@mola.io>2016-11-25 09:25:49 +0100
committerMáximo Cuadros <mcuadros@gmail.com>2016-11-25 09:25:49 +0100
commit9e34f68d980de57631c588aaa910c9ea95ed7c2e (patch)
treeb1bd9f867b757ca46ada2f349d122723dde3529c /plumbing/transport/ssh/fetch_pack_test.go
parent8966c042795509ed17730e50d352ad69901c3da8 (diff)
downloadgo-git-9e34f68d980de57631c588aaa910c9ea95ed7c2e.tar.gz
plumbing/transport: add common tests and fixes. (#136)
* plumbing/transport: add common tests and fixes. * add common test suite for different transport implementations. * fix different behaviour on error handling for ssh and http. fixes issue #123. * support detecting unexisting repositories with SSH + GitHub/Bitbucket (apparently, there is no standard for all SSH servers). * remove ssh.NewClient (only DefaultClient makes sense at the moment). * make ssh.Client and http.Client private. * utils/ioutil: utilities to work with io interfaces. * * transport: test actual objects fetched, not just packfile size. * * fix doc typo. * * improve UploadPackRequest.IsEmpty
Diffstat (limited to 'plumbing/transport/ssh/fetch_pack_test.go')
-rw-r--r--plumbing/transport/ssh/fetch_pack_test.go82
1 files changed, 9 insertions, 73 deletions
diff --git a/plumbing/transport/ssh/fetch_pack_test.go b/plumbing/transport/ssh/fetch_pack_test.go
index 3d62e57..a0321b3 100644
--- a/plumbing/transport/ssh/fetch_pack_test.go
+++ b/plumbing/transport/ssh/fetch_pack_test.go
@@ -1,100 +1,36 @@
package ssh
import (
- "io/ioutil"
"os"
- "gopkg.in/src-d/go-git.v4/plumbing"
"gopkg.in/src-d/go-git.v4/plumbing/transport"
+ "gopkg.in/src-d/go-git.v4/plumbing/transport/test"
. "gopkg.in/check.v1"
)
type FetchPackSuite struct {
- Endpoint transport.Endpoint
+ test.FetchPackSuite
}
var _ = Suite(&FetchPackSuite{})
func (s *FetchPackSuite) SetUpSuite(c *C) {
- var err error
- s.Endpoint, err = transport.NewEndpoint("git@github.com:git-fixtures/basic.git")
- c.Assert(err, IsNil)
-
if os.Getenv("SSH_AUTH_SOCK") == "" {
c.Skip("SSH_AUTH_SOCK is not set")
}
-}
-
-func (s *FetchPackSuite) TestDefaultBranch(c *C) {
- r, err := DefaultClient.NewFetchPackSession(s.Endpoint)
- c.Assert(err, IsNil)
- defer func() { c.Assert(r.Close(), IsNil) }()
- info, err := r.AdvertisedReferences()
- c.Assert(err, IsNil)
- c.Assert(info.Capabilities.SymbolicReference("HEAD"), Equals, "refs/heads/master")
-}
+ s.FetchPackSuite.Client = DefaultClient
-func (s *FetchPackSuite) TestCapabilities(c *C) {
- r, err := DefaultClient.NewFetchPackSession(s.Endpoint)
+ ep, err := transport.NewEndpoint("git@github.com:git-fixtures/basic.git")
c.Assert(err, IsNil)
- defer func() { c.Assert(r.Close(), IsNil) }()
+ s.FetchPackSuite.Endpoint = ep
- info, err := r.AdvertisedReferences()
+ ep, err = transport.NewEndpoint("git@github.com:git-fixtures/empty.git")
c.Assert(err, IsNil)
- c.Assert(info.Capabilities.Get("agent").Values, HasLen, 1)
-}
-
-func (s *FetchPackSuite) TestFullFetchPack(c *C) {
- r, err := DefaultClient.NewFetchPackSession(s.Endpoint)
- c.Assert(err, IsNil)
- defer func() { c.Assert(r.Close(), IsNil) }()
-
- _, err = r.AdvertisedReferences()
- c.Assert(err, IsNil)
-
- req := &transport.UploadPackRequest{}
- req.Want(plumbing.NewHash("6ecf0ef2c2dffb796033e5a02219af86ec6584e5"))
- req.Want(plumbing.NewHash("e8d3ffab552895c19b9fcf7aa264d277cde33881"))
- reader, err := r.FetchPack(req)
- c.Assert(err, IsNil)
-
- defer func() { c.Assert(reader.Close(), IsNil) }()
+ s.FetchPackSuite.EmptyEndpoint = ep
- b, err := ioutil.ReadAll(reader)
+ ep, err = transport.NewEndpoint("git@github.com:git-fixtures/non-existent.git")
c.Assert(err, IsNil)
- c.Check(len(b), Equals, 85585)
-}
-
-func (s *FetchPackSuite) TestFetchPack(c *C) {
- r, err := DefaultClient.NewFetchPackSession(s.Endpoint)
- c.Assert(err, IsNil)
- defer func() { c.Assert(r.Close(), IsNil) }()
-
- req := &transport.UploadPackRequest{}
- req.Want(plumbing.NewHash("6ecf0ef2c2dffb796033e5a02219af86ec6584e5"))
- req.Want(plumbing.NewHash("e8d3ffab552895c19b9fcf7aa264d277cde33881"))
- reader, err := r.FetchPack(req)
- c.Assert(err, IsNil)
- defer func() { c.Assert(reader.Close(), IsNil) }()
-
- b, err := ioutil.ReadAll(reader)
- c.Assert(err, IsNil)
- c.Check(len(b), Equals, 85585)
-}
-
-func (s *FetchPackSuite) TestFetchError(c *C) {
- r, err := DefaultClient.NewFetchPackSession(s.Endpoint)
- c.Assert(err, IsNil)
- defer func() { c.Assert(r.Close(), IsNil) }()
-
- req := &transport.UploadPackRequest{}
- req.Want(plumbing.NewHash("1111111111111111111111111111111111111111"))
-
- reader, err := r.FetchPack(req)
- c.Assert(err, IsNil)
-
- err = reader.Close()
- c.Assert(err, Not(IsNil))
+ s.FetchPackSuite.NonExistentEndpoint = ep
}