github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/networking/v2/extensions/trunk_details/testing/requests_test.go (about)

     1  package testing
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  	"net/http"
     7  	"testing"
     8  
     9  	"github.com/vnpaycloud-console/gophercloud/v2/openstack/networking/v2/extensions/trunk_details"
    10  	"github.com/vnpaycloud-console/gophercloud/v2/openstack/networking/v2/ports"
    11  	th "github.com/vnpaycloud-console/gophercloud/v2/testhelper"
    12  	fake "github.com/vnpaycloud-console/gophercloud/v2/testhelper/client"
    13  )
    14  
    15  func TestServerWithUsageExt(t *testing.T) {
    16  	th.SetupHTTP()
    17  	defer th.TeardownHTTP()
    18  
    19  	const portIDFixture = "dc3e8758-ee96-402d-94b0-4be5e9396c82"
    20  
    21  	th.Mux.HandleFunc("/ports/"+portIDFixture, func(w http.ResponseWriter, r *http.Request) {
    22  		th.TestMethod(t, r, "GET")
    23  		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
    24  		th.TestHeader(t, r, "Accept", "application/json")
    25  
    26  		fmt.Fprint(w, PortWithTrunkDetailsResult)
    27  	})
    28  
    29  	var portExt struct {
    30  		ports.Port
    31  		trunk_details.TrunkDetailsExt
    32  	}
    33  
    34  	// Extract basic fields.
    35  	err := ports.Get(context.TODO(), fake.ServiceClient(), portIDFixture).ExtractInto(&portExt)
    36  	th.AssertNoErr(t, err)
    37  
    38  	th.AssertEquals(t, portExt.TrunkDetails.TrunkID, "f170c831-8c55-4ceb-ad13-75eab4a121e5")
    39  	th.AssertEquals(t, len(portExt.TrunkDetails.SubPorts), 1)
    40  	subPort := portExt.TrunkDetails.SubPorts[0]
    41  	th.AssertEquals(t, subPort.SegmentationID, 100)
    42  	th.AssertEquals(t, subPort.SegmentationType, "vlan")
    43  	th.AssertEquals(t, subPort.PortID, "20c673d8-7f9d-4570-b662-148d9ddcc5bd")
    44  	th.AssertEquals(t, subPort.MACAddress, "fa:16:3e:88:29:a0")
    45  }