github.com/vmware/go-vcloud-director/v2@v2.24.0/govcd/nsxt_segment_profiles_test.go (about) 1 //go:build network || nsxt || functional || openapi || ALL 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 "net/url" 12 13 . "gopkg.in/check.v1" 14 ) 15 16 func (vcd *TestVCD) Test_GetNsxtSegmentProfiles(check *C) { 17 skipNoNsxtConfiguration(vcd, check) 18 vcd.skipIfNotSysAdmin(check) 19 20 nsxtManager, err := vcd.client.GetNsxtManagerByName(vcd.config.VCD.Nsxt.Manager) 21 check.Assert(err, IsNil) 22 check.Assert(nsxtManager, NotNil) 23 24 // Check filtering by NSX-T Manager ID 25 filterByNsxtManager := copyOrNewUrlValues(nil) 26 filterByNsxtManager = queryParameterFilterAnd(fmt.Sprintf("nsxTManagerRef.id==%s", nsxtManager.NsxtManager.ID), filterByNsxtManager) 27 checkNsxtSegmentAllProfilesByFilter(vcd, check, filterByNsxtManager) 28 29 // Check filtering by VDC ID 30 filterByVdc := copyOrNewUrlValues(nil) 31 filterByVdc = queryParameterFilterAnd(fmt.Sprintf("orgVdcId==%s", vcd.nsxtVdc.Vdc.ID), filterByVdc) 32 checkNsxtSegmentAllProfilesByFilter(vcd, check, filterByVdc) 33 34 // Check filtering by VDC Group ID 35 adminOrg, err := vcd.client.GetAdminOrgByName(vcd.org.Org.Name) 36 check.Assert(err, IsNil) 37 check.Assert(adminOrg, NotNil) 38 vdcGroup, err := adminOrg.GetVdcGroupByName(vcd.config.VCD.Nsxt.VdcGroup) 39 check.Assert(err, IsNil) 40 check.Assert(vdcGroup, NotNil) 41 42 filterByVdcGroup := copyOrNewUrlValues(nil) 43 filterByVdcGroup = queryParameterFilterAnd(fmt.Sprintf("vdcGroupId==%s", vdcGroup.VdcGroup.Id), filterByVdcGroup) 44 checkNsxtSegmentAllProfilesByFilter(vcd, check, filterByVdcGroup) 45 46 // IP Discovery profile by name 47 ipDiscoveryProfileByNameInNsxtManager, err := vcd.client.GetIpDiscoveryProfileByName(vcd.config.VCD.Nsxt.IpDiscoveryProfile, filterByNsxtManager) 48 check.Assert(err, IsNil) 49 check.Assert(ipDiscoveryProfileByNameInNsxtManager.DisplayName, Equals, vcd.config.VCD.Nsxt.IpDiscoveryProfile) 50 51 ipDiscoveryProfileByNameInVdc, err := vcd.client.GetIpDiscoveryProfileByName(vcd.config.VCD.Nsxt.IpDiscoveryProfile, filterByVdc) 52 check.Assert(err, IsNil) 53 check.Assert(ipDiscoveryProfileByNameInVdc.DisplayName, Equals, vcd.config.VCD.Nsxt.IpDiscoveryProfile) 54 55 ipDiscoveryProfileByNameInVdcGroup, err := vcd.client.GetIpDiscoveryProfileByName(vcd.config.VCD.Nsxt.IpDiscoveryProfile, filterByVdcGroup) 56 check.Assert(err, IsNil) 57 check.Assert(ipDiscoveryProfileByNameInVdcGroup.DisplayName, Equals, vcd.config.VCD.Nsxt.IpDiscoveryProfile) 58 59 // not found 60 notFoundipDiscoveryProfileByNameInNsxtManager, err := vcd.client.GetIpDiscoveryProfileByName("invalid-name", filterByNsxtManager) 61 check.Assert(ContainsNotFound(err), Equals, true) 62 check.Assert(notFoundipDiscoveryProfileByNameInNsxtManager, IsNil) 63 64 // Mac Discovery Profile by name 65 macDiscoveryProfileByNameInNsxtManager, err := vcd.client.GetMacDiscoveryProfileByName(vcd.config.VCD.Nsxt.MacDiscoveryProfile, filterByNsxtManager) 66 check.Assert(err, IsNil) 67 check.Assert(macDiscoveryProfileByNameInNsxtManager.DisplayName, Equals, vcd.config.VCD.Nsxt.MacDiscoveryProfile) 68 69 macDiscoveryProfileByNameInVdc, err := vcd.client.GetMacDiscoveryProfileByName(vcd.config.VCD.Nsxt.MacDiscoveryProfile, filterByVdc) 70 check.Assert(err, IsNil) 71 check.Assert(macDiscoveryProfileByNameInVdc.DisplayName, Equals, vcd.config.VCD.Nsxt.MacDiscoveryProfile) 72 73 macDiscoveryProfileByNameInVdcGroup, err := vcd.client.GetMacDiscoveryProfileByName(vcd.config.VCD.Nsxt.MacDiscoveryProfile, filterByVdcGroup) 74 check.Assert(err, IsNil) 75 check.Assert(macDiscoveryProfileByNameInVdcGroup.DisplayName, Equals, vcd.config.VCD.Nsxt.MacDiscoveryProfile) 76 77 // not found 78 notFoundmacDiscoveryProfileByNameInNsxtManager, err := vcd.client.GetMacDiscoveryProfileByName("invalid-name", filterByNsxtManager) 79 check.Assert(ContainsNotFound(err), Equals, true) 80 check.Assert(notFoundmacDiscoveryProfileByNameInNsxtManager, IsNil) 81 82 // Spoof Guard Profile by name 83 spoofGuardProfileByNameInNsxtManager, err := vcd.client.GetSpoofGuardProfileByName(vcd.config.VCD.Nsxt.SpoofGuardProfile, filterByNsxtManager) 84 check.Assert(err, IsNil) 85 check.Assert(spoofGuardProfileByNameInNsxtManager.DisplayName, Equals, vcd.config.VCD.Nsxt.SpoofGuardProfile) 86 87 spoofGuardProfileByNameInVdc, err := vcd.client.GetSpoofGuardProfileByName(vcd.config.VCD.Nsxt.SpoofGuardProfile, filterByVdc) 88 check.Assert(err, IsNil) 89 check.Assert(spoofGuardProfileByNameInVdc.DisplayName, Equals, vcd.config.VCD.Nsxt.SpoofGuardProfile) 90 91 spoofGuardProfileByNameInVdcGroup, err := vcd.client.GetSpoofGuardProfileByName(vcd.config.VCD.Nsxt.SpoofGuardProfile, filterByVdcGroup) 92 check.Assert(err, IsNil) 93 check.Assert(spoofGuardProfileByNameInVdcGroup.DisplayName, Equals, vcd.config.VCD.Nsxt.SpoofGuardProfile) 94 95 // not found 96 notFoundspoofGuardProfileByNameInVdcGroup, err := vcd.client.GetSpoofGuardProfileByName("invalid-name", filterByNsxtManager) 97 check.Assert(ContainsNotFound(err), Equals, true) 98 check.Assert(notFoundspoofGuardProfileByNameInVdcGroup, IsNil) 99 100 // QoS Profile by name 101 qosProfileByNameInNsxtManager, err := vcd.client.GetQoSProfileByName(vcd.config.VCD.Nsxt.QosProfile, filterByNsxtManager) 102 check.Assert(err, IsNil) 103 check.Assert(qosProfileByNameInNsxtManager.DisplayName, Equals, vcd.config.VCD.Nsxt.QosProfile) 104 105 qosProfileByNameInVdc, err := vcd.client.GetQoSProfileByName(vcd.config.VCD.Nsxt.QosProfile, filterByVdc) 106 check.Assert(err, IsNil) 107 check.Assert(qosProfileByNameInVdc.DisplayName, Equals, vcd.config.VCD.Nsxt.QosProfile) 108 109 qosProfileByNameInVdcGroup, err := vcd.client.GetQoSProfileByName(vcd.config.VCD.Nsxt.QosProfile, filterByVdcGroup) 110 check.Assert(err, IsNil) 111 check.Assert(qosProfileByNameInVdcGroup.DisplayName, Equals, vcd.config.VCD.Nsxt.QosProfile) 112 113 // not found 114 notFoundqosProfileByNameInNsxtManager, err := vcd.client.GetQoSProfileByName("invalid-name", filterByNsxtManager) 115 check.Assert(ContainsNotFound(err), Equals, true) 116 check.Assert(notFoundqosProfileByNameInNsxtManager, IsNil) 117 118 // Segment Security Profile by name 119 segmentSecurityProfileByNameInNsxtManager, err := vcd.client.GetSegmentSecurityProfileByName(vcd.config.VCD.Nsxt.SegmentSecurityProfile, filterByNsxtManager) 120 check.Assert(err, IsNil) 121 check.Assert(segmentSecurityProfileByNameInNsxtManager.DisplayName, Equals, vcd.config.VCD.Nsxt.SegmentSecurityProfile) 122 123 segmentSecurityProfileByNameInVdc, err := vcd.client.GetSegmentSecurityProfileByName(vcd.config.VCD.Nsxt.SegmentSecurityProfile, filterByVdc) 124 check.Assert(err, IsNil) 125 check.Assert(segmentSecurityProfileByNameInVdc.DisplayName, Equals, vcd.config.VCD.Nsxt.SegmentSecurityProfile) 126 127 segmentSecurityProfileByNameInVdcGroup, err := vcd.client.GetSegmentSecurityProfileByName(vcd.config.VCD.Nsxt.SegmentSecurityProfile, filterByVdcGroup) 128 check.Assert(err, IsNil) 129 check.Assert(segmentSecurityProfileByNameInVdcGroup.DisplayName, Equals, vcd.config.VCD.Nsxt.SegmentSecurityProfile) 130 131 // not found 132 notFoundSegmentSecurityProfileByNameInVdcGroup, err := vcd.client.GetSegmentSecurityProfileByName("invalid-name", filterByNsxtManager) 133 check.Assert(ContainsNotFound(err), Equals, true) 134 check.Assert(notFoundSegmentSecurityProfileByNameInVdcGroup, IsNil) 135 } 136 137 func checkNsxtSegmentAllProfilesByFilter(vcd *TestVCD, check *C, filter url.Values) { 138 ipDiscoverProfiles, err := vcd.client.GetAllIpDiscoveryProfiles(filter) 139 check.Assert(err, IsNil) 140 check.Assert(ipDiscoverProfiles, NotNil) 141 check.Assert(len(ipDiscoverProfiles) > 1, Equals, true) 142 143 macDiscoverProfiles, err := vcd.client.GetAllMacDiscoveryProfiles(filter) 144 check.Assert(err, IsNil) 145 check.Assert(macDiscoverProfiles, NotNil) 146 check.Assert(len(macDiscoverProfiles) > 1, Equals, true) 147 148 spoofGuardDiscoverProfiles, err := vcd.client.GetAllSpoofGuardProfiles(filter) 149 check.Assert(err, IsNil) 150 check.Assert(spoofGuardDiscoverProfiles, NotNil) 151 check.Assert(len(spoofGuardDiscoverProfiles) > 1, Equals, true) 152 153 qosDiscoverProfiles, err := vcd.client.GetAllQoSProfiles(filter) 154 check.Assert(err, IsNil) 155 check.Assert(qosDiscoverProfiles, NotNil) 156 check.Assert(len(qosDiscoverProfiles) > 1, Equals, true) 157 158 segmentSecurityDiscoverProfiles, err := vcd.client.GetAllSegmentSecurityProfiles(filter) 159 check.Assert(err, IsNil) 160 check.Assert(segmentSecurityDiscoverProfiles, NotNil) 161 check.Assert(len(segmentSecurityDiscoverProfiles) > 1, Equals, true) 162 }