github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/api/backups/info_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  )
    14  
    15  type infoSuite struct {
    16  	baseSuite
    17  }
    18  
    19  var _ = gc.Suite(&infoSuite{})
    20  
    21  func (s *infoSuite) TestInfo(c *gc.C) {
    22  	cleanup := backups.PatchClientFacadeCall(s.client,
    23  		func(req string, paramsIn interface{}, resp interface{}) error {
    24  			c.Check(req, gc.Equals, "Info")
    25  
    26  			c.Assert(paramsIn, gc.FitsTypeOf, params.BackupsInfoArgs{})
    27  			p := paramsIn.(params.BackupsInfoArgs)
    28  			c.Check(p.ID, gc.Equals, "spam")
    29  
    30  			if result, ok := resp.(*params.BackupsMetadataResult); ok {
    31  				*result = apiserverbackups.CreateResult(s.Meta, "test-filename")
    32  			} else {
    33  				c.Fatalf("wrong output structure")
    34  			}
    35  			return nil
    36  		},
    37  	)
    38  	defer cleanup()
    39  
    40  	result, err := s.client.Info("spam")
    41  	c.Assert(err, jc.ErrorIsNil)
    42  
    43  	s.checkMetadataResult(c, result, s.Meta)
    44  }