github.com/vmware/go-vcloud-director/v2@v2.24.0/govcd/nsxt_edgegateway_qos_profile_test.go (about)

     1  //go:build ALL || openapi || functional || nsxt
     2  
     3  /*
     4   * Copyright 2023 VMware, Inc.  All rights reserved.  Licensed under the Apache v2 License.
     5   */
     6  
     7  package govcd
     8  
     9  import (
    10  	"fmt"
    11  
    12  	"github.com/vmware/go-vcloud-director/v2/types/v56"
    13  	. "gopkg.in/check.v1"
    14  )
    15  
    16  func (vcd *TestVCD) Test_NsxtEdgeGatewayQosProfiles(check *C) {
    17  	if vcd.skipAdminTests {
    18  		check.Skip(fmt.Sprintf(TestRequiresSysAdminPrivileges, check.TestName()))
    19  	}
    20  	skipOpenApiEndpointTest(vcd, check, types.OpenApiPathVersion1_0_0+types.OpenApiEndpointQosProfiles)
    21  
    22  	skipNoNsxtConfiguration(vcd, check)
    23  	if vcd.config.VCD.Nsxt.GatewayQosProfile == "" {
    24  		check.Skip("No NSX-T Edge Gateway QoS Profile configured")
    25  	}
    26  
    27  	nsxtManagers, err := vcd.client.QueryNsxtManagerByName(vcd.config.VCD.Nsxt.Manager)
    28  	check.Assert(err, IsNil)
    29  	check.Assert(len(nsxtManagers), Equals, 1)
    30  
    31  	uuid, err := GetUuidFromHref(nsxtManagers[0].HREF, true)
    32  	check.Assert(err, IsNil)
    33  	urn, err := BuildUrnWithUuid("urn:vcloud:nsxtmanager:", uuid)
    34  	check.Assert(err, IsNil)
    35  
    36  	// Fetch all profiles
    37  	allQosProfiles, err := vcd.client.GetAllNsxtEdgeGatewayQosProfiles(urn, nil)
    38  	check.Assert(err, IsNil)
    39  	check.Assert(len(allQosProfiles) > 0, Equals, true)
    40  
    41  	// Fetch one by one based on DisplayName
    42  	for _, profile := range allQosProfiles {
    43  		printVerbose("# Fetching QoS profile '%s' by Name\n", profile.NsxtEdgeGatewayQosProfile.DisplayName)
    44  		qosProfile, err := vcd.client.GetNsxtEdgeGatewayQosProfileByDisplayName(urn, profile.NsxtEdgeGatewayQosProfile.DisplayName)
    45  		check.Assert(err, IsNil)
    46  		check.Assert(qosProfile, NotNil)
    47  		check.Assert(qosProfile.NsxtEdgeGatewayQosProfile.ID, Equals, profile.NsxtEdgeGatewayQosProfile.ID)
    48  	}
    49  }