github.com/rogpeppe/juju@v0.0.0-20140613142852-6337964b789e/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 gitjujutesting "github.com/juju/testing" 8 gc "launchpad.net/gocheck" 9 10 coretesting "github.com/juju/juju/testing" 11 "github.com/juju/juju/worker/peergrouper" 12 ) 13 14 type InitiateSuite struct { 15 coretesting.BaseSuite 16 } 17 18 var _ = gc.Suite(&InitiateSuite{}) 19 20 // TODO(natefinch) add a test that InitiateMongoServer works when 21 // we support upgrading of existing environments. 22 23 func (s *InitiateSuite) TestInitiateReplicaSet(c *gc.C) { 24 var err error 25 inst := &gitjujutesting.MgoInstance{Params: []string{"--replSet", "juju"}} 26 err = inst.Start(coretesting.Certs) 27 c.Assert(err, gc.IsNil) 28 defer inst.Destroy() 29 30 info := inst.DialInfo() 31 args := peergrouper.InitiateMongoParams{ 32 DialInfo: info, 33 MemberHostPort: inst.Addr(), 34 } 35 36 err = peergrouper.MaybeInitiateMongoServer(args) 37 c.Assert(err, gc.IsNil) 38 39 // This would return a mgo.QueryError if a ReplicaSet 40 // configuration already existed but we tried to create 41 // one with replicaset.Initiate again. 42 err = peergrouper.MaybeInitiateMongoServer(args) 43 c.Assert(err, gc.IsNil) 44 45 // TODO test login 46 }