github.com/vmware/go-vcloud-director/v2@v2.24.0/govcd/vsphere_resource_pool_test.go (about) 1 //go:build vsphere || functional || ALL 2 3 package govcd 4 5 import ( 6 "fmt" 7 "github.com/kr/pretty" 8 . "gopkg.in/check.v1" 9 "strings" 10 ) 11 12 func (vcd *TestVCD) Test_GetResourcePools(check *C) { 13 14 if !vcd.client.Client.IsSysAdmin { 15 check.Skip("this test requires system administrator privileges") 16 } 17 vcenters, err := vcd.client.GetAllVCenters(nil) 18 check.Assert(err, IsNil) 19 20 check.Assert(len(vcenters) > 0, Equals, true) 21 22 vc := vcenters[0] 23 24 allResourcePools, err := vc.GetAllResourcePools(nil) 25 check.Assert(err, IsNil) 26 27 for i, rp := range allResourcePools { 28 rpByID, err := vc.GetResourcePoolById(rp.ResourcePool.Moref) 29 check.Assert(err, IsNil) 30 check.Assert(rpByID.ResourcePool.Moref, Equals, rp.ResourcePool.Moref) 31 check.Assert(rpByID.ResourcePool.Name, Equals, rp.ResourcePool.Name) 32 rpByName, err := vc.GetResourcePoolByName(rp.ResourcePool.Name) 33 if err != nil && strings.Contains(err.Error(), "more than one") { 34 if testVerbose { 35 fmt.Printf("%s\n", err) 36 } 37 continue 38 } 39 check.Assert(err, IsNil) 40 check.Assert(rpByName.ResourcePool.Moref, Equals, rp.ResourcePool.Moref) 41 check.Assert(rpByName.ResourcePool.Name, Equals, rp.ResourcePool.Name) 42 if testVerbose { 43 fmt.Printf("%2d %# v\n", i, pretty.Formatter(rp.ResourcePool)) 44 } 45 hw, err := rp.GetAvailableHardwareVersions() 46 check.Assert(err, IsNil) 47 if testVerbose { 48 fmt.Printf("%s %#v\n", rp.ResourcePool.Name, hw) 49 } 50 } 51 }