github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/apiserver/facades/client/resources/server_test.go (about)

     1  // Copyright 2017 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package resources_test
     5  
     6  import (
     7  	"github.com/juju/charm/v12"
     8  	jc "github.com/juju/testing/checkers"
     9  	gc "gopkg.in/check.v1"
    10  
    11  	"github.com/juju/juju/apiserver/facades/client/resources"
    12  )
    13  
    14  var _ = gc.Suite(&FacadeSuite{})
    15  
    16  type FacadeSuite struct {
    17  	BaseSuite
    18  }
    19  
    20  func (s *FacadeSuite) TestNewFacadeOkay(c *gc.C) {
    21  	defer s.setUpTest(c).Finish()
    22  	_, err := resources.NewResourcesAPI(s.backend, func(*charm.URL) (resources.NewCharmRepository, error) { return s.factory, nil })
    23  	c.Check(err, jc.ErrorIsNil)
    24  }
    25  
    26  func (s *FacadeSuite) TestNewFacadeMissingDataStore(c *gc.C) {
    27  	defer s.setUpTest(c).Finish()
    28  	_, err := resources.NewResourcesAPI(nil, func(*charm.URL) (resources.NewCharmRepository, error) { return s.factory, nil })
    29  	c.Check(err, gc.ErrorMatches, `missing data backend`)
    30  }
    31  
    32  func (s *FacadeSuite) TestNewFacadeMissingCSClientFactory(c *gc.C) {
    33  	defer s.setUpTest(c).Finish()
    34  	_, err := resources.NewResourcesAPI(s.backend, nil)
    35  	c.Check(err, gc.ErrorMatches, `missing factory for new repository`)
    36  }