launchpad.net/~rogpeppe/juju-core/500-errgo-fix@v0.0.0-20140213181702-000000002356/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  	gc "launchpad.net/gocheck"
    10  
    11  	"launchpad.net/juju-core/environs"
    12  	"launchpad.net/juju-core/juju/osenv"
    13  	_ "launchpad.net/juju-core/provider/ec2"
    14  	_ "launchpad.net/juju-core/provider/manual"
    15  	_ "launchpad.net/juju-core/provider/openstack"
    16  )
    17  
    18  type BoilerplateConfigSuite struct {
    19  }
    20  
    21  var _ = gc.Suite(&BoilerplateConfigSuite{})
    22  
    23  func (*BoilerplateConfigSuite) TestBoilerPlateGeneration(c *gc.C) {
    24  	defer osenv.SetJujuHome(osenv.SetJujuHome(c.MkDir()))
    25  	boilerplate_text := environs.BoilerplateConfig()
    26  	_, err := environs.ReadEnvironsBytes([]byte(boilerplate_text))
    27  	c.Assert(err, gc.IsNil)
    28  }
    29  
    30  func (*BoilerplateConfigSuite) TestBoilerPlateAliases(c *gc.C) {
    31  	defer osenv.SetJujuHome(osenv.SetJujuHome(c.MkDir()))
    32  	boilerplate_text := environs.BoilerplateConfig()
    33  	// There should be only one occurrence of "manual", despite
    34  	// there being an alias ("null"). There should be nothing for
    35  	// aliases.
    36  	n := strings.Count(boilerplate_text, "type: manual")
    37  	c.Assert(n, gc.Equals, 1)
    38  	n = strings.Count(boilerplate_text, "type: null")
    39  	c.Assert(n, gc.Equals, 0)
    40  }