github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/api/backups/remove_test.go (about)

     1  // Copyright 2014 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package backups_test
     5  
     6  import (
     7  	jc "github.com/juju/testing/checkers"
     8  	gc "gopkg.in/check.v1"
     9  
    10  	"github.com/juju/juju/api/backups"
    11  	"github.com/juju/juju/apiserver/params"
    12  )
    13  
    14  type removeSuite struct {
    15  	backupsSuite
    16  }
    17  
    18  var _ = gc.Suite(&removeSuite{})
    19  
    20  func (s *removeSuite) TestRemove(c *gc.C) {
    21  	cleanup := backups.PatchClientFacadeCall(s.client,
    22  		func(req string, paramsIn interface{}, resp interface{}) error {
    23  			c.Check(req, gc.Equals, "Remove")
    24  			c.Assert(paramsIn, gc.FitsTypeOf, params.BackupsRemoveArgs{})
    25  			c.Assert(resp, gc.FitsTypeOf, &params.ErrorResults{})
    26  			resp.(*params.ErrorResults).Results = []params.ErrorResult{{Error: nil}}
    27  			return nil
    28  		},
    29  	)
    30  	defer cleanup()
    31  
    32  	result, err := s.client.Remove(s.Meta.ID())
    33  	c.Assert(err, jc.ErrorIsNil)
    34  	c.Assert(result, gc.FitsTypeOf, []params.ErrorResult{})
    35  }
    36  
    37  func (s *removeSuite) TestRemoveErrorExpectedResult(c *gc.C) {
    38  	cleanup := backups.PatchClientFacadeCall(s.client,
    39  		func(req string, paramsIn interface{}, resp interface{}) error {
    40  			c.Check(req, gc.Equals, "Remove")
    41  			c.Assert(paramsIn, gc.FitsTypeOf, params.BackupsRemoveArgs{})
    42  			c.Assert(resp, gc.FitsTypeOf, &params.ErrorResults{})
    43  			return nil
    44  		},
    45  	)
    46  	defer cleanup()
    47  
    48  	result, err := s.client.Remove(s.Meta.ID())
    49  	c.Assert(err, gc.ErrorMatches, "expected 1 result\\(s\\), got 0")
    50  	c.Assert(result, gc.IsNil)
    51  }