github.com/axw/juju@v0.0.0-20161005053422-4bd6544d08d4/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/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 31 if result, ok := resp.(*params.BackupsMetadataResult); ok { 32 *result = apiserverbackups.ResultFromMetadata(s.Meta) 33 result.Notes = p.Notes 34 } else { 35 c.Fatalf("wrong output structure") 36 } 37 return nil 38 }, 39 ) 40 defer cleanup() 41 42 result, err := s.client.Create("important") 43 c.Assert(err, jc.ErrorIsNil) 44 45 meta := backupstesting.UpdateNotes(s.Meta, "important") 46 s.checkMetadataResult(c, result, meta) 47 }