| package filesystem |
| |
| import ( |
| "io/ioutil" |
| "testing" |
| |
| "gopkg.in/src-d/go-git.v4/plumbing/storer" |
| "gopkg.in/src-d/go-git.v4/storage/test" |
| |
| . "gopkg.in/check.v1" |
| "gopkg.in/src-d/go-billy.v3/memfs" |
| "gopkg.in/src-d/go-billy.v3/osfs" |
| ) |
| |
| func Test(t *testing.T) { TestingT(t) } |
| |
| type StorageSuite struct { |
| test.BaseStorageSuite |
| dir string |
| } |
| |
| var _ = Suite(&StorageSuite{}) |
| |
| func (s *StorageSuite) SetUpTest(c *C) { |
| s.dir = c.MkDir() |
| storage, err := NewStorage(osfs.New(s.dir)) |
| c.Assert(err, IsNil) |
| |
| // ensure that right interfaces are implemented |
| var _ storer.EncodedObjectStorer = storage |
| var _ storer.IndexStorer = storage |
| var _ storer.ReferenceStorer = storage |
| var _ storer.ShallowStorer = storage |
| var _ storer.DeltaObjectStorer = storage |
| var _ storer.PackfileWriter = storage |
| |
| s.BaseStorageSuite = test.NewBaseStorageSuite(storage) |
| s.BaseStorageSuite.SetUpTest(c) |
| } |
| |
| func (s *StorageSuite) TestFilesystem(c *C) { |
| fs := memfs.New() |
| storage, err := NewStorage(fs) |
| c.Assert(err, IsNil) |
| |
| c.Assert(storage.Filesystem(), Equals, fs) |
| } |
| |
| func (s *StorageSuite) TestNewStorageShouldNotAddAnyContentsToDir(c *C) { |
| fis, err := ioutil.ReadDir(s.dir) |
| c.Assert(err, IsNil) |
| c.Assert(fis, HasLen, 0) |
| } |