github.com/mattyw/juju@v0.0.0-20140610034352-732aecd63861/cmd/juju/removeuser_test.go (about)

     1  // Copyright 2014 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package main
     5  
     6  import (
     7  	gc "launchpad.net/gocheck"
     8  
     9  	"github.com/juju/juju/cmd/envcmd"
    10  	jujutesting "github.com/juju/juju/juju/testing"
    11  	"github.com/juju/juju/testing"
    12  )
    13  
    14  type RemoveUserSuite struct {
    15  	jujutesting.RepoSuite
    16  }
    17  
    18  var _ = gc.Suite(&RemoveUserSuite{})
    19  
    20  func (s *RemoveUserSuite) TestRemoveUser(c *gc.C) {
    21  	_, err := testing.RunCommand(c, envcmd.Wrap(&UserAddCommand{}), "foobar")
    22  	c.Assert(err, gc.IsNil)
    23  
    24  	_, err = testing.RunCommand(c, envcmd.Wrap(&RemoveUserCommand{}), "foobar")
    25  	c.Assert(err, gc.IsNil)
    26  }
    27  
    28  func (s *RemoveUserSuite) TestTooManyArgs(c *gc.C) {
    29  	_, err := testing.RunCommand(c, envcmd.Wrap(&RemoveUserCommand{}), "foobar", "password")
    30  	c.Assert(err, gc.ErrorMatches, `unrecognized args: \["password"\]`)
    31  }
    32  
    33  func (s *RemoveUserSuite) TestNotEnoughArgs(c *gc.C) {
    34  	_, err := testing.RunCommand(c, envcmd.Wrap(&RemoveUserCommand{}))
    35  	c.Assert(err, gc.ErrorMatches, `no username supplied`)
    36  }