46
46
status, err := client.Status(nil)
47
47
c.Assert(err, jc.ErrorIsNil)
48
48
c.Check(status.Model.Name, gc.Equals, "controller")
49
c.Check(status.Model.Cloud, gc.Equals, "dummy")
49
c.Check(status.Model.CloudTag, gc.Equals, "cloud-dummy")
50
50
c.Check(status.Applications, gc.HasLen, 0)
51
51
c.Check(status.Machines, gc.HasLen, 1)
52
52
resultMachine, ok := status.Machines[machine.Id()]
119
119
func (s *statusUnitTestSuite) TestMeterStatus(c *gc.C) {
120
service := s.Factory.MakeApplication(c, nil)
120
meteredCharm := s.Factory.MakeCharm(c, &factory.CharmParams{Name: "metered", URL: "cs:quantal/metered"})
121
service := s.Factory.MakeApplication(c, &factory.ApplicationParams{Charm: meteredCharm})
123
units, err := service.AllUnits()
124
c.Assert(err, jc.ErrorIsNil)
125
c.Assert(units, gc.HasLen, 0)
127
for i, unit := range testUnits {
128
u, err := service.AddUnit()
129
testUnits[i].unitName = u.Name()
130
c.Assert(err, jc.ErrorIsNil)
131
if unit.setStatus != nil {
132
err := u.SetMeterStatus(unit.setStatus.Code.String(), unit.setStatus.Info)
133
c.Assert(err, jc.ErrorIsNil)
137
client := s.APIState.Client()
138
status, err := client.Status(nil)
139
c.Assert(err, jc.ErrorIsNil)
140
c.Assert(status, gc.NotNil)
141
serviceStatus, ok := status.Applications[service.Name()]
142
c.Assert(ok, gc.Equals, true)
144
c.Assert(serviceStatus.MeterStatuses, gc.HasLen, len(testUnits)-1)
145
for _, unit := range testUnits {
146
unitStatus, ok := serviceStatus.MeterStatuses[unit.unitName]
148
if unit.expectedStatus != nil {
149
c.Assert(ok, gc.Equals, true)
150
c.Assert(&unitStatus, gc.DeepEquals, unit.expectedStatus)
152
c.Assert(ok, gc.Equals, false)
157
func (s *statusUnitTestSuite) TestNoMeterStatusWhenNotRequired(c *gc.C) {
158
service := s.Factory.MakeApplication(c, nil)
160
units, err := service.AllUnits()
161
c.Assert(err, jc.ErrorIsNil)
162
c.Assert(units, gc.HasLen, 0)
164
for i, unit := range testUnits {
165
u, err := service.AddUnit()
166
testUnits[i].unitName = u.Name()
167
c.Assert(err, jc.ErrorIsNil)
168
if unit.setStatus != nil {
169
err := u.SetMeterStatus(unit.setStatus.Code.String(), unit.setStatus.Info)
170
c.Assert(err, jc.ErrorIsNil)
174
client := s.APIState.Client()
175
status, err := client.Status(nil)
176
c.Assert(err, jc.ErrorIsNil)
177
c.Assert(status, gc.NotNil)
178
serviceStatus, ok := status.Applications[service.Name()]
179
c.Assert(ok, gc.Equals, true)
181
c.Assert(serviceStatus.MeterStatuses, gc.HasLen, 0)
184
func (s *statusUnitTestSuite) TestMeterStatusWithCredentials(c *gc.C) {
185
service := s.Factory.MakeApplication(c, nil)
186
c.Assert(service.SetMetricCredentials([]byte("magic-ticket")), jc.ErrorIsNil)
122
188
units, err := service.AllUnits()
123
189
c.Assert(err, jc.ErrorIsNil)