github.com/cloud-green/juju@v0.0.0-20151002100041-a00291338d3d/cmd/jujud/reboot/reboot_test.go (about) 1 package reboot_test 2 3 import ( 4 "os" 5 "path/filepath" 6 stdtesting "testing" 7 8 "github.com/juju/names" 9 "github.com/juju/testing" 10 jc "github.com/juju/testing/checkers" 11 gc "gopkg.in/check.v1" 12 13 "github.com/juju/juju/agent" 14 "github.com/juju/juju/api" 15 // "github.com/juju/juju/apiserver/params" 16 "github.com/juju/juju/cmd/jujud/reboot" 17 jujutesting "github.com/juju/juju/juju/testing" 18 coretesting "github.com/juju/juju/testing" 19 "github.com/juju/juju/version" 20 ) 21 22 func TestAll(t *stdtesting.T) { 23 coretesting.MgoTestPackage(t) 24 } 25 26 type RebootSuite struct { 27 jujutesting.JujuConnSuite 28 29 acfg agent.Config 30 mgoInst testing.MgoInstance 31 st api.Connection 32 33 tmpDir string 34 rebootScriptName string 35 } 36 37 var _ = gc.Suite(&RebootSuite{}) 38 39 func (s *RebootSuite) SetUpTest(c *gc.C) { 40 var err error 41 s.JujuConnSuite.SetUpTest(c) 42 testing.PatchExecutableAsEchoArgs(c, s, rebootBin) 43 s.PatchEnvironment("TEMP", c.MkDir()) 44 45 s.tmpDir = c.MkDir() 46 s.rebootScriptName = "juju-reboot-script" 47 s.PatchValue(reboot.TmpFile, func() (*os.File, error) { 48 script := s.rebootScript(c) 49 return os.Create(script) 50 }) 51 52 s.mgoInst.EnableAuth = true 53 err = s.mgoInst.Start(coretesting.Certs) 54 c.Assert(err, jc.ErrorIsNil) 55 56 configParams := agent.AgentConfigParams{ 57 Paths: agent.Paths{DataDir: c.MkDir()}, 58 Tag: names.NewMachineTag("0"), 59 UpgradedToVersion: version.Current.Number, 60 StateAddresses: []string{s.mgoInst.Addr()}, 61 CACert: coretesting.CACert, 62 Password: "fake", 63 Environment: s.State.EnvironTag(), 64 } 65 s.st, _ = s.OpenAPIAsNewMachine(c) 66 67 s.acfg, err = agent.NewAgentConfig(configParams) 68 c.Assert(err, jc.ErrorIsNil) 69 } 70 71 func (s *RebootSuite) TearDownTest(c *gc.C) { 72 s.mgoInst.Destroy() 73 s.JujuConnSuite.TearDownTest(c) 74 } 75 76 func (s *RebootSuite) rebootScript(c *gc.C) string { 77 return filepath.Join(s.tmpDir, s.rebootScriptName) 78 }