func (s *ConfigSuite) SetUpTest(c *C) { tmp, err := ioutil.TempDir("", "go-git-filestystem-config") c.Assert(err, IsNil) s.dir = dotgit.New(os.New(tmp)) s.path = tmp }
func (s *RemoteSuite) TestFetchWithPackfileWriter(c *C) { dir, err := ioutil.TempDir("", "fetch") c.Assert(err, IsNil) defer os.RemoveAll(dir) // clean up fss, err := filesystem.NewStorage(osfs.New(dir)) c.Assert(err, IsNil) mock := &mockPackfileWriter{Storer: fss} url := s.GetBasicLocalRepositoryURL() r := newRemote(mock, nil, &config.RemoteConfig{Name: "foo", URL: url}) refspec := config.RefSpec("+refs/heads/*:refs/remotes/origin/*") err = r.Fetch(&FetchOptions{ RefSpecs: []config.RefSpec{refspec}, }) c.Assert(err, IsNil) var count int iter, err := mock.IterEncodedObjects(plumbing.AnyObject) c.Assert(err, IsNil) iter.ForEach(func(plumbing.EncodedObject) error { count++ return nil }) c.Assert(count, Equals, 31) c.Assert(mock.PackfileWriterCalled, Equals, true) }
func (s *SuiteDotGit) TestSetRefs(c *C) { tmp, err := ioutil.TempDir("", "dot-git") c.Assert(err, IsNil) defer os.RemoveAll(tmp) fs := osfs.New(tmp) dir := New(fs) err = dir.SetRef(plumbing.NewReferenceFromStrings( "refs/heads/foo", "e8d3ffab552895c19b9fcf7aa264d277cde33881", )) c.Assert(err, IsNil) err = dir.SetRef(plumbing.NewReferenceFromStrings( "refs/heads/symbolic", "ref: refs/heads/foo", )) c.Assert(err, IsNil) err = dir.SetRef(plumbing.NewReferenceFromStrings( "bar", "e8d3ffab552895c19b9fcf7aa264d277cde33881", )) c.Assert(err, IsNil) refs, err := dir.Refs() c.Assert(err, IsNil) c.Assert(refs, HasLen, 2) ref := findReference(refs, "refs/heads/foo") c.Assert(ref, NotNil) c.Assert(ref.Hash().String(), Equals, "e8d3ffab552895c19b9fcf7aa264d277cde33881") ref = findReference(refs, "refs/heads/symbolic") c.Assert(ref, NotNil) c.Assert(ref.Target().String(), Equals, "refs/heads/foo") ref = findReference(refs, "bar") c.Assert(ref, IsNil) ref, err = dir.Ref("refs/heads/foo") c.Assert(err, IsNil) c.Assert(ref, NotNil) c.Assert(ref.Hash().String(), Equals, "e8d3ffab552895c19b9fcf7aa264d277cde33881") ref, err = dir.Ref("refs/heads/symbolic") c.Assert(err, IsNil) c.Assert(ref, NotNil) c.Assert(ref.Target().String(), Equals, "refs/heads/foo") ref, err = dir.Ref("bar") c.Assert(err, IsNil) c.Assert(ref, NotNil) c.Assert(ref.Hash().String(), Equals, "e8d3ffab552895c19b9fcf7aa264d277cde33881") }
func (s *SuiteDotGit) TestObjectsNoFolder(c *C) { tmp, err := ioutil.TempDir("", "dot-git") c.Assert(err, IsNil) defer os.RemoveAll(tmp) fs := osfs.New(tmp) dir := New(fs) hash, err := dir.Objects() c.Assert(err, IsNil) c.Assert(hash, HasLen, 0) }
func (s *SuiteDotGit) TestShallowWriteAndShallow(c *C) { tmp, err := ioutil.TempDir("", "dot-git") c.Assert(err, IsNil) defer os.RemoveAll(tmp) fs := osfs.New(tmp) dir := New(fs) f, err := dir.ShallowWriter() c.Assert(err, IsNil) _, err = f.Write([]byte("foo")) c.Assert(err, IsNil) f, err = dir.Shallow() c.Assert(err, IsNil) cnt, err := ioutil.ReadAll(f) c.Assert(err, IsNil) c.Assert(string(cnt), Equals, "foo") }
func (s *SuiteDotGit) TestNewObject(c *C) { tmp, err := ioutil.TempDir("", "dot-git") c.Assert(err, IsNil) defer os.RemoveAll(tmp) fs := osfs.New(tmp) dir := New(fs) w, err := dir.NewObject() c.Assert(err, IsNil) err = w.WriteHeader(plumbing.BlobObject, 14) n, err := w.Write([]byte("this is a test")) c.Assert(err, IsNil) c.Assert(n, Equals, 14) c.Assert(w.Hash().String(), Equals, "a8a940627d132695a9769df883f85992f0ff4a43") err = w.Close() c.Assert(err, IsNil) i, err := fs.Stat("objects/a8/a940627d132695a9769df883f85992f0ff4a43") c.Assert(err, IsNil) c.Assert(i.Size(), Equals, int64(34)) }
func (s *StorageSuite) SetUpTest(c *C) { storage, err := NewStorage(os.New(c.MkDir())) c.Assert(err, IsNil) s.BaseStorageSuite = test.NewBaseStorageSuite(storage) }