1
// Copyright 2015 Canonical Ltd.
2
// Licensed under the AGPLv3, see LICENCE file for details.
7
"github.com/juju/errors"
8
jc "github.com/juju/testing/checkers"
11
"github.com/juju/juju/apiserver/params"
12
jujustorage "github.com/juju/juju/storage"
13
"github.com/juju/juju/storage/provider"
16
type poolCreateSuite struct {
20
var _ = gc.Suite(&poolCreateSuite{})
22
func (s *poolCreateSuite) TestCreatePool(c *gc.C) {
25
ptype = string(provider.LoopProviderType)
27
expected, _ := jujustorage.NewConfig(pname, provider.LoopProviderType, nil)
29
err := s.api.CreatePool(params.StoragePool{
34
c.Assert(err, jc.ErrorIsNil)
36
pools, err := s.poolManager.List()
37
c.Assert(err, jc.ErrorIsNil)
38
c.Assert(pools, gc.HasLen, 1)
39
c.Assert(pools[0], gc.DeepEquals, expected)
42
func (s *poolCreateSuite) TestCreatePoolError(c *gc.C) {
44
s.baseStorageSuite.poolManager.createPool = func(name string, providerType jujustorage.ProviderType, attrs map[string]interface{}) (*jujustorage.Config, error) {
45
return nil, errors.New(msg)
48
err := s.api.CreatePool(params.StoragePool{})
49
c.Assert(errors.Cause(err), gc.ErrorMatches, msg)