launchpad.net/~rogpeppe/juju-core/500-errgo-fix@v0.0.0-20140213181702-000000002356/container/testing/common.go (about) 1 // Copyright 2013 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package testing 5 6 import ( 7 "io/ioutil" 8 9 gc "launchpad.net/gocheck" 10 11 "launchpad.net/juju-core/container" 12 "launchpad.net/juju-core/environs" 13 "launchpad.net/juju-core/instance" 14 jujutesting "launchpad.net/juju-core/juju/testing" 15 jc "launchpad.net/juju-core/testing/checkers" 16 "launchpad.net/juju-core/tools" 17 "launchpad.net/juju-core/version" 18 ) 19 20 func StartContainer(c *gc.C, manager container.Manager, machineId string) instance.Instance { 21 stateInfo := jujutesting.FakeStateInfo(machineId) 22 apiInfo := jujutesting.FakeAPIInfo(machineId) 23 machineConfig := environs.NewMachineConfig(machineId, "fake-nonce", stateInfo, apiInfo) 24 machineConfig.SyslogPort = 2345 25 machineConfig.Tools = &tools.Tools{ 26 Version: version.MustParseBinary("2.3.4-foo-bar"), 27 URL: "http://tools.testing.invalid/2.3.4-foo-bar.tgz", 28 } 29 30 series := "series" 31 network := container.BridgeNetworkConfig("nic42") 32 inst, hardware, err := manager.StartContainer(machineConfig, series, network) 33 c.Assert(err, gc.IsNil) 34 c.Assert(hardware, gc.NotNil) 35 c.Assert(hardware.String(), gc.Not(gc.Equals), "") 36 return inst 37 } 38 39 func AssertCloudInit(c *gc.C, filename string) []byte { 40 c.Assert(filename, jc.IsNonEmptyFile) 41 data, err := ioutil.ReadFile(filename) 42 c.Assert(err, gc.IsNil) 43 c.Assert(string(data), jc.HasPrefix, "#cloud-config\n") 44 return data 45 }