github.com/axw/juju@v0.0.0-20161005053422-4bd6544d08d4/api/backups/list_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  )
    14  
    15  type listSuite struct {
    16  	baseSuite
    17  }
    18  
    19  var _ = gc.Suite(&listSuite{})
    20  
    21  func (s *listSuite) TestList(c *gc.C) {
    22  	cleanup := backups.PatchClientFacadeCall(s.client,
    23  		func(req string, paramsIn interface{}, resp interface{}) error {
    24  			c.Check(req, gc.Equals, "List")
    25  
    26  			c.Assert(paramsIn, gc.FitsTypeOf, params.BackupsListArgs{})
    27  
    28  			if result, ok := resp.(*params.BackupsListResult); ok {
    29  				result.List = make([]params.BackupsMetadataResult, 1)
    30  				result.List[0] = apiserverbackups.ResultFromMetadata(s.Meta)
    31  			} else {
    32  				c.Fatalf("wrong output structure")
    33  			}
    34  			return nil
    35  		},
    36  	)
    37  	defer cleanup()
    38  
    39  	result, err := s.client.List()
    40  	c.Assert(err, jc.ErrorIsNil)
    41  
    42  	c.Assert(result.List, gc.HasLen, 1)
    43  	resultItem := result.List[0]
    44  	s.checkMetadataResult(c, &resultItem, s.Meta)
    45  }