github.com/axw/juju@v0.0.0-20161005053422-4bd6544d08d4/storage/poolmanager/defaultpool_test.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package poolmanager_test 5 6 import ( 7 "github.com/juju/testing" 8 jc "github.com/juju/testing/checkers" 9 gc "gopkg.in/check.v1" 10 11 "github.com/juju/juju/storage" 12 "github.com/juju/juju/storage/poolmanager" 13 dummystorage "github.com/juju/juju/storage/provider/dummy" 14 ) 15 16 type defaultStoragePoolsSuite struct { 17 testing.IsolationSuite 18 } 19 20 var _ = gc.Suite(&defaultStoragePoolsSuite{}) 21 22 func (s *defaultStoragePoolsSuite) TestDefaultStoragePools(c *gc.C) { 23 p1, err := storage.NewConfig("pool1", storage.ProviderType("whatever"), map[string]interface{}{"1": "2"}) 24 c.Assert(err, jc.ErrorIsNil) 25 p2, err := storage.NewConfig("pool2", storage.ProviderType("whatever"), map[string]interface{}{"3": "4"}) 26 c.Assert(err, jc.ErrorIsNil) 27 provider := &dummystorage.StorageProvider{ 28 DefaultPools_: []*storage.Config{p1, p2}, 29 } 30 31 settings := poolmanager.MemSettings{make(map[string]map[string]interface{})} 32 pm := poolmanager.New(settings, storage.StaticProviderRegistry{ 33 map[storage.ProviderType]storage.Provider{"whatever": provider}, 34 }) 35 36 err = poolmanager.AddDefaultStoragePools(provider, pm) 37 c.Assert(err, jc.ErrorIsNil) 38 39 c.Assert(settings.Settings, jc.DeepEquals, map[string]map[string]interface{}{ 40 "pool#pool1": map[string]interface{}{"1": "2", "name": "pool1", "type": "whatever"}, 41 "pool#pool2": map[string]interface{}{"3": "4", "name": "pool2", "type": "whatever"}, 42 }) 43 }