本文整理汇总了Golang中github.com/juju/juju/worker/uniter/charm.NewGitDir函数的典型用法代码示例。如果您正苦于以下问题:Golang NewGitDir函数的具体用法?Golang NewGitDir怎么用?Golang NewGitDir使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewGitDir函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestInstall
func (s *GitDeployerSuite) TestInstall(c *gc.C) {
// Prepare.
info := s.bundles.AddCustomBundle(c, corecharm.MustParseURL("cs:s/c-1"), func(path string) {
err := ioutil.WriteFile(filepath.Join(path, "some-file"), []byte("hello"), 0644)
c.Assert(err, jc.ErrorIsNil)
})
err := s.deployer.Stage(info, nil)
c.Assert(err, jc.ErrorIsNil)
checkCleanup(c, s.deployer)
// Install.
err = s.deployer.Deploy()
c.Assert(err, jc.ErrorIsNil)
checkCleanup(c, s.deployer)
// Check content.
data, err := ioutil.ReadFile(filepath.Join(s.targetPath, "some-file"))
c.Assert(err, jc.ErrorIsNil)
c.Assert(string(data), gc.Equals, "hello")
target := charm.NewGitDir(s.targetPath)
url, err := target.ReadCharmURL()
c.Assert(err, jc.ErrorIsNil)
c.Assert(url, gc.DeepEquals, corecharm.MustParseURL("cs:s/c-1"))
lines, err := target.Log()
c.Assert(err, jc.ErrorIsNil)
c.Assert(lines, gc.HasLen, 2)
c.Assert(lines[0], gc.Matches, `[0-9a-f]{7} Deployed charm "cs:s/c-1"\.`)
c.Assert(lines[1], gc.Matches, `[0-9a-f]{7} Imported charm "cs:s/c-1"\.`)
}
开发者ID:Pankov404,项目名称:juju,代码行数:30,代码来源:git_deployer_test.go
示例2: TestAddCommitPullRevert
func (s *GitDirSuite) TestAddCommitPullRevert(c *gc.C) {
target := charm.NewGitDir(c.MkDir())
err := target.Init()
c.Assert(err, gc.IsNil)
err = ioutil.WriteFile(filepath.Join(target.Path(), "initial"), []byte("initial"), 0644)
c.Assert(err, gc.IsNil)
err = target.WriteCharmURL(curl)
c.Assert(err, gc.IsNil)
err = target.AddAll()
c.Assert(err, gc.IsNil)
dirty, err := target.Dirty()
c.Assert(err, gc.IsNil)
c.Assert(dirty, jc.IsTrue)
err = target.Commitf("initial")
c.Assert(err, gc.IsNil)
dirty, err = target.Dirty()
c.Assert(err, gc.IsNil)
c.Assert(dirty, jc.IsFalse)
source := newRepo(c)
err = target.Pull(source)
c.Assert(err, gc.IsNil)
url, err := target.ReadCharmURL()
c.Assert(err, gc.IsNil)
c.Assert(url, gc.DeepEquals, curl)
fi, err := os.Stat(filepath.Join(target.Path(), "some-dir"))
c.Assert(err, gc.IsNil)
c.Assert(fi, jc.Satisfies, os.FileInfo.IsDir)
data, err := ioutil.ReadFile(filepath.Join(target.Path(), "some-file"))
c.Assert(err, gc.IsNil)
c.Assert(string(data), gc.Equals, "hello")
dirty, err = target.Dirty()
c.Assert(err, gc.IsNil)
c.Assert(dirty, jc.IsFalse)
err = ioutil.WriteFile(filepath.Join(target.Path(), "another-file"), []byte("blah"), 0644)
c.Assert(err, gc.IsNil)
dirty, err = target.Dirty()
c.Assert(err, gc.IsNil)
c.Assert(dirty, jc.IsTrue)
err = source.AddAll()
c.Assert(err, gc.IsNil)
dirty, err = target.Dirty()
c.Assert(err, gc.IsNil)
c.Assert(dirty, jc.IsTrue)
err = target.Revert()
c.Assert(err, gc.IsNil)
_, err = os.Stat(filepath.Join(target.Path(), "some-file"))
c.Assert(err, jc.Satisfies, os.IsNotExist)
_, err = os.Stat(filepath.Join(target.Path(), "some-dir"))
c.Assert(err, jc.Satisfies, os.IsNotExist)
data, err = ioutil.ReadFile(filepath.Join(target.Path(), "initial"))
c.Assert(err, gc.IsNil)
c.Assert(string(data), gc.Equals, "initial")
dirty, err = target.Dirty()
c.Assert(err, gc.IsNil)
c.Assert(dirty, jc.IsFalse)
}
开发者ID:klyachin,项目名称:juju,代码行数:59,代码来源:git_test.go
示例3: TestInitConfig
func (s *GitDirSuite) TestInitConfig(c *gc.C) {
base := c.MkDir()
repo := charm.NewGitDir(filepath.Join(base, "repo"))
err := repo.Init()
c.Assert(err, gc.IsNil)
cmd := exec.Command("git", "config", "--list", "--local")
cmd.Dir = repo.Path()
out, err := cmd.Output()
c.Assert(err, gc.IsNil)
outstr := string(out)
c.Assert(outstr, jc.Contains, "[email protected]")
c.Assert(outstr, jc.Contains, "user.name=juju")
}
开发者ID:klyachin,项目名称:juju,代码行数:14,代码来源:git_test.go
示例4: newRepo
func newRepo(c *gc.C) *charm.GitDir {
repo := charm.NewGitDir(c.MkDir())
err := repo.Init()
c.Assert(err, gc.IsNil)
err = os.Mkdir(filepath.Join(repo.Path(), "some-dir"), 0755)
c.Assert(err, gc.IsNil)
err = ioutil.WriteFile(filepath.Join(repo.Path(), "some-file"), []byte("hello"), 0644)
c.Assert(err, gc.IsNil)
err = repo.AddAll()
c.Assert(err, gc.IsNil)
err = repo.Commitf("im in ur repo committin ur %s", "files")
c.Assert(err, gc.IsNil)
return repo
}
开发者ID:klyachin,项目名称:juju,代码行数:14,代码来源:git_test.go
示例5: TestUpgrade
func (s *GitDeployerSuite) TestUpgrade(c *gc.C) {
// Install.
info1 := s.bundles.AddCustomBundle(c, corecharm.MustParseURL("cs:s/c-1"), func(path string) {
err := ioutil.WriteFile(filepath.Join(path, "some-file"), []byte("hello"), 0644)
c.Assert(err, jc.ErrorIsNil)
err = symlink.New("./some-file", filepath.Join(path, "a-symlink"))
c.Assert(err, jc.ErrorIsNil)
})
err := s.deployer.Stage(info1, nil)
c.Assert(err, jc.ErrorIsNil)
err = s.deployer.Deploy()
c.Assert(err, jc.ErrorIsNil)
// Upgrade.
info2 := s.bundles.AddCustomBundle(c, corecharm.MustParseURL("cs:s/c-2"), func(path string) {
err := ioutil.WriteFile(filepath.Join(path, "some-file"), []byte("goodbye"), 0644)
c.Assert(err, jc.ErrorIsNil)
err = ioutil.WriteFile(filepath.Join(path, "a-symlink"), []byte("not any more!"), 0644)
c.Assert(err, jc.ErrorIsNil)
})
err = s.deployer.Stage(info2, nil)
c.Assert(err, jc.ErrorIsNil)
checkCleanup(c, s.deployer)
err = s.deployer.Deploy()
c.Assert(err, jc.ErrorIsNil)
checkCleanup(c, s.deployer)
// Check content.
data, err := ioutil.ReadFile(filepath.Join(s.targetPath, "some-file"))
c.Assert(err, jc.ErrorIsNil)
c.Assert(string(data), gc.Equals, "goodbye")
data, err = ioutil.ReadFile(filepath.Join(s.targetPath, "a-symlink"))
c.Assert(err, jc.ErrorIsNil)
c.Assert(string(data), gc.Equals, "not any more!")
target := charm.NewGitDir(s.targetPath)
url, err := target.ReadCharmURL()
c.Assert(err, jc.ErrorIsNil)
c.Assert(url, gc.DeepEquals, corecharm.MustParseURL("cs:s/c-2"))
lines, err := target.Log()
c.Assert(err, jc.ErrorIsNil)
c.Assert(lines, gc.HasLen, 5)
c.Assert(lines[0], gc.Matches, `[0-9a-f]{7} Upgraded charm to "cs:s/c-2".`)
}
开发者ID:Pankov404,项目名称:juju,代码行数:44,代码来源:git_deployer_test.go
示例6: TestConflictRevert
func (s *GitDirSuite) TestConflictRevert(c *gc.C) {
source := newRepo(c)
updated, err := source.Clone(c.MkDir())
c.Assert(err, gc.IsNil)
err = ioutil.WriteFile(filepath.Join(updated.Path(), "some-dir"), []byte("hello"), 0644)
c.Assert(err, gc.IsNil)
err = updated.Snapshotf("potential conflict src")
c.Assert(err, gc.IsNil)
conflicted, err := updated.Conflicted()
c.Assert(err, gc.IsNil)
c.Assert(conflicted, jc.IsFalse)
target := charm.NewGitDir(c.MkDir())
err = target.Init()
c.Assert(err, gc.IsNil)
err = target.Pull(source)
c.Assert(err, gc.IsNil)
err = ioutil.WriteFile(filepath.Join(target.Path(), "some-dir", "conflicting-file"), []byte("hello"), 0644)
c.Assert(err, gc.IsNil)
err = target.Snapshotf("potential conflict dst")
c.Assert(err, gc.IsNil)
conflicted, err = target.Conflicted()
c.Assert(err, gc.IsNil)
c.Assert(conflicted, jc.IsFalse)
err = target.Pull(updated)
c.Assert(err, gc.Equals, charm.ErrConflict)
conflicted, err = target.Conflicted()
c.Assert(err, gc.IsNil)
c.Assert(conflicted, jc.IsTrue)
dirty, err := target.Dirty()
c.Assert(err, gc.IsNil)
c.Assert(dirty, jc.IsTrue)
err = target.Revert()
c.Assert(err, gc.IsNil)
conflicted, err = target.Conflicted()
c.Assert(err, gc.IsNil)
c.Assert(conflicted, jc.IsFalse)
dirty, err = target.Dirty()
c.Assert(err, gc.IsNil)
c.Assert(dirty, jc.IsFalse)
}
开发者ID:klyachin,项目名称:juju,代码行数:43,代码来源:git_test.go
示例7: TestCreate
func (s *GitDirSuite) TestCreate(c *gc.C) {
base := c.MkDir()
repo := charm.NewGitDir(filepath.Join(base, "repo"))
exists, err := repo.Exists()
c.Assert(err, gc.IsNil)
c.Assert(exists, jc.IsFalse)
err = ioutil.WriteFile(repo.Path(), nil, 0644)
c.Assert(err, gc.IsNil)
_, err = repo.Exists()
c.Assert(err, gc.ErrorMatches, `".*/repo" is not a directory`)
err = os.Remove(repo.Path())
c.Assert(err, gc.IsNil)
err = os.Chmod(base, 0555)
c.Assert(err, gc.IsNil)
defer os.Chmod(base, 0755)
err = repo.Init()
c.Assert(err, gc.ErrorMatches, ".* permission denied")
exists, err = repo.Exists()
c.Assert(err, gc.IsNil)
c.Assert(exists, jc.IsFalse)
err = os.Chmod(base, 0755)
c.Assert(err, gc.IsNil)
err = repo.Init()
c.Assert(err, gc.IsNil)
exists, err = repo.Exists()
c.Assert(err, gc.IsNil)
c.Assert(exists, jc.IsTrue)
_, err = repo.ReadCharmURL()
c.Assert(err, jc.Satisfies, os.IsNotExist)
err = repo.Init()
c.Assert(err, gc.IsNil)
}
开发者ID:klyachin,项目名称:juju,代码行数:37,代码来源:git_test.go
示例8: TestConflictRevertResolve
func (s *GitDeployerSuite) TestConflictRevertResolve(c *gc.C) {
// Install.
info1 := s.bundles.AddCustomBundle(c, corecharm.MustParseURL("cs:s/c-1"), func(path string) {
err := ioutil.WriteFile(filepath.Join(path, "some-file"), []byte("hello"), 0644)
c.Assert(err, jc.ErrorIsNil)
})
err := s.deployer.Stage(info1, nil)
c.Assert(err, jc.ErrorIsNil)
err = s.deployer.Deploy()
c.Assert(err, jc.ErrorIsNil)
// Mess up target.
err = ioutil.WriteFile(filepath.Join(s.targetPath, "some-file"), []byte("mu!"), 0644)
c.Assert(err, jc.ErrorIsNil)
// Upgrade.
info2 := s.bundles.AddCustomBundle(c, corecharm.MustParseURL("cs:s/c-2"), func(path string) {
err := ioutil.WriteFile(filepath.Join(path, "some-file"), []byte("goodbye"), 0644)
c.Assert(err, jc.ErrorIsNil)
})
err = s.deployer.Stage(info2, nil)
c.Assert(err, jc.ErrorIsNil)
err = s.deployer.Deploy()
c.Assert(err, gc.Equals, charm.ErrConflict)
checkCleanup(c, s.deployer)
// Check state.
target := charm.NewGitDir(s.targetPath)
conflicted, err := target.Conflicted()
c.Assert(err, jc.ErrorIsNil)
c.Assert(conflicted, jc.IsTrue)
// Revert and check initial content.
err = s.deployer.NotifyRevert()
c.Assert(err, jc.ErrorIsNil)
data, err := ioutil.ReadFile(filepath.Join(s.targetPath, "some-file"))
c.Assert(err, jc.ErrorIsNil)
c.Assert(string(data), gc.Equals, "mu!")
conflicted, err = target.Conflicted()
c.Assert(err, jc.ErrorIsNil)
c.Assert(conflicted, jc.IsFalse)
// Try to upgrade again.
err = s.deployer.Deploy()
c.Assert(err, gc.Equals, charm.ErrConflict)
conflicted, err = target.Conflicted()
c.Assert(err, jc.ErrorIsNil)
c.Assert(conflicted, jc.IsTrue)
checkCleanup(c, s.deployer)
// And again.
err = s.deployer.Deploy()
c.Assert(err, gc.Equals, charm.ErrConflict)
conflicted, err = target.Conflicted()
c.Assert(err, jc.ErrorIsNil)
c.Assert(conflicted, jc.IsTrue)
checkCleanup(c, s.deployer)
// Manually resolve, and commit.
err = ioutil.WriteFile(filepath.Join(target.Path(), "some-file"), []byte("nu!"), 0644)
c.Assert(err, jc.ErrorIsNil)
err = s.deployer.NotifyResolved()
c.Assert(err, jc.ErrorIsNil)
conflicted, err = target.Conflicted()
c.Assert(err, jc.ErrorIsNil)
c.Assert(conflicted, jc.IsFalse)
// Try a final upgrade to the same charm and check it doesn't write anything
// except the upgrade log line.
err = s.deployer.Deploy()
c.Assert(err, jc.ErrorIsNil)
checkCleanup(c, s.deployer)
data, err = ioutil.ReadFile(filepath.Join(target.Path(), "some-file"))
c.Assert(err, jc.ErrorIsNil)
c.Assert(string(data), gc.Equals, "nu!")
conflicted, err = target.Conflicted()
c.Assert(err, jc.ErrorIsNil)
c.Assert(conflicted, jc.IsFalse)
lines, err := target.Log()
c.Assert(err, jc.ErrorIsNil)
c.Assert(lines[0], gc.Matches, `[0-9a-f]{7} Upgraded charm to "cs:s/c-2".`)
}
开发者ID:Pankov404,项目名称:juju,代码行数:83,代码来源:git_deployer_test.go
注:本文中的github.com/juju/juju/worker/uniter/charm.NewGitDir函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论