launchpad.net/~rogpeppe/juju-core/500-errgo-fix@v0.0.0-20140213181702-000000002356/cmd/juju/destroyunit_test.go (about) 1 // Copyright 2012, 2013 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package main 5 6 import ( 7 gc "launchpad.net/gocheck" 8 9 "launchpad.net/juju-core/charm" 10 jujutesting "launchpad.net/juju-core/juju/testing" 11 "launchpad.net/juju-core/state" 12 "launchpad.net/juju-core/testing" 13 ) 14 15 type DestroyUnitSuite struct { 16 jujutesting.RepoSuite 17 } 18 19 var _ = gc.Suite(&DestroyUnitSuite{}) 20 21 func runDestroyUnit(c *gc.C, args ...string) error { 22 _, err := testing.RunCommand(c, &DestroyUnitCommand{}, args) 23 return err 24 } 25 26 func (s *DestroyUnitSuite) TestDestroyUnit(c *gc.C) { 27 testing.Charms.BundlePath(s.SeriesPath, "dummy") 28 err := runDeploy(c, "-n", "2", "local:dummy", "dummy") 29 c.Assert(err, gc.IsNil) 30 curl := charm.MustParseURL("local:precise/dummy-1") 31 svc, _ := s.AssertService(c, "dummy", curl, 2, 0) 32 33 err = runDestroyUnit(c, "dummy/0", "dummy/1", "dummy/2", "sillybilly/17") 34 c.Assert(err, gc.ErrorMatches, `some units were not destroyed: unit "dummy/2" does not exist; unit "sillybilly/17" does not exist`) 35 units, err := svc.AllUnits() 36 c.Assert(err, gc.IsNil) 37 for _, u := range units { 38 c.Assert(u.Life(), gc.Equals, state.Dying) 39 } 40 }