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  }