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 }