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

     1  //go:build network || nsxt || functional || ALL
     2  
     3  /*
     4   * Copyright 2021 VMware, Inc.  All rights reserved.  Licensed under the Apache v2 License.
     5   */
     6  
     7  package govcd
     8  
     9  import (
    10  	"fmt"
    11  
    12  	. "gopkg.in/check.v1"
    13  )
    14  
    15  func (vcd *TestVCD) Test_GetAllNsxtImportableSwitches(check *C) {
    16  	if vcd.skipAdminTests {
    17  		check.Skip(fmt.Sprintf(TestRequiresSysAdminPrivileges, check.TestName()))
    18  	}
    19  
    20  	skipNoNsxtConfiguration(vcd, check)
    21  
    22  	nsxtVdc, err := vcd.org.GetVDCByNameOrId(vcd.config.VCD.Nsxt.Vdc, true)
    23  	check.Assert(err, IsNil)
    24  
    25  	allSwitches, err := nsxtVdc.GetAllNsxtImportableSwitches()
    26  	check.Assert(err, IsNil)
    27  	check.Assert(len(allSwitches) > 0, Equals, true)
    28  }
    29  
    30  func (vcd *TestVCD) Test_GetNsxtImportableSwitchByName(check *C) {
    31  	if vcd.skipAdminTests {
    32  		check.Skip(fmt.Sprintf(TestRequiresSysAdminPrivileges, check.TestName()))
    33  	}
    34  
    35  	skipNoNsxtConfiguration(vcd, check)
    36  
    37  	nsxtVdc, err := vcd.org.GetVDCByNameOrId(vcd.config.VCD.Nsxt.Vdc, true)
    38  	check.Assert(err, IsNil)
    39  
    40  	logicalSwitch, err := nsxtVdc.GetNsxtImportableSwitchByName(vcd.config.VCD.Nsxt.NsxtImportSegment)
    41  	check.Assert(err, IsNil)
    42  	check.Assert(logicalSwitch.NsxtImportableSwitch.Name, Equals, vcd.config.VCD.Nsxt.NsxtImportSegment)
    43  }
    44  
    45  func (vcd *TestVCD) Test_GetFilteredNsxtImportableSwitches(check *C) {
    46  	if vcd.skipAdminTests {
    47  		check.Skip(fmt.Sprintf(TestRequiresSysAdminPrivileges, check.TestName()))
    48  	}
    49  
    50  	skipNoNsxtConfiguration(vcd, check)
    51  
    52  	// Check that nil filter returns error. This will work as a safeguard to also detect if future versions start accepting
    53  	// empty filter value
    54  	results, err := vcd.client.GetFilteredNsxtImportableSwitches(nil)
    55  	check.Assert(err, Not(IsNil))
    56  	check.Assert(results, IsNil)
    57  
    58  	// Filter by VDC ID
    59  	bareVdcId, err := getBareEntityUuid(vcd.nsxtVdc.Vdc.ID)
    60  	check.Assert(err, IsNil)
    61  	filter := map[string]string{"orgVdc": bareVdcId}
    62  	results, err = vcd.client.GetFilteredNsxtImportableSwitches(filter)
    63  	check.Assert(err, IsNil)
    64  	check.Assert(len(results) > 0, Equals, true)
    65  
    66  	nsxtManagers, err := vcd.client.QueryNsxtManagerByName(vcd.config.VCD.Nsxt.Manager)
    67  	check.Assert(err, IsNil)
    68  	check.Assert(len(nsxtManagers) > 0, Equals, true)
    69  
    70  	uuid := extractUuid(nsxtManagers[0].HREF)
    71  	filter = map[string]string{"nsxTManager": uuid}
    72  	results, err = vcd.client.GetFilteredNsxtImportableSwitches(filter)
    73  	check.Assert(err, IsNil)
    74  	check.Assert(len(results) > 0, Equals, true)
    75  
    76  	switchByName, err := vcd.client.GetFilteredNsxtImportableSwitchesByName(filter, vcd.config.VCD.Nsxt.NsxtImportSegment)
    77  	check.Assert(err, IsNil)
    78  	check.Assert(switchByName.NsxtImportableSwitch.Name, Equals, vcd.config.VCD.Nsxt.NsxtImportSegment)
    79  
    80  }