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

     1  //go:build network || nsxt || functional || openapi || ALL
     2  
     3  package govcd
     4  
     5  import (
     6  	"github.com/vmware/go-vcloud-director/v2/types/v56"
     7  	. "gopkg.in/check.v1"
     8  )
     9  
    10  func (vcd *TestVCD) Test_VdcNetworkProfile(check *C) {
    11  	vcd.skipIfNotSysAdmin(check)
    12  	skipNoNsxtConfiguration(vcd, check)
    13  	if vcd.config.VCD.Nsxt.NsxtEdgeCluster == "" {
    14  		check.Skip("missing value for vcd.config.VCD.Nsxt.NsxtEdgeCluster")
    15  	}
    16  
    17  	org, err := vcd.client.GetOrgByName(vcd.config.VCD.Org)
    18  	check.Assert(err, IsNil)
    19  	nsxtVdc, err := org.GetVDCByName(vcd.config.VCD.Nsxt.Vdc, false)
    20  	check.Assert(err, IsNil)
    21  
    22  	existingVdcNetworkProfile, err := nsxtVdc.GetVdcNetworkProfile()
    23  	check.Assert(err, IsNil)
    24  	check.Assert(existingVdcNetworkProfile, NotNil)
    25  
    26  	// Lookup Edge available Edge Cluster
    27  	edgeCluster, err := nsxtVdc.GetNsxtEdgeClusterByName(vcd.config.VCD.Nsxt.NsxtEdgeCluster)
    28  	check.Assert(err, IsNil)
    29  	check.Assert(edgeCluster, NotNil)
    30  
    31  	networkProfileConfig := &types.VdcNetworkProfile{
    32  		ServicesEdgeCluster: &types.VdcNetworkProfileServicesEdgeCluster{
    33  			BackingID: edgeCluster.NsxtEdgeCluster.ID,
    34  		},
    35  	}
    36  
    37  	newVdcNetworkProfile, err := nsxtVdc.UpdateVdcNetworkProfile(networkProfileConfig)
    38  	check.Assert(err, IsNil)
    39  	check.Assert(newVdcNetworkProfile, NotNil)
    40  	check.Assert(newVdcNetworkProfile.ServicesEdgeCluster.BackingID, Equals, edgeCluster.NsxtEdgeCluster.ID)
    41  
    42  	// Unset Edge Cluster (and other values) by sending empty structure
    43  	unsetNetworkProfileConfig := &types.VdcNetworkProfile{}
    44  	unsetVdcNetworkProfile, err := nsxtVdc.UpdateVdcNetworkProfile(unsetNetworkProfileConfig)
    45  	check.Assert(err, IsNil)
    46  	check.Assert(unsetVdcNetworkProfile, NotNil)
    47  
    48  	networkProfileAfterCleanup, err := nsxtVdc.GetVdcNetworkProfile()
    49  	check.Assert(err, IsNil)
    50  	check.Assert(networkProfileAfterCleanup.ServicesEdgeCluster, IsNil)
    51  	// Cleanup
    52  
    53  	err = nsxtVdc.DeleteVdcNetworkProfile()
    54  	check.Assert(err, IsNil)
    55  }