github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/juju/permission/model_test.go (about)

     1  // Copyright 2016 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package permission_test
     5  
     6  import (
     7  	jc "github.com/juju/testing/checkers"
     8  	gc "gopkg.in/check.v1"
     9  
    10  	"github.com/juju/juju/juju/permission"
    11  )
    12  
    13  type permissionSuite struct{}
    14  
    15  var _ = gc.Suite(&permissionSuite{})
    16  
    17  func (s *permissionSuite) TestParseModelAccessValid(c *gc.C) {
    18  	var (
    19  		access permission.ModelAccess
    20  		err    error
    21  	)
    22  
    23  	_, err = permission.ParseModelAccess("")
    24  	c.Check(err, gc.ErrorMatches, "invalid model access permission.*")
    25  
    26  	access, err = permission.ParseModelAccess("read")
    27  	c.Check(err, jc.ErrorIsNil)
    28  	c.Check(access, gc.Equals, permission.ModelReadAccess)
    29  
    30  	access, err = permission.ParseModelAccess("write")
    31  	c.Check(err, jc.ErrorIsNil)
    32  	c.Check(access, gc.Equals, permission.ModelWriteAccess)
    33  
    34  	access, err = permission.ParseModelAccess("orange")
    35  	c.Check(err, gc.ErrorMatches, "invalid model access permission.*")
    36  }
    37  
    38  func (s *permissionSuite) TestParseModelAccessInvalid(c *gc.C) {
    39  	_, err := permission.ParseModelAccess("preposterous")
    40  	c.Check(err, gc.ErrorMatches, "invalid model access permission.*")
    41  }