github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/juju/osenv/home_test.go (about) 1 // Copyright 2013 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package osenv_test 5 6 import ( 7 "path/filepath" 8 9 jc "github.com/juju/testing/checkers" 10 gc "gopkg.in/check.v1" 11 12 "github.com/juju/juju/juju/osenv" 13 "github.com/juju/juju/testing" 14 ) 15 16 type JujuXDGDataHomeSuite struct { 17 testing.BaseSuite 18 } 19 20 var _ = gc.Suite(&JujuXDGDataHomeSuite{}) 21 22 func (s *JujuXDGDataHomeSuite) TestStandardHome(c *gc.C) { 23 testJujuXDGDataHome := c.MkDir() 24 osenv.SetJujuXDGDataHome(testJujuXDGDataHome) 25 c.Assert(osenv.JujuXDGDataHome(), gc.Equals, testJujuXDGDataHome) 26 } 27 28 func (s *JujuXDGDataHomeSuite) TestErrorHome(c *gc.C) { 29 // Invalid juju home leads to panic when retrieving. 30 f := func() { _ = osenv.JujuXDGDataHome() } 31 c.Assert(f, gc.PanicMatches, "juju home hasn't been initialized") 32 f = func() { _ = osenv.JujuXDGDataHomePath("current-environment") } 33 c.Assert(f, gc.PanicMatches, "juju home hasn't been initialized") 34 } 35 36 func (s *JujuXDGDataHomeSuite) TestHomePath(c *gc.C) { 37 testJujuHome := c.MkDir() 38 osenv.SetJujuXDGDataHome(testJujuHome) 39 envPath := osenv.JujuXDGDataHomePath("current-environment") 40 c.Assert(envPath, gc.Equals, filepath.Join(testJujuHome, "current-environment")) 41 } 42 43 func (s *JujuXDGDataHomeSuite) TestIsHomeSet(c *gc.C) { 44 c.Assert(osenv.IsJujuXDGDataHomeSet(), jc.IsFalse) 45 osenv.SetJujuXDGDataHome(c.MkDir()) 46 c.Assert(osenv.IsJujuXDGDataHomeSet(), jc.IsTrue) 47 }