github.com/altoros/juju-vmware@v0.0.0-20150312064031-f19ae857ccca/upgrades/instance_test.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package upgrades_test 5 6 import ( 7 jc "github.com/juju/testing/checkers" 8 gc "gopkg.in/check.v1" 9 10 "github.com/juju/juju/instance" 11 "github.com/juju/juju/state" 12 "github.com/juju/juju/testing" 13 "github.com/juju/juju/upgrades" 14 ) 15 16 type instanceSuite struct { 17 testing.FakeJujuHomeSuite 18 ctx upgrades.Context 19 } 20 21 var _ = gc.Suite(&instanceSuite{}) 22 23 func (s *instanceSuite) SetUpTest(c *gc.C) { 24 s.FakeJujuHomeSuite.SetUpTest(c) 25 26 s.ctx = &mockContext{} 27 } 28 29 func (s *instanceSuite) TestAddAvaililityZoneToInstanceData(c *gc.C) { 30 var stArg *state.State 31 s.PatchValue(upgrades.AddAZToInstData, 32 func(st *state.State, azFunc func(*state.State, instance.Id) (string, error)) error { 33 stArg = st 34 // We can't compare functions for equality so we trust that 35 // azFunc is correct. 36 return nil 37 }, 38 ) 39 40 err := upgrades.AddAvaililityZoneToInstanceData(s.ctx) 41 c.Assert(err, jc.ErrorIsNil) 42 43 c.Check(stArg, gc.Equals, s.ctx.State()) 44 }