package server_test import ( "testing" "github.com/src-d/go-git-fixtures" "gopkg.in/src-d/go-git.v4/plumbing/transport" "gopkg.in/src-d/go-git.v4/plumbing/transport/client" "gopkg.in/src-d/go-git.v4/plumbing/transport/server" "gopkg.in/src-d/go-git.v4/storage/filesystem" "gopkg.in/src-d/go-git.v4/storage/memory" . "gopkg.in/check.v1" ) func Test(t *testing.T) { TestingT(t) } type BaseSuite struct { fixtures.Suite loader server.MapLoader client transport.Transport clientBackup transport.Transport asClient bool } func (s *BaseSuite) SetUpSuite(c *C) { s.Suite.SetUpSuite(c) s.loader = server.MapLoader{} if s.asClient { s.client = server.NewClient(s.loader) } else { s.client = server.NewServer(s.loader) } s.clientBackup = client.Protocols["file"] client.Protocols["file"] = s.client } func (s *BaseSuite) TearDownSuite(c *C) { if s.clientBackup == nil { delete(client.Protocols, "file") } else { client.Protocols["file"] = s.clientBackup } } func (s *BaseSuite) prepareRepositories(c *C, basic *transport.Endpoint, empty *transport.Endpoint, nonExistent *transport.Endpoint) { f := fixtures.Basic().One() fs := f.DotGit() path := fs.Root() ep, err := transport.NewEndpoint(path) c.Assert(err, IsNil) *basic = ep sto, err := filesystem.NewStorage(fs) c.Assert(err, IsNil) s.loader[ep.String()] = sto path = "/empty.git" ep, err = transport.NewEndpoint(path) c.Assert(err, IsNil) *empty = ep s.loader[ep.String()] = memory.NewStorage() path = "/non-existent.git" ep, err = transport.NewEndpoint(path) c.Assert(err, IsNil) *nonExistent = ep }