github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/api/backups/create_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 apiserverbackups "github.com/juju/juju/apiserver/facades/client/backups" 12 "github.com/juju/juju/apiserver/params" 13 backupstesting "github.com/juju/juju/state/backups/testing" 14 ) 15 16 type createSuite struct { 17 baseSuite 18 } 19 20 var _ = gc.Suite(&createSuite{}) 21 22 func (s *createSuite) TestCreate(c *gc.C) { 23 cleanup := backups.PatchClientFacadeCall(s.client, 24 func(req string, paramsIn interface{}, resp interface{}) error { 25 c.Check(req, gc.Equals, "Create") 26 27 c.Assert(paramsIn, gc.FitsTypeOf, params.BackupsCreateArgs{}) 28 p := paramsIn.(params.BackupsCreateArgs) 29 c.Check(p.Notes, gc.Equals, "important") 30 c.Check(p.KeepCopy, jc.IsFalse) 31 c.Check(p.NoDownload, jc.IsFalse) 32 33 if result, ok := resp.(*params.BackupsMetadataResult); ok { 34 *result = apiserverbackups.CreateResult(s.Meta, "test-filename") 35 result.Notes = p.Notes 36 } else { 37 c.Fatalf("wrong output structure") 38 } 39 return nil 40 }, 41 ) 42 defer cleanup() 43 44 result, err := s.client.Create("important", false, false) 45 c.Assert(err, jc.ErrorIsNil) 46 c.Log(result) 47 meta := backupstesting.UpdateNotes(s.Meta, "important") 48 s.checkMetadataResult(c, result, meta) 49 }