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

     1  //go:build network || nsxt || functional || openapi || ALL
     2  
     3  package govcd
     4  
     5  import (
     6  	"net/url"
     7  
     8  	"github.com/vmware/go-vcloud-director/v2/types/v56"
     9  	. "gopkg.in/check.v1"
    10  )
    11  
    12  func (vcd *TestVCD) Test_GetAllNetworkContextProfiles(check *C) {
    13  	skipNoNsxtConfiguration(vcd, check)
    14  	skipOpenApiEndpointTest(vcd, check, types.OpenApiPathVersion1_0_0+types.OpenApiEndpointNetworkContextProfiles)
    15  
    16  	filteredTestGetAllNetworkContextProfiles(nil, &vcd.client.Client, check)
    17  
    18  	// Test with SYSTEM scope
    19  	queryParams := copyOrNewUrlValues(nil)
    20  	queryParams.Add("filter", "scope==SYSTEM")
    21  	filteredTestGetAllNetworkContextProfiles(queryParams, &vcd.client.Client, check)
    22  
    23  	// Test with PROVIDER scope
    24  	queryParams = copyOrNewUrlValues(nil)
    25  	queryParams.Add("filter", "scope==PROVIDER")
    26  	filteredTestGetAllNetworkContextProfiles(queryParams, &vcd.client.Client, check)
    27  
    28  	// Test with TENANT scope
    29  	queryParams = copyOrNewUrlValues(nil)
    30  	queryParams.Add("filter", "scope==TENANT")
    31  	filteredTestGetAllNetworkContextProfiles(queryParams, &vcd.client.Client, check)
    32  }
    33  
    34  func (vcd *TestVCD) Test_GetNetworkContextProfilesByNameScopeAndContext(check *C) {
    35  	vcd.skipIfNotSysAdmin(check)
    36  	skipNoNsxtConfiguration(vcd, check)
    37  	skipOpenApiEndpointTest(vcd, check, types.OpenApiPathVersion1_0_0+types.OpenApiEndpointNetworkContextProfiles)
    38  
    39  	// Expect error when fields are empty
    40  	profiles, err := GetNetworkContextProfilesByNameScopeAndContext(&vcd.client.Client, "", "", "")
    41  	check.Assert(err, NotNil)
    42  	check.Assert(profiles, IsNil)
    43  
    44  	nsxtManagers, err := vcd.client.QueryNsxtManagerByName(vcd.config.VCD.Nsxt.Manager)
    45  	check.Assert(err, IsNil)
    46  	check.Assert(len(nsxtManagers), Equals, 1)
    47  	uuid, err := GetUuidFromHref(nsxtManagers[0].HREF, true)
    48  	check.Assert(err, IsNil)
    49  	nsxtManagerUrn, err := BuildUrnWithUuid("urn:vcloud:nsxtmanager:", uuid)
    50  	check.Assert(err, IsNil)
    51  
    52  	profiles, err = GetNetworkContextProfilesByNameScopeAndContext(&vcd.client.Client, "AMQP", "SYSTEM", nsxtManagerUrn)
    53  	check.Assert(err, IsNil)
    54  	check.Assert(profiles, NotNil)
    55  
    56  	// VCD does not have PROVIDER Network Context Profiles by default
    57  	profiles, err = GetNetworkContextProfilesByNameScopeAndContext(&vcd.client.Client, "AMQP", "PROVIDER", nsxtManagerUrn)
    58  	check.Assert(err, NotNil)
    59  	check.Assert(profiles, IsNil)
    60  
    61  	// VCD does not have TENANT Network Context Profiles by default
    62  	profiles, err = GetNetworkContextProfilesByNameScopeAndContext(&vcd.client.Client, "AMQP", "TENANT", nsxtManagerUrn)
    63  	check.Assert(err, NotNil)
    64  	check.Assert(profiles, IsNil)
    65  }
    66  
    67  func filteredTestGetAllNetworkContextProfiles(queryParams url.Values, client *Client, check *C) {
    68  	profiles, err := GetAllNetworkContextProfiles(client, queryParams)
    69  	check.Assert(err, IsNil)
    70  	check.Assert(profiles, NotNil)
    71  }