github.com/wallyworld/juju@v0.0.0-20161013125918-6cf1bc9d917a/apiserver/restrict_restore_test.go (about) 1 // Copyright 2016 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package apiserver_test 5 6 import ( 7 _ "github.com/juju/testing/checkers" 8 jc "github.com/juju/testing/checkers" 9 gc "gopkg.in/check.v1" 10 11 "github.com/juju/juju/apiserver" 12 "github.com/juju/juju/testing" 13 ) 14 15 type restrictRestoreSuite struct { 16 testing.BaseSuite 17 } 18 19 var _ = gc.Suite(&restrictRestoreSuite{}) 20 21 func (r *restrictRestoreSuite) TestAllowed(c *gc.C) { 22 root := apiserver.TestingAboutToRestoreRoot() 23 caller, err := root.FindMethod("Backups", 1, "Restore") 24 c.Assert(err, jc.ErrorIsNil) 25 c.Assert(caller, gc.NotNil) 26 } 27 28 func (r *restrictRestoreSuite) TestNotAllowed(c *gc.C) { 29 root := apiserver.TestingAboutToRestoreRoot() 30 caller, err := root.FindMethod("Application", 1, "Deploy") 31 c.Assert(err, gc.ErrorMatches, "juju restore is in progress - functionality is limited to avoid data loss") 32 c.Assert(caller, gc.IsNil) 33 }