github.com/mattyw/juju@v0.0.0-20140610034352-732aecd63861/worker/peergrouper/initiate_test.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package peergrouper_test 5 6 import ( 7 gc "launchpad.net/gocheck" 8 9 coretesting "github.com/juju/juju/testing" 10 "github.com/juju/juju/worker/peergrouper" 11 ) 12 13 type InitiateSuite struct { 14 coretesting.BaseSuite 15 } 16 17 var _ = gc.Suite(&InitiateSuite{}) 18 19 // TODO(natefinch) add a test that InitiateMongoServer works when 20 // we support upgrading of existing environments. 21 22 func (s *InitiateSuite) TestInitiateReplicaSet(c *gc.C) { 23 var err error 24 inst := &coretesting.MgoInstance{Params: []string{"--replSet", "juju"}} 25 err = inst.Start(true) 26 c.Assert(err, gc.IsNil) 27 defer inst.Destroy() 28 29 info := inst.DialInfo() 30 args := peergrouper.InitiateMongoParams{ 31 DialInfo: info, 32 MemberHostPort: inst.Addr(), 33 } 34 35 err = peergrouper.MaybeInitiateMongoServer(args) 36 c.Assert(err, gc.IsNil) 37 38 // This would return a mgo.QueryError if a ReplicaSet 39 // configuration already existed but we tried to create 40 // one with replicaset.Initiate again. 41 err = peergrouper.MaybeInitiateMongoServer(args) 42 c.Assert(err, gc.IsNil) 43 44 // TODO test login 45 }