github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/api/client/backups/create_test.go (about)

     1  // Copyright 2014 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package backups
     5  
     6  import (
     7  	jc "github.com/juju/testing/checkers"
     8  	"go.uber.org/mock/gomock"
     9  	gc "gopkg.in/check.v1"
    10  
    11  	apiserverbackups "github.com/juju/juju/apiserver/facades/client/backups"
    12  	"github.com/juju/juju/rpc/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  	defer s.setupMocks(c).Finish()
    24  
    25  	arg := params.BackupsCreateArgs{
    26  		Notes:      "important",
    27  		NoDownload: true,
    28  	}
    29  	meta := backupstesting.NewMetadata()
    30  	result := apiserverbackups.CreateResult(meta, "test-filename")
    31  	result.Notes = arg.Notes
    32  
    33  	s.facade.EXPECT().FacadeCall("Create", arg, gomock.Any()).SetArg(2, result)
    34  
    35  	client := s.newClient()
    36  	got, err := client.Create("important", true)
    37  	c.Assert(err, jc.ErrorIsNil)
    38  	c.Log(got)
    39  	resultMeta := backupstesting.UpdateNotes(meta, "important")
    40  	s.checkMetadataResult(c, got, resultMeta)
    41  }