4
. "launchpad.net/gocheck"
5
"launchpad.net/juju-core/juju/testing"
6
"launchpad.net/juju-core/state/api/params"
7
"launchpad.net/juju-core/state/statecmd"
10
type AddUnitsSuite struct {
14
var _ = Suite(&AddUnitsSuite{})
16
var addUnitsTests = []struct {
24
about: "unknown service name",
25
service: "unknown-service",
27
err: `service "unknown-service" not found`,
30
about: "add zero units",
31
service: "dummy-service",
33
err: "must add at least one unit",
36
about: "add one unit",
37
service: "dummy-service",
42
about: "add multiple units",
43
service: "dummy-service",
49
func (s *AddUnitsSuite) TestAddServiceUnits(c *C) {
50
charm := s.AddTestingCharm(c, "dummy")
51
svc, err := s.State.AddService("dummy-service", charm)
54
for i, t := range addUnitsTests {
55
c.Logf("test %d. %s", i, t.about)
56
units, err := statecmd.AddServiceUnits(s.State, params.AddServiceUnits{
57
ServiceName: t.service,
61
c.Assert(err, ErrorMatches, t.err)
64
c.Assert(units, HasLen, t.numUnits)
65
for _, unit := range units {
66
c.Assert(unit.ServiceName(), Equals, t.service)
68
service, err := s.State.Service(t.service)
70
unitCount, err := service.AllUnits()
72
c.Assert(len(unitCount), Equals, t.expectedUnits)