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  }