launchpad.net/~rogpeppe/juju-core/500-errgo-fix@v0.0.0-20140213181702-000000002356/testing/environ_test.go (about) 1 // Copyright 2013 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 gc "launchpad.net/gocheck" 11 12 "launchpad.net/juju-core/juju/osenv" 13 "launchpad.net/juju-core/testing" 14 ) 15 16 type TestingEnvironSuite struct { 17 home string 18 jujuHome string 19 } 20 21 var _ = gc.Suite(&TestingEnvironSuite{}) 22 23 func (s *TestingEnvironSuite) SetUpTest(c *gc.C) { 24 s.home = osenv.Home() 25 s.jujuHome = os.Getenv("JUJU_HOME") 26 27 osenv.SetHome("/home/eric") 28 os.Setenv("JUJU_HOME", "/home/eric/juju") 29 osenv.SetJujuHome("/home/eric/juju") 30 } 31 32 func (s *TestingEnvironSuite) TearDownTest(c *gc.C) { 33 osenv.SetHome(s.home) 34 os.Setenv("JUJU_HOME", s.jujuHome) 35 } 36 37 func (s *TestingEnvironSuite) TestFakeHomeReplacesEnvironment(c *gc.C) { 38 _ = testing.MakeEmptyFakeHome(c) 39 c.Assert(osenv.Home(), gc.Not(gc.Equals), "/home/eric") 40 c.Assert(os.Getenv("JUJU_HOME"), gc.Equals, "") 41 c.Assert(osenv.JujuHome(), gc.Not(gc.Equals), "/home/eric/juju") 42 } 43 44 func (s *TestingEnvironSuite) TestFakeHomeRestoresEnvironment(c *gc.C) { 45 fake := testing.MakeEmptyFakeHome(c) 46 fake.Restore() 47 c.Assert(osenv.Home(), gc.Equals, "/home/eric") 48 c.Assert(os.Getenv("JUJU_HOME"), gc.Equals, "/home/eric/juju") 49 c.Assert(osenv.JujuHome(), gc.Equals, "/home/eric/juju") 50 } 51 52 func (s *TestingEnvironSuite) TestFakeHomeSetsConfigJujuHome(c *gc.C) { 53 _ = testing.MakeEmptyFakeHome(c) 54 expected := filepath.Join(osenv.Home(), ".juju") 55 c.Assert(osenv.JujuHome(), gc.Equals, expected) 56 }