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  }