~ubuntu-branches/ubuntu/saucy/juju-core/saucy-updates

« back to all changes in this revision

Viewing changes to src/launchpad.net/juju-core/state/apiserver/upgrader/upgrader_test.go

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2013-09-03 14:22:22 UTC
  • mfrom: (1.1.7)
  • Revision ID: package-import@ubuntu.com-20130903142222-9mes2r8wqr0bs7lp
Tags: 1.13.3-0ubuntu1
New upstream point release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
222
222
        c.Check(realTools.Version.Build, gc.Equals, cur.Build)
223
223
        c.Check(realTools.URL, gc.Equals, "")
224
224
}
 
225
 
 
226
func (s *upgraderSuite) TestDesiredVersionNothing(c *gc.C) {
 
227
        // Not an error to watch nothing
 
228
        results, err := s.upgrader.DesiredVersion(params.Entities{})
 
229
        c.Assert(err, gc.IsNil)
 
230
        c.Check(results.Results, gc.HasLen, 0)
 
231
}
 
232
 
 
233
func (s *upgraderSuite) TestDesiredVersionRefusesWrongAgent(c *gc.C) {
 
234
        anAuthorizer := s.authorizer
 
235
        anAuthorizer.Tag = "machine-12354"
 
236
        anUpgrader, err := upgrader.NewUpgraderAPI(s.State, s.resources, anAuthorizer)
 
237
        c.Check(err, gc.IsNil)
 
238
        args := params.Entities{
 
239
                Entities: []params.Entity{{Tag: s.rawMachine.Tag()}},
 
240
        }
 
241
        results, err := anUpgrader.DesiredVersion(args)
 
242
        // It is not an error to make the request, but the specific item is rejected
 
243
        c.Assert(err, gc.IsNil)
 
244
        c.Check(results.Results, gc.HasLen, 1)
 
245
        toolResult := results.Results[0]
 
246
        c.Assert(toolResult.Error, gc.DeepEquals, apiservertesting.ErrUnauthorized)
 
247
}
 
248
 
 
249
func (s *upgraderSuite) TestDesiredVersionNoticesMixedAgents(c *gc.C) {
 
250
        args := params.Entities{Entities: []params.Entity{
 
251
                {Tag: s.rawMachine.Tag()},
 
252
                {Tag: "machine-12345"},
 
253
        }}
 
254
        results, err := s.upgrader.DesiredVersion(args)
 
255
        c.Assert(err, gc.IsNil)
 
256
        c.Check(results.Results, gc.HasLen, 2)
 
257
        c.Assert(results.Results[0].Error, gc.IsNil)
 
258
        agentVersion := results.Results[0].Version
 
259
        c.Assert(agentVersion, gc.NotNil)
 
260
        c.Check(*agentVersion, gc.DeepEquals, version.Current.Number)
 
261
 
 
262
        c.Assert(results.Results[1].Error, gc.DeepEquals, apiservertesting.ErrUnauthorized)
 
263
        c.Assert(results.Results[1].Version, gc.IsNil)
 
264
 
 
265
}
 
266
 
 
267
func (s *upgraderSuite) TestDesiredVersionForAgent(c *gc.C) {
 
268
        args := params.Entities{Entities: []params.Entity{{Tag: s.rawMachine.Tag()}}}
 
269
        results, err := s.upgrader.DesiredVersion(args)
 
270
        c.Assert(err, gc.IsNil)
 
271
        c.Check(results.Results, gc.HasLen, 1)
 
272
        c.Assert(results.Results[0].Error, gc.IsNil)
 
273
        agentVersion := results.Results[0].Version
 
274
        c.Assert(agentVersion, gc.NotNil)
 
275
        c.Check(*agentVersion, gc.DeepEquals, version.Current.Number)
 
276
}