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  }