diff options
author | Santiago M. Mola <santi@mola.io> | 2017-07-18 10:39:36 +0200 |
---|---|---|
committer | Santiago M. Mola <santi@mola.io> | 2017-07-19 14:48:42 +0200 |
commit | ebc25df06ce7d11afe88339af7bb097926599b7d (patch) | |
tree | 8700fa368f5f555656e5d61a41d4be72c6fced25 /storage/test/storage_suite.go | |
parent | f2e4b4d0b73f9ae1a53adc4479991bf651dfb99a (diff) | |
download | go-git-ebc25df06ce7d11afe88339af7bb097926599b7d.tar.gz |
test: add more PackfileWriter tests
Diffstat (limited to 'storage/test/storage_suite.go')
-rw-r--r-- | storage/test/storage_suite.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/storage/test/storage_suite.go b/storage/test/storage_suite.go index 5a7cf9d..7cb0fe3 100644 --- a/storage/test/storage_suite.go +++ b/storage/test/storage_suite.go @@ -13,6 +13,7 @@ import ( "gopkg.in/src-d/go-git.v4/plumbing/storer" "gopkg.in/src-d/go-git.v4/storage" + "github.com/src-d/go-git-fixtures" . "gopkg.in/check.v1" ) @@ -64,6 +65,14 @@ func NewBaseStorageSuite(s Storer) BaseStorageSuite { }} } +func (s *BaseStorageSuite) SetUpTest(c *C) { + c.Assert(fixtures.Init(), IsNil) +} + +func (s *BaseStorageSuite) TearDownTest(c *C) { + c.Assert(fixtures.Clean(), IsNil) +} + func (s *BaseStorageSuite) TestSetEncodedObjectAndEncodedObject(c *C) { for _, to := range s.testObjects { comment := Commentf("failed for type %s", to.Type.String()) @@ -143,6 +152,33 @@ func (s *BaseStorageSuite) TestIterEncodedObjects(c *C) { } } +func (s *BaseStorageSuite) TestPackfileWriter(c *C) { + pwr, ok := s.Storer.(storer.PackfileWriter) + if !ok { + c.Skip("not a storer.PackWriter") + } + + pw, err := pwr.PackfileWriter() + c.Assert(err, IsNil) + + f := fixtures.Basic().One() + _, err = io.Copy(pw, f.Packfile()) + c.Assert(err, IsNil) + + err = pw.Close() + c.Assert(err, IsNil) + + iter, err := s.Storer.IterEncodedObjects(plumbing.AnyObject) + c.Assert(err, IsNil) + objects := 0 + err = iter.ForEach(func(plumbing.EncodedObject) error { + objects++ + return nil + }) + c.Assert(err, IsNil) + c.Assert(objects, Equals, 31) +} + func (s *BaseStorageSuite) TestObjectStorerTxSetEncodedObjectAndCommit(c *C) { storer, ok := s.Storer.(storer.Transactioner) if !ok { |