github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/apiserver/facades/client/storage/pooldelete_test.go (about) 1 // Copyright 2019 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package storage_test 5 6 import ( 7 "fmt" 8 9 jc "github.com/juju/testing/checkers" 10 gc "gopkg.in/check.v1" 11 12 "github.com/juju/juju/apiserver/params" 13 "github.com/juju/juju/storage" 14 "github.com/juju/juju/storage/provider" 15 ) 16 17 type poolDeleteSuite struct { 18 baseStorageSuite 19 } 20 21 var _ = gc.Suite(&poolDeleteSuite{}) 22 23 func (s *poolDeleteSuite) createPools(c *gc.C, num int) { 24 var err error 25 for i := 0; i < num; i++ { 26 poolName := fmt.Sprintf("%v%v", tstName, i) 27 s.baseStorageSuite.pools[poolName], err = 28 storage.NewConfig(poolName, provider.LoopProviderType, map[string]interface{}{"zip": "zap"}) 29 c.Assert(err, jc.ErrorIsNil) 30 } 31 } 32 33 func (s *poolDeleteSuite) TestRemovePool(c *gc.C) { 34 s.createPools(c, 1) 35 poolName := fmt.Sprintf("%v%v", tstName, 0) 36 37 args := params.StoragePoolDeleteArgs{ 38 Pools: []params.StoragePoolDeleteArg{{ 39 Name: poolName, 40 }}, 41 } 42 results, err := s.api.RemovePool(args) 43 c.Assert(err, jc.ErrorIsNil) 44 c.Assert(results.Results, gc.HasLen, 1) 45 c.Assert(results.Results[0].Error, gc.IsNil) 46 47 pools, err := s.poolManager.List() 48 c.Assert(err, jc.ErrorIsNil) 49 c.Assert(pools, gc.HasLen, 0) 50 } 51 52 func (s *poolDeleteSuite) TestDeleteNotExists(c *gc.C) { 53 poolName := fmt.Sprintf("%v%v", tstName, 0) 54 55 args := params.StoragePoolDeleteArgs{ 56 Pools: []params.StoragePoolDeleteArg{{ 57 Name: poolName, 58 }}, 59 } 60 results, err := s.api.RemovePool(args) 61 c.Assert(err, jc.ErrorIsNil) 62 c.Assert(results.Results, gc.HasLen, 1) 63 c.Assert(results.Results[0].Error, gc.IsNil) 64 65 pools, err := s.poolManager.List() 66 c.Assert(err, jc.ErrorIsNil) 67 c.Assert(pools, gc.HasLen, 0) 68 }