github.com/mattyw/juju@v0.0.0-20140610034352-732aecd63861/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 "github.com/juju/juju/environs" 12 "github.com/juju/juju/juju/osenv" 13 _ "github.com/juju/juju/provider/ec2" 14 _ "github.com/juju/juju/provider/manual" 15 _ "github.com/juju/juju/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 }