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 }