github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/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  	jc "github.com/juju/testing/checkers"
     8  	gc "gopkg.in/check.v1"
     9  
    10  	jujutesting "github.com/juju/juju/juju/testing"
    11  	"github.com/juju/juju/state"
    12  	"github.com/juju/juju/storage"
    13  	"github.com/juju/juju/storage/poolmanager"
    14  )
    15  
    16  type defaultStoragePoolsSuite struct {
    17  	jujutesting.JujuConnSuite
    18  }
    19  
    20  var _ = gc.Suite(&defaultStoragePoolsSuite{})
    21  
    22  func (s *defaultStoragePoolsSuite) TestDefaultStoragePools(c *gc.C) {
    23  	p1, err := storage.NewConfig("pool1", storage.ProviderType("loop"), map[string]interface{}{"1": "2"})
    24  	p2, err := storage.NewConfig("pool2", storage.ProviderType("tmpfs"), map[string]interface{}{"3": "4"})
    25  	c.Assert(err, jc.ErrorIsNil)
    26  	defaultPools := []*storage.Config{p1, p2}
    27  	poolmanager.RegisterDefaultStoragePools(defaultPools)
    28  
    29  	settings := state.NewStateSettings(s.State)
    30  	err = poolmanager.AddDefaultStoragePools(settings)
    31  	c.Assert(err, jc.ErrorIsNil)
    32  	pm := poolmanager.New(settings)
    33  	for _, pool := range defaultPools {
    34  		p, err := pm.Get(pool.Name())
    35  		c.Assert(err, jc.ErrorIsNil)
    36  		c.Assert(p.Provider(), gc.Equals, pool.Provider())
    37  		c.Assert(p.Attrs(), gc.DeepEquals, pool.Attrs())
    38  	}
    39  }