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, ¶ms.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, ¶ms.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 }