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 }