github.com/cloud-green/juju@v0.0.0-20151002100041-a00291338d3d/environs/boilerplate_config_test.go (about)

     1  // Copyright 2013 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package environs_test
     5  
     6  import (
     7  	"strings"
     8  
     9  	jc "github.com/juju/testing/checkers"
    10  	gc "gopkg.in/check.v1"
    11  
    12  	"github.com/juju/juju/environs"
    13  	"github.com/juju/juju/juju/osenv"
    14  	_ "github.com/juju/juju/provider/ec2"
    15  	_ "github.com/juju/juju/provider/manual"
    16  	_ "github.com/juju/juju/provider/openstack"
    17  )
    18  
    19  type BoilerplateConfigSuite struct {
    20  }
    21  
    22  var _ = gc.Suite(&BoilerplateConfigSuite{})
    23  
    24  func (*BoilerplateConfigSuite) TestBoilerPlateGeneration(c *gc.C) {
    25  	defer osenv.SetJujuHome(osenv.SetJujuHome(c.MkDir()))
    26  	boilerplate_text := environs.BoilerplateConfig()
    27  	_, err := environs.ReadEnvironsBytes([]byte(boilerplate_text))
    28  	c.Assert(err, jc.ErrorIsNil)
    29  }
    30  
    31  func (*BoilerplateConfigSuite) TestBoilerPlateAliases(c *gc.C) {
    32  	defer osenv.SetJujuHome(osenv.SetJujuHome(c.MkDir()))
    33  	boilerplate_text := environs.BoilerplateConfig()
    34  	// There should be only one occurrence of "manual", despite
    35  	// there being an alias ("null"). There should be nothing for
    36  	// aliases.
    37  	n := strings.Count(boilerplate_text, "type: manual")
    38  	c.Assert(n, gc.Equals, 1)
    39  	n = strings.Count(boilerplate_text, "type: null")
    40  	c.Assert(n, gc.Equals, 0)
    41  }