49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
package filesystem
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/go-git/go-billy/v5/osfs"
|
|
"github.com/go-git/go-billy/v5/util"
|
|
fixtures "github.com/go-git/go-git-fixtures/v4"
|
|
"github.com/go-git/go-git/v5/config"
|
|
"github.com/go-git/go-git/v5/storage/filesystem/dotgit"
|
|
. "gopkg.in/check.v1"
|
|
)
|
|
|
|
type ConfigSuite struct {
|
|
fixtures.Suite
|
|
|
|
dir *dotgit.DotGit
|
|
path string
|
|
}
|
|
|
|
var _ = Suite(&ConfigSuite{})
|
|
|
|
func (s *ConfigSuite) SetUpTest(c *C) {
|
|
tmp, err := util.TempDir(osfs.Default, "", "go-git-filestystem-config")
|
|
c.Assert(err, IsNil)
|
|
|
|
s.dir = dotgit.New(osfs.New(tmp))
|
|
s.path = tmp
|
|
}
|
|
|
|
func (s *ConfigSuite) TestRemotes(c *C) {
|
|
dir := dotgit.New(fixtures.Basic().ByTag(".git").One().DotGit())
|
|
storer := &ConfigStorage{dir}
|
|
|
|
cfg, err := storer.Config()
|
|
c.Assert(err, IsNil)
|
|
|
|
remotes := cfg.Remotes
|
|
c.Assert(remotes, HasLen, 1)
|
|
remote := remotes["origin"]
|
|
c.Assert(remote.Name, Equals, "origin")
|
|
c.Assert(remote.URLs, DeepEquals, []string{"https://github.com/git-fixtures/basic"})
|
|
c.Assert(remote.Fetch, DeepEquals, []config.RefSpec{config.RefSpec("+refs/heads/*:refs/remotes/origin/*")})
|
|
}
|
|
|
|
func (s *ConfigSuite) TearDownTest(c *C) {
|
|
defer os.RemoveAll(s.path)
|
|
}
|