github.com/altoros/juju-vmware@v0.0.0-20150312064031-f19ae857ccca/testing/environ_test.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package testing_test 5 6 import ( 7 "os" 8 "path/filepath" 9 10 "github.com/juju/names" 11 gitjujutesting "github.com/juju/testing" 12 jc "github.com/juju/testing/checkers" 13 "github.com/juju/utils" 14 gc "gopkg.in/check.v1" 15 16 "github.com/juju/juju/juju/osenv" 17 "github.com/juju/juju/testing" 18 ) 19 20 type fakeHomeSuite struct { 21 testing.FakeJujuHomeSuite 22 } 23 24 var _ = gc.Suite(&fakeHomeSuite{}) 25 26 func (s *fakeHomeSuite) SetUpTest(c *gc.C) { 27 utils.SetHome(home) 28 os.Setenv("JUJU_HOME", jujuHome) 29 osenv.SetJujuHome(jujuHome) 30 31 s.FakeJujuHomeSuite.SetUpTest(c) 32 } 33 34 func (s *fakeHomeSuite) TearDownTest(c *gc.C) { 35 s.FakeJujuHomeSuite.TearDownTest(c) 36 37 // Test that the environment is restored. 38 c.Assert(utils.Home(), gc.Equals, jujuHome) 39 c.Assert(os.Getenv("JUJU_HOME"), gc.Equals, jujuHome) 40 c.Assert(osenv.JujuHome(), gc.Equals, jujuHome) 41 } 42 43 func (s *fakeHomeSuite) TestFakeHomeSetsUpJujuHome(c *gc.C) { 44 jujuDir := gitjujutesting.HomePath(".juju") 45 c.Assert(jujuDir, jc.IsDirectory) 46 envFile := filepath.Join(jujuDir, "environments.yaml") 47 c.Assert(envFile, jc.IsNonEmptyFile) 48 } 49 50 func (s *fakeHomeSuite) TestFakeHomeSetsConfigJujuHome(c *gc.C) { 51 expected := filepath.Join(utils.Home(), ".juju") 52 c.Assert(osenv.JujuHome(), gc.Equals, expected) 53 } 54 55 func (s *fakeHomeSuite) TestEnvironmentTagValid(c *gc.C) { 56 asString := testing.EnvironmentTag.String() 57 tag, err := names.ParseEnvironTag(asString) 58 c.Assert(err, jc.ErrorIsNil) 59 c.Assert(tag, gc.Equals, testing.EnvironmentTag) 60 }