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  }